Background: Modern neonatal ventilators allow the downloading of their data with a high sampling rate. We wanted to develop an algorithm that automatically recognises and characterises ventilator inflations from ventilator pressure and flow data.
Methods: We downloaded airway pressure and flow data with 100 Hz sampling rate from Dräger Babylog VN500 ventilators ventilating critically ill infants. We developed an open source Python package, Ventiliser, that includes a rule-based algorithm to automatically discretise ventilator data into a sequence of flow and pressure states and to recognise ventilator inflations and an information gain approach to identify inflation phases (inspiration, expiration) and sub-phases (pressure rise, pressure plateau, inspiratory hold etc.).
Results: Ventiliser runs on a personal computer and analyses 24 h of ventilation in 2 min. With longer recordings, the processing time increases linearly. It generates a table reporting indices of each breath and its sub-phases. Ventiliser also allows visualisation of individual inflations as waveforms or loops. Ventiliser identified >97% of ventilator inflations and their sub-phases in an out-of-sample validation of manually annotated data. We also present detailed quantitative analysis and comparison of two 1-hour-long ventilation periods.
Conclusions: Ventiliser can analyse ventilation patterns and ventilator-patient interactions over long periods of mechanical ventilation.
Impact: We have developed a computational method to recognize and analyse ventilator inflations from raw data downloaded from ventilators of preterm and critically ill infants. There have been no previous reports on the computational analysis of neonatal ventilator data. We have made our program, Ventiliser, freely available. Clinicians and researchers can use Ventiliser to analyse ventilator inflations, waveforms and loops over long periods. Ventiliser can also be used to study ventilator-patient interactions.