PyCon UK 2019

Python in Medicine: A toolkit for exploring neonatal ventilator data
2019-09-13 , Room D

Modern ventilators generate large amounts of pressure and flow data that clinicians cannot realistically monitor over long periods of time. A toolkit for segmentation and extracting breath-wise features would provide a means for summarising this information and investigating the relationship of different ventilator and patient characteristics to individual breaths.


Mechanical ventilation is an essential therapy during intensive care for patients who are unable to breathe alone. Modern mechanical ventilators (breathing machines) generate large amount of data about the airway pressure and flow used during lung inflations and the volume of ventilator inflations (breaths). These data are displayed on the ventilator screen in real time but traditionally they are not downloaded or stored in the longer term. The newest models of ventilators allow for downloading these raw data with a high sampling rate (100 Hz or more). These data can be used to analyse how the ventilator has been performing and how it has been interacting with the patient. However, analysis of these large datasets requires computational tools.

Using Python, we have developed a toolkit to analyse these high throughput data obtained from neonatal ventilators in more detail. The toolkit allows for segmenting the ventilator data streaming continuously from the medical device into individual ventilator inflations (breaths). It also extracts important features of these inflations such as duration of different parts (lung inflation time, deflation time etc) and the presence or absence of ventilator-patient interactions. We would like to use these tools to develop quantitative indicators of how comfortable the baby has been during the mechanical ventilation. Such indicators would be of great interest to clinicians.


Is your proposal suitable for beginners?: yes

I am a medical student at the University of Cambridge and a self-taught programmer who started programming since 12 years old because I wanted to make computer games. Over the years I have picked up most main stream programming languages including C++, Java, R, Python, full stack web development etc. When I went to University I started to work on computational projects in genomics, cancer, neuroscience, and biomaker events. I have an interest in computer science in general not just machine learning, and am always trying to find biology or clinically related projects to work on. I also enjoy trying out new food and recipes, playing osrs, and forcing myself to exercise (not sure if I enjoy this).

I am a consultant neonatologist (doctor looking after sick newborn infants) in Rosie Hospital, Cambridge. I am interested in mechanical ventilation of sick babies. I am also a Python enthusiast and I am using Python and its data science packages ( numpy, pandas, matplotlib, scipy, scikit-learn) to analyse the high-throughput data downloaded from neonatal ventilators (breathing machines). I am studying how ventilators perform and how babies interact with the ventilators