Skip to content
Kedgeworks
← All workHealthcareGreenfield

Automating the acquisition lifecycle on a new mass spectrometer for medical diagnostics.

We wrote the procedures automating sample acquisition and real-time data processing on a new-to-market mass spectrometer.

The situation

Ascend Diagnostics was creating a mass spectrometer for use in medical diagnostics, new to market, whose purpose is to identify known bacterial infections present in samples. We joined a small team on it for around eight months.

The constraint

The stack was standalone, and it controlled the acquisition lifecycle and managed repeatable experiments. C++, C#.Net, Node and React in one product, covering instrument control and what the end user sees.

An acquisition run has physical steps in front of it. The software has to sequence those steps, then get the mass data back and process it fast enough for results to appear while the run is still going.

What we did

We wrote the procedures that automate the complex steps required to atomise samples and receive the mass data, then process that data quickly enough to show real-time results to the end user.

Node with Express, React and Redux in front, WebSockets and Socket.io, Redis and PM2, over a set of microservices. Jest and Mocha covered the tests, with Azure DevOps and BitBucket around the work.

What we are not claiming

The instrument, the standalone stack and the part of the work that was ours are what we can evidence. We were one of a small team, and we cannot size that team or say what the rest of it covered.

It records no figure for the engagement, and it does not say what happened to the instrument after we left, so this page carries neither.

Stack
  • C++
  • C#
  • Node.js
  • TypeScript
  • React
  • Redux
  • Express
  • WebSockets
  • Socket.io
  • Microservices
  • Redis
  • PM2
  • Contentful
  • Jest
  • Mocha
  • Azure DevOps
  • BitBucket
Related

Working on something similar?