open-icu 0.0.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (376) hide show
  1. open_icu-0.0.1/.gitignore +166 -0
  2. open_icu-0.0.1/LICENSE +21 -0
  3. open_icu-0.0.1/PKG-INFO +310 -0
  4. open_icu-0.0.1/README.md +284 -0
  5. open_icu-0.0.1/config/concepts/blood_gas/CO2_partial_pressure.yml +6 -0
  6. open_icu-0.0.1/config/concepts/blood_gas/O2_partial_pressure.yml +6 -0
  7. open_icu-0.0.1/config/concepts/blood_gas/base_excess.yml +6 -0
  8. open_icu-0.0.1/config/concepts/blood_gas/calcium_ionized.yml +6 -0
  9. open_icu-0.0.1/config/concepts/blood_gas/carboxyhemoglobin.yml +6 -0
  10. open_icu-0.0.1/config/concepts/blood_gas/fraction_of_inspired_oxygen.yml +6 -0
  11. open_icu-0.0.1/config/concepts/blood_gas/lactate.yml +6 -0
  12. open_icu-0.0.1/config/concepts/blood_gas/methemoglobin.yml +6 -0
  13. open_icu-0.0.1/config/concepts/blood_gas/pH_of_blood.yml +6 -0
  14. open_icu-0.0.1/config/concepts/blood_gas/totcal_CO2.yml +6 -0
  15. open_icu-0.0.1/config/concepts/chemistry/C_reactive_protein.yml +6 -0
  16. open_icu-0.0.1/config/concepts/chemistry/alanine_aminotransferase.yml +6 -0
  17. open_icu-0.0.1/config/concepts/chemistry/albumin.yml +6 -0
  18. open_icu-0.0.1/config/concepts/chemistry/alkaline_phosphatase.yml +6 -0
  19. open_icu-0.0.1/config/concepts/chemistry/aspartate_aminotransferase.yml +6 -0
  20. open_icu-0.0.1/config/concepts/chemistry/bicarbonate.yml +6 -0
  21. open_icu-0.0.1/config/concepts/chemistry/bilirubin_direct.yml +6 -0
  22. open_icu-0.0.1/config/concepts/chemistry/blood_urea_nitrogen.yml +6 -0
  23. open_icu-0.0.1/config/concepts/chemistry/calcium.yml +6 -0
  24. open_icu-0.0.1/config/concepts/chemistry/chloride.yml +6 -0
  25. open_icu-0.0.1/config/concepts/chemistry/creatine_kinase.yml +6 -0
  26. open_icu-0.0.1/config/concepts/chemistry/creatine_kinase_MB.yml +6 -0
  27. open_icu-0.0.1/config/concepts/chemistry/creatinine.yml +6 -0
  28. open_icu-0.0.1/config/concepts/chemistry/glucose.yml +6 -0
  29. open_icu-0.0.1/config/concepts/chemistry/magnesium.yml +6 -0
  30. open_icu-0.0.1/config/concepts/chemistry/phosphate.yml +6 -0
  31. open_icu-0.0.1/config/concepts/chemistry/potassium.yml +6 -0
  32. open_icu-0.0.1/config/concepts/chemistry/sodium.yml +6 -0
  33. open_icu-0.0.1/config/concepts/chemistry/total_bilirubin.yml +6 -0
  34. open_icu-0.0.1/config/concepts/chemistry/troponin_I.yml +6 -0
  35. open_icu-0.0.1/config/concepts/chemistry/troponin_t.yml +6 -0
  36. open_icu-0.0.1/config/concepts/demographics/patient_admission_type.yml +6 -0
  37. open_icu-0.0.1/config/concepts/demographics/patient_age.yml +6 -0
  38. open_icu-0.0.1/config/concepts/demographics/patient_height.yml +6 -0
  39. open_icu-0.0.1/config/concepts/demographics/patient_sex.yml +6 -0
  40. open_icu-0.0.1/config/concepts/demographics/patient_weight.yml +6 -0
  41. open_icu-0.0.1/config/concepts/hematology/Hemoglobin_A1C.yml +6 -0
  42. open_icu-0.0.1/config/concepts/hematology/band_form_neutrophils.yml +6 -0
  43. open_icu-0.0.1/config/concepts/hematology/basophils.yml +6 -0
  44. open_icu-0.0.1/config/concepts/hematology/eosinophils.yml +6 -0
  45. open_icu-0.0.1/config/concepts/hematology/erythrocyte_distribution_width.yml +6 -0
  46. open_icu-0.0.1/config/concepts/hematology/erythrocyte_sedimentation_rate.yml +6 -0
  47. open_icu-0.0.1/config/concepts/hematology/fibrinogen.yml +6 -0
  48. open_icu-0.0.1/config/concepts/hematology/hematocrit.yml +6 -0
  49. open_icu-0.0.1/config/concepts/hematology/hemoglobin.yml +6 -0
  50. open_icu-0.0.1/config/concepts/hematology/lymphocytes.yml +6 -0
  51. open_icu-0.0.1/config/concepts/hematology/mean_corpuscular_hemoglobin.yml +6 -0
  52. open_icu-0.0.1/config/concepts/hematology/mean_corpuscular_hemoglobin_concentration.yml +6 -0
  53. open_icu-0.0.1/config/concepts/hematology/mean_corpuscular_volume.yml +6 -0
  54. open_icu-0.0.1/config/concepts/hematology/neutrophils.yml +6 -0
  55. open_icu-0.0.1/config/concepts/hematology/partial_thromboplastin_time.yml +6 -0
  56. open_icu-0.0.1/config/concepts/hematology/platelet_count.yml +6 -0
  57. open_icu-0.0.1/config/concepts/hematology/prothrombin_time_international_normalized_ratio.yml +6 -0
  58. open_icu-0.0.1/config/concepts/hematology/prothrombine_time.yml +6 -0
  59. open_icu-0.0.1/config/concepts/hematology/red_blood_cell_count.yml +6 -0
  60. open_icu-0.0.1/config/concepts/hematology/white_blood_cell_count.yml +6 -0
  61. open_icu-0.0.1/config/concepts/medications/antibiotics.yml +6 -0
  62. open_icu-0.0.1/config/concepts/medications/corticosteroids.yml +6 -0
  63. open_icu-0.0.1/config/concepts/medications/dextrose_as_D10.yml +6 -0
  64. open_icu-0.0.1/config/concepts/medications/dobutamine_duration.yml +6 -0
  65. open_icu-0.0.1/config/concepts/medications/dobutamine_rate.yml +6 -0
  66. open_icu-0.0.1/config/concepts/medications/dopamine_duration.yml +6 -0
  67. open_icu-0.0.1/config/concepts/medications/dopamine_rate.yml +6 -0
  68. open_icu-0.0.1/config/concepts/medications/epinephrine_duration.yml +6 -0
  69. open_icu-0.0.1/config/concepts/medications/epinephrine_rate.yml +6 -0
  70. open_icu-0.0.1/config/concepts/medications/insulin.yml +6 -0
  71. open_icu-0.0.1/config/concepts/medications/norepinephrine_duration.yml +6 -0
  72. open_icu-0.0.1/config/concepts/medications/norepinephrine_rate.yml +6 -0
  73. open_icu-0.0.1/config/concepts/medications/phenylephrine_rate.yml +6 -0
  74. open_icu-0.0.1/config/concepts/medications/vasopressin_rate.yml +6 -0
  75. open_icu-0.0.1/config/concepts/microbiology/body_fluid_sampling.yml +6 -0
  76. open_icu-0.0.1/config/concepts/neurological/GCS_eye.yml +6 -0
  77. open_icu-0.0.1/config/concepts/neurological/GCS_motor.yml +6 -0
  78. open_icu-0.0.1/config/concepts/neurological/GCS_total.yml +6 -0
  79. open_icu-0.0.1/config/concepts/neurological/GCS_verbal.yml +6 -0
  80. open_icu-0.0.1/config/concepts/neurological/Richmond_agitation_sedation_scale.yml +6 -0
  81. open_icu-0.0.1/config/concepts/outcome/ICU_length_of_stay.yml +6 -0
  82. open_icu-0.0.1/config/concepts/outcome/hospital_length_of_stay.yml +6 -0
  83. open_icu-0.0.1/config/concepts/outcome/in_hospital_mortality.yml +6 -0
  84. open_icu-0.0.1/config/concepts/output/urine_output.yml +6 -0
  85. open_icu-0.0.1/config/concepts/respiratory/arterial_oxygen_saturation.yml +6 -0
  86. open_icu-0.0.1/config/concepts/respiratory/mechanical_ventilation_windows.yml +6 -0
  87. open_icu-0.0.1/config/concepts/respiratory/oxygen_saturation.yml +6 -0
  88. open_icu-0.0.1/config/concepts/respiratory/respiratory_rate.yml +6 -0
  89. open_icu-0.0.1/config/concepts/respiratory/tracheostomy.yml +6 -0
  90. open_icu-0.0.1/config/concepts/respiratory/ventilation_end.yml +6 -0
  91. open_icu-0.0.1/config/concepts/respiratory/ventilation_start.yml +6 -0
  92. open_icu-0.0.1/config/concepts/vitals/diastolic_blood_pressure.yml +6 -0
  93. open_icu-0.0.1/config/concepts/vitals/endtidal_CO2.yml +6 -0
  94. open_icu-0.0.1/config/concepts/vitals/heart_rate.yml +6 -0
  95. open_icu-0.0.1/config/concepts/vitals/mean_arterial_pressure.yml +6 -0
  96. open_icu-0.0.1/config/concepts/vitals/systolic_blood_pressure.yml +6 -0
  97. open_icu-0.0.1/config/concepts/vitals/temperature.yml +6 -0
  98. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/CO2_partial_pressure.yml +9 -0
  99. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/C_reactive_protein.yml +9 -0
  100. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/GCS_eye.yml +9 -0
  101. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/GCS_motor.yml +9 -0
  102. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/GCS_total.yml +9 -0
  103. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/GCS_verbal.yml +9 -0
  104. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/O2_partial_pressure.yml +9 -0
  105. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/Richmond_agitation_sedation_scale.yml +9 -0
  106. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/alanine_aminotransferase.yml +9 -0
  107. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/albumin.yml +9 -0
  108. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/alkaline_phosphatase.yml +9 -0
  109. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/antibiotics.yml +16 -0
  110. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/arterial_oxygen_saturation.yml +9 -0
  111. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/aspartate_aminotransferase.yml +9 -0
  112. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/band_form_neutrophils.yml +9 -0
  113. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/base_excess.yml +9 -0
  114. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/basophils.yml +9 -0
  115. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/bicarbonate.yml +9 -0
  116. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/bilirubin_direct.yml +9 -0
  117. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/blood_urea_nitrogen.yml +9 -0
  118. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/calcium.yml +9 -0
  119. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/calcium_ionized.yml +9 -0
  120. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/carboxyhemoglobin.yml +9 -0
  121. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/chloride.yml +9 -0
  122. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/creatine_kinase.yml +9 -0
  123. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/creatine_kinase_MB.yml +9 -0
  124. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/creatinine.yml +9 -0
  125. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/dextrose_as_D10.yml +16 -0
  126. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/diastolic_blood_pressure.yml +89 -0
  127. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/dobutamine_duration.yml +9 -0
  128. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/dobutamine_rate.yml +9 -0
  129. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/dopamine_duration.yml +9 -0
  130. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/dopamine_rate.yml +9 -0
  131. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/eosinophils.yml +9 -0
  132. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/epinephrine_duration.yml +9 -0
  133. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/epinephrine_rate.yml +9 -0
  134. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/erythrocyte_distribution_width.yml +9 -0
  135. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/fibrinogen.yml +9 -0
  136. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/fraction_of_inspired_oxygen.yml +16 -0
  137. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/glucose.yml +16 -0
  138. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/heart_rate.yml +89 -0
  139. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/hematocrit.yml +9 -0
  140. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/hemoglobin.yml +9 -0
  141. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/in_hospital_mortality.yml +44 -0
  142. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/insulin.yml +9 -0
  143. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/lactate.yml +9 -0
  144. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/lymphocytes.yml +9 -0
  145. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/magnesium.yml +9 -0
  146. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/mean_arterial_pressure.yml +141 -0
  147. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/mean_corpuscular_hemoglobin.yml +9 -0
  148. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/mean_corpuscular_hemoglobin_concentration.yml +9 -0
  149. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/mean_corpuscular_volume.yml +9 -0
  150. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/methemoglobin.yml +9 -0
  151. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/neutrophils.yml +9 -0
  152. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/norepinephrine_duration.yml +9 -0
  153. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/norepinephrine_rate.yml +9 -0
  154. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/oxygen_saturation.yml +96 -0
  155. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/pH_of_blood.yml +9 -0
  156. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/partial_thromboplastin_time.yml +9 -0
  157. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/patient_admission_type.yml +9 -0
  158. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/patient_age.yml +44 -0
  159. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/patient_height.yml +44 -0
  160. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/patient_sex.yml +44 -0
  161. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/patient_weight.yml +44 -0
  162. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/phenylephrine_rate.yml +9 -0
  163. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/phosphate.yml +9 -0
  164. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/platelet_count.yml +9 -0
  165. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/potassium.yml +9 -0
  166. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/prothrombin_time_international_normalized_ratio.yml +9 -0
  167. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/prothrombine_time.yml +9 -0
  168. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/red_blood_cell_count.yml +9 -0
  169. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/respiratory_rate.yml +89 -0
  170. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/sodium.yml +9 -0
  171. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/systolic_blood_pressure.yml +89 -0
  172. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/temperature.yml +89 -0
  173. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/total_bilirubin.yml +9 -0
  174. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/totcal_CO2.yml +9 -0
  175. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/troponin_I.yml +9 -0
  176. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/troponin_t.yml +9 -0
  177. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/urine_output.yml +16 -0
  178. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/vasopressin_rate.yml +9 -0
  179. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/ventilation_end.yml +33 -0
  180. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/ventilation_start.yml +33 -0
  181. open_icu-0.0.1/config/datasets/eicu-crd/2.0/mappings/white_blood_cell_count.yml +9 -0
  182. open_icu-0.0.1/config/datasets/eicu-crd/2.0/tables/admissiondx.yml +58 -0
  183. open_icu-0.0.1/config/datasets/eicu-crd/2.0/tables/diagnosis.yml +62 -0
  184. open_icu-0.0.1/config/datasets/eicu-crd/2.0/tables/infusiondrug.yml +72 -0
  185. open_icu-0.0.1/config/datasets/eicu-crd/2.0/tables/intakeoutput.yml +69 -0
  186. open_icu-0.0.1/config/datasets/eicu-crd/2.0/tables/lab.yml +61 -0
  187. open_icu-0.0.1/config/datasets/eicu-crd/2.0/tables/medication.yml +70 -0
  188. open_icu-0.0.1/config/datasets/eicu-crd/2.0/tables/nursecharting.yml +61 -0
  189. open_icu-0.0.1/config/datasets/eicu-crd/2.0/tables/patient.yml +137 -0
  190. open_icu-0.0.1/config/datasets/eicu-crd/2.0/tables/respiratorycare.yml +79 -0
  191. open_icu-0.0.1/config/datasets/eicu-crd/2.0/tables/respiratorycharting.yml +61 -0
  192. open_icu-0.0.1/config/datasets/eicu-crd/2.0/tables/treatment.yml +46 -0
  193. open_icu-0.0.1/config/datasets/eicu-crd/2.0/tables/vitalaperiodic.yml +132 -0
  194. open_icu-0.0.1/config/datasets/eicu-crd/2.0/tables/vitalperiodic.yml +208 -0
  195. open_icu-0.0.1/config/datasets/eicu-crd/README.md +26 -0
  196. open_icu-0.0.1/config/datasets/eicu-demo/2.0/extends.yml +2 -0
  197. open_icu-0.0.1/config/datasets/eicu-demo/2.0/tables/infusiondrug.yml +4 -0
  198. open_icu-0.0.1/config/datasets/eicu-demo/README.md +23 -0
  199. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/CO2_partial_pressure.yml +9 -0
  200. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/C_reactive_protein.yml +9 -0
  201. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/GCS_eye.yml +9 -0
  202. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/GCS_motor.yml +9 -0
  203. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/GCS_verbal.yml +9 -0
  204. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/Hemoglobin_A1C.yml +9 -0
  205. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/O2_partial_pressure.yml +9 -0
  206. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/Richmond_agitation_sedation_scale.yml +9 -0
  207. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/alanine_aminotransferase.yml +9 -0
  208. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/albumin.yml +9 -0
  209. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/alkaline_phosphatase.yml +9 -0
  210. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/antibiotics.yml +21 -0
  211. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/arterial_oxygen_saturation.yml +16 -0
  212. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/aspartate_aminotransferase.yml +9 -0
  213. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/band_form_neutrophils.yml +9 -0
  214. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/base_excess.yml +9 -0
  215. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/basophils.yml +9 -0
  216. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/bicarbonate.yml +9 -0
  217. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/bilirubin_direct.yml +9 -0
  218. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/blood_urea_nitrogen.yml +9 -0
  219. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/body_fluid_sampling.yml +24 -0
  220. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/calcium.yml +9 -0
  221. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/calcium_ionized.yml +9 -0
  222. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/chloride.yml +9 -0
  223. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/creatine_kinase.yml +9 -0
  224. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/creatine_kinase_MB.yml +9 -0
  225. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/creatinine.yml +9 -0
  226. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/dextrose_as_D10.yml +14 -0
  227. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/diastolic_blood_pressure.yml +9 -0
  228. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/dobutamine_duration.yml +14 -0
  229. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/dobutamine_rate.yml +14 -0
  230. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/dopamine_duration.yml +14 -0
  231. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/dopamine_rate.yml +14 -0
  232. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/endtidal_CO2.yml +9 -0
  233. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/eosinophils.yml +9 -0
  234. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/epinephrine_duration.yml +14 -0
  235. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/epinephrine_rate.yml +14 -0
  236. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/erythrocyte_distribution_width.yml +9 -0
  237. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/erythrocyte_sedimentation_rate.yml +9 -0
  238. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/fibrinogen.yml +9 -0
  239. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/fraction_of_inspired_oxygen.yml +16 -0
  240. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/glucose.yml +9 -0
  241. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/heart_rate.yml +9 -0
  242. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/hematocrit.yml +9 -0
  243. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/hemoglobin.yml +9 -0
  244. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/in_hospital_mortality.yml +49 -0
  245. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/insulin.yml +14 -0
  246. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/lactate.yml +9 -0
  247. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/lymphocytes.yml +9 -0
  248. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/magnesium.yml +9 -0
  249. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/mean_arterial_pressure.yml +9 -0
  250. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/mean_corpuscular_hemoglobin.yml +9 -0
  251. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/mean_corpuscular_hemoglobin_concentration.yml +9 -0
  252. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/mean_corpuscular_volume.yml +9 -0
  253. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/mechanical_ventilation_windows.yml +14 -0
  254. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/methemoglobin.yml +9 -0
  255. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/neutrophils.yml +9 -0
  256. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/norepinephrine_duration.yml +14 -0
  257. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/norepinephrine_rate.yml +14 -0
  258. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/oxygen_saturation.yml +24 -0
  259. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/pH_of_blood.yml +9 -0
  260. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/partial_thromboplastin_time.yml +9 -0
  261. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/patient_admission_type.yml +9 -0
  262. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/patient_age.yml +19 -0
  263. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/patient_height.yml +9 -0
  264. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/patient_sex.yml +19 -0
  265. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/patient_weight.yml +9 -0
  266. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/phenylephrine_rate.yml +14 -0
  267. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/phosphate.yml +9 -0
  268. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/platelet_count.yml +9 -0
  269. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/potassium.yml +9 -0
  270. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/prothrombin_time_international_normalized_ratio.yml +9 -0
  271. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/prothrombine_time.yml +9 -0
  272. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/red_blood_cell_count.yml +9 -0
  273. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/respiratory_rate.yml +9 -0
  274. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/sodium.yml +9 -0
  275. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/systolic_blood_pressure.yml +9 -0
  276. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/temperature.yml +16 -0
  277. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/total_bilirubin.yml +9 -0
  278. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/totcal_CO2.yml +9 -0
  279. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/tracheostomy.yml +9 -0
  280. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/troponin_I.yml +9 -0
  281. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/troponin_t.yml +9 -0
  282. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/urine_output.yml +9 -0
  283. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/vasopressin_rate.yml +14 -0
  284. open_icu-0.0.1/config/datasets/mimic-iv/2.2/mappings/white_blood_cell_count.yml +9 -0
  285. open_icu-0.0.1/config/datasets/mimic-iv/2.2/tables/README.md +0 -0
  286. open_icu-0.0.1/config/datasets/mimic-iv/2.2/tables/admissions.yml +115 -0
  287. open_icu-0.0.1/config/datasets/mimic-iv/2.2/tables/chartevents.yml +68 -0
  288. open_icu-0.0.1/config/datasets/mimic-iv/2.2/tables/datetimeevents.yml +66 -0
  289. open_icu-0.0.1/config/datasets/mimic-iv/2.2/tables/diagnoses_icd.yml +66 -0
  290. open_icu-0.0.1/config/datasets/mimic-iv/2.2/tables/drgcodes.yml +55 -0
  291. open_icu-0.0.1/config/datasets/mimic-iv/2.2/tables/emar.yml +57 -0
  292. open_icu-0.0.1/config/datasets/mimic-iv/2.2/tables/hcpcsevents.yml +69 -0
  293. open_icu-0.0.1/config/datasets/mimic-iv/2.2/tables/icustay.yml +52 -0
  294. open_icu-0.0.1/config/datasets/mimic-iv/2.2/tables/inputevents.yml +135 -0
  295. open_icu-0.0.1/config/datasets/mimic-iv/2.2/tables/labevents.yml +86 -0
  296. open_icu-0.0.1/config/datasets/mimic-iv/2.2/tables/microbiologyevents.yml +125 -0
  297. open_icu-0.0.1/config/datasets/mimic-iv/2.2/tables/omr.yml +33 -0
  298. open_icu-0.0.1/config/datasets/mimic-iv/2.2/tables/outputevents.yml +61 -0
  299. open_icu-0.0.1/config/datasets/mimic-iv/2.2/tables/patients.yml +50 -0
  300. open_icu-0.0.1/config/datasets/mimic-iv/2.2/tables/prescriptions.yml +97 -0
  301. open_icu-0.0.1/config/datasets/mimic-iv/2.2/tables/procedureevents.yml +119 -0
  302. open_icu-0.0.1/config/datasets/mimic-iv/2.2/tables/procedures_icd.yml +71 -0
  303. open_icu-0.0.1/config/datasets/mimic-iv/2.2/tables/services.yml +32 -0
  304. open_icu-0.0.1/config/datasets/mimic-iv/2.2/tables/transfers.yml +41 -0
  305. open_icu-0.0.1/config/datasets/mimic-iv/3.1/extends.yml +5 -0
  306. open_icu-0.0.1/config/datasets/mimic-iv/README.md +30 -0
  307. open_icu-0.0.1/config/datasets/mimic-iv-demo/2.2/extends.yml +5 -0
  308. open_icu-0.0.1/config/datasets/mimic-iv-demo/2.2/tables/procedureevents.yml +60 -0
  309. open_icu-0.0.1/config/datasets/mimic-iv-demo/README.md +23 -0
  310. open_icu-0.0.1/config/datasets/nwicu/README.md +21 -0
  311. open_icu-0.0.1/example/config/concept.yml +18 -0
  312. open_icu-0.0.1/example/config/extraction.yml +73 -0
  313. open_icu-0.0.1/pyproject.toml +88 -0
  314. open_icu-0.0.1/src/open_icu/__init__.py +80 -0
  315. open_icu-0.0.1/src/open_icu/callbacks/__init__.py +76 -0
  316. open_icu-0.0.1/src/open_icu/callbacks/_callbacks/__init__.py +0 -0
  317. open_icu-0.0.1/src/open_icu/callbacks/_callbacks/algebra.py +170 -0
  318. open_icu-0.0.1/src/open_icu/callbacks/_callbacks/comparison.py +64 -0
  319. open_icu-0.0.1/src/open_icu/callbacks/_callbacks/conditional.py +34 -0
  320. open_icu-0.0.1/src/open_icu/callbacks/_callbacks/filter.py +56 -0
  321. open_icu-0.0.1/src/open_icu/callbacks/_callbacks/logical.py +33 -0
  322. open_icu-0.0.1/src/open_icu/callbacks/_callbacks/reshape.py +40 -0
  323. open_icu-0.0.1/src/open_icu/callbacks/_callbacks/selector.py +93 -0
  324. open_icu-0.0.1/src/open_icu/callbacks/_callbacks/shortcuts.py +41 -0
  325. open_icu-0.0.1/src/open_icu/callbacks/_callbacks/time.py +131 -0
  326. open_icu-0.0.1/src/open_icu/callbacks/_callbacks/type.py +64 -0
  327. open_icu-0.0.1/src/open_icu/callbacks/interpreter.py +143 -0
  328. open_icu-0.0.1/src/open_icu/callbacks/proto.py +42 -0
  329. open_icu-0.0.1/src/open_icu/callbacks/registry.py +102 -0
  330. open_icu-0.0.1/src/open_icu/config/__init__.py +5 -0
  331. open_icu-0.0.1/src/open_icu/config/base.py +195 -0
  332. open_icu-0.0.1/src/open_icu/config/inheritance.py +161 -0
  333. open_icu-0.0.1/src/open_icu/config/registry.py +293 -0
  334. open_icu-0.0.1/src/open_icu/logging.py +128 -0
  335. open_icu-0.0.1/src/open_icu/py.typed +0 -0
  336. open_icu-0.0.1/src/open_icu/steps/__init__.py +5 -0
  337. open_icu-0.0.1/src/open_icu/steps/base/__init__.py +5 -0
  338. open_icu-0.0.1/src/open_icu/steps/base/config.py +84 -0
  339. open_icu-0.0.1/src/open_icu/steps/base/step.py +234 -0
  340. open_icu-0.0.1/src/open_icu/steps/concept/__init__.py +6 -0
  341. open_icu-0.0.1/src/open_icu/steps/concept/config/__init__.py +5 -0
  342. open_icu-0.0.1/src/open_icu/steps/concept/config/complex.py +65 -0
  343. open_icu-0.0.1/src/open_icu/steps/concept/config/concept.py +123 -0
  344. open_icu-0.0.1/src/open_icu/steps/concept/config/derived.py +107 -0
  345. open_icu-0.0.1/src/open_icu/steps/concept/config/simple.py +87 -0
  346. open_icu-0.0.1/src/open_icu/steps/concept/config/step.py +45 -0
  347. open_icu-0.0.1/src/open_icu/steps/concept/registry.py +23 -0
  348. open_icu-0.0.1/src/open_icu/steps/concept/step.py +459 -0
  349. open_icu-0.0.1/src/open_icu/steps/extraction/__init__.py +6 -0
  350. open_icu-0.0.1/src/open_icu/steps/extraction/config/__init__.py +6 -0
  351. open_icu-0.0.1/src/open_icu/steps/extraction/config/column.py +37 -0
  352. open_icu-0.0.1/src/open_icu/steps/extraction/config/dtype.py +32 -0
  353. open_icu-0.0.1/src/open_icu/steps/extraction/config/event.py +206 -0
  354. open_icu-0.0.1/src/open_icu/steps/extraction/config/step.py +46 -0
  355. open_icu-0.0.1/src/open_icu/steps/extraction/config/table.py +206 -0
  356. open_icu-0.0.1/src/open_icu/steps/extraction/registry.py +23 -0
  357. open_icu-0.0.1/src/open_icu/steps/extraction/step.py +441 -0
  358. open_icu-0.0.1/src/open_icu/steps/sharding/__init__.py +0 -0
  359. open_icu-0.0.1/src/open_icu/steps/sharding/config/__init__.py +0 -0
  360. open_icu-0.0.1/src/open_icu/steps/sharding/config/sharding.py +30 -0
  361. open_icu-0.0.1/src/open_icu/steps/sharding/config/step.py +39 -0
  362. open_icu-0.0.1/src/open_icu/steps/sharding/registry.py +22 -0
  363. open_icu-0.0.1/src/open_icu/steps/sharding/step.py +63 -0
  364. open_icu-0.0.1/src/open_icu/storage/__init__.py +5 -0
  365. open_icu-0.0.1/src/open_icu/storage/base.py +67 -0
  366. open_icu-0.0.1/src/open_icu/storage/meds.py +131 -0
  367. open_icu-0.0.1/src/open_icu/storage/project.py +166 -0
  368. open_icu-0.0.1/src/open_icu/storage/workspace.py +26 -0
  369. open_icu-0.0.1/src/open_icu/utils/__init__.py +5 -0
  370. open_icu-0.0.1/src/open_icu/utils/importer.py +44 -0
  371. open_icu-0.0.1/src/open_icu/utils/name.py +15 -0
  372. open_icu-0.0.1/src/open_icu/utils/type.py +42 -0
  373. open_icu-0.0.1/tests/config/__init__.py +0 -0
  374. open_icu-0.0.1/tests/config/test_base.py +80 -0
  375. open_icu-0.0.1/tests/config/test_inheritance.py +160 -0
  376. open_icu-0.0.1/tests/config/test_registry.py +103 -0
@@ -0,0 +1,166 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ build/
12
+ develop-eggs/
13
+ dist/
14
+ downloads/
15
+ eggs/
16
+ .eggs/
17
+ lib/
18
+ lib64/
19
+ parts/
20
+ sdist/
21
+ var/
22
+ wheels/
23
+ share/python-wheels/
24
+ *.egg-info/
25
+ .installed.cfg
26
+ *.egg
27
+ MANIFEST
28
+
29
+ # PyInstaller
30
+ # Usually these files are written by a python script from a template
31
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
32
+ *.manifest
33
+ *.spec
34
+
35
+ # Installer logs
36
+ pip-log.txt
37
+ pip-delete-this-directory.txt
38
+
39
+ # Unit test / coverage reports
40
+ htmlcov/
41
+ .tox/
42
+ .nox/
43
+ .coverage
44
+ .coverage.*
45
+ .cache
46
+ nosetests.xml
47
+ coverage.xml
48
+ *.cover
49
+ *.py,cover
50
+ .hypothesis/
51
+ .pytest_cache/
52
+ cover/
53
+
54
+ # Translations
55
+ *.mo
56
+ *.pot
57
+
58
+ # Django stuff:
59
+ *.log
60
+ local_settings.py
61
+ db.sqlite3
62
+ db.sqlite3-journal
63
+
64
+ # Flask stuff:
65
+ instance/
66
+ .webassets-cache
67
+
68
+ # Scrapy stuff:
69
+ .scrapy
70
+
71
+ # Sphinx documentation
72
+ docs/_build/
73
+
74
+ # PyBuilder
75
+ .pybuilder/
76
+ target/
77
+
78
+ # Jupyter Notebook
79
+ .ipynb_checkpoints
80
+
81
+ # IPython
82
+ profile_default/
83
+ ipython_config.py
84
+
85
+ # pyenv
86
+ # For a library or package, you might want to ignore these files since the code is
87
+ # intended to run in multiple environments; otherwise, check them in:
88
+ # .python-version
89
+
90
+ # pipenv
91
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
92
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
93
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
94
+ # install all needed dependencies.
95
+ #Pipfile.lock
96
+
97
+ # poetry
98
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
99
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
100
+ # commonly ignored for libraries.
101
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
102
+ #poetry.lock
103
+
104
+ # pdm
105
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
106
+ #pdm.lock
107
+ # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
108
+ # in version control.
109
+ # https://pdm.fming.dev/latest/usage/project/#working-with-version-control
110
+ .pdm.toml
111
+ .pdm-python
112
+ .pdm-build/
113
+
114
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
115
+ __pypackages__/
116
+
117
+ # Celery stuff
118
+ celerybeat-schedule
119
+ celerybeat.pid
120
+
121
+ # SageMath parsed files
122
+ *.sage.py
123
+
124
+ # Environments
125
+ .venv
126
+ env/
127
+ venv/
128
+ ENV/
129
+ env.bak/
130
+ venv.bak/
131
+
132
+ # Spyder project settings
133
+ .spyderproject
134
+ .spyproject
135
+
136
+ # Rope project settings
137
+ .ropeproject
138
+
139
+ # mkdocs documentation
140
+ /site
141
+
142
+ # mypy
143
+ .mypy_cache/
144
+ .dmypy.json
145
+ dmypy.json
146
+
147
+ # Pyre type checker
148
+ .pyre/
149
+
150
+ # pytype static type analyzer
151
+ .pytype/
152
+
153
+ # Cython debug symbols
154
+ cython_debug/
155
+
156
+ # PyCharm
157
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
158
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
159
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
160
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
161
+ #.idea/
162
+
163
+ # pipeline output
164
+ examples/output/
165
+ .env
166
+ .claude/*
open_icu-0.0.1/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 AIDH MS
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,310 @@
1
+ Metadata-Version: 2.4
2
+ Name: open-icu
3
+ Version: 0.0.1
4
+ Summary: This is a project to unify and analyse data from different ICU data sources.
5
+ Project-URL: homepage, https://github.com/aidh-ms/OpenICU
6
+ Project-URL: repository, https://github.com/aidh-ms/OpenICU
7
+ Project-URL: changelog, https://github.com/aidh-ms/OpenICU/releases
8
+ Project-URL: issues, https://github.com/aidh-ms/OpenICU/issues
9
+ Project-URL: documentation, https://github.com/aidh-ms/OpenICU/wiki
10
+ Author: Paul-B98, TobiasVeronaLaser, prockenschaub
11
+ Maintainer: Paul-B98, TobiasVeronaLaser, prockenschaub
12
+ License-Expression: MIT
13
+ License-File: LICENSE
14
+ Keywords: Data,Healthcare,ICU
15
+ Classifier: License :: OSI Approved :: MIT License
16
+ Classifier: Operating System :: OS Independent
17
+ Classifier: Programming Language :: Python :: 3
18
+ Requires-Python: >=3.13
19
+ Requires-Dist: meds>=0.4.0
20
+ Requires-Dist: polars>=1.41.2
21
+ Requires-Dist: pyarrow>=24.0.0
22
+ Requires-Dist: pydantic>=2.13.4
23
+ Requires-Dist: pyyaml>=6.0.2
24
+ Requires-Dist: types-pyyaml>=6.0.12.20260518
25
+ Description-Content-Type: text/markdown
26
+
27
+ # OpenICU
28
+
29
+ [![CI](https://github.com/aidh-ms/OpenICU/actions/workflows/continuous_integration.yml/badge.svg)](https://github.com/aidh-ms/OpenICU/actions/workflows/continuous_integration.yml)
30
+ [![Coverage Status](https://coveralls.io/repos/github/aidh-ms/OpenICU/badge.svg?branch=main)](https://coveralls.io/github/aidh-ms/OpenICU?branch=main)
31
+ [![Python](https://img.shields.io/badge/python-3.13%2B-blue)](https://github.com/aidh-ms/OpenICU/blob/main/pyproject.toml)
32
+ [![License: MIT](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
33
+
34
+ **OpenICU** is an open-source Python framework for extracting and harmonising intensive care unit (ICU) data from heterogeneous sources — such as [MIMIC-IV](https://physionet.org/content/mimiciv/), [eICU-CRD](https://physionet.org/content/eicu-crd/), and your own institutional database exports — into the standardised [MEDS](https://github.com/Medical-Event-Data-Standard/meds) (Medical Event Data Standard) format.
35
+
36
+ Instead of writing one-off SQL or pandas scripts for every dataset and every study, you describe *what* to extract in declarative YAML configurations and let OpenICU handle the *how*: typed reading, joins, timestamp reconstruction, unit-aware event codes, and cross-dataset concept harmonisation. OpenICU ships with curated configurations for public ICU datasets and a growing dictionary of clinical concepts (vital signs, laboratory values, vasopressors, ventilation, and more), so the same study code can run against any supported dataset.
37
+
38
+ OpenICU is the spiritual successor to dataset-harmonisation tools like [`ricu`](https://github.com/eth-mds/ricu) (R), rebuilt in Python on a modern stack: [Polars](https://pola.rs) for fast, out-of-core streaming processing, [Pydantic](https://docs.pydantic.dev) for validated configuration, and MEDS for an interoperable output format that plugs directly into the wider MEDS ecosystem of modelling and evaluation tools.
39
+
40
+ ---
41
+
42
+ **Source code:** <https://github.com/aidh-ms/OpenICU> · **Issues:** <https://github.com/aidh-ms/OpenICU/issues>
43
+
44
+ ---
45
+
46
+ ## Why OpenICU?
47
+
48
+ - **One concept, many datasets.** Define a clinical concept (e.g. *heart rate*, *norepinephrine rate*, *antibiotics*) once; map it per dataset with small YAML files. Extraction code stays identical across MIMIC-IV, eICU-CRD, NWICU, and custom sources.
49
+ - **MEDS-native output.** All output is written as MEDS-compliant Parquet (`subject_id`, `time`, `code`, `numeric_value`, `text_value`, plus configurable extension columns) with full metadata (`dataset.json`, `codes.parquet`) — ready for MEDS-compatible downstream tooling.
50
+ - **Declarative, versioned, reproducible.** Every table, event, and concept is a versioned YAML config with a stable identifier. The exact merged configuration used for a run is snapshotted into the output project, so results can be traced and reproduced.
51
+ - **Versions and variants as diffs.** New dataset versions and variants (like the eICU demo) `extend` a reference version and state only their differences — no copied configs to keep in sync. The entire eICU demo configuration is two small files.
52
+ - **Fully offline.** Designed for sensitive medical data: no network access required, nothing leaves your secure perimeter.
53
+ - **Scales down and up.** Polars lazy streaming lets you process full MIMIC-IV on a 16–32 GB laptop, without a database server or cluster.
54
+ - **Extensible.** Add new datasets by writing YAML (no Python required); add new transformation callbacks or complex concept logic in Python where YAML isn't enough.
55
+
56
+ ## How it works
57
+
58
+ OpenICU organises processing as a pipeline of **steps** that operate inside a **project** directory:
59
+
60
+ ```mermaid
61
+ flowchart LR
62
+ A[Raw source data<br>CSV/CSV.GZ] -->|ExtractionStep| B[Dataset-level MEDS events<br>e.g. mimic-iv//chartevents//220045//Heart Rate//bpm]
63
+ B -->|ConceptStep| C[Harmonised concepts<br>e.g. heart_rate//bpm]
64
+ C --> D[Your analysis /<br>MEDS ecosystem tools]
65
+ ```
66
+
67
+ 1. **Extraction step** — reads the raw tables of each dataset (typed CSV scan, lookup-table joins, timestamp reconstruction) and emits one MEDS event stream per configured event. Event codes preserve full provenance: `dataset//table//itemid//label//unit`.
68
+ 2. **Concept step** — maps dataset-specific event codes onto shared, dataset-agnostic clinical concepts using pattern matching (*simple* concepts), computation over other concepts (*derived* concepts), or custom Python transformers (*complex* concepts). Concept dependencies are resolved automatically.
69
+ 3. **Sharding step** *(in development)* — re-partitions harmonised data into analysis-ready shards.
70
+
71
+ Each step reads its inputs and writes its outputs as a self-contained MEDS dataset inside the project, so intermediate results are inspectable and individual steps can be re-run in isolation.
72
+
73
+ ## Supported datasets
74
+
75
+ OpenICU ships with ready-to-use extraction and concept configurations under [`config/`](config/):
76
+
77
+ | Dataset | Version | Extraction configs | Concept mappings |
78
+ | --- | --- | --- | --- |
79
+ | [MIMIC-IV](https://physionet.org/content/mimiciv/3.1/) | 3.1, 2.2 | 19 tables (ICU + hosp) | ~80 concepts |
80
+ | [MIMIC-IV demo](https://physionet.org/content/mimic-iv-demo/2.2/) | 2.2 | inherited from MIMIC-IV via `extends` | inherited |
81
+ | [eICU-CRD](https://physionet.org/content/eicu-crd/2.0/) | 2.0 | 14 tables | in progress |
82
+ | [eICU-CRD demo](https://physionet.org/content/eicu-crd-demo/2.0/) | 2.0 | inherited from eICU-CRD via `extends` | inherited |
83
+ | [NWICU](https://physionet.org/content/nwicu/0.1.0/) | 0.1.0 | 9 tables | in progress |
84
+
85
+ The shared concept dictionary in [`config/concepts/`](config/concepts/) currently covers ~90 concepts across vital signs, blood gas, clinical chemistry, hematology, medications (incl. vasopressors and antibiotics), neurological scores, respiratory parameters, fluid output, and demographics.
86
+
87
+ > [!NOTE]
88
+ > Access to the public datasets themselves requires the usual credentialing on [PhysioNet](https://physionet.org/). OpenICU works on the downloaded CSV/CSV.GZ files — no database setup needed.
89
+
90
+ ## Installation
91
+
92
+ OpenICU requires **Python 3.13+**. Until the first PyPI release, install from GitHub:
93
+
94
+ ```bash
95
+ # with pip
96
+ pip install git+https://github.com/aidh-ms/OpenICU
97
+
98
+ # with uv
99
+ uv add git+https://github.com/aidh-ms/OpenICU
100
+ ```
101
+
102
+ For development, clone the repository and use the included dev container or [`uv`](https://docs.astral.sh/uv/):
103
+
104
+ ```bash
105
+ git clone https://github.com/aidh-ms/OpenICU.git
106
+ cd OpenICU
107
+ uv sync --all-groups
108
+ ```
109
+
110
+ ## Quickstart
111
+
112
+ A pipeline is two small YAML files plus a few lines of Python.
113
+
114
+ **1. Configure the extraction step** (`config/extraction.yml`) — point OpenICU at the bundled dataset configs and your local data:
115
+
116
+ ```yaml
117
+ name: Extraction
118
+ version: 1.0.0
119
+
120
+ config_files:
121
+ - path: /path/to/OpenICU/config/datasets/mimic-iv/3.1/tables/
122
+
123
+ config:
124
+ data:
125
+ - name: mimic-iv
126
+ path: /path/to/physionet.org/files/mimiciv/3.1
127
+ ```
128
+
129
+ **2. Configure the concept step** (`config/concept.yml`) — select the concept dictionary and per-dataset mappings:
130
+
131
+ ```yaml
132
+ name: Concept
133
+ version: 1.0.0
134
+
135
+ config_files:
136
+ - path: /path/to/OpenICU/config/concepts
137
+
138
+ config:
139
+ extraction_step: Extraction
140
+ dataset_configs:
141
+ - name: mimic-iv
142
+ path: /path/to/OpenICU/config/datasets/mimic-iv/3.1/mappings/
143
+ ```
144
+
145
+ **3. Run the pipeline:**
146
+
147
+ ```python
148
+ from pathlib import Path
149
+
150
+ from open_icu import OpenICUProject, ExtractionStep, ConceptStep
151
+
152
+ config_path = Path.cwd() / "config"
153
+ project_path = Path.cwd() / "output" / "project"
154
+
155
+ with OpenICUProject(project_path) as project:
156
+ extraction_step = ExtractionStep.load(project, config_path / "extraction.yml")
157
+ extraction_step.run()
158
+
159
+ concept_step = ConceptStep.load(project, config_path / "concept.yml")
160
+ concept_step.run()
161
+ ```
162
+
163
+ **4. Use the results.** The project directory now contains one MEDS dataset per step:
164
+
165
+ ```
166
+ output/project/
167
+ ├── configs/ # snapshot of every config used (reproducibility)
168
+ ├── workspace/ # intermediate per-step files
169
+ └── datasets/
170
+ ├── extraction/
171
+ │ ├── data/mimic-iv/3.1/<table>/<EVENT>.parquet
172
+ │ └── metadata/{dataset.json, codes.parquet}
173
+ └── concept/
174
+ ├── data/<concept>/<version>/<dataset>.parquet
175
+ └── metadata/{dataset.json, codes.parquet}
176
+ ```
177
+
178
+ Read it with any Parquet-capable tool, e.g.:
179
+
180
+ ```python
181
+ import polars as pl
182
+
183
+ heart_rate = pl.scan_parquet(
184
+ project_path / "datasets" / "concept" / "data" / "heart_rate" / "1.0.0" / "mimic-iv.parquet"
185
+ ).collect()
186
+ ```
187
+
188
+ A complete runnable example lives in [`example/pipeline.ipynb`](example/pipeline.ipynb).
189
+
190
+ ## Configuration at a glance
191
+
192
+ OpenICU is configured at three levels — see the [documentation](#documentation) for the full reference.
193
+
194
+ **Dataset/table configs** (`config/datasets/<dataset>/<version>/tables/*.yml`) describe how to turn one raw table into MEDS events: typed columns, joins, and event definitions.
195
+
196
+ ```yaml
197
+ path: icu/chartevents.csv.gz
198
+
199
+ columns:
200
+ - name: subject_id
201
+ type: int64
202
+ - name: charttime
203
+ type: datetime
204
+ params: { format: "%Y-%m-%d %H:%M:%S" }
205
+ - name: itemid
206
+ type: int64
207
+ - name: value
208
+ type: string
209
+ - name: valuenum
210
+ type: float32
211
+ - name: valueuom
212
+ type: string
213
+
214
+ join:
215
+ - path: icu/d_items.csv.gz
216
+ both_on: [itemid]
217
+ columns: [{ name: itemid, type: int64 }, { name: label, type: string }]
218
+
219
+ events:
220
+ - name: CHART
221
+ columns:
222
+ subject_id: col(subject_id)
223
+ time: col(charttime)
224
+ code: [col(itemid), col(label), col(valueuom)]
225
+ numeric_value: col(valuenum)
226
+ text_value: col(value)
227
+ ```
228
+
229
+ `name` is a technical event identifier used by the extraction step. It is not included in the generated MEDS `code`; the code is built from the automatic dataset/table prefix, optional `code_prefix`, configured `columns.code` components, and optional `code_suffix`.
230
+
231
+ **Concept configs** (`config/concepts/<category>/*.yml`) define dataset-agnostic clinical concepts:
232
+
233
+ ```yaml
234
+ name: heart_rate
235
+ version: 1.0.0
236
+ unit: bpm
237
+ ```
238
+
239
+ **Concept mappings** (`config/datasets/<dataset>/<version>/mappings/*.yml`) connect a concept to dataset-specific codes:
240
+
241
+ ```yaml
242
+ type: simple
243
+ mappings:
244
+ - pattern:
245
+ table: chartevents
246
+ event: CHART # technical extraction event identifier, not part of `code`
247
+ code: (220045//Heart Rate)
248
+ columns:
249
+ numeric_value: col(numeric_value)
250
+ ```
251
+
252
+ Here, `event` selects the technical extraction event stream; it is not matched as part of the MEDS `code`.
253
+
254
+ Wherever values are computed, configs use a small **expression language** with composable callbacks — e.g. reconstructing absolute timestamps from eICU's relative offsets:
255
+
256
+ ```yaml
257
+ callbacks:
258
+ - to_datetime(hospitaldischargeyear, 1, 1, hospitaladmittime24, hospitaladmitoffset, "minutes", output=admission_timestamp)
259
+ post_join_callbacks:
260
+ - add_offset(admission_timestamp, labresultoffset, output=event_timestamp)
261
+ ```
262
+
263
+ Arithmetic, comparisons, and boolean logic work as ordinary expressions (`col(weight) / (col(height) * col(height))`), and custom callbacks can be registered from Python.
264
+
265
+ ## Documentation
266
+
267
+ - [Package overview](docs/getting_started/overview.md)
268
+ - [Installation](docs/getting_started/installation.md)
269
+ - [Basic usage](docs/getting_started/basic_usage.md)
270
+ - User guide: [pipeline & projects](docs/user_guide/pipeline.md) · [extraction configs](docs/user_guide/extraction.md) · [dataset versions & variants](docs/user_guide/versioning.md) · [concept configs](docs/user_guide/concepts.md) · [expression language](docs/user_guide/expressions.md)
271
+ - [Contributing](docs/getting_started/contributing.md)
272
+ - Architecture documentation following [arc42](https://docs.arc42.org/home/) in [`docs/arc/`](docs/arc/)
273
+
274
+ ## Project status & roadmap
275
+
276
+ OpenICU is in active development (pre-1.0); configuration formats may still change between minor versions. Current focus areas:
277
+
278
+ - Completing concept mappings for eICU-CRD and NWICU
279
+ - The sharding step for analysis-ready data partitioning
280
+ - Additional datasets (e.g. MIMIC-IV demo, HiRID, AmsterdamUMCdb)
281
+ - A first PyPI release
282
+
283
+ Contributions of dataset configurations and concept definitions are especially welcome — they are pure YAML and require no changes to the framework itself.
284
+
285
+ ## Contributing
286
+
287
+ We welcome contributions! Please use the dev container for a ready-to-go environment, follow [Conventional Commits](https://www.conventionalcommits.org/) (`feat:`, `fix:`, `docs:`, …), and make sure checks pass before opening a PR:
288
+
289
+ ```bash
290
+ uv run ruff format && uv run ruff check # format & lint
291
+ uv run ty check . # type checking
292
+ uv run pytest # tests
293
+ ```
294
+
295
+ See the [contributing guide](docs/getting_started/contributing.md) for details, and our [Code of Conduct](.github/CODE_OF_CONDUCT.md).
296
+
297
+ ## Citation
298
+
299
+ If you use OpenICU in your research, please cite it via the metadata in [`CITATION.cff`](CITATION.cff) (use the *"Cite this repository"* button on GitHub).
300
+
301
+ ## Related projects
302
+
303
+ - [MEDS](https://github.com/Medical-Event-Data-Standard/meds) — the Medical Event Data Standard that OpenICU targets
304
+ - [`ricu`](https://github.com/eth-mds/ricu) — R package for ICU data harmonisation that inspired OpenICU's concept dictionary
305
+ - [YAIB](https://github.com/rvandewater/YAIB) — Yet Another ICU Benchmark, a complementary benchmarking framework
306
+
307
+ ## License
308
+
309
+ OpenICU is released under the [MIT License](LICENSE).
310
+ Developed by the [AIDH MS](https://github.com/aidh-ms) team at the University of Münster and the Medical University of Innsbruck.