weavehr 0.0.1__py3-none-any.whl

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 (726) hide show
  1. weavehr/__init__.py +91 -0
  2. weavehr/callbacks/__init__.py +73 -0
  3. weavehr/callbacks/_callbacks/__init__.py +0 -0
  4. weavehr/callbacks/_callbacks/algebra.py +170 -0
  5. weavehr/callbacks/_callbacks/comparison.py +64 -0
  6. weavehr/callbacks/_callbacks/conditional.py +34 -0
  7. weavehr/callbacks/_callbacks/filter.py +57 -0
  8. weavehr/callbacks/_callbacks/logical.py +33 -0
  9. weavehr/callbacks/_callbacks/reshape.py +28 -0
  10. weavehr/callbacks/_callbacks/selector.py +113 -0
  11. weavehr/callbacks/_callbacks/shortcuts.py +41 -0
  12. weavehr/callbacks/_callbacks/string.py +125 -0
  13. weavehr/callbacks/_callbacks/time.py +168 -0
  14. weavehr/callbacks/_callbacks/type.py +61 -0
  15. weavehr/callbacks/interpreter.py +143 -0
  16. weavehr/callbacks/proto.py +42 -0
  17. weavehr/callbacks/registry.py +103 -0
  18. weavehr/config/__init__.py +5 -0
  19. weavehr/config/base.py +198 -0
  20. weavehr/config/inheritance.py +161 -0
  21. weavehr/config/registry.py +313 -0
  22. weavehr/configs/concepts/blood_gas/CO2_partial_pressure.yml +6 -0
  23. weavehr/configs/concepts/blood_gas/O2_partial_pressure.yml +6 -0
  24. weavehr/configs/concepts/blood_gas/base_excess.yml +6 -0
  25. weavehr/configs/concepts/blood_gas/calcium_ionized.yml +6 -0
  26. weavehr/configs/concepts/blood_gas/carboxyhemoglobin.yml +6 -0
  27. weavehr/configs/concepts/blood_gas/fraction_of_inspired_oxygen.yml +6 -0
  28. weavehr/configs/concepts/blood_gas/lactate.yml +6 -0
  29. weavehr/configs/concepts/blood_gas/methemoglobin.yml +6 -0
  30. weavehr/configs/concepts/blood_gas/pH_of_blood.yml +6 -0
  31. weavehr/configs/concepts/blood_gas/totcal_CO2.yml +6 -0
  32. weavehr/configs/concepts/chemistry/C_reactive_protein.yml +6 -0
  33. weavehr/configs/concepts/chemistry/alanine_aminotransferase.yml +6 -0
  34. weavehr/configs/concepts/chemistry/albumin.yml +6 -0
  35. weavehr/configs/concepts/chemistry/alkaline_phosphatase.yml +6 -0
  36. weavehr/configs/concepts/chemistry/aspartate_aminotransferase.yml +6 -0
  37. weavehr/configs/concepts/chemistry/bicarbonate.yml +6 -0
  38. weavehr/configs/concepts/chemistry/bilirubin_direct.yml +6 -0
  39. weavehr/configs/concepts/chemistry/blood_urea_nitrogen.yml +6 -0
  40. weavehr/configs/concepts/chemistry/calcium.yml +6 -0
  41. weavehr/configs/concepts/chemistry/chloride.yml +6 -0
  42. weavehr/configs/concepts/chemistry/creatine_kinase.yml +6 -0
  43. weavehr/configs/concepts/chemistry/creatine_kinase_MB.yml +6 -0
  44. weavehr/configs/concepts/chemistry/creatinine.yml +6 -0
  45. weavehr/configs/concepts/chemistry/glucose.yml +6 -0
  46. weavehr/configs/concepts/chemistry/magnesium.yml +6 -0
  47. weavehr/configs/concepts/chemistry/phosphate.yml +6 -0
  48. weavehr/configs/concepts/chemistry/potassium.yml +6 -0
  49. weavehr/configs/concepts/chemistry/sodium.yml +6 -0
  50. weavehr/configs/concepts/chemistry/total_bilirubin.yml +6 -0
  51. weavehr/configs/concepts/chemistry/troponin_I.yml +6 -0
  52. weavehr/configs/concepts/chemistry/troponin_t.yml +6 -0
  53. weavehr/configs/concepts/demographics/patient_admission_type.yml +6 -0
  54. weavehr/configs/concepts/demographics/patient_age.yml +6 -0
  55. weavehr/configs/concepts/demographics/patient_height.yml +6 -0
  56. weavehr/configs/concepts/demographics/patient_sex.yml +6 -0
  57. weavehr/configs/concepts/demographics/patient_weight.yml +6 -0
  58. weavehr/configs/concepts/hematology/Hemoglobin_A1C.yml +6 -0
  59. weavehr/configs/concepts/hematology/band_form_neutrophils.yml +6 -0
  60. weavehr/configs/concepts/hematology/basophils.yml +6 -0
  61. weavehr/configs/concepts/hematology/eosinophils.yml +6 -0
  62. weavehr/configs/concepts/hematology/erythrocyte_distribution_width.yml +6 -0
  63. weavehr/configs/concepts/hematology/erythrocyte_sedimentation_rate.yml +6 -0
  64. weavehr/configs/concepts/hematology/fibrinogen.yml +6 -0
  65. weavehr/configs/concepts/hematology/hematocrit.yml +6 -0
  66. weavehr/configs/concepts/hematology/hemoglobin.yml +6 -0
  67. weavehr/configs/concepts/hematology/lymphocytes.yml +6 -0
  68. weavehr/configs/concepts/hematology/mean_corpuscular_hemoglobin.yml +6 -0
  69. weavehr/configs/concepts/hematology/mean_corpuscular_hemoglobin_concentration.yml +6 -0
  70. weavehr/configs/concepts/hematology/mean_corpuscular_volume.yml +6 -0
  71. weavehr/configs/concepts/hematology/neutrophils.yml +6 -0
  72. weavehr/configs/concepts/hematology/partial_thromboplastin_time.yml +6 -0
  73. weavehr/configs/concepts/hematology/platelet_count.yml +6 -0
  74. weavehr/configs/concepts/hematology/prothrombin_time_international_normalized_ratio.yml +6 -0
  75. weavehr/configs/concepts/hematology/prothrombine_time.yml +6 -0
  76. weavehr/configs/concepts/hematology/red_blood_cell_count.yml +6 -0
  77. weavehr/configs/concepts/hematology/white_blood_cell_count.yml +6 -0
  78. weavehr/configs/concepts/image_diagnostics/chest_xray_atelectasis.yml +6 -0
  79. weavehr/configs/concepts/image_diagnostics/chest_xray_cardiomegaly.yml +6 -0
  80. weavehr/configs/concepts/image_diagnostics/chest_xray_consolidation.yml +6 -0
  81. weavehr/configs/concepts/image_diagnostics/chest_xray_edema.yml +6 -0
  82. weavehr/configs/concepts/image_diagnostics/chest_xray_enlarged_cardiomediastinum.yml +6 -0
  83. weavehr/configs/concepts/image_diagnostics/chest_xray_fracture.yml +6 -0
  84. weavehr/configs/concepts/image_diagnostics/chest_xray_lung_lesion.yml +6 -0
  85. weavehr/configs/concepts/image_diagnostics/chest_xray_lung_opacity.yml +6 -0
  86. weavehr/configs/concepts/image_diagnostics/chest_xray_no_finding.yml +6 -0
  87. weavehr/configs/concepts/image_diagnostics/chest_xray_pleural_effusion.yml +6 -0
  88. weavehr/configs/concepts/image_diagnostics/chest_xray_pleural_other.yml +6 -0
  89. weavehr/configs/concepts/image_diagnostics/chest_xray_pneumonia.yml +6 -0
  90. weavehr/configs/concepts/image_diagnostics/chest_xray_pneumothorax.yml +6 -0
  91. weavehr/configs/concepts/image_diagnostics/chest_xray_support_devices.yml +6 -0
  92. weavehr/configs/concepts/imaging/chest_xray_image.yml +6 -0
  93. weavehr/configs/concepts/imaging/chest_xray_letter.yml +6 -0
  94. weavehr/configs/concepts/imaging/chest_xray_position.yml +6 -0
  95. weavehr/configs/concepts/imaging/chest_xray_procedure.yml +6 -0
  96. weavehr/configs/concepts/medications/antibiotics.yml +6 -0
  97. weavehr/configs/concepts/medications/corticosteroids.yml +6 -0
  98. weavehr/configs/concepts/medications/dextrose_as_D10.yml +6 -0
  99. weavehr/configs/concepts/medications/dobutamine_duration.yml +6 -0
  100. weavehr/configs/concepts/medications/dobutamine_rate.yml +6 -0
  101. weavehr/configs/concepts/medications/dopamine_duration.yml +6 -0
  102. weavehr/configs/concepts/medications/dopamine_rate.yml +6 -0
  103. weavehr/configs/concepts/medications/epinephrine_duration.yml +6 -0
  104. weavehr/configs/concepts/medications/epinephrine_rate.yml +6 -0
  105. weavehr/configs/concepts/medications/insulin.yml +6 -0
  106. weavehr/configs/concepts/medications/norepinephrine_duration.yml +6 -0
  107. weavehr/configs/concepts/medications/norepinephrine_rate.yml +6 -0
  108. weavehr/configs/concepts/medications/phenylephrine_rate.yml +6 -0
  109. weavehr/configs/concepts/medications/vasopressin_rate.yml +6 -0
  110. weavehr/configs/concepts/microbiology/body_fluid_sampling.yml +6 -0
  111. weavehr/configs/concepts/neurological/Richmond_agitation_sedation_scale.yml +6 -0
  112. weavehr/configs/concepts/neurological/gcs_eye.yml +6 -0
  113. weavehr/configs/concepts/neurological/gcs_motor.yml +6 -0
  114. weavehr/configs/concepts/neurological/gcs_total.yml +6 -0
  115. weavehr/configs/concepts/neurological/gcs_verbal.yml +6 -0
  116. weavehr/configs/concepts/outcome/ICU_length_of_stay.yml +6 -0
  117. weavehr/configs/concepts/outcome/aki.yml +5 -0
  118. weavehr/configs/concepts/outcome/aki_creatinine.yml +5 -0
  119. weavehr/configs/concepts/outcome/aki_urine_output.yml +5 -0
  120. weavehr/configs/concepts/outcome/hospital_length_of_stay.yml +6 -0
  121. weavehr/configs/concepts/outcome/in_hospital_mortality.yml +6 -0
  122. weavehr/configs/concepts/outcome/sofa.yml +5 -0
  123. weavehr/configs/concepts/outcome/sofa_cardiovascular.yml +5 -0
  124. weavehr/configs/concepts/outcome/sofa_cns.yml +5 -0
  125. weavehr/configs/concepts/outcome/sofa_coagulation.yml +5 -0
  126. weavehr/configs/concepts/outcome/sofa_liver.yml +5 -0
  127. weavehr/configs/concepts/outcome/sofa_renal.yml +5 -0
  128. weavehr/configs/concepts/outcome/sofa_respiratory.yml +5 -0
  129. weavehr/configs/concepts/output/urine_output.yml +6 -0
  130. weavehr/configs/concepts/respiratory/arterial_oxygen_saturation.yml +6 -0
  131. weavehr/configs/concepts/respiratory/mechanical_ventilation_windows.yml +6 -0
  132. weavehr/configs/concepts/respiratory/oxygen_saturation.yml +6 -0
  133. weavehr/configs/concepts/respiratory/respiratory_rate.yml +6 -0
  134. weavehr/configs/concepts/respiratory/tracheostomy.yml +6 -0
  135. weavehr/configs/concepts/respiratory/ventilation_end.yml +6 -0
  136. weavehr/configs/concepts/respiratory/ventilation_start.yml +6 -0
  137. weavehr/configs/concepts/text/discharge_note.yml +6 -0
  138. weavehr/configs/concepts/text/radiology_note.yml +6 -0
  139. weavehr/configs/concepts/vitals/diastolic_blood_pressure.yml +6 -0
  140. weavehr/configs/concepts/vitals/endtidal_CO2.yml +6 -0
  141. weavehr/configs/concepts/vitals/heart_rate.yml +6 -0
  142. weavehr/configs/concepts/vitals/mean_arterial_pressure.yml +6 -0
  143. weavehr/configs/concepts/vitals/systolic_blood_pressure.yml +6 -0
  144. weavehr/configs/concepts/vitals/temperature.yml +6 -0
  145. weavehr/configs/datasets/aumc/1.5.0/extends.yml +6 -0
  146. weavehr/configs/datasets/aumc/1.5.0/mappings/CO2_partial_pressure.yml +12 -0
  147. weavehr/configs/datasets/aumc/1.5.0/mappings/C_reactive_protein.yml +11 -0
  148. weavehr/configs/datasets/aumc/1.5.0/mappings/Hemoglobin_A1C.yml +11 -0
  149. weavehr/configs/datasets/aumc/1.5.0/mappings/O2_partial_pressure.yml +12 -0
  150. weavehr/configs/datasets/aumc/1.5.0/mappings/Richmond_agitation_sedation_scale.yml +11 -0
  151. weavehr/configs/datasets/aumc/1.5.0/mappings/alanine_aminotransferase.yml +11 -0
  152. weavehr/configs/datasets/aumc/1.5.0/mappings/albumin.yml +12 -0
  153. weavehr/configs/datasets/aumc/1.5.0/mappings/alkaline_phosphatase.yml +11 -0
  154. weavehr/configs/datasets/aumc/1.5.0/mappings/aspartate_aminotransferase.yml +11 -0
  155. weavehr/configs/datasets/aumc/1.5.0/mappings/band_form_neutrophils.yml +11 -0
  156. weavehr/configs/datasets/aumc/1.5.0/mappings/base_excess.yml +11 -0
  157. weavehr/configs/datasets/aumc/1.5.0/mappings/basophils.yml +11 -0
  158. weavehr/configs/datasets/aumc/1.5.0/mappings/bicarbonate.yml +11 -0
  159. weavehr/configs/datasets/aumc/1.5.0/mappings/bilirubin_direct.yml +11 -0
  160. weavehr/configs/datasets/aumc/1.5.0/mappings/blood_urea_nitrogen.yml +11 -0
  161. weavehr/configs/datasets/aumc/1.5.0/mappings/calcium.yml +11 -0
  162. weavehr/configs/datasets/aumc/1.5.0/mappings/calcium_ionized.yml +12 -0
  163. weavehr/configs/datasets/aumc/1.5.0/mappings/chloride.yml +12 -0
  164. weavehr/configs/datasets/aumc/1.5.0/mappings/creatine_kinase.yml +11 -0
  165. weavehr/configs/datasets/aumc/1.5.0/mappings/creatine_kinase_MB.yml +13 -0
  166. weavehr/configs/datasets/aumc/1.5.0/mappings/creatinine.yml +11 -0
  167. weavehr/configs/datasets/aumc/1.5.0/mappings/diastolic_blood_pressure.yml +12 -0
  168. weavehr/configs/datasets/aumc/1.5.0/mappings/endtidal_CO2.yml +12 -0
  169. weavehr/configs/datasets/aumc/1.5.0/mappings/eosinophils.yml +11 -0
  170. weavehr/configs/datasets/aumc/1.5.0/mappings/erythrocyte_sedimentation_rate.yml +11 -0
  171. weavehr/configs/datasets/aumc/1.5.0/mappings/fibrinogen.yml +11 -0
  172. weavehr/configs/datasets/aumc/1.5.0/mappings/fraction_of_inspired_oxygen.yml +12 -0
  173. weavehr/configs/datasets/aumc/1.5.0/mappings/gcs_eye.yml +12 -0
  174. weavehr/configs/datasets/aumc/1.5.0/mappings/gcs_motor.yml +12 -0
  175. weavehr/configs/datasets/aumc/1.5.0/mappings/gcs_verbal.yml +12 -0
  176. weavehr/configs/datasets/aumc/1.5.0/mappings/glucose.yml +11 -0
  177. weavehr/configs/datasets/aumc/1.5.0/mappings/heart_rate.yml +12 -0
  178. weavehr/configs/datasets/aumc/1.5.0/mappings/hematocrit.yml +11 -0
  179. weavehr/configs/datasets/aumc/1.5.0/mappings/hemoglobin.yml +12 -0
  180. weavehr/configs/datasets/aumc/1.5.0/mappings/lactate.yml +12 -0
  181. weavehr/configs/datasets/aumc/1.5.0/mappings/lymphocytes.yml +11 -0
  182. weavehr/configs/datasets/aumc/1.5.0/mappings/magnesium.yml +12 -0
  183. weavehr/configs/datasets/aumc/1.5.0/mappings/mean_arterial_pressure.yml +12 -0
  184. weavehr/configs/datasets/aumc/1.5.0/mappings/mean_corpuscular_hemoglobin.yml +11 -0
  185. weavehr/configs/datasets/aumc/1.5.0/mappings/mean_corpuscular_hemoglobin_concentration.yml +11 -0
  186. weavehr/configs/datasets/aumc/1.5.0/mappings/mean_corpuscular_volume.yml +11 -0
  187. weavehr/configs/datasets/aumc/1.5.0/mappings/methemoglobin.yml +11 -0
  188. weavehr/configs/datasets/aumc/1.5.0/mappings/neutrophils.yml +12 -0
  189. weavehr/configs/datasets/aumc/1.5.0/mappings/oxygen_saturation.yml +21 -0
  190. weavehr/configs/datasets/aumc/1.5.0/mappings/pH_of_blood.yml +11 -0
  191. weavehr/configs/datasets/aumc/1.5.0/mappings/partial_thromboplastin_time.yml +11 -0
  192. weavehr/configs/datasets/aumc/1.5.0/mappings/phosphate.yml +11 -0
  193. weavehr/configs/datasets/aumc/1.5.0/mappings/platelet_count.yml +11 -0
  194. weavehr/configs/datasets/aumc/1.5.0/mappings/potassium.yml +12 -0
  195. weavehr/configs/datasets/aumc/1.5.0/mappings/prothrombin_time_international_normalized_ratio.yml +11 -0
  196. weavehr/configs/datasets/aumc/1.5.0/mappings/prothrombine_time.yml +11 -0
  197. weavehr/configs/datasets/aumc/1.5.0/mappings/red_blood_cell_count.yml +11 -0
  198. weavehr/configs/datasets/aumc/1.5.0/mappings/respiratory_rate.yml +13 -0
  199. weavehr/configs/datasets/aumc/1.5.0/mappings/sodium.yml +12 -0
  200. weavehr/configs/datasets/aumc/1.5.0/mappings/systolic_blood_pressure.yml +12 -0
  201. weavehr/configs/datasets/aumc/1.5.0/mappings/temperature.yml +17 -0
  202. weavehr/configs/datasets/aumc/1.5.0/mappings/total_bilirubin.yml +12 -0
  203. weavehr/configs/datasets/aumc/1.5.0/mappings/troponin_t.yml +12 -0
  204. weavehr/configs/datasets/aumc/1.5.0/mappings/urine_output.yml +14 -0
  205. weavehr/configs/datasets/aumc/1.5.0/mappings/white_blood_cell_count.yml +11 -0
  206. weavehr/configs/datasets/aumc/1.5.0/tables/drug_exposure.yml +1 -0
  207. weavehr/configs/datasets/aumc/1.5.0/tables/measurement.yml +1 -0
  208. weavehr/configs/datasets/aumc/1.5.0/tables/observation.yml +1 -0
  209. weavehr/configs/datasets/aumc/1.5.0/tables/procedure_occurrence.yml +1 -0
  210. weavehr/configs/datasets/aumc/README.md +98 -0
  211. weavehr/configs/datasets/eicu-crd/2.0/mappings/CO2_partial_pressure.yml +9 -0
  212. weavehr/configs/datasets/eicu-crd/2.0/mappings/C_reactive_protein.yml +9 -0
  213. weavehr/configs/datasets/eicu-crd/2.0/mappings/O2_partial_pressure.yml +9 -0
  214. weavehr/configs/datasets/eicu-crd/2.0/mappings/Richmond_agitation_sedation_scale.yml +9 -0
  215. weavehr/configs/datasets/eicu-crd/2.0/mappings/aki.yml +5 -0
  216. weavehr/configs/datasets/eicu-crd/2.0/mappings/aki_creatinine.yml +4 -0
  217. weavehr/configs/datasets/eicu-crd/2.0/mappings/aki_urine_output.yml +5 -0
  218. weavehr/configs/datasets/eicu-crd/2.0/mappings/alanine_aminotransferase.yml +9 -0
  219. weavehr/configs/datasets/eicu-crd/2.0/mappings/albumin.yml +9 -0
  220. weavehr/configs/datasets/eicu-crd/2.0/mappings/alkaline_phosphatase.yml +9 -0
  221. weavehr/configs/datasets/eicu-crd/2.0/mappings/antibiotics.yml +16 -0
  222. weavehr/configs/datasets/eicu-crd/2.0/mappings/arterial_oxygen_saturation.yml +9 -0
  223. weavehr/configs/datasets/eicu-crd/2.0/mappings/aspartate_aminotransferase.yml +9 -0
  224. weavehr/configs/datasets/eicu-crd/2.0/mappings/band_form_neutrophils.yml +9 -0
  225. weavehr/configs/datasets/eicu-crd/2.0/mappings/base_excess.yml +9 -0
  226. weavehr/configs/datasets/eicu-crd/2.0/mappings/basophils.yml +9 -0
  227. weavehr/configs/datasets/eicu-crd/2.0/mappings/bicarbonate.yml +9 -0
  228. weavehr/configs/datasets/eicu-crd/2.0/mappings/bilirubin_direct.yml +9 -0
  229. weavehr/configs/datasets/eicu-crd/2.0/mappings/blood_urea_nitrogen.yml +9 -0
  230. weavehr/configs/datasets/eicu-crd/2.0/mappings/calcium.yml +9 -0
  231. weavehr/configs/datasets/eicu-crd/2.0/mappings/calcium_ionized.yml +9 -0
  232. weavehr/configs/datasets/eicu-crd/2.0/mappings/carboxyhemoglobin.yml +9 -0
  233. weavehr/configs/datasets/eicu-crd/2.0/mappings/chloride.yml +9 -0
  234. weavehr/configs/datasets/eicu-crd/2.0/mappings/creatine_kinase.yml +9 -0
  235. weavehr/configs/datasets/eicu-crd/2.0/mappings/creatine_kinase_MB.yml +9 -0
  236. weavehr/configs/datasets/eicu-crd/2.0/mappings/creatinine.yml +9 -0
  237. weavehr/configs/datasets/eicu-crd/2.0/mappings/dextrose_as_D10.yml +16 -0
  238. weavehr/configs/datasets/eicu-crd/2.0/mappings/diastolic_blood_pressure.yml +11 -0
  239. weavehr/configs/datasets/eicu-crd/2.0/mappings/dobutamine_rate.yml +11 -0
  240. weavehr/configs/datasets/eicu-crd/2.0/mappings/dopamine_rate.yml +11 -0
  241. weavehr/configs/datasets/eicu-crd/2.0/mappings/eosinophils.yml +9 -0
  242. weavehr/configs/datasets/eicu-crd/2.0/mappings/epinephrine_rate.yml +11 -0
  243. weavehr/configs/datasets/eicu-crd/2.0/mappings/erythrocyte_distribution_width.yml +9 -0
  244. weavehr/configs/datasets/eicu-crd/2.0/mappings/fibrinogen.yml +9 -0
  245. weavehr/configs/datasets/eicu-crd/2.0/mappings/fraction_of_inspired_oxygen.yml +16 -0
  246. weavehr/configs/datasets/eicu-crd/2.0/mappings/gcs_eye.yml +9 -0
  247. weavehr/configs/datasets/eicu-crd/2.0/mappings/gcs_motor.yml +9 -0
  248. weavehr/configs/datasets/eicu-crd/2.0/mappings/gcs_total.yml +9 -0
  249. weavehr/configs/datasets/eicu-crd/2.0/mappings/gcs_verbal.yml +9 -0
  250. weavehr/configs/datasets/eicu-crd/2.0/mappings/glucose.yml +16 -0
  251. weavehr/configs/datasets/eicu-crd/2.0/mappings/heart_rate.yml +9 -0
  252. weavehr/configs/datasets/eicu-crd/2.0/mappings/hematocrit.yml +9 -0
  253. weavehr/configs/datasets/eicu-crd/2.0/mappings/hemoglobin.yml +9 -0
  254. weavehr/configs/datasets/eicu-crd/2.0/mappings/in_hospital_mortality.yml +8 -0
  255. weavehr/configs/datasets/eicu-crd/2.0/mappings/insulin.yml +9 -0
  256. weavehr/configs/datasets/eicu-crd/2.0/mappings/lactate.yml +9 -0
  257. weavehr/configs/datasets/eicu-crd/2.0/mappings/lymphocytes.yml +9 -0
  258. weavehr/configs/datasets/eicu-crd/2.0/mappings/magnesium.yml +9 -0
  259. weavehr/configs/datasets/eicu-crd/2.0/mappings/mean_arterial_pressure.yml +14 -0
  260. weavehr/configs/datasets/eicu-crd/2.0/mappings/mean_corpuscular_hemoglobin.yml +9 -0
  261. weavehr/configs/datasets/eicu-crd/2.0/mappings/mean_corpuscular_hemoglobin_concentration.yml +9 -0
  262. weavehr/configs/datasets/eicu-crd/2.0/mappings/mean_corpuscular_volume.yml +9 -0
  263. weavehr/configs/datasets/eicu-crd/2.0/mappings/methemoglobin.yml +9 -0
  264. weavehr/configs/datasets/eicu-crd/2.0/mappings/neutrophils.yml +9 -0
  265. weavehr/configs/datasets/eicu-crd/2.0/mappings/norepinephrine_rate.yml +11 -0
  266. weavehr/configs/datasets/eicu-crd/2.0/mappings/oxygen_saturation.yml +16 -0
  267. weavehr/configs/datasets/eicu-crd/2.0/mappings/pH_of_blood.yml +9 -0
  268. weavehr/configs/datasets/eicu-crd/2.0/mappings/partial_thromboplastin_time.yml +9 -0
  269. weavehr/configs/datasets/eicu-crd/2.0/mappings/patient_admission_type.yml +8 -0
  270. weavehr/configs/datasets/eicu-crd/2.0/mappings/patient_age.yml +10 -0
  271. weavehr/configs/datasets/eicu-crd/2.0/mappings/patient_height.yml +9 -0
  272. weavehr/configs/datasets/eicu-crd/2.0/mappings/patient_sex.yml +8 -0
  273. weavehr/configs/datasets/eicu-crd/2.0/mappings/patient_weight.yml +9 -0
  274. weavehr/configs/datasets/eicu-crd/2.0/mappings/phenylephrine_rate.yml +11 -0
  275. weavehr/configs/datasets/eicu-crd/2.0/mappings/phosphate.yml +9 -0
  276. weavehr/configs/datasets/eicu-crd/2.0/mappings/platelet_count.yml +9 -0
  277. weavehr/configs/datasets/eicu-crd/2.0/mappings/potassium.yml +9 -0
  278. weavehr/configs/datasets/eicu-crd/2.0/mappings/prothrombin_time_international_normalized_ratio.yml +9 -0
  279. weavehr/configs/datasets/eicu-crd/2.0/mappings/prothrombine_time.yml +9 -0
  280. weavehr/configs/datasets/eicu-crd/2.0/mappings/red_blood_cell_count.yml +9 -0
  281. weavehr/configs/datasets/eicu-crd/2.0/mappings/respiratory_rate.yml +9 -0
  282. weavehr/configs/datasets/eicu-crd/2.0/mappings/sodium.yml +9 -0
  283. weavehr/configs/datasets/eicu-crd/2.0/mappings/sofa.yml +9 -0
  284. weavehr/configs/datasets/eicu-crd/2.0/mappings/sofa_cardiovascular.yml +8 -0
  285. weavehr/configs/datasets/eicu-crd/2.0/mappings/sofa_cns.yml +4 -0
  286. weavehr/configs/datasets/eicu-crd/2.0/mappings/sofa_coagulation.yml +4 -0
  287. weavehr/configs/datasets/eicu-crd/2.0/mappings/sofa_liver.yml +4 -0
  288. weavehr/configs/datasets/eicu-crd/2.0/mappings/sofa_renal.yml +5 -0
  289. weavehr/configs/datasets/eicu-crd/2.0/mappings/sofa_respiratory.yml +6 -0
  290. weavehr/configs/datasets/eicu-crd/2.0/mappings/systolic_blood_pressure.yml +11 -0
  291. weavehr/configs/datasets/eicu-crd/2.0/mappings/temperature.yml +9 -0
  292. weavehr/configs/datasets/eicu-crd/2.0/mappings/total_bilirubin.yml +9 -0
  293. weavehr/configs/datasets/eicu-crd/2.0/mappings/totcal_CO2.yml +9 -0
  294. weavehr/configs/datasets/eicu-crd/2.0/mappings/troponin_I.yml +9 -0
  295. weavehr/configs/datasets/eicu-crd/2.0/mappings/troponin_t.yml +9 -0
  296. weavehr/configs/datasets/eicu-crd/2.0/mappings/urine_output.yml +9 -0
  297. weavehr/configs/datasets/eicu-crd/2.0/mappings/vasopressin_rate.yml +11 -0
  298. weavehr/configs/datasets/eicu-crd/2.0/mappings/ventilation_end.yml +10 -0
  299. weavehr/configs/datasets/eicu-crd/2.0/mappings/ventilation_start.yml +10 -0
  300. weavehr/configs/datasets/eicu-crd/2.0/mappings/white_blood_cell_count.yml +9 -0
  301. weavehr/configs/datasets/eicu-crd/2.0/tables/admissiondx.yml +58 -0
  302. weavehr/configs/datasets/eicu-crd/2.0/tables/diagnosis.yml +62 -0
  303. weavehr/configs/datasets/eicu-crd/2.0/tables/infusiondrug.yml +73 -0
  304. weavehr/configs/datasets/eicu-crd/2.0/tables/intakeoutput.yml +69 -0
  305. weavehr/configs/datasets/eicu-crd/2.0/tables/lab.yml +65 -0
  306. weavehr/configs/datasets/eicu-crd/2.0/tables/medication.yml +70 -0
  307. weavehr/configs/datasets/eicu-crd/2.0/tables/nursecharting.yml +61 -0
  308. weavehr/configs/datasets/eicu-crd/2.0/tables/patient.yml +181 -0
  309. weavehr/configs/datasets/eicu-crd/2.0/tables/respiratorycare.yml +81 -0
  310. weavehr/configs/datasets/eicu-crd/2.0/tables/respiratorycharting.yml +61 -0
  311. weavehr/configs/datasets/eicu-crd/2.0/tables/treatment.yml +46 -0
  312. weavehr/configs/datasets/eicu-crd/2.0/tables/vitalaperiodic.yml +154 -0
  313. weavehr/configs/datasets/eicu-crd/2.0/tables/vitalperiodic.yml +206 -0
  314. weavehr/configs/datasets/eicu-crd/README.md +26 -0
  315. weavehr/configs/datasets/eicu-demo/2.0/extends.yml +2 -0
  316. weavehr/configs/datasets/eicu-demo/2.0/tables/infusiondrug.yml +4 -0
  317. weavehr/configs/datasets/eicu-demo/README.md +23 -0
  318. weavehr/configs/datasets/hirid/1.1.1/mappings/CO2_partial_pressure.yml +10 -0
  319. weavehr/configs/datasets/hirid/1.1.1/mappings/C_reactive_protein.yml +10 -0
  320. weavehr/configs/datasets/hirid/1.1.1/mappings/O2_partial_pressure.yml +10 -0
  321. weavehr/configs/datasets/hirid/1.1.1/mappings/Richmond_agitation_sedation_scale.yml +10 -0
  322. weavehr/configs/datasets/hirid/1.1.1/mappings/alanine_aminotransferase.yml +10 -0
  323. weavehr/configs/datasets/hirid/1.1.1/mappings/albumin.yml +10 -0
  324. weavehr/configs/datasets/hirid/1.1.1/mappings/alkaline_phosphatase.yml +10 -0
  325. weavehr/configs/datasets/hirid/1.1.1/mappings/arterial_oxygen_saturation.yml +10 -0
  326. weavehr/configs/datasets/hirid/1.1.1/mappings/aspartate_aminotransferase.yml +10 -0
  327. weavehr/configs/datasets/hirid/1.1.1/mappings/band_form_neutrophils.yml +10 -0
  328. weavehr/configs/datasets/hirid/1.1.1/mappings/base_excess.yml +10 -0
  329. weavehr/configs/datasets/hirid/1.1.1/mappings/bicarbonate.yml +10 -0
  330. weavehr/configs/datasets/hirid/1.1.1/mappings/bilirubin_direct.yml +10 -0
  331. weavehr/configs/datasets/hirid/1.1.1/mappings/blood_urea_nitrogen.yml +10 -0
  332. weavehr/configs/datasets/hirid/1.1.1/mappings/calcium.yml +10 -0
  333. weavehr/configs/datasets/hirid/1.1.1/mappings/calcium_ionized.yml +10 -0
  334. weavehr/configs/datasets/hirid/1.1.1/mappings/carboxyhemoglobin.yml +10 -0
  335. weavehr/configs/datasets/hirid/1.1.1/mappings/chloride.yml +10 -0
  336. weavehr/configs/datasets/hirid/1.1.1/mappings/creatine_kinase.yml +10 -0
  337. weavehr/configs/datasets/hirid/1.1.1/mappings/creatine_kinase_MB.yml +10 -0
  338. weavehr/configs/datasets/hirid/1.1.1/mappings/creatinine.yml +10 -0
  339. weavehr/configs/datasets/hirid/1.1.1/mappings/diastolic_blood_pressure.yml +10 -0
  340. weavehr/configs/datasets/hirid/1.1.1/mappings/endtidal_CO2.yml +10 -0
  341. weavehr/configs/datasets/hirid/1.1.1/mappings/erythrocyte_sedimentation_rate.yml +10 -0
  342. weavehr/configs/datasets/hirid/1.1.1/mappings/fibrinogen.yml +10 -0
  343. weavehr/configs/datasets/hirid/1.1.1/mappings/fraction_of_inspired_oxygen.yml +10 -0
  344. weavehr/configs/datasets/hirid/1.1.1/mappings/gcs_eye.yml +10 -0
  345. weavehr/configs/datasets/hirid/1.1.1/mappings/gcs_motor.yml +10 -0
  346. weavehr/configs/datasets/hirid/1.1.1/mappings/gcs_verbal.yml +10 -0
  347. weavehr/configs/datasets/hirid/1.1.1/mappings/glucose.yml +10 -0
  348. weavehr/configs/datasets/hirid/1.1.1/mappings/heart_rate.yml +10 -0
  349. weavehr/configs/datasets/hirid/1.1.1/mappings/hemoglobin.yml +10 -0
  350. weavehr/configs/datasets/hirid/1.1.1/mappings/in_hospital_mortality.yml +9 -0
  351. weavehr/configs/datasets/hirid/1.1.1/mappings/lactate.yml +10 -0
  352. weavehr/configs/datasets/hirid/1.1.1/mappings/magnesium.yml +10 -0
  353. weavehr/configs/datasets/hirid/1.1.1/mappings/mean_arterial_pressure.yml +10 -0
  354. weavehr/configs/datasets/hirid/1.1.1/mappings/mean_corpuscular_hemoglobin.yml +10 -0
  355. weavehr/configs/datasets/hirid/1.1.1/mappings/mean_corpuscular_hemoglobin_concentration.yml +10 -0
  356. weavehr/configs/datasets/hirid/1.1.1/mappings/mean_corpuscular_volume.yml +10 -0
  357. weavehr/configs/datasets/hirid/1.1.1/mappings/methemoglobin.yml +10 -0
  358. weavehr/configs/datasets/hirid/1.1.1/mappings/neutrophils.yml +10 -0
  359. weavehr/configs/datasets/hirid/1.1.1/mappings/oxygen_saturation.yml +10 -0
  360. weavehr/configs/datasets/hirid/1.1.1/mappings/pH_of_blood.yml +10 -0
  361. weavehr/configs/datasets/hirid/1.1.1/mappings/partial_thromboplastin_time.yml +10 -0
  362. weavehr/configs/datasets/hirid/1.1.1/mappings/patient_age.yml +9 -0
  363. weavehr/configs/datasets/hirid/1.1.1/mappings/patient_height.yml +10 -0
  364. weavehr/configs/datasets/hirid/1.1.1/mappings/patient_sex.yml +9 -0
  365. weavehr/configs/datasets/hirid/1.1.1/mappings/patient_weight.yml +10 -0
  366. weavehr/configs/datasets/hirid/1.1.1/mappings/phosphate.yml +10 -0
  367. weavehr/configs/datasets/hirid/1.1.1/mappings/platelet_count.yml +10 -0
  368. weavehr/configs/datasets/hirid/1.1.1/mappings/potassium.yml +10 -0
  369. weavehr/configs/datasets/hirid/1.1.1/mappings/prothrombin_time_international_normalized_ratio.yml +10 -0
  370. weavehr/configs/datasets/hirid/1.1.1/mappings/respiratory_rate.yml +10 -0
  371. weavehr/configs/datasets/hirid/1.1.1/mappings/sodium.yml +10 -0
  372. weavehr/configs/datasets/hirid/1.1.1/mappings/systolic_blood_pressure.yml +10 -0
  373. weavehr/configs/datasets/hirid/1.1.1/mappings/temperature.yml +10 -0
  374. weavehr/configs/datasets/hirid/1.1.1/mappings/total_bilirubin.yml +10 -0
  375. weavehr/configs/datasets/hirid/1.1.1/mappings/troponin_t.yml +10 -0
  376. weavehr/configs/datasets/hirid/1.1.1/mappings/white_blood_cell_count.yml +10 -0
  377. weavehr/configs/datasets/hirid/1.1.1/tables/general.yml +71 -0
  378. weavehr/configs/datasets/hirid/1.1.1/tables/observations.yml +79 -0
  379. weavehr/configs/datasets/hirid/1.1.1/tables/pharma.yml +75 -0
  380. weavehr/configs/datasets/hirid/README.md +98 -0
  381. weavehr/configs/datasets/mimic-cxr/2.0/mappings/chest_xray_image.yml +8 -0
  382. weavehr/configs/datasets/mimic-cxr/2.0/mappings/chest_xray_letter.yml +8 -0
  383. weavehr/configs/datasets/mimic-cxr/2.0/tables/cxr_record_list.yml +27 -0
  384. weavehr/configs/datasets/mimic-cxr/2.0/tables/cxr_study_list.yml +24 -0
  385. weavehr/configs/datasets/mimic-cxr/2.1/extends.yml +3 -0
  386. weavehr/configs/datasets/mimic-cxr/README.md +26 -0
  387. weavehr/configs/datasets/mimic-cxr-jpg/2.0/mappings/chest_xray_atelectasis.yml +14 -0
  388. weavehr/configs/datasets/mimic-cxr-jpg/2.0/mappings/chest_xray_cardiomegaly.yml +14 -0
  389. weavehr/configs/datasets/mimic-cxr-jpg/2.0/mappings/chest_xray_consolidation.yml +14 -0
  390. weavehr/configs/datasets/mimic-cxr-jpg/2.0/mappings/chest_xray_edema.yml +14 -0
  391. weavehr/configs/datasets/mimic-cxr-jpg/2.0/mappings/chest_xray_enlarged_cardiomediastinum.yml +14 -0
  392. weavehr/configs/datasets/mimic-cxr-jpg/2.0/mappings/chest_xray_fracture.yml +14 -0
  393. weavehr/configs/datasets/mimic-cxr-jpg/2.0/mappings/chest_xray_image.yml +8 -0
  394. weavehr/configs/datasets/mimic-cxr-jpg/2.0/mappings/chest_xray_lung_lesion.yml +14 -0
  395. weavehr/configs/datasets/mimic-cxr-jpg/2.0/mappings/chest_xray_lung_opacity.yml +14 -0
  396. weavehr/configs/datasets/mimic-cxr-jpg/2.0/mappings/chest_xray_no_finding.yml +14 -0
  397. weavehr/configs/datasets/mimic-cxr-jpg/2.0/mappings/chest_xray_pleural_effusion.yml +14 -0
  398. weavehr/configs/datasets/mimic-cxr-jpg/2.0/mappings/chest_xray_pleural_other.yml +14 -0
  399. weavehr/configs/datasets/mimic-cxr-jpg/2.0/mappings/chest_xray_pneumonia.yml +14 -0
  400. weavehr/configs/datasets/mimic-cxr-jpg/2.0/mappings/chest_xray_pneumothorax.yml +14 -0
  401. weavehr/configs/datasets/mimic-cxr-jpg/2.0/mappings/chest_xray_position.yml +7 -0
  402. weavehr/configs/datasets/mimic-cxr-jpg/2.0/mappings/chest_xray_procedure.yml +7 -0
  403. weavehr/configs/datasets/mimic-cxr-jpg/2.0/mappings/chest_xray_support_devices.yml +14 -0
  404. weavehr/configs/datasets/mimic-cxr-jpg/2.0/tables/chexpert.yml +179 -0
  405. weavehr/configs/datasets/mimic-cxr-jpg/2.0/tables/metadata.yml +59 -0
  406. weavehr/configs/datasets/mimic-cxr-jpg/2.0/tables/negbio.yml +179 -0
  407. weavehr/configs/datasets/mimic-cxr-jpg/2.1/extends.yml +3 -0
  408. weavehr/configs/datasets/mimic-cxr-jpg/README.md +26 -0
  409. weavehr/configs/datasets/mimic-iv/2.2/mappings/CO2_partial_pressure.yml +9 -0
  410. weavehr/configs/datasets/mimic-iv/2.2/mappings/C_reactive_protein.yml +9 -0
  411. weavehr/configs/datasets/mimic-iv/2.2/mappings/Hemoglobin_A1C.yml +9 -0
  412. weavehr/configs/datasets/mimic-iv/2.2/mappings/O2_partial_pressure.yml +9 -0
  413. weavehr/configs/datasets/mimic-iv/2.2/mappings/Richmond_agitation_sedation_scale.yml +9 -0
  414. weavehr/configs/datasets/mimic-iv/2.2/mappings/aki.yml +5 -0
  415. weavehr/configs/datasets/mimic-iv/2.2/mappings/aki_creatinine.yml +4 -0
  416. weavehr/configs/datasets/mimic-iv/2.2/mappings/aki_urine_output.yml +5 -0
  417. weavehr/configs/datasets/mimic-iv/2.2/mappings/alanine_aminotransferase.yml +9 -0
  418. weavehr/configs/datasets/mimic-iv/2.2/mappings/albumin.yml +9 -0
  419. weavehr/configs/datasets/mimic-iv/2.2/mappings/alkaline_phosphatase.yml +9 -0
  420. weavehr/configs/datasets/mimic-iv/2.2/mappings/antibiotics.yml +21 -0
  421. weavehr/configs/datasets/mimic-iv/2.2/mappings/arterial_oxygen_saturation.yml +23 -0
  422. weavehr/configs/datasets/mimic-iv/2.2/mappings/aspartate_aminotransferase.yml +9 -0
  423. weavehr/configs/datasets/mimic-iv/2.2/mappings/band_form_neutrophils.yml +9 -0
  424. weavehr/configs/datasets/mimic-iv/2.2/mappings/base_excess.yml +9 -0
  425. weavehr/configs/datasets/mimic-iv/2.2/mappings/basophils.yml +9 -0
  426. weavehr/configs/datasets/mimic-iv/2.2/mappings/bicarbonate.yml +9 -0
  427. weavehr/configs/datasets/mimic-iv/2.2/mappings/bilirubin_direct.yml +9 -0
  428. weavehr/configs/datasets/mimic-iv/2.2/mappings/blood_urea_nitrogen.yml +9 -0
  429. weavehr/configs/datasets/mimic-iv/2.2/mappings/body_fluid_sampling.yml +9 -0
  430. weavehr/configs/datasets/mimic-iv/2.2/mappings/calcium.yml +9 -0
  431. weavehr/configs/datasets/mimic-iv/2.2/mappings/calcium_ionized.yml +9 -0
  432. weavehr/configs/datasets/mimic-iv/2.2/mappings/chloride.yml +9 -0
  433. weavehr/configs/datasets/mimic-iv/2.2/mappings/creatine_kinase.yml +9 -0
  434. weavehr/configs/datasets/mimic-iv/2.2/mappings/creatine_kinase_MB.yml +9 -0
  435. weavehr/configs/datasets/mimic-iv/2.2/mappings/creatinine.yml +9 -0
  436. weavehr/configs/datasets/mimic-iv/2.2/mappings/dextrose_as_D10.yml +23 -0
  437. weavehr/configs/datasets/mimic-iv/2.2/mappings/diastolic_blood_pressure.yml +9 -0
  438. weavehr/configs/datasets/mimic-iv/2.2/mappings/dobutamine_duration.yml +12 -0
  439. weavehr/configs/datasets/mimic-iv/2.2/mappings/dobutamine_rate.yml +31 -0
  440. weavehr/configs/datasets/mimic-iv/2.2/mappings/dopamine_duration.yml +12 -0
  441. weavehr/configs/datasets/mimic-iv/2.2/mappings/dopamine_rate.yml +31 -0
  442. weavehr/configs/datasets/mimic-iv/2.2/mappings/endtidal_CO2.yml +9 -0
  443. weavehr/configs/datasets/mimic-iv/2.2/mappings/eosinophils.yml +9 -0
  444. weavehr/configs/datasets/mimic-iv/2.2/mappings/epinephrine_duration.yml +12 -0
  445. weavehr/configs/datasets/mimic-iv/2.2/mappings/epinephrine_rate.yml +31 -0
  446. weavehr/configs/datasets/mimic-iv/2.2/mappings/erythrocyte_distribution_width.yml +9 -0
  447. weavehr/configs/datasets/mimic-iv/2.2/mappings/erythrocyte_sedimentation_rate.yml +9 -0
  448. weavehr/configs/datasets/mimic-iv/2.2/mappings/fibrinogen.yml +9 -0
  449. weavehr/configs/datasets/mimic-iv/2.2/mappings/fraction_of_inspired_oxygen.yml +16 -0
  450. weavehr/configs/datasets/mimic-iv/2.2/mappings/gcs_eye.yml +9 -0
  451. weavehr/configs/datasets/mimic-iv/2.2/mappings/gcs_motor.yml +9 -0
  452. weavehr/configs/datasets/mimic-iv/2.2/mappings/gcs_total.yml +29 -0
  453. weavehr/configs/datasets/mimic-iv/2.2/mappings/gcs_verbal.yml +9 -0
  454. weavehr/configs/datasets/mimic-iv/2.2/mappings/glucose.yml +9 -0
  455. weavehr/configs/datasets/mimic-iv/2.2/mappings/heart_rate.yml +9 -0
  456. weavehr/configs/datasets/mimic-iv/2.2/mappings/hematocrit.yml +9 -0
  457. weavehr/configs/datasets/mimic-iv/2.2/mappings/hemoglobin.yml +9 -0
  458. weavehr/configs/datasets/mimic-iv/2.2/mappings/in_hospital_mortality.yml +9 -0
  459. weavehr/configs/datasets/mimic-iv/2.2/mappings/insulin.yml +12 -0
  460. weavehr/configs/datasets/mimic-iv/2.2/mappings/lactate.yml +9 -0
  461. weavehr/configs/datasets/mimic-iv/2.2/mappings/lymphocytes.yml +9 -0
  462. weavehr/configs/datasets/mimic-iv/2.2/mappings/magnesium.yml +9 -0
  463. weavehr/configs/datasets/mimic-iv/2.2/mappings/mean_arterial_pressure.yml +9 -0
  464. weavehr/configs/datasets/mimic-iv/2.2/mappings/mean_corpuscular_hemoglobin.yml +9 -0
  465. weavehr/configs/datasets/mimic-iv/2.2/mappings/mean_corpuscular_hemoglobin_concentration.yml +9 -0
  466. weavehr/configs/datasets/mimic-iv/2.2/mappings/mean_corpuscular_volume.yml +9 -0
  467. weavehr/configs/datasets/mimic-iv/2.2/mappings/mechanical_ventilation_windows.yml +18 -0
  468. weavehr/configs/datasets/mimic-iv/2.2/mappings/methemoglobin.yml +9 -0
  469. weavehr/configs/datasets/mimic-iv/2.2/mappings/neutrophils.yml +9 -0
  470. weavehr/configs/datasets/mimic-iv/2.2/mappings/norepinephrine_duration.yml +11 -0
  471. weavehr/configs/datasets/mimic-iv/2.2/mappings/norepinephrine_rate.yml +31 -0
  472. weavehr/configs/datasets/mimic-iv/2.2/mappings/oxygen_saturation.yml +12 -0
  473. weavehr/configs/datasets/mimic-iv/2.2/mappings/pH_of_blood.yml +9 -0
  474. weavehr/configs/datasets/mimic-iv/2.2/mappings/partial_thromboplastin_time.yml +9 -0
  475. weavehr/configs/datasets/mimic-iv/2.2/mappings/patient_admission_type.yml +9 -0
  476. weavehr/configs/datasets/mimic-iv/2.2/mappings/patient_age.yml +9 -0
  477. weavehr/configs/datasets/mimic-iv/2.2/mappings/patient_height.yml +9 -0
  478. weavehr/configs/datasets/mimic-iv/2.2/mappings/patient_sex.yml +9 -0
  479. weavehr/configs/datasets/mimic-iv/2.2/mappings/patient_weight.yml +9 -0
  480. weavehr/configs/datasets/mimic-iv/2.2/mappings/phenylephrine_rate.yml +31 -0
  481. weavehr/configs/datasets/mimic-iv/2.2/mappings/phosphate.yml +9 -0
  482. weavehr/configs/datasets/mimic-iv/2.2/mappings/platelet_count.yml +9 -0
  483. weavehr/configs/datasets/mimic-iv/2.2/mappings/potassium.yml +9 -0
  484. weavehr/configs/datasets/mimic-iv/2.2/mappings/prothrombin_time_international_normalized_ratio.yml +9 -0
  485. weavehr/configs/datasets/mimic-iv/2.2/mappings/prothrombine_time.yml +9 -0
  486. weavehr/configs/datasets/mimic-iv/2.2/mappings/red_blood_cell_count.yml +9 -0
  487. weavehr/configs/datasets/mimic-iv/2.2/mappings/respiratory_rate.yml +9 -0
  488. weavehr/configs/datasets/mimic-iv/2.2/mappings/sodium.yml +9 -0
  489. weavehr/configs/datasets/mimic-iv/2.2/mappings/sofa.yml +9 -0
  490. weavehr/configs/datasets/mimic-iv/2.2/mappings/sofa_cardiovascular.yml +8 -0
  491. weavehr/configs/datasets/mimic-iv/2.2/mappings/sofa_cns.yml +4 -0
  492. weavehr/configs/datasets/mimic-iv/2.2/mappings/sofa_coagulation.yml +4 -0
  493. weavehr/configs/datasets/mimic-iv/2.2/mappings/sofa_liver.yml +4 -0
  494. weavehr/configs/datasets/mimic-iv/2.2/mappings/sofa_renal.yml +5 -0
  495. weavehr/configs/datasets/mimic-iv/2.2/mappings/sofa_respiratory.yml +6 -0
  496. weavehr/configs/datasets/mimic-iv/2.2/mappings/systolic_blood_pressure.yml +9 -0
  497. weavehr/configs/datasets/mimic-iv/2.2/mappings/temperature.yml +18 -0
  498. weavehr/configs/datasets/mimic-iv/2.2/mappings/total_bilirubin.yml +9 -0
  499. weavehr/configs/datasets/mimic-iv/2.2/mappings/totcal_CO2.yml +9 -0
  500. weavehr/configs/datasets/mimic-iv/2.2/mappings/tracheostomy.yml +19 -0
  501. weavehr/configs/datasets/mimic-iv/2.2/mappings/troponin_I.yml +11 -0
  502. weavehr/configs/datasets/mimic-iv/2.2/mappings/troponin_t.yml +11 -0
  503. weavehr/configs/datasets/mimic-iv/2.2/mappings/urine_output.yml +9 -0
  504. weavehr/configs/datasets/mimic-iv/2.2/mappings/vasopressin_rate.yml +18 -0
  505. weavehr/configs/datasets/mimic-iv/2.2/mappings/white_blood_cell_count.yml +9 -0
  506. weavehr/configs/datasets/mimic-iv/2.2/tables/README.md +0 -0
  507. weavehr/configs/datasets/mimic-iv/2.2/tables/admissions.yml +135 -0
  508. weavehr/configs/datasets/mimic-iv/2.2/tables/chartevents.yml +68 -0
  509. weavehr/configs/datasets/mimic-iv/2.2/tables/datetimeevents.yml +66 -0
  510. weavehr/configs/datasets/mimic-iv/2.2/tables/diagnoses_icd.yml +66 -0
  511. weavehr/configs/datasets/mimic-iv/2.2/tables/drgcodes.yml +55 -0
  512. weavehr/configs/datasets/mimic-iv/2.2/tables/emar.yml +59 -0
  513. weavehr/configs/datasets/mimic-iv/2.2/tables/hcpcsevents.yml +69 -0
  514. weavehr/configs/datasets/mimic-iv/2.2/tables/icustay.yml +61 -0
  515. weavehr/configs/datasets/mimic-iv/2.2/tables/inputevents.yml +136 -0
  516. weavehr/configs/datasets/mimic-iv/2.2/tables/labevents.yml +86 -0
  517. weavehr/configs/datasets/mimic-iv/2.2/tables/microbiologyevents.yml +128 -0
  518. weavehr/configs/datasets/mimic-iv/2.2/tables/omr.yml +33 -0
  519. weavehr/configs/datasets/mimic-iv/2.2/tables/outputevents.yml +61 -0
  520. weavehr/configs/datasets/mimic-iv/2.2/tables/patients.yml +84 -0
  521. weavehr/configs/datasets/mimic-iv/2.2/tables/prescriptions.yml +99 -0
  522. weavehr/configs/datasets/mimic-iv/2.2/tables/procedureevents.yml +119 -0
  523. weavehr/configs/datasets/mimic-iv/2.2/tables/procedures_icd.yml +71 -0
  524. weavehr/configs/datasets/mimic-iv/2.2/tables/services.yml +32 -0
  525. weavehr/configs/datasets/mimic-iv/2.2/tables/transfers.yml +41 -0
  526. weavehr/configs/datasets/mimic-iv/3.1/extends.yml +5 -0
  527. weavehr/configs/datasets/mimic-iv/README.md +30 -0
  528. weavehr/configs/datasets/mimic-iv-demo/2.2/extends.yml +5 -0
  529. weavehr/configs/datasets/mimic-iv-demo/2.2/tables/procedureevents.yml +60 -0
  530. weavehr/configs/datasets/mimic-iv-demo/README.md +23 -0
  531. weavehr/configs/datasets/mimic-iv-note/2.2/mappings/discharge_note.yml +8 -0
  532. weavehr/configs/datasets/mimic-iv-note/2.2/mappings/radiology_note.yml +8 -0
  533. weavehr/configs/datasets/mimic-iv-note/2.2/tables/discharge.yml +36 -0
  534. weavehr/configs/datasets/mimic-iv-note/2.2/tables/radiology.yml +36 -0
  535. weavehr/configs/datasets/mimic-iv-note/README.md +24 -0
  536. weavehr/configs/datasets/nwicu/0.1.0/mappings/C_reactive_protein.yml +9 -0
  537. weavehr/configs/datasets/nwicu/0.1.0/mappings/Hemoglobin_A1C.yml +9 -0
  538. weavehr/configs/datasets/nwicu/0.1.0/mappings/alanine_aminotransferase.yml +9 -0
  539. weavehr/configs/datasets/nwicu/0.1.0/mappings/albumin.yml +9 -0
  540. weavehr/configs/datasets/nwicu/0.1.0/mappings/alkaline_phosphatase.yml +9 -0
  541. weavehr/configs/datasets/nwicu/0.1.0/mappings/arterial_oxygen_saturation.yml +9 -0
  542. weavehr/configs/datasets/nwicu/0.1.0/mappings/aspartate_aminotransferase.yml +9 -0
  543. weavehr/configs/datasets/nwicu/0.1.0/mappings/basophils.yml +9 -0
  544. weavehr/configs/datasets/nwicu/0.1.0/mappings/bilirubin_direct.yml +9 -0
  545. weavehr/configs/datasets/nwicu/0.1.0/mappings/blood_urea_nitrogen.yml +9 -0
  546. weavehr/configs/datasets/nwicu/0.1.0/mappings/calcium.yml +9 -0
  547. weavehr/configs/datasets/nwicu/0.1.0/mappings/calcium_ionized.yml +9 -0
  548. weavehr/configs/datasets/nwicu/0.1.0/mappings/chloride.yml +9 -0
  549. weavehr/configs/datasets/nwicu/0.1.0/mappings/creatine_kinase.yml +9 -0
  550. weavehr/configs/datasets/nwicu/0.1.0/mappings/creatine_kinase_MB.yml +9 -0
  551. weavehr/configs/datasets/nwicu/0.1.0/mappings/creatinine.yml +9 -0
  552. weavehr/configs/datasets/nwicu/0.1.0/mappings/diastolic_blood_pressure.yml +9 -0
  553. weavehr/configs/datasets/nwicu/0.1.0/mappings/eosinophils.yml +9 -0
  554. weavehr/configs/datasets/nwicu/0.1.0/mappings/erythrocyte_distribution_width.yml +9 -0
  555. weavehr/configs/datasets/nwicu/0.1.0/mappings/fibrinogen.yml +9 -0
  556. weavehr/configs/datasets/nwicu/0.1.0/mappings/fraction_of_inspired_oxygen.yml +9 -0
  557. weavehr/configs/datasets/nwicu/0.1.0/mappings/glucose.yml +9 -0
  558. weavehr/configs/datasets/nwicu/0.1.0/mappings/heart_rate.yml +9 -0
  559. weavehr/configs/datasets/nwicu/0.1.0/mappings/hematocrit.yml +9 -0
  560. weavehr/configs/datasets/nwicu/0.1.0/mappings/hemoglobin.yml +9 -0
  561. weavehr/configs/datasets/nwicu/0.1.0/mappings/in_hospital_mortality.yml +9 -0
  562. weavehr/configs/datasets/nwicu/0.1.0/mappings/lactate.yml +9 -0
  563. weavehr/configs/datasets/nwicu/0.1.0/mappings/lymphocytes.yml +9 -0
  564. weavehr/configs/datasets/nwicu/0.1.0/mappings/magnesium.yml +9 -0
  565. weavehr/configs/datasets/nwicu/0.1.0/mappings/mean_corpuscular_hemoglobin.yml +9 -0
  566. weavehr/configs/datasets/nwicu/0.1.0/mappings/mean_corpuscular_hemoglobin_concentration.yml +9 -0
  567. weavehr/configs/datasets/nwicu/0.1.0/mappings/mean_corpuscular_volume.yml +9 -0
  568. weavehr/configs/datasets/nwicu/0.1.0/mappings/methemoglobin.yml +9 -0
  569. weavehr/configs/datasets/nwicu/0.1.0/mappings/neutrophils.yml +9 -0
  570. weavehr/configs/datasets/nwicu/0.1.0/mappings/oxygen_saturation.yml +17 -0
  571. weavehr/configs/datasets/nwicu/0.1.0/mappings/pH_of_blood.yml +9 -0
  572. weavehr/configs/datasets/nwicu/0.1.0/mappings/partial_thromboplastin_time.yml +9 -0
  573. weavehr/configs/datasets/nwicu/0.1.0/mappings/patient_age.yml +9 -0
  574. weavehr/configs/datasets/nwicu/0.1.0/mappings/patient_height.yml +9 -0
  575. weavehr/configs/datasets/nwicu/0.1.0/mappings/patient_sex.yml +9 -0
  576. weavehr/configs/datasets/nwicu/0.1.0/mappings/patient_weight.yml +9 -0
  577. weavehr/configs/datasets/nwicu/0.1.0/mappings/phosphate.yml +9 -0
  578. weavehr/configs/datasets/nwicu/0.1.0/mappings/platelet_count.yml +9 -0
  579. weavehr/configs/datasets/nwicu/0.1.0/mappings/potassium.yml +9 -0
  580. weavehr/configs/datasets/nwicu/0.1.0/mappings/prothrombin_time_international_normalized_ratio.yml +9 -0
  581. weavehr/configs/datasets/nwicu/0.1.0/mappings/prothrombine_time.yml +9 -0
  582. weavehr/configs/datasets/nwicu/0.1.0/mappings/red_blood_cell_count.yml +9 -0
  583. weavehr/configs/datasets/nwicu/0.1.0/mappings/respiratory_rate.yml +9 -0
  584. weavehr/configs/datasets/nwicu/0.1.0/mappings/sodium.yml +9 -0
  585. weavehr/configs/datasets/nwicu/0.1.0/mappings/systolic_blood_pressure.yml +9 -0
  586. weavehr/configs/datasets/nwicu/0.1.0/mappings/temperature.yml +9 -0
  587. weavehr/configs/datasets/nwicu/0.1.0/mappings/total_bilirubin.yml +9 -0
  588. weavehr/configs/datasets/nwicu/0.1.0/mappings/totcal_CO2.yml +9 -0
  589. weavehr/configs/datasets/nwicu/0.1.0/mappings/troponin_I.yml +9 -0
  590. weavehr/configs/datasets/nwicu/0.1.0/mappings/troponin_t.yml +9 -0
  591. weavehr/configs/datasets/nwicu/0.1.0/mappings/white_blood_cell_count.yml +9 -0
  592. weavehr/configs/datasets/nwicu/0.1.0/tables/admissions.yml +133 -0
  593. weavehr/configs/datasets/nwicu/0.1.0/tables/chartevents.yml +63 -0
  594. weavehr/configs/datasets/nwicu/0.1.0/tables/diagnoses_icd.yml +62 -0
  595. weavehr/configs/datasets/nwicu/0.1.0/tables/emar.yml +61 -0
  596. weavehr/configs/datasets/nwicu/0.1.0/tables/icustay.yml +66 -0
  597. weavehr/configs/datasets/nwicu/0.1.0/tables/labevents.yml +85 -0
  598. weavehr/configs/datasets/nwicu/0.1.0/tables/patients.yml +58 -0
  599. weavehr/configs/datasets/nwicu/0.1.0/tables/prescriptions.yml +81 -0
  600. weavehr/configs/datasets/nwicu/0.1.0/tables/procedureevents.yml +109 -0
  601. weavehr/configs/datasets/nwicu/README.md +19 -0
  602. weavehr/configs/datasets/omop/5.4/tables/condition_occurrence.yml +72 -0
  603. weavehr/configs/datasets/omop/5.4/tables/death.yml +44 -0
  604. weavehr/configs/datasets/omop/5.4/tables/device_exposure.yml +84 -0
  605. weavehr/configs/datasets/omop/5.4/tables/drug_exposure.yml +90 -0
  606. weavehr/configs/datasets/omop/5.4/tables/measurement.yml +76 -0
  607. weavehr/configs/datasets/omop/5.4/tables/observation.yml +75 -0
  608. weavehr/configs/datasets/omop/5.4/tables/observation_period.yml +44 -0
  609. weavehr/configs/datasets/omop/5.4/tables/person.yml +70 -0
  610. weavehr/configs/datasets/omop/5.4/tables/procedure_occurrence.yml +73 -0
  611. weavehr/configs/datasets/omop/5.4/tables/specimen.yml +69 -0
  612. weavehr/configs/datasets/omop/5.4/tables/visit_occurrence.yml +85 -0
  613. weavehr/configs/datasets/omop/README.md +71 -0
  614. weavehr/configs/datasets/sic/1.0.6/mappings/CO2_partial_pressure.yml +10 -0
  615. weavehr/configs/datasets/sic/1.0.6/mappings/O2_partial_pressure.yml +10 -0
  616. weavehr/configs/datasets/sic/1.0.6/mappings/alanine_aminotransferase.yml +10 -0
  617. weavehr/configs/datasets/sic/1.0.6/mappings/albumin.yml +10 -0
  618. weavehr/configs/datasets/sic/1.0.6/mappings/alkaline_phosphatase.yml +10 -0
  619. weavehr/configs/datasets/sic/1.0.6/mappings/arterial_oxygen_saturation.yml +10 -0
  620. weavehr/configs/datasets/sic/1.0.6/mappings/aspartate_aminotransferase.yml +10 -0
  621. weavehr/configs/datasets/sic/1.0.6/mappings/base_excess.yml +10 -0
  622. weavehr/configs/datasets/sic/1.0.6/mappings/basophils.yml +10 -0
  623. weavehr/configs/datasets/sic/1.0.6/mappings/bicarbonate.yml +10 -0
  624. weavehr/configs/datasets/sic/1.0.6/mappings/bilirubin_direct.yml +10 -0
  625. weavehr/configs/datasets/sic/1.0.6/mappings/blood_urea_nitrogen.yml +10 -0
  626. weavehr/configs/datasets/sic/1.0.6/mappings/calcium.yml +10 -0
  627. weavehr/configs/datasets/sic/1.0.6/mappings/calcium_ionized.yml +10 -0
  628. weavehr/configs/datasets/sic/1.0.6/mappings/chloride.yml +10 -0
  629. weavehr/configs/datasets/sic/1.0.6/mappings/creatine_kinase.yml +10 -0
  630. weavehr/configs/datasets/sic/1.0.6/mappings/creatine_kinase_MB.yml +10 -0
  631. weavehr/configs/datasets/sic/1.0.6/mappings/creatinine.yml +10 -0
  632. weavehr/configs/datasets/sic/1.0.6/mappings/diastolic_blood_pressure.yml +10 -0
  633. weavehr/configs/datasets/sic/1.0.6/mappings/eosinophils.yml +10 -0
  634. weavehr/configs/datasets/sic/1.0.6/mappings/erythrocyte_distribution_width.yml +10 -0
  635. weavehr/configs/datasets/sic/1.0.6/mappings/fibrinogen.yml +10 -0
  636. weavehr/configs/datasets/sic/1.0.6/mappings/fraction_of_inspired_oxygen.yml +10 -0
  637. weavehr/configs/datasets/sic/1.0.6/mappings/glucose.yml +10 -0
  638. weavehr/configs/datasets/sic/1.0.6/mappings/heart_rate.yml +10 -0
  639. weavehr/configs/datasets/sic/1.0.6/mappings/hematocrit.yml +10 -0
  640. weavehr/configs/datasets/sic/1.0.6/mappings/hemoglobin.yml +10 -0
  641. weavehr/configs/datasets/sic/1.0.6/mappings/lactate.yml +10 -0
  642. weavehr/configs/datasets/sic/1.0.6/mappings/lymphocytes.yml +10 -0
  643. weavehr/configs/datasets/sic/1.0.6/mappings/magnesium.yml +10 -0
  644. weavehr/configs/datasets/sic/1.0.6/mappings/mean_arterial_pressure.yml +10 -0
  645. weavehr/configs/datasets/sic/1.0.6/mappings/mean_corpuscular_hemoglobin.yml +10 -0
  646. weavehr/configs/datasets/sic/1.0.6/mappings/mean_corpuscular_hemoglobin_concentration.yml +10 -0
  647. weavehr/configs/datasets/sic/1.0.6/mappings/mean_corpuscular_volume.yml +10 -0
  648. weavehr/configs/datasets/sic/1.0.6/mappings/neutrophils.yml +10 -0
  649. weavehr/configs/datasets/sic/1.0.6/mappings/oxygen_saturation.yml +10 -0
  650. weavehr/configs/datasets/sic/1.0.6/mappings/pH_of_blood.yml +10 -0
  651. weavehr/configs/datasets/sic/1.0.6/mappings/partial_thromboplastin_time.yml +10 -0
  652. weavehr/configs/datasets/sic/1.0.6/mappings/patient_age.yml +9 -0
  653. weavehr/configs/datasets/sic/1.0.6/mappings/patient_height.yml +9 -0
  654. weavehr/configs/datasets/sic/1.0.6/mappings/patient_sex.yml +9 -0
  655. weavehr/configs/datasets/sic/1.0.6/mappings/patient_weight.yml +9 -0
  656. weavehr/configs/datasets/sic/1.0.6/mappings/phosphate.yml +10 -0
  657. weavehr/configs/datasets/sic/1.0.6/mappings/platelet_count.yml +10 -0
  658. weavehr/configs/datasets/sic/1.0.6/mappings/potassium.yml +10 -0
  659. weavehr/configs/datasets/sic/1.0.6/mappings/prothrombine_time.yml +10 -0
  660. weavehr/configs/datasets/sic/1.0.6/mappings/red_blood_cell_count.yml +10 -0
  661. weavehr/configs/datasets/sic/1.0.6/mappings/respiratory_rate.yml +10 -0
  662. weavehr/configs/datasets/sic/1.0.6/mappings/sodium.yml +10 -0
  663. weavehr/configs/datasets/sic/1.0.6/mappings/systolic_blood_pressure.yml +10 -0
  664. weavehr/configs/datasets/sic/1.0.6/mappings/temperature.yml +10 -0
  665. weavehr/configs/datasets/sic/1.0.6/mappings/total_bilirubin.yml +10 -0
  666. weavehr/configs/datasets/sic/1.0.6/mappings/troponin_t.yml +10 -0
  667. weavehr/configs/datasets/sic/1.0.6/mappings/urine_output.yml +10 -0
  668. weavehr/configs/datasets/sic/1.0.6/mappings/white_blood_cell_count.yml +10 -0
  669. weavehr/configs/datasets/sic/1.0.6/tables/cases.yml +104 -0
  670. weavehr/configs/datasets/sic/1.0.6/tables/data_float_h.yml +92 -0
  671. weavehr/configs/datasets/sic/1.0.6/tables/laboratory.yml +89 -0
  672. weavehr/configs/datasets/sic/1.0.6/tables/medication.yml +90 -0
  673. weavehr/configs/datasets/sic/1.0.7/extends.yml +7 -0
  674. weavehr/configs/datasets/sic/1.0.8/extends.yml +5 -0
  675. weavehr/configs/datasets/sic/README.md +95 -0
  676. weavehr/logging.py +129 -0
  677. weavehr/py.typed +0 -0
  678. weavehr/steps/__init__.py +5 -0
  679. weavehr/steps/base/__init__.py +5 -0
  680. weavehr/steps/base/config.py +51 -0
  681. weavehr/steps/base/step.py +223 -0
  682. weavehr/steps/concept/__init__.py +6 -0
  683. weavehr/steps/concept/config/__init__.py +5 -0
  684. weavehr/steps/concept/config/complex.py +56 -0
  685. weavehr/steps/concept/config/concept.py +145 -0
  686. weavehr/steps/concept/config/derived.py +103 -0
  687. weavehr/steps/concept/config/simple.py +59 -0
  688. weavehr/steps/concept/config/step.py +50 -0
  689. weavehr/steps/concept/registry.py +24 -0
  690. weavehr/steps/concept/step.py +710 -0
  691. weavehr/steps/concept/transformer/__init__.py +0 -0
  692. weavehr/steps/concept/transformer/aki.py +219 -0
  693. weavehr/steps/concept/transformer/base.py +225 -0
  694. weavehr/steps/concept/transformer/sofa.py +249 -0
  695. weavehr/steps/concept/transformer/windowed.py +572 -0
  696. weavehr/steps/extraction/__init__.py +6 -0
  697. weavehr/steps/extraction/config/__init__.py +6 -0
  698. weavehr/steps/extraction/config/column.py +37 -0
  699. weavehr/steps/extraction/config/dtype.py +29 -0
  700. weavehr/steps/extraction/config/event.py +206 -0
  701. weavehr/steps/extraction/config/step.py +70 -0
  702. weavehr/steps/extraction/config/table.py +249 -0
  703. weavehr/steps/extraction/registry.py +24 -0
  704. weavehr/steps/extraction/step.py +536 -0
  705. weavehr/steps/persistence/__init__.py +1 -0
  706. weavehr/steps/persistence/step.py +217 -0
  707. weavehr/steps/sharding/__init__.py +0 -0
  708. weavehr/steps/sharding/config/__init__.py +1 -0
  709. weavehr/steps/sharding/config/sharding.py +13 -0
  710. weavehr/steps/sharding/config/step.py +57 -0
  711. weavehr/steps/sharding/registry.py +23 -0
  712. weavehr/steps/sharding/step.py +151 -0
  713. weavehr/storage/__init__.py +5 -0
  714. weavehr/storage/base.py +68 -0
  715. weavehr/storage/meds.py +138 -0
  716. weavehr/storage/project.py +194 -0
  717. weavehr/storage/workspace.py +26 -0
  718. weavehr/utils/__init__.py +5 -0
  719. weavehr/utils/importer.py +44 -0
  720. weavehr/utils/loader.py +44 -0
  721. weavehr/utils/name.py +15 -0
  722. weavehr/utils/type.py +42 -0
  723. weavehr-0.0.1.dist-info/METADATA +322 -0
  724. weavehr-0.0.1.dist-info/RECORD +726 -0
  725. weavehr-0.0.1.dist-info/WHEEL +4 -0
  726. weavehr-0.0.1.dist-info/licenses/LICENSE +21 -0
weavehr/__init__.py ADDED
@@ -0,0 +1,91 @@
1
+ """
2
+ WeavEHR: A Python framework for extracting and analyzing ICU time series data.
3
+
4
+ This package provides tools for extracting, preprocessing, and analyzing ICU time
5
+ series data from diverse datasets (MIMIC, eICU, etc.). It converts heterogeneous
6
+ ICU data into the standardized MEDS (Medical Event Data Standard) format, enabling
7
+ reproducible research workflows.
8
+
9
+ Key Features:
10
+ - Support for multiple ICU data sources (MIMIC, eICU, custom datasets)
11
+ - Declarative YAML-based configuration for data extraction
12
+ - Export to MEDS format for standardized analysis
13
+ - Fully offline operation for medical data privacy compliance
14
+ - Modular and extensible architecture
15
+
16
+ Main Modules:
17
+ - callbacks: Data transformation callbacks for LazyFrames
18
+ - config: Configuration management and registry system
19
+ - storage: Project, dataset, and workspace management
20
+ - steps: Processing steps (extraction, concept, sharding)
21
+ - utils: Utility functions and helpers
22
+
23
+ Usage:
24
+ ```python
25
+ from pathlib import Path
26
+
27
+ from weavehr import WeavEHRProject, ExtractionStep
28
+
29
+
30
+ config_path = Path.cwd() / "config"
31
+ project_path = Path.cwd() / "output" / "project"
32
+
33
+ # Create a new WeavEHR project
34
+ with WeavEHRProject(project_path) as project:
35
+ # Load and run an extraction step
36
+ extraction_step = ExtractionStep.load(project, config_path / "extraction.yml")
37
+ extraction_step.run()
38
+ ```
39
+
40
+ Author:
41
+ - Paul Brauckmann
42
+ - Tobias Laser
43
+ - Patrick Rockenschaub
44
+ - Christian Porschen
45
+
46
+ License:
47
+ ```
48
+ MIT License
49
+
50
+ Copyright (c) 2023 AIDH MS
51
+
52
+ Permission is hereby granted, free of charge, to any person obtaining a copy
53
+ of this software and associated documentation files (the "Software"), to deal
54
+ in the Software without restriction, including without limitation the rights
55
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
56
+ copies of the Software, and to permit persons to whom the Software is
57
+ furnished to do so, subject to the following conditions:
58
+
59
+ The above copyright notice and this permission notice shall be included in all
60
+ copies or substantial portions of the Software.
61
+
62
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
63
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
64
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
65
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
66
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
67
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
68
+ SOFTWARE.
69
+ ```
70
+ """
71
+
72
+ from weavehr.steps.concept.step import ConceptStep, concept_config_registry
73
+ from weavehr.steps.extraction.step import ExtractionStep, dataset_config_registry
74
+ from weavehr.steps.persistence.step import PersistenceStep
75
+ from weavehr.steps.sharding.step import ShardingStep, sharding_config_registry
76
+ from weavehr.storage.project import WeavEHRProject
77
+ from weavehr.utils.loader import auto_load_configs
78
+
79
+ auto_load_configs()
80
+
81
+ __all__ = [
82
+ "WeavEHRProject",
83
+ "PersistenceStep",
84
+ "ExtractionStep",
85
+ "ConceptStep",
86
+ "ShardingStep",
87
+ "auto_load_configs",
88
+ "dataset_config_registry",
89
+ "concept_config_registry",
90
+ "sharding_config_registry",
91
+ ]
@@ -0,0 +1,73 @@
1
+ from weavehr.callbacks._callbacks.algebra import (
2
+ Add,
3
+ Divide,
4
+ FloorDivide,
5
+ Modulo,
6
+ Multiply,
7
+ Pow,
8
+ Product,
9
+ Root,
10
+ Subtract,
11
+ Sum,
12
+ )
13
+ from weavehr.callbacks._callbacks.comparison import (
14
+ Equal,
15
+ GreaterEqual,
16
+ GreaterThan,
17
+ LessEqual,
18
+ LessThan,
19
+ NotEqual,
20
+ )
21
+ from weavehr.callbacks._callbacks.conditional import Replace
22
+ from weavehr.callbacks._callbacks.filter import DropIf, DropNa, FirstDistinct
23
+ from weavehr.callbacks._callbacks.logical import And, Not, Or
24
+ from weavehr.callbacks._callbacks.reshape import SplitExplode
25
+ from weavehr.callbacks._callbacks.selector import FirstNotNull, Max
26
+ from weavehr.callbacks._callbacks.shortcuts import Col, Const
27
+ from weavehr.callbacks._callbacks.string import ConcatStr, SliceStr, ZeroPadInt
28
+ from weavehr.callbacks._callbacks.time import AddOffset, ParseDateTime, SetTime, ToDatetime
29
+ from weavehr.callbacks._callbacks.type import Cast
30
+ from weavehr.callbacks.proto import CallbackProtocol
31
+ from weavehr.callbacks.registry import register_callback_cls, registry
32
+
33
+ __all__ = [
34
+ "registry",
35
+ "register_callback_cls",
36
+ "CallbackProtocol",
37
+ "DropNa",
38
+ "FirstDistinct",
39
+ "DropIf",
40
+ "ParseDateTime",
41
+ "ToDatetime",
42
+ "AddOffset",
43
+ "SetTime",
44
+ "FirstNotNull",
45
+ "Max",
46
+ "Add",
47
+ "Sum",
48
+ "Subtract",
49
+ "Multiply",
50
+ "Product",
51
+ "Divide",
52
+ "FloorDivide",
53
+ "Pow",
54
+ "Root",
55
+ "Modulo",
56
+ "GreaterThan",
57
+ "LessThan",
58
+ "GreaterEqual",
59
+ "LessEqual",
60
+ "Equal",
61
+ "NotEqual",
62
+ "And",
63
+ "Or",
64
+ "Not",
65
+ "Col",
66
+ "Const",
67
+ "Replace",
68
+ "Cast",
69
+ "SplitExplode",
70
+ "ZeroPadInt",
71
+ "SliceStr",
72
+ "ConcatStr",
73
+ ]
File without changes
@@ -0,0 +1,170 @@
1
+ import operator
2
+ from typing import Optional, Sequence
3
+
4
+ import polars as pl
5
+ from polars import LazyFrame
6
+
7
+ from weavehr.callbacks.proto import AstValue, CallbackProtocol, CallbackResult, to_expr
8
+ from weavehr.callbacks.registry import register_callback_cls
9
+
10
+
11
+ @register_callback_cls
12
+ class Add(CallbackProtocol):
13
+ def __init__(self, augend: AstValue, addend: AstValue, output: Optional[str] = None) -> None:
14
+ self.augend = augend
15
+ self.addend = addend
16
+ self.output = output
17
+
18
+ def __call__(self, lf: LazyFrame) -> CallbackResult:
19
+ expr = to_expr(lf, self.augend) + to_expr(lf, self.addend)
20
+ if self.output is None:
21
+ return expr
22
+ return expr.alias(self.output)
23
+
24
+
25
+ @register_callback_cls
26
+ class Sum(CallbackProtocol):
27
+ def __init__(self, *summands: AstValue, output: Optional[str] = None) -> None:
28
+ if len(summands) == 1 and isinstance(summands[0], list):
29
+ self.summands: Sequence[AstValue] = summands[0]
30
+ else:
31
+ self.summands = summands
32
+ self.output = output
33
+
34
+ def __call__(self, lf: LazyFrame) -> CallbackResult:
35
+ exprs = [to_expr(lf, s) for s in self.summands]
36
+
37
+ if not exprs:
38
+ expr = pl.lit(0)
39
+ if self.output is None:
40
+ return expr
41
+ return expr.alias(self.output)
42
+
43
+ expr = pl.sum_horizontal(exprs)
44
+ if self.output is None:
45
+ return expr
46
+ return expr.alias(self.output)
47
+
48
+
49
+ @register_callback_cls
50
+ class Subtract(CallbackProtocol):
51
+ def __init__(self, minuend: AstValue, subtrahend: AstValue, output: Optional[str] = None) -> None:
52
+ self.minuend = minuend
53
+ self.subtrahend = subtrahend
54
+ self.output = output
55
+
56
+ def __call__(self, lf: LazyFrame) -> CallbackResult:
57
+ expr = to_expr(lf, self.minuend) - to_expr(lf, self.subtrahend)
58
+ if self.output is None:
59
+ return expr
60
+ return expr.alias(self.output)
61
+
62
+
63
+ @register_callback_cls
64
+ class Multiply(CallbackProtocol):
65
+ def __init__(self, multiplicand: AstValue, multiplier: AstValue, output: Optional[str] = None) -> None:
66
+ self.multiplicand = multiplicand
67
+ self.multiplier = multiplier
68
+ self.output = output
69
+
70
+ def __call__(self, lf: LazyFrame) -> CallbackResult:
71
+ expr = to_expr(lf, self.multiplicand) * to_expr(lf, self.multiplier)
72
+ if self.output is None:
73
+ return expr
74
+ return expr.alias(self.output)
75
+
76
+
77
+ @register_callback_cls
78
+ class Product(CallbackProtocol):
79
+ def __init__(self, *factors: AstValue, output: Optional[str] = None) -> None:
80
+ if len(factors) == 1 and isinstance(factors[0], list):
81
+ self.factors: Sequence[AstValue] = factors[0]
82
+ else:
83
+ self.factors = factors
84
+ self.output = output
85
+
86
+ def __call__(self, lf: LazyFrame) -> CallbackResult:
87
+ exprs = [to_expr(lf, f) for f in self.factors]
88
+
89
+ if not exprs:
90
+ expr = pl.lit(1)
91
+ if self.output is None:
92
+ return expr
93
+ return expr.alias(self.output)
94
+
95
+ expr = pl.fold(acc=pl.lit(1), function=operator.mul, exprs=exprs)
96
+ if self.output is None:
97
+ return expr
98
+ return expr.alias(self.output)
99
+
100
+
101
+ @register_callback_cls
102
+ class Divide(CallbackProtocol):
103
+ def __init__(self, dividend: AstValue, divisor: AstValue, output: Optional[str] = None) -> None:
104
+ self.dividend = dividend
105
+ self.divisor = divisor
106
+ self.output = output
107
+
108
+ def __call__(self, lf: LazyFrame) -> CallbackResult:
109
+ expr = to_expr(lf, self.dividend) / to_expr(lf, self.divisor)
110
+ if self.output is None:
111
+ return expr
112
+ return expr.alias(self.output)
113
+
114
+
115
+ @register_callback_cls
116
+ class FloorDivide(CallbackProtocol):
117
+ def __init__(self, dividend: AstValue, divisor: AstValue, output: Optional[str] = None) -> None:
118
+ self.dividend = dividend
119
+ self.divisor = divisor
120
+ self.output = output
121
+
122
+ def __call__(self, lf: LazyFrame) -> CallbackResult:
123
+ expr = to_expr(lf, self.dividend) // to_expr(lf, self.divisor)
124
+ if self.output is None:
125
+ return expr
126
+ return expr.alias(self.output)
127
+
128
+
129
+ @register_callback_cls
130
+ class Pow(CallbackProtocol):
131
+ def __init__(self, base: AstValue, exponent: AstValue, output: Optional[str] = None) -> None:
132
+ self.base = base
133
+ self.exponent = exponent
134
+ self.output = output
135
+
136
+ def __call__(self, lf: LazyFrame) -> CallbackResult:
137
+ expr = to_expr(lf, self.base) ** to_expr(lf, self.exponent)
138
+ if self.output is None:
139
+ return expr
140
+ return expr.alias(self.output)
141
+
142
+
143
+ @register_callback_cls
144
+ class Root(CallbackProtocol):
145
+ def __init__(self, radicand: AstValue, index: AstValue, output: Optional[str] = None) -> None:
146
+ self.radicand = radicand
147
+ self.index = index
148
+ self.output = output
149
+
150
+ def __call__(self, lf: LazyFrame) -> CallbackResult:
151
+ radicand_expr = to_expr(lf, self.radicand)
152
+ idx_expr = to_expr(lf, self.index)
153
+ expr = radicand_expr.sign() * radicand_expr.abs() ** (pl.lit(1) / idx_expr)
154
+ if self.output is None:
155
+ return expr
156
+ return expr.alias(self.output)
157
+
158
+
159
+ @register_callback_cls
160
+ class Modulo(CallbackProtocol):
161
+ def __init__(self, dividend: AstValue, divisor: AstValue, output: Optional[str] = None) -> None:
162
+ self.dividend = dividend
163
+ self.divisor = divisor
164
+ self.output = output
165
+
166
+ def __call__(self, lf: LazyFrame) -> CallbackResult:
167
+ expr = to_expr(lf, self.dividend) % to_expr(lf, self.divisor)
168
+ if self.output is None:
169
+ return expr
170
+ return expr.alias(self.output)
@@ -0,0 +1,64 @@
1
+ from polars import LazyFrame
2
+
3
+ from weavehr.callbacks.proto import AstValue, CallbackProtocol, CallbackResult, to_expr
4
+ from weavehr.callbacks.registry import register_callback_cls
5
+
6
+
7
+ @register_callback_cls
8
+ class GreaterThan(CallbackProtocol):
9
+ def __init__(self, left: AstValue, right: AstValue) -> None:
10
+ self.left = left
11
+ self.right = right
12
+
13
+ def __call__(self, lf: LazyFrame) -> CallbackResult:
14
+ return to_expr(lf, self.left) > to_expr(lf, self.right)
15
+
16
+
17
+ @register_callback_cls
18
+ class LessThan(CallbackProtocol):
19
+ def __init__(self, left: AstValue, right: AstValue) -> None:
20
+ self.left = left
21
+ self.right = right
22
+
23
+ def __call__(self, lf: LazyFrame) -> CallbackResult:
24
+ return to_expr(lf, self.left) < to_expr(lf, self.right)
25
+
26
+
27
+ @register_callback_cls
28
+ class GreaterEqual(CallbackProtocol):
29
+ def __init__(self, left: AstValue, right: AstValue) -> None:
30
+ self.left = left
31
+ self.right = right
32
+
33
+ def __call__(self, lf: LazyFrame) -> CallbackResult:
34
+ return to_expr(lf, self.left) >= to_expr(lf, self.right)
35
+
36
+
37
+ @register_callback_cls
38
+ class LessEqual(CallbackProtocol):
39
+ def __init__(self, left: AstValue, right: AstValue) -> None:
40
+ self.left = left
41
+ self.right = right
42
+
43
+ def __call__(self, lf: LazyFrame) -> CallbackResult:
44
+ return to_expr(lf, self.left) <= to_expr(lf, self.right)
45
+
46
+
47
+ @register_callback_cls
48
+ class Equal(CallbackProtocol):
49
+ def __init__(self, left: AstValue, right: AstValue) -> None:
50
+ self.left = left
51
+ self.right = right
52
+
53
+ def __call__(self, lf: LazyFrame) -> CallbackResult:
54
+ return to_expr(lf, self.left) == to_expr(lf, self.right)
55
+
56
+
57
+ @register_callback_cls
58
+ class NotEqual(CallbackProtocol):
59
+ def __init__(self, left: AstValue, right: AstValue) -> None:
60
+ self.left = left
61
+ self.right = right
62
+
63
+ def __call__(self, lf: LazyFrame) -> CallbackResult:
64
+ return to_expr(lf, self.left) != to_expr(lf, self.right)
@@ -0,0 +1,34 @@
1
+ from typing import Optional
2
+
3
+ import polars as pl
4
+ from polars import LazyFrame
5
+
6
+ from weavehr.callbacks.proto import AstValue, CallbackProtocol, CallbackResult, to_expr
7
+ from weavehr.callbacks.registry import register_callback_cls
8
+
9
+
10
+ @register_callback_cls
11
+ class Replace(CallbackProtocol):
12
+ def __init__(
13
+ self,
14
+ condition: AstValue,
15
+ then_value: AstValue,
16
+ else_value: AstValue,
17
+ output: Optional[str] = None,
18
+ ) -> None:
19
+ self.condition = condition
20
+ self.then_value = then_value
21
+ self.else_value = else_value
22
+ self.output = output
23
+
24
+ def __call__(self, lf: LazyFrame) -> CallbackResult:
25
+ expr = (
26
+ pl.when(to_expr(lf, self.condition))
27
+ .then(to_expr(lf, self.then_value))
28
+ .otherwise(to_expr(lf, self.else_value))
29
+ )
30
+
31
+ if self.output is None:
32
+ return expr
33
+
34
+ return expr.alias(self.output)
@@ -0,0 +1,57 @@
1
+ from typing import Sequence
2
+
3
+ import polars as pl
4
+ from polars import LazyFrame
5
+
6
+ from weavehr.callbacks.proto import AstValue, CallbackProtocol, CallbackResult, to_col_name, to_expr
7
+ from weavehr.callbacks.registry import register_callback_cls
8
+
9
+
10
+ @register_callback_cls
11
+ class DropNa(CallbackProtocol):
12
+ def __init__(self, column: AstValue) -> None:
13
+ self.column = to_col_name(column)
14
+
15
+ def __call__(self, lf: LazyFrame) -> CallbackResult:
16
+ return pl.col(self.column).is_not_null()
17
+
18
+
19
+ @register_callback_cls
20
+ class FirstDistinct(CallbackProtocol):
21
+ """Keep the first row for each distinct combination of columns."""
22
+
23
+ def __init__(self, *columns: AstValue) -> None:
24
+ """
25
+ Initialize the callback with the column names used to identify duplicates.
26
+
27
+ Column names can be passed as separate arguments, for example:
28
+ ``first_distinct(subject_id, time)``.
29
+ """
30
+ if len(columns) == 1 and isinstance(columns[0], list):
31
+ self.columns: Sequence[AstValue] = columns[0]
32
+ else:
33
+ self.columns = columns
34
+
35
+ def __call__(self, lf: LazyFrame) -> CallbackResult:
36
+ """Select the first row for each distinct combination of column values."""
37
+ column_names = [to_col_name(column) for column in self.columns]
38
+ return pl.struct(column_names).is_first_distinct()
39
+
40
+
41
+ @register_callback_cls
42
+ class DropIf(CallbackProtocol):
43
+ """
44
+ Drops rows where the given boolean condition is True.
45
+
46
+ Example:
47
+
48
+ Meaning:
49
+ keep rows where is_invalid is False
50
+ """
51
+
52
+ def __init__(self, condition: AstValue) -> None:
53
+ self.condition = condition
54
+
55
+ def __call__(self, lf: LazyFrame) -> CallbackResult:
56
+ condition_expr = to_expr(lf, self.condition)
57
+ return condition_expr.not_()
@@ -0,0 +1,33 @@
1
+ from polars import LazyFrame
2
+
3
+ from weavehr.callbacks.proto import AstValue, CallbackProtocol, CallbackResult, to_expr
4
+ from weavehr.callbacks.registry import register_callback_cls
5
+
6
+
7
+ @register_callback_cls
8
+ class And(CallbackProtocol):
9
+ def __init__(self, left: AstValue, right: AstValue) -> None:
10
+ self.left = left
11
+ self.right = right
12
+
13
+ def __call__(self, lf: LazyFrame) -> CallbackResult:
14
+ return to_expr(lf, self.left) & to_expr(lf, self.right)
15
+
16
+
17
+ @register_callback_cls
18
+ class Or(CallbackProtocol):
19
+ def __init__(self, left: AstValue, right: AstValue) -> None:
20
+ self.left = left
21
+ self.right = right
22
+
23
+ def __call__(self, lf: LazyFrame) -> CallbackResult:
24
+ return to_expr(lf, self.left) | to_expr(lf, self.right)
25
+
26
+
27
+ @register_callback_cls
28
+ class Not(CallbackProtocol):
29
+ def __init__(self, value: AstValue) -> None:
30
+ self.value = value
31
+
32
+ def __call__(self, lf: LazyFrame) -> CallbackResult:
33
+ return ~to_expr(lf, self.value)
@@ -0,0 +1,28 @@
1
+ from typing import Any
2
+
3
+ import polars as pl
4
+ from polars import LazyFrame
5
+
6
+ from weavehr.callbacks.proto import AstValue, CallbackProtocol, to_col_name
7
+ from weavehr.callbacks.registry import register_callback_cls
8
+
9
+
10
+ @register_callback_cls
11
+ class SplitExplode(CallbackProtocol):
12
+ def __init__(
13
+ self,
14
+ column: AstValue,
15
+ separator: str = ",",
16
+ strip: bool = True,
17
+ ) -> None:
18
+ self.column = to_col_name(column)
19
+ self.separator = separator
20
+ self.strip = strip
21
+
22
+ def __call__(self, lf: LazyFrame) -> Any:
23
+ lf = lf.with_columns(pl.col(self.column).str.split(self.separator).alias(self.column)).explode(self.column)
24
+
25
+ if self.strip:
26
+ lf = lf.with_columns(pl.col(self.column).str.strip_chars().alias(self.column))
27
+
28
+ return lf
@@ -0,0 +1,113 @@
1
+ from typing import Optional, Sequence
2
+
3
+ import polars as pl
4
+ from polars import LazyFrame
5
+
6
+ from weavehr.callbacks.proto import AstValue, CallbackProtocol, CallbackResult, to_col_name
7
+ from weavehr.callbacks.registry import register_callback_cls
8
+
9
+
10
+ @register_callback_cls
11
+ class FirstNotNull(CallbackProtocol):
12
+ """Create a column by selecting the first non-null value across columns.
13
+
14
+ This callback evaluates a list of source columns row-wise and assigns the
15
+ first non-null value (in order) to a new result column. If all specified
16
+ fields are null for a row, the resulting value is null. It is commonly used
17
+ for schema harmonization.
18
+ """
19
+
20
+ def __init__(self, *fields: AstValue, output: Optional[str]) -> None:
21
+ """Initialize the callback.
22
+
23
+ Args:
24
+ fields: Ordered list of source column names. Earlier columns
25
+ take precedence over later ones.
26
+ output: Name of the output column to be created.
27
+ """
28
+ if len(fields) == 1 and isinstance(fields[0], list):
29
+ self.fields: Sequence[AstValue] = fields[0]
30
+ else:
31
+ self.fields = fields
32
+
33
+ self.output = output
34
+
35
+ def __call__(self, lf: LazyFrame) -> CallbackResult:
36
+ """Apply the transformation to a Polars LazyFrame.
37
+
38
+ Args:
39
+ lf: Input LazyFrame.
40
+
41
+ Returns:
42
+ A new LazyFrame with an additional column containing the first
43
+ non-null value per row across the specified fields.
44
+ """
45
+ cols = [to_col_name(f) for f in self.fields]
46
+
47
+ # Optional: empty list handling
48
+ if not cols:
49
+ # With no inputs, output is always null.
50
+ expr = pl.lit(None)
51
+ if self.output is None:
52
+ return expr
53
+ return expr.alias(self.output)
54
+
55
+ expr = pl.coalesce([pl.col(c) for c in cols])
56
+
57
+ if self.output is None:
58
+ return expr
59
+ return expr.alias(self.output)
60
+
61
+
62
+ @register_callback_cls
63
+ class Max(CallbackProtocol):
64
+ """Create a column containing the maximum value across multiple columns.
65
+
66
+ This callback evaluates the specified source columns row-wise and returns
67
+ the maximum value for each row. Null values are ignored when at least one
68
+ non-null value is present. If all specified fields are null for a row, the
69
+ resulting value is null.
70
+ """
71
+
72
+ def __init__(self, *fields: AstValue, output: Optional[str]) -> None:
73
+ """Initialize the callback.
74
+
75
+ Args:
76
+ fields: Source column names whose row-wise maximum is selected.
77
+ output: Name of the output column. If `None`, the resulting
78
+ expression is returned without an alias.
79
+ """
80
+ if len(fields) == 1 and isinstance(fields[0], list):
81
+ self.fields: Sequence[AstValue] = fields[0]
82
+ else:
83
+ self.fields = fields
84
+
85
+ self.output = output
86
+
87
+ def __call__(self, lf: LazyFrame) -> CallbackResult:
88
+ """Create an expression for the row-wise maximum.
89
+
90
+ Args:
91
+ lf: Input LazyFrame.
92
+
93
+ Returns:
94
+ An expression containing the maximum value across the specified
95
+ fields for each row, optionally aliased with the output column name.
96
+ If no fields are specified, an expression containing null values is
97
+ returned.
98
+ """
99
+ cols = [to_col_name(f) for f in self.fields]
100
+
101
+ # Optional: empty list handling
102
+ if not cols:
103
+ # With no inputs, output is always null.
104
+ expr = pl.lit(None)
105
+ if self.output is None:
106
+ return expr
107
+ return expr.alias(self.output)
108
+
109
+ expr = pl.max_horizontal([pl.col(c) for c in cols])
110
+
111
+ if self.output is None:
112
+ return expr
113
+ return expr.alias(self.output)