Recording bedside physiological data for ICU research

A bedside monitor displays each value until the next one replaces it on the screen. Kymolog stores each reading the devices send, codes it and links it to the patient's encounter, so a study can use the full series.

Linked to the encounter · LOINC · UCUM · research store on premises or hosted

Fig. 1. Three traces from one ICU bed, filed as rows in the study table.

ICU data linked to the encounter

At 10:20, the pulse oximeter at ICU bed 7 reports an oxygen saturation (SpO₂) of 94 %. The Kymolog™ edge agent codes it with LOINC 59408-5 and the UCUM unit %, names the device and stamps the time. Kymolog then checks which patient occupied bed 7 at 10:20, attaches that patient and links the reading to the ICU encounter.

Heart rate from the monitor and body temperature from the thermometer take the same path. Twelve hours at one bed arrive as three coded series on one encounter: SpO₂ and heart rate every five minutes, temperature every hour. Continuous physiological monitoring is kept as research data at each device's own reporting interval.

Continuous data linked to the encounterTwelve hours at ICU bed 7, from 06:00 to 18:00, drawn as three traces on recording paper. SpO2, LOINC 59408-5 in %, from Device/ox-12, every five minutes, between 94 and 98 %, lowest at 10:20; heart rate, LOINC 8867-4 in /min, from Device/mon-07, every five minutes, between 69 and 89; body temperature, LOINC 8310-5 in Cel, from Device/tm-03, hourly, between 36.7 and 37.3. Under the traces, two bands: bed 7, occupied by p-041, and the encounter, Encounter/e-2207, the ICU stay. One SpO2 reading, 94 % at 10:20, is marked in red; a line drops from it through bed 7 to the encounter: the reading came from the device at bed 7, p-041 was in that bed at 10:20, so it is linked to p-041 and to Encounter/e-2207.SpO₂LOINC 59408-5, %Device/ox-12heart rateLOINC 8867-4, /minDevice/mon-07body temperatureLOINC 8310-5, CelDevice/tm-0306:0009:0012:0015:0018:00BEDbed 7, occupied by p-041ENCOUNTEREncounter/e-2207, ICU staySpO₂ 94 % at 10:20 from Device/ox-12bed 7 at 10:20: p-041, so Encounter/e-2207
Continuous data linked to the encounterTwelve hours at ICU bed 7, from 06:00 to 18:00, drawn as three traces on recording paper. SpO2, LOINC 59408-5 in %, from Device/ox-12, every five minutes, between 94 and 98 %, lowest at 10:20; heart rate, LOINC 8867-4 in /min, from Device/mon-07, every five minutes, between 69 and 89; body temperature, LOINC 8310-5 in Cel, from Device/tm-03, hourly, between 36.7 and 37.3. Under the traces, two bands: bed 7, occupied by p-041, and the encounter, Encounter/e-2207, the ICU stay. One SpO2 reading, 94 % at 10:20, is marked in red; a line drops from it through bed 7 to the encounter: the reading came from the device at bed 7, p-041 was in that bed at 10:20, so it is linked to p-041 and to Encounter/e-2207.SpO₂ 94 % at 10:20, Device/ox-12bed 7 at 10:20: p-041, so Encounter/e-2207SpO₂  59408-5, %Device/ox-12heart rate  8867-4, /minDevice/mon-07body temperature  8310-5, CelDevice/tm-0306:0012:0018:00bed 7, occupied by p-041Encounter/e-2207, ICU stay
Figure 2 as a table
SeriesCode and unitDevice, interval
SpO₂LOINC 59408-5, %Device/ox-12, every 5 min
heart rateLOINC 8867-4, /minDevice/mon-07, every 5 min
body temperatureLOINC 8310-5, CelDevice/tm-03, hourly
marked readingSpO₂ 94 % at 10:20bed 7 at 10:20: p-041, Encounter/e-2207
Fig. 2. Twelve hours at one ICU bed. Every reading is matched to the patient in that bed at the moment it was taken and linked to the encounter, so the continuous series is stored coded and linked to the stay it belongs to.

A study dataset with one row per reading

Kymolog turns the coded series into study rows without anyone retyping a value. Each row says when the reading was taken, whose it is and which stay, what was measured, which device took it and which Observation it came from (Fig. 3). Each reading is a FHIR R4 Observation, and FHIR (Fast Healthcare Interoperability Resources) gives every one of those columns a named field.

Rows also carry their review status. A reading a clinician rejected in the review queue stays marked as rejected, so a study can exclude it deliberately. Kymolog keeps each device's own health readings too, such as its battery and its signal, so a gap in a series has the device's own record beside it.

A study-dataset row with provenanceA study dataset of SpO2 readings for p-041, four rows from 10:10 to 10:25, with columns grouped by what they answer. When: the time taken. Who: the subject p-041 and the encounter e-2207. What: LOINC 59408-5, the value and the UCUM unit %. Which device: ox-12. Which record: the source Observation id and its status, final. The 10:20:00 row, value 94 %, from Observation 9b3f, is highlighted in red. Every column comes from the reading's own Observation.WHENWHOWHATDEVICERECORDtimesubjectencounterLOINCvalueunitdeviceObservationstatus10:10:00p-041e-220759408-596%ox-129b3dfinal10:15:00p-041e-220759408-595%ox-129b3efinal10:20:00p-041e-220759408-594%ox-129b3ffinal10:25:00p-041e-220759408-595%ox-129b40finalEach column comes from the reading’s own Observation, so nothing is retyped.
A study-dataset row with provenanceA study dataset of SpO2 readings for p-041, four rows from 10:10 to 10:25, with columns grouped by what they answer. When: the time taken. Who: the subject p-041 and the encounter e-2207. What: LOINC 59408-5, the value and the UCUM unit %. Which device: ox-12. Which record: the source Observation id and its status, final. The 10:20:00 row, value 94 %, from Observation 9b3f, is highlighted in red. Every column comes from the reading's own Observation.p-041, SpO₂timevalueunitObservation10:10:0096%9b3d10:15:0095%9b3e10:20:0094%9b3f10:25:0095%9b40ROW 10:20:00, IN FULLWHENtime       10:20:00WHOsubject    Patient/p-041encounter  Encounter/e-2207WHATcode       LOINC 59408-5value      94unit       % (UCUM)DEVICEdevice     Device/ox-12RECORDsource     Observation/9b3fstatus     finalEach column comes from the reading’s own Observation,so nothing is retyped.
Figure 3 as a table
ColumnAt 10:20:00Observation field
time10:20:00effectiveDateTime
subjectp-041subject
encountere-2207encounter
LOINC59408-5code
value, unit94 %valueQuantity (UCUM)
deviceox-12device
Observation, status9b3f, finalthe record itself
Fig. 3. A study dataset where each row carries its provenance: when the reading was taken, whose it is and which stay, what was measured, which device took it, and the Observation it came from. Nothing in the row is retyped.

Critical care research on your own beds

Public ICU datasets come from other hospitals and other years. With Kymolog on a unit, ICU research can draw on readings from your own beds, coded the same way from the first day. The edge agent reads bedside monitors, pulse oximeters, blood pressure cuffs, thermometers, electrocardiogram (ECG) monitors and continuous glucose monitors (CGMs), and any other device class by configuration.

An ECG monitor's corrected QT interval arrives as LOINC 8636-3 in ms, comparable from one patient to the next. Physiological data collection needs no build per study: a protocol picks the units, device classes and dates it needs. With the research store on premises, the identified series stays under your hospital's own access rules, and each study draws only the fields its approval covers. If we host the research store in our cloud, it only receives de-identified readings.

The EHR side of the same study

Diagnoses, medications and lab results for the same patients live in the EHR. Clinical Extract, which we also build, pulls that EHR data for research. Kymolog covers the device readings, and the two datasets join on the patient and the encounter.

Hospitals that want to share de-identified device data beyond their own researchers can join the data network, a separate add-on service we run.

Discuss a research dataset for your ICU

Name the unit and the device classes on its beds. The demo shows one bed's readings as coded series, then as study rows that each point back to their device. We reply within one business day with times to talk.

Request a demo