This repository contains resources for Hack Aotearoa 2023
- Getting started
- Documentation
- Databases on BigQuery
- Analysing data with Google Colab
- Python notebooks that we prepared earlier
- An example in R
- Sample projects
- Miscellaneous resources!
The datasets are hosted on Google Cloud, which requires a Gmail account to manage permissions.
- Create a Gmail account, if you don't already have one. It will be used to manage your access to the resources.
- Complete the form at: https://uoaevents.eventsair.com/hack-aotearoa-2023/dua2023/Site/Register.
- MIMIC Clinical Database: https://mimic.physionet.org/
- eICU Collaborative Research Database: https://eicu-crd.mit.edu/
- MIMIC Code Repository: https://github.com/MIT-LCP/mimic-code (code for reuse!)
BigQuery is a database system that makes it easy to explore data with Structured Query Language ("SQL"). There are several datasets on BigQuery available for you to explore, including eicu_crd
(the eICU Collaborative Research Database) and mimiciii_clinical
(the MIMIC-III Clinical Database).
You will also find "derived" databases, which include tables derived from the original data using the code in the eICU and MIMIC code repositories. These are helpful if you are looking for something like a sepsis cohort or first day vital signs.
- Open BigQuery.
- At the top of the console, select
hack-aotearoa
as the project. This indicates the account used for billing.
-
You should be able preview the data available on these projects using the graphical interface.
-
Now try running a query. For example, try counting the number of rows in the demo eICU patient table:
SELECT count(*) FROM `physionet-data.eicu_crd_demo.patient`
Python is an increasingly popular programming language for analysing data. We will explore the data using Python notebooks, which allow code and text to be combined into executable documents. First, try opening a blank document using the link below:
Several tutorials are provided below. Requirements for these notebooks are: (1) you have a Gmail account and (2) your Gmail address has been added to the appropriate Google Group by the workshop hosts.
Notebook 1 (eICU): Exploring the patient table.
Notebook 2 (eICU): Severity of illness.
Notebook 3 (eICU): Summary statistics.
Notebook 4 (eICU): Timeseries.
Notebook 5 (eICU): Mortality prediction.
Notebook 6 (eICU): Acute kidney injury.
Notebook 7 (eICU): Project work.
Notebook 8 (MIMIC): MIMIC-III tutorial.
Notebook 9 (MIMIC): Weekend effect on mortality.
Notebook 10 (MIMIC): Mortality in septic patients.
If you prefer working in R, then you can connect to Google Cloud from your code in a similar way:
These papers and repositories may be helpful for reference. They are not perfect! Code may be untidy, poorly documented, buggy, outdated etc. Think about how they can be improved, adapted, etc. For example, you could:
- replicate the study on a different dataset (e.g. MIMIC vs eICU)
- improve the methodology
- The association between mortality among patients admitted to the intensive care unit on a weekend compared to a weekday
- Python Notebook: https://github.com/MIT-LCP/bhi-bsn-challenge/blob/master/challenge-demo.ipynb
- R Markdown Notebook: https://github.com/MIT-LCP/bhi-bsn-challenge/blob/master/rmarkdown_example_notebook.Rmd
- More reading: https://physionet.org/content/bhi-2018-challenge/1.0/
- Predicting in-hospital mortality of intensive care patients using decision trees.
- Python Notebook: https://github.com/MIT-LCP/2019_aarhus_critical_data/blob/master/tutorials/eicu/05-prediction.ipynb
- Comparison of methods for identifying patients with sepsis.
- Code: https://github.com/alistairewj/sepsis3-mimic
- Paper: https://www.ncbi.nlm.nih.gov/pubmed/29303796
- Evaluating the reproducibility of mortality prediction studies that use the MIMIC-III database.
- Code: https://github.com/alistairewj/reproducibility-mimic/blob/master/notebooks/reproducibility.ipynb
- Paper: http://proceedings.mlr.press/v68/johnson17a.html
- Optimising treatment of sepsis with reinforcement learning
- Code: https://github.com/matthieukomorowski/AI_Clinician
- Paper: https://www.nature.com/articles/s41591-018-0213-5
- Association of hypokalemia with an increased risk for medically treated arrhythmia
- Code: https://github.com/nus-mornin-lab/PotassiumAA
- Paper: https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0217432
- Tutorial on decision trees for mortality prediction: https://carpentries-incubator.github.io/machine-learning-trees-python/
- Tutorial on responsible machine learning: https://carpentries-incubator.github.io/machine-learning-responsible-python/