meta-edc 1.0.6__py3-none-any.whl → 1.1.0__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 (79) hide show
  1. meta_ae/action_items.py +10 -2
  2. meta_ae/baker_recipes.py +1 -2
  3. meta_ae/tests/tests/test_actions.py +1 -2
  4. meta_analytics/dataframes/__init__.py +3 -0
  5. meta_analytics/dataframes/constants.py +1 -1
  6. meta_analytics/dataframes/get_eos_df.py +15 -2
  7. meta_analytics/dataframes/get_glucose_df.py +149 -0
  8. meta_analytics/dataframes/get_glucose_fbg_df.py +27 -0
  9. meta_analytics/dataframes/get_glucose_fbg_ogtt_df.py +22 -0
  10. meta_analytics/dataframes/glucose_endpoints/endpoint_by_date.py +106 -120
  11. meta_analytics/dataframes/glucose_endpoints/glucose_endpoints_by_date.py +36 -227
  12. meta_analytics/dataframes/utils.py +18 -4
  13. meta_analytics/notebooks/anu.ipynb +95 -0
  14. meta_analytics/notebooks/appointment_planning.ipynb +329 -0
  15. meta_analytics/notebooks/arvs.ipynb +103 -0
  16. meta_analytics/notebooks/cleaning/consent_v1_ext.ipynb +227 -0
  17. meta_analytics/notebooks/cleaning/offschedule_eos.ipynb +353 -0
  18. meta_analytics/notebooks/dsmc/renal_dysfunction.ipynb +435 -0
  19. meta_analytics/notebooks/endpoints/meta_endpoints_by_date.ipynb +664 -0
  20. meta_analytics/notebooks/followup_examination.ipynb +141 -0
  21. meta_analytics/notebooks/hba1c.ipynb +136 -0
  22. meta_analytics/notebooks/hiv_regimens.ipynb +429 -0
  23. meta_analytics/notebooks/incidence.ipynb +232 -0
  24. meta_analytics/notebooks/liver.ipynb +389 -0
  25. meta_analytics/notebooks/magreth.ipynb +645 -0
  26. meta_analytics/notebooks/monitoring_report.ipynb +1751 -0
  27. meta_analytics/notebooks/pharmacy.ipynb +1070 -0
  28. meta_analytics/notebooks/pharmacy_stock_202410.ipynb +306 -0
  29. meta_analytics/notebooks/steering.ipynb +61 -0
  30. meta_analytics/notebooks/undiagnosed/meta3_screening_consort_chart.ipynb +1176 -0
  31. meta_analytics/notebooks/undiagnosed/meta3_screening_undiagnosed.ipynb +519 -0
  32. meta_analytics/notebooks/undiagnosed/meta_screening_table2.ipynb +964 -0
  33. meta_analytics/notebooks/undiagnosed/screen_undiagnosed_or.ipynb +296 -0
  34. meta_analytics/notebooks/undiagnosed/screening.ipynb +273 -0
  35. meta_analytics/notebooks/undiagnosed/screening2.ipynb +958 -0
  36. meta_analytics/notebooks/undiagnosed/screening_undiagnosed_20241002.ipynb +958 -0
  37. meta_analytics/notebooks/ven.ipynb +191 -0
  38. meta_analytics/notebooks/vitals.ipynb +263 -0
  39. meta_analytics/utils.py +81 -0
  40. meta_edc/settings/debug.py +3 -2
  41. meta_edc/urls.py +1 -0
  42. {meta_edc-1.0.6.dist-info → meta_edc-1.1.0.dist-info}/METADATA +6 -5
  43. {meta_edc-1.0.6.dist-info → meta_edc-1.1.0.dist-info}/RECORD +77 -36
  44. {meta_edc-1.0.6.dist-info → meta_edc-1.1.0.dist-info}/WHEEL +1 -1
  45. meta_edc-1.1.0.dist-info/licenses/AUTHORS.rst +8 -0
  46. meta_labs/reportables.py +14 -11
  47. meta_labs/tests/test_reportables.py +33 -12
  48. meta_pharmacy/notebooks/pharmacy.ipynb +41 -0
  49. meta_prn/migrations/0063_historicaloffstudymedication_singleton_field_and_more.py +37 -0
  50. meta_prn/migrations/0064_auto_20250602_2143.py +18 -0
  51. meta_prn/models/end_of_study.py +2 -0
  52. meta_prn/models/off_study_medication.py +2 -0
  53. meta_reports/migrations/0054_auto_20250422_2003.py +81 -0
  54. meta_reports/migrations/0055_alter_glucosesummary_table.py +17 -0
  55. meta_reports/migrations/0056_auto_20250422_2214.py +54 -0
  56. meta_reports/migrations/0057_auto_20250422_2224.py +54 -0
  57. meta_reports/migrations/0058_auto_20250422_2232.py +54 -0
  58. meta_reports/models/dbviews/glucose_summary/unmanaged_model.py +13 -1
  59. meta_reports/models/dbviews/glucose_summary/view_definition.py +8 -5
  60. meta_screening/eligibility/eligibility_part_three/base_eligibility_part_three.py +59 -47
  61. meta_screening/form_validators/screening_part_three.py +6 -1
  62. meta_screening/tests/meta_test_case_mixin.py +3 -0
  63. meta_screening/tests/tests/test_forms.py +9 -2
  64. meta_screening/tests/tests/test_screening_part_three.py +11 -14
  65. meta_subject/action_items.py +1 -2
  66. meta_subject/choices.py +2 -1
  67. meta_subject/form_validators/glucose_form_validator.py +16 -1
  68. meta_subject/forms/blood_results/blood_results_rft_form.py +60 -3
  69. meta_subject/forms/study_medication_form.py +5 -3
  70. meta_subject/migrations/0221_auto_20250402_1913.py +42 -0
  71. meta_subject/migrations/0222_alter_historicalstudymedication_stock_codes_and_more.py +46 -0
  72. meta_subject/migrations/0223_bloodresultsfbc_errors_bloodresultsgludummy_errors_and_more.py +83 -0
  73. meta_subject/migrations/0224_bloodresultsfbc_abnormal_summary_and_more.py +153 -0
  74. meta_subject/tests/tests/test_egfr.py +5 -5
  75. meta_analytics/dataframes/enrolled/__init__.py +0 -1
  76. meta_analytics/dataframes/enrolled/get_glucose_df.py +0 -122
  77. /meta_edc-1.0.6.dist-info/AUTHORS → /meta_analytics/dataframes/glucose_endpoints/utils.py +0 -0
  78. {meta_edc-1.0.6.dist-info → meta_edc-1.1.0.dist-info/licenses}/LICENSE +0 -0
  79. {meta_edc-1.0.6.dist-info → meta_edc-1.1.0.dist-info}/top_level.txt +0 -0
@@ -1,8 +1,8 @@
1
1
  meta_ae/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- meta_ae/action_items.py,sha256=2XKK9K4f9irwyrNb9e0_JzZcEaHd0P1ZNGmMf5waGXo,11372
2
+ meta_ae/action_items.py,sha256=JnJ2_JbnrMh6zNpXgWxQGAAfImShlELcc9-a_1GDdF4,11383
3
3
  meta_ae/admin_site.py,sha256=5nx3fbd14u5KJbpFXow_XpG9gfYhdoYe4NFasFVKMMs,159
4
4
  meta_ae/apps.py,sha256=tSj7MhDY6SxB0f1nXGPvodeTPiGFoRtrQGQd6M42egI,284
5
- meta_ae/baker_recipes.py,sha256=q4VWJRy2n-qSGQA9IskF3OvzorcQqYs_vO3vYkHYOjs,1184
5
+ meta_ae/baker_recipes.py,sha256=TPJeXRMgUYjcfTVFj084VQFyoLBT9SyXg9vOCJYekAw,1148
6
6
  meta_ae/choices.py,sha256=uPs2jdXEoS4eeTJAJlQ-_cFiMQESNJecwUChxv5mHX0,756
7
7
  meta_ae/constants.py,sha256=_x4gMjI0PflPZo9X2NOAitPGh-pOZn4oYBf-_bDlGQ8,36
8
8
  meta_ae/list_data.py,sha256=liF-AksUZkDoIcgHqtXNR7a3YOWGGrD2JFTlwJUDcXk,1416
@@ -80,25 +80,54 @@ meta_ae/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
80
80
  meta_ae/tests/holidays.csv,sha256=Ywr5pK_caGUJMgRwLzjMeSEUuyEpUWyJE5aJkfbg3bg,539
81
81
  meta_ae/tests/urls.py,sha256=BKiCB7JZCxtZFh6Ym-Y-Hdq92NECIt-GqMDyt6_B7o0,260
82
82
  meta_ae/tests/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
83
- meta_ae/tests/tests/test_actions.py,sha256=W4UglCSs4GLU0_I5grpCz3xprk2OQso2Q6c_9aYWiu8,4915
83
+ meta_ae/tests/tests/test_actions.py,sha256=BrSbtCudm0ZZ8KGHA36exOx9mYfCslPk3JMRlcAOB8s,4879
84
84
  meta_analytics/README.rst,sha256=x5KDks1P2bSPdyq3f9CNkynAAgJaXl7AX_3rnmC16HU,357
85
85
  meta_analytics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
86
86
  meta_analytics/constants.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
87
87
  meta_analytics/get_tables.py,sha256=3jFmvLXWHY3FPd1u5OPVpAKWUcruCH0-A0KdKiiFGpc,2219
88
- meta_analytics/dataframes/__init__.py,sha256=DHO81CYc5foDgy2HBEnlaHRtohMo-blvSvZPMDQaHUk,547
89
- meta_analytics/dataframes/constants.py,sha256=Wcub_3U5xHa027ykotySiUxMECjmswGIADVeT0iJXXs,792
90
- meta_analytics/dataframes/get_eos_df.py,sha256=quWdYsgwna9wfJ8GJPiiNLreRIrD4lY9BkFNAAjb2ds,784
88
+ meta_analytics/utils.py,sha256=mVcjhfGqicJOAV9DPcslKCsSvAVmbPz_wiTU2jPMs30,2788
89
+ meta_analytics/dataframes/__init__.py,sha256=ioeo6piqRBz0zbysG59mKo9bNJpvQgzDD3L9iN873r8,702
90
+ meta_analytics/dataframes/constants.py,sha256=D1rxTWPql3W8LalaerSvGgkHotL77e9JlH2O5kwZeTY,791
91
+ meta_analytics/dataframes/get_eos_df.py,sha256=HlDFaA6SVj2Idihk0R2m9KUm5PEdbh0FWOM-NmSYUoM,1246
92
+ meta_analytics/dataframes/get_glucose_df.py,sha256=aPxzuion67lRZJmL6mhFWKnaTC0f9VAkx4lHcSohWK0,5201
93
+ meta_analytics/dataframes/get_glucose_fbg_df.py,sha256=iVWHRDwUeSt1PuUBRgJOyZKIVEwvYghUurz6cAF2IhM,923
94
+ meta_analytics/dataframes/get_glucose_fbg_ogtt_df.py,sha256=ouRXlQKOws1CK38OgnKjGGEKf3sgG4e8Ktf9MP_SYzU,669
91
95
  meta_analytics/dataframes/get_last_imp_visits_df.py,sha256=cScwy_nBGHg04_AYpjz_pTq13Q4iyb33SiKk6CltbyQ,3803
92
- meta_analytics/dataframes/utils.py,sha256=2V3nFFnaysuJvNrcHUOLqOk8e_3aP71079kB_YBXcQw,2014
93
- meta_analytics/dataframes/enrolled/__init__.py,sha256=uKniE7L86umlSmGOjAFuwwsbyZj31mELGUpY3hByo4s,43
94
- meta_analytics/dataframes/enrolled/get_glucose_df.py,sha256=L4gzszNjYzu-QmYu4gs1c7_Edcv7FgAjucihxHtANSY,5004
96
+ meta_analytics/dataframes/utils.py,sha256=NNJ2EZmpSXJqa7jCoNgqd4F3irQ_93ZsNnv6PPIm7S8,2383
95
97
  meta_analytics/dataframes/glucose_endpoints/__init__.py,sha256=a9RlAnFM0Z4AKw-WztBvnGMo3tLLe1dx3292A2n_CnA,107
96
- meta_analytics/dataframes/glucose_endpoints/endpoint_by_date.py,sha256=aOadsfeclOEGFo5agSZUbY2NdM8iZDsOLdg-5j8aelg,7011
97
- meta_analytics/dataframes/glucose_endpoints/glucose_endpoints_by_date.py,sha256=052BpLJoJezjr2tMXI5-GBRk_e6gT0bZZsjhx_Uhlm8,21550
98
+ meta_analytics/dataframes/glucose_endpoints/endpoint_by_date.py,sha256=4Qd3i9hfSSkn_El7QAjuJDUbzQ1LBpkmFw0rHSlBfG0,6531
99
+ meta_analytics/dataframes/glucose_endpoints/glucose_endpoints_by_date.py,sha256=Nr92PmfmaS_OPPp6hmK1OWZsOr3eQ5FMD5u_oDF8Ylk,13682
100
+ meta_analytics/dataframes/glucose_endpoints/utils.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
98
101
  meta_analytics/dataframes/screening/__init__.py,sha256=onGpmB4474gu_JcyRGdRy09YQyP2Np-mX-rYZTFdJoA,114
99
102
  meta_analytics/dataframes/screening/get_glucose_tested_only_df.py,sha256=0oMJIsIJRjurfpPONuJ4Aoab1UJikezGe3lQNWRoOo4,660
100
103
  meta_analytics/dataframes/screening/get_screening_df.py,sha256=t_xxr7YId3QsXbwjPpi7nIgkleKprmZSqAin2cuB2Vc,6273
104
+ meta_analytics/notebooks/anu.ipynb,sha256=zrkC0tzKZqDRD310BW1ua8cwdSa6qQzOF2vzmUFKnSc,2263
105
+ meta_analytics/notebooks/appointment_planning.ipynb,sha256=RUI2h4Bd67hgUH9qof356XybZIStwsRNzy2BMKQAUlE,13100
106
+ meta_analytics/notebooks/arvs.ipynb,sha256=NSxKb0c9w-kN9WRx4ixNlNOHcD4BJ-1SxFQXR9cehQI,2390
107
+ meta_analytics/notebooks/followup_examination.ipynb,sha256=Ng90rFarYCBzqj3VzOPqyNLMmP0JvCSCN-mRHR_pw-A,3986
108
+ meta_analytics/notebooks/hba1c.ipynb,sha256=qrajG5zoAjT1scxAh_6C069VAHqugQnYZRg-VLzZFuo,2756
109
+ meta_analytics/notebooks/hiv_regimens.ipynb,sha256=qqRq5befPPiPQ8sheFhe6iGxPicajQBw46Kwnya77Dk,14908
110
+ meta_analytics/notebooks/incidence.ipynb,sha256=-kd0Mp67dk8ECoNEcKMTn92iBxuNLBIOC6-qLvz-31U,8101
111
+ meta_analytics/notebooks/liver.ipynb,sha256=s19AAV6vmtGqYAfN1cqVIcBeU7ptSGU94uZaeaz32qU,13985
112
+ meta_analytics/notebooks/magreth.ipynb,sha256=u4BWz6swBFLXcrOQDi_iSuFkp9NiISFk5uPahh7iXug,20773
113
+ meta_analytics/notebooks/monitoring_report.ipynb,sha256=skRJrbuLSoQcKRdy-aYV--7lN0QfkCiQ0nOUmFbZWo4,74734
114
+ meta_analytics/notebooks/pharmacy.ipynb,sha256=rAxMyPDZIyx-Qizgrdueq-rUYyeN3zMYVqDPkbjtnSs,34298
115
+ meta_analytics/notebooks/pharmacy_stock_202410.ipynb,sha256=Kx9QVmiDW-5DWuaoSvLM2vJGHRCam-im9ZVdJsOBFfs,8823
116
+ meta_analytics/notebooks/steering.ipynb,sha256=pqJrH_Zdwp7sPgHwhahKK-XmNMQjk7bHJv7vHJaeTek,1112
117
+ meta_analytics/notebooks/ven.ipynb,sha256=JR1_BW2QGqsqteCSORS7Zz7yD3u8JeU9r4H7KJ6nRN4,5182
118
+ meta_analytics/notebooks/vitals.ipynb,sha256=mHlO6QbhD28aGUhVI0tF06MJm_JjUsKLdSpnz5NhbQI,5787
101
119
  meta_analytics/notebooks/cleaning/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
120
+ meta_analytics/notebooks/cleaning/consent_v1_ext.ipynb,sha256=HIo8lKtyAs3blx-UXEJful5iXT-0fGQcb5vAT-o7umk,6403
121
+ meta_analytics/notebooks/cleaning/offschedule_eos.ipynb,sha256=U5KS7GzWKsWkJWIN4pXhKN9GJMCpkGVxrIEBaRoaah8,10620
122
+ meta_analytics/notebooks/dsmc/renal_dysfunction.ipynb,sha256=vy40GuSA2HH3OoCBLaHx5fxYzS3mOV5C2L7BqSUGemM,11116
123
+ meta_analytics/notebooks/endpoints/meta_endpoints_by_date.ipynb,sha256=4UxnO4ijILwKlRvYd2D7_XE5fqBj3puQqYbggu4Ouf0,22526
124
+ meta_analytics/notebooks/undiagnosed/meta3_screening_consort_chart.ipynb,sha256=B79ZyqWzsxhrBJZhajyqjJ3vP10eNzX2C3_ojc3jOIY,34653
125
+ meta_analytics/notebooks/undiagnosed/meta3_screening_undiagnosed.ipynb,sha256=MmyQzBCR63GAQlKsQ1CPxmPtgMlJYWggfEBDI81me64,11912
126
+ meta_analytics/notebooks/undiagnosed/meta_screening_table2.ipynb,sha256=bRoJbboAnkfXo6MeKmedP4j6eAVHdH4q62o35p9--No,36421
127
+ meta_analytics/notebooks/undiagnosed/screen_undiagnosed_or.ipynb,sha256=JJkQKVOSrDqqLecM-5OOrVgqe-TshdK4q52DU1zWUtU,6984
128
+ meta_analytics/notebooks/undiagnosed/screening.ipynb,sha256=8v5FPvJYTo1N4zTP1nwA0uJoaWlLEs3RsY7_I3fXdLY,6769
129
+ meta_analytics/notebooks/undiagnosed/screening2.ipynb,sha256=r4QMsNfuLMzFgTorVLY-doB32fAvl4zCfCKbujRbH38,24794
130
+ meta_analytics/notebooks/undiagnosed/screening_undiagnosed_20241002.ipynb,sha256=GiATH1CyZaS3kXvcT9aYpbCO4VPmPkBWPOtz67j4Y-Y,22182
102
131
  meta_analytics/tables/__init__.py,sha256=mhESCt0Lq4RJU-lbQ5fVfIbXzrEsootGYp7EzQIqDBI,70
103
132
  meta_analytics/tables/eligible.py,sha256=2q-SMbAsrBgOVc4Ttq5P3bpjsUKwP5hYhJBMgyH6GGI,3389
104
133
  meta_analytics/tables/has_dm.py,sha256=W6pObFI7k2hpL46Q7t2QIfYDVfo7-PHJMdCv6Q5EUQk,1739
@@ -237,7 +266,7 @@ meta_edc/meta_version.py,sha256=8IASYGnr43t18oDhNAPNnQoKvFYVAUnPILl6a05HAoc,211
237
266
  meta_edc/model_callers.py,sha256=PjQEW7Kp5HHcUMdmz7dvxg53HvGJHXUKr6QTd-4hsyE,1339
238
267
  meta_edc/models.py,sha256=DLA-hDdFszAVNCe1sZqVoLmIXifFW0HeZsipP9D1Ic4,46
239
268
  meta_edc/navbars.py,sha256=XOuo4QEUCBtabYpW0IorT4Hs6GtJgVk7NkB0H_Bb7Vs,1191
240
- meta_edc/urls.py,sha256=hLeGIjUDoYiCFOao3jCpFL6nkBllEyJ-oV07xR_tsYc,3578
269
+ meta_edc/urls.py,sha256=vTpmCfcRTaYo_kv2zmuPMLh-EO5MlwzcKc2PV-0eWd8,3624
241
270
  meta_edc/utils.py,sha256=FdGGHT0zCUM9FLovLanH_ultcxbVitCvvPAwq0U3yYc,342
242
271
  meta_edc/wsgi.py,sha256=Ns9vu_jcEqpOLM5tb-hwVUh3ciInocrG3kUPAxh7nJg,165
243
272
  meta_edc/wsgi_live.py,sha256=EprgdsDiEvNN033w6lUQHaS8Y3ntpPrWHDTOgZcjaCQ,164
@@ -247,7 +276,7 @@ meta_edc/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NM
247
276
  meta_edc/management/commands/update_forms_reference.py,sha256=jvCU9YdMtp9wbmjqKQsB9gxNw4DcAP97sZD-kfIxOns,1071
248
277
  meta_edc/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
249
278
  meta_edc/settings/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
250
- meta_edc/settings/debug.py,sha256=5WkxxapNtYDi9XKXCOCnlZ3q9--zktBtRyGhCVUaMEs,1296
279
+ meta_edc/settings/debug.py,sha256=t44__VfifcaagPTcm7lUVcjaIsBuM4IRyWz9xyNubDg,1297
251
280
  meta_edc/settings/defaults.py,sha256=USh91oF6HKdUXWZ5xf5dDCwAYINSIdOPkgHCxDCsGP4,19633
252
281
  meta_edc/settings/live.py,sha256=uLTlsIc3H6gdE_7pkL6vyOVa6V_74hnXFkiojqGFAYY,264
253
282
  meta_edc/settings/logging.py,sha256=6qVUE37OMkf5rzwTmMq4krFsZ2jcyCpWdFtGih_Cs4U,1938
@@ -260,6 +289,8 @@ meta_edc/tests/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hS
260
289
  meta_edc/tests/tests/test_endpoints.py,sha256=5FdIHTd1xhUIgQLBzMV-Ml3VoFrlBrLLUbNarme5raw,23541
261
290
  meta_edc/views/__init__.py,sha256=TBXTih4Mpsg5Oh2jbyXqL9kH7bu3vWNRgVe93hvLCl8,32
262
291
  meta_edc/views/home_view.py,sha256=BXydy77TcdcM0-R3S_uHI4DtfnLMIzPJMyqjFJZFSsA,916
292
+ meta_edc-1.1.0.dist-info/licenses/AUTHORS.rst,sha256=wL4KUOd7FAFThhkLAJxSLQ2BPzd3ikG9q0UVZr3BbLg,244
293
+ meta_edc-1.1.0.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
263
294
  meta_export/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
264
295
  meta_export/admin_site.py,sha256=CiKAf0gDFvBKVc-1VM6KwM905ayVZuiY1tgaTeUeCi0,167
265
296
  meta_export/apps.py,sha256=3_5LB1MLtzfKekI2vT9Cm6puAx6t6AjtIfTTVdItdKg,226
@@ -271,10 +302,10 @@ meta_labs/lab_profiles.py,sha256=I3s07bzAQaRzNSAqBuprx6uIO048ovffL5gD28ZE2N0,957
271
302
  meta_labs/labs.py,sha256=0mpfORDUsjxBeyJdEC5NiF4kQHSQTfKiQuMKZ9Svaqw,128
272
303
  meta_labs/list_data.py,sha256=ZWvQ7ZuOgNZ8Cz-y5lzrAYCZC2HarlnlleFXdsI1P9c,477
273
304
  meta_labs/processing_profiles.py,sha256=fRX72FOl2rsnOJYhgup5QacfGSXKtWqn2gD3Giz2GDA,500
274
- meta_labs/reportables.py,sha256=Eg95Jyv7N6oh5w6QKfcvRN6jk88c0DSYRq1gqBTs2xo,512
305
+ meta_labs/reportables.py,sha256=OX1rxiWKmsi7_ODxH1O8yBGgOq56HAaiG1XTEDGaOhM,586
275
306
  meta_labs/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
276
307
  meta_labs/tests/test_labs.py,sha256=49COK2X8F5kvwsIuuPaxBSzDo665J2ctd1DZzo-O4Cs,967
277
- meta_labs/tests/test_reportables.py,sha256=lcjWhwo6MLDPv_7yTRGGdSUUVsbXq25aDl0RFy3avB0,516
308
+ meta_labs/tests/test_reportables.py,sha256=nmNR7wumpkI84BqE3pCRqz7TuvprJXv9Kbtxs8P8U90,1302
278
309
  meta_labs/tests/urls.py,sha256=_sVCnQeiAFRYKhxga3_DjoKj_4bgs1s2gjcynDiapvA,111
279
310
  meta_lists/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
280
311
  meta_lists/admin.py,sha256=g05vpXfVIEBVG03aiPD8Vn-AnR7gL60MbPJAfzsO6R8,2157
@@ -343,6 +374,7 @@ meta_pharmacy/models/label_data.py,sha256=dV8fpmJ6QpKidHVRfN3IdWEciEGQch8Q8jqJgq
343
374
  meta_pharmacy/models/rx.py,sha256=cx0T9j2Vb-6tEotWA7ohsn2OGHnQpxiFQnu7__hx7Ts,379
344
375
  meta_pharmacy/models/rx_label.py,sha256=iBqy3c-DvoPnw1g8BAVGQcY5OpI9Ie2YT78rYY0G7WM,1202
345
376
  meta_pharmacy/models/substitutions.py,sha256=9FjjD4x66B8SxABZR5atan2S5uE4nJH0tn0ujB4xEbA,3071
377
+ meta_pharmacy/notebooks/pharmacy.ipynb,sha256=QK7Uaqr-3MbCmzaHq4PhTd4Xn4R3JLG3TjZZ3g5Cz3I,697
346
378
  meta_pharmacy/utils/__init__.py,sha256=PiPRCZqgxPiudXWEvQmXOqFZMoj56NEiOeRuYEyE_9w,71
347
379
  meta_pharmacy/utils/update_initial_pharmacy_data.py,sha256=Od0QL41unsDEGDBYsVCe8k-T3GpMae0DtHt61vz4sYM,4621
348
380
  meta_prn/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -445,12 +477,14 @@ meta_prn/migrations/0059_alter_historicaloffstudymedication_reason_and_more.py,s
445
477
  meta_prn/migrations/0060_alter_onschedule_managers_and_more.py,sha256=zTlobJgliy-LuQ3z_BE_cwpdVddrvpHRvhDH4Hj64zY,1791
446
478
  meta_prn/migrations/0061_auto_20250115_2025.py,sha256=u7F2GsXo-9pIN5z0VM1aXW_KoRjS82BaBqqj2xWwWzo,1937
447
479
  meta_prn/migrations/0062_alter_endofstudy_offstudy_reason_and_more.py,sha256=L1ZDX1IMS0nIs77lF4QZ0SX-ye4rXvouTLnijob8SAQ,2421
480
+ meta_prn/migrations/0063_historicaloffstudymedication_singleton_field_and_more.py,sha256=l8pNm7G0O_7hWMb7smU5wbbsjE7es-WZfCkET7zyuXw,1081
481
+ meta_prn/migrations/0064_auto_20250602_2143.py,sha256=S8-7kSWfJSFtzKrq5_puYIC0UA32wRZH_-xnQ6mt--w,512
448
482
  meta_prn/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
449
483
  meta_prn/models/__init__.py,sha256=l06P7L2_Aye2h2VmAyb1XRcIbQAOyxws08IMc8sIops,717
450
484
  meta_prn/models/dm_referral.py,sha256=XyyB5ylcaMRCumGRFPlh2Op5VvT9ROJ1A9x5q55vUuc,1096
451
- meta_prn/models/end_of_study.py,sha256=3ZzuJfhZD5MONM8kS2nJQ7H76y2orqpGsVT3sT4O8uw,5379
485
+ meta_prn/models/end_of_study.py,sha256=wg2Y8Q_via6GozskaCzqkky_jOrtSLNek77-X2KLJME,5444
452
486
  meta_prn/models/loss_to_followup.py,sha256=qo2RrK5cVC1wLE7DdE6rTCCtYn7iAMomov9IbSCFuWg,2397
453
- meta_prn/models/off_study_medication.py,sha256=qq8DadWCNvFOYLkx9VoDMyLnbuZiRGc7-gmPSb-QVFk,1701
487
+ meta_prn/models/off_study_medication.py,sha256=7PzUkyrBWTybTWcNMU5EioApbOoiIaUDnCiEcjgX-II,1779
454
488
  meta_prn/models/offschedule.py,sha256=DjQvXteecXJOzN6ijdH36FCxXoR1halzxl9EliqQJk8,1717
455
489
  meta_prn/models/onschedule.py,sha256=xAlKzvcM5VzVfzaayjUEvUSL6rsALQQSm9iFCs1rnWc,930
456
490
  meta_prn/models/pregnancy_notification.py,sha256=HqRsonJ0F1nxLczVtgPkvGb7kWQOkJDz3w67jOxi5j4,3090
@@ -567,6 +601,11 @@ meta_reports/migrations/0050_alter_endpoints_created.py,sha256=nqNIgK_cek2gtEhop
567
601
  meta_reports/migrations/0051_remove_endpoints_baseline_datetime_and_more.py,sha256=jq5N4un7QTCLe54WKJjfCL32X_QnyCiDRV3spwgseJI,1053
568
602
  meta_reports/migrations/0052_lastimpvisit.py,sha256=MWQhY3-2RGjB8k-cuiEVbWxeYNL7QfbngyaWIGgEsU4,2231
569
603
  meta_reports/migrations/0053_rename_lastimpvisit_lastimprefill_and_more.py,sha256=XYb3V0JQ0877DhaAaR0PxzPHdeBmmR_NQLJaGSzfHAI,887
604
+ meta_reports/migrations/0054_auto_20250422_2003.py,sha256=sMDsads7ydqAUmGRR6eaG0VwYTesAxDvw9RgUZ4O85E,10077
605
+ meta_reports/migrations/0055_alter_glucosesummary_table.py,sha256=q47-5ZSO8d5jUr76-iBAzGhwIo-6z_ZCPfNwKcAYE3U,363
606
+ meta_reports/migrations/0056_auto_20250422_2214.py,sha256=Tv1hp6K4GlSfUs-c7dzydPDtyihOtKUuPENNrUTzkx0,9138
607
+ meta_reports/migrations/0057_auto_20250422_2224.py,sha256=pGj-5Cr__ScaNtb8ROzm_4_Ke6jR8QlIIeXFAwiA5f8,9457
608
+ meta_reports/migrations/0058_auto_20250422_2232.py,sha256=SZ2RS5jUVhgnirgU2XAU-EIDtsbUWD1GDl5jg_hMTrc,9743
570
609
  meta_reports/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
571
610
  meta_reports/models/__init__.py,sha256=2F-4CS39Pu2LijF8ZkSn2nE3Lps3YEC9ZcBtNnmNXjI,423
572
611
  meta_reports/models/endpoints.py,sha256=iMx8QIi_hLANIwZmAw1OJ_jPuDdml8s181Skh8UF9bM,901
@@ -575,8 +614,8 @@ meta_reports/models/last_imp_refill.py,sha256=LkJtsZU7fhem5O-OqsyN-qgGQm_IUGAYEp
575
614
  meta_reports/models/dbviews/README,sha256=GdeboB7Xqb-Qo_rE1ondcxP8Ps93MIjLzCePQCePig0,686
576
615
  meta_reports/models/dbviews/__init__.py,sha256=C5YGOKwVAexjWxLh5vl0m561TBMWDM_yAvIrwqG_M70,559
577
616
  meta_reports/models/dbviews/glucose_summary/__init__.py,sha256=Tfgjso4TpxMCidAdRJp8g1Ykqqa43yWlQSotzAaORAo,93
578
- meta_reports/models/dbviews/glucose_summary/unmanaged_model.py,sha256=uqhD5JLXtyQ94zpG5Puxodjzli3quE4GgiFi7en6EeM,1055
579
- meta_reports/models/dbviews/glucose_summary/view_definition.py,sha256=Fc5KN-It9dcBvRta-b26kUl8uQEHA19vrYIhNRqe2Xo,1512
617
+ meta_reports/models/dbviews/glucose_summary/unmanaged_model.py,sha256=Z76vi6xCgLTq_QNeOPxzk3eRVZ3usTZdkZnoluI1GtU,1414
618
+ meta_reports/models/dbviews/glucose_summary/view_definition.py,sha256=mFv0Y6OQM6gwKRyNuTsJApeW6ehZmLNgtkaDVIIyuiQ,1735
580
619
  meta_reports/models/dbviews/imp_substitutions/__init__.py,sha256=N0507JzoVRtNA9W9_RoiAQYEQZGdvP2U8P83ZJMeZxQ,46
581
620
  meta_reports/models/dbviews/imp_substitutions/unmanaged_model.py,sha256=U3ZIggcWAokmeCFV6w-0TOwZQ6tjzH4ZGYwoqVPrd7M,1240
582
621
  meta_reports/models/dbviews/imp_substitutions/view_definition.py,sha256=1t6znTYQJxM_-nTRjMgEY3T2L_ZDFvh2tw-zT8fmxQU,897
@@ -634,11 +673,11 @@ meta_screening/eligibility/eligibility.py,sha256=he-5p7hzUY0Apd98TSTUgzHSosgW6ff
634
673
  meta_screening/eligibility/eligibility_part_one.py,sha256=5SMmVx17lUonfcItUepapJmZnbiF2dZ4WrwGllhoKl0,1769
635
674
  meta_screening/eligibility/eligibility_part_two.py,sha256=xyCPn4wUQZu0uvBSpFSpSMsB_80IPI1PRC2wOQWB1Uk,1808
636
675
  meta_screening/eligibility/eligibility_part_three/__init__.py,sha256=UfdNfJ7SW5wTvYo_0KUxn1KrlgjCwOmY539VXQvU-rE,79
637
- meta_screening/eligibility/eligibility_part_three/base_eligibility_part_three.py,sha256=-aDLPR-UBNsFrTHmXrTpOWcBVshI-QvH1Zsj0A5Rs1E,5405
676
+ meta_screening/eligibility/eligibility_part_three/base_eligibility_part_three.py,sha256=vGloYoc6VhROst_idpwmULvik9mRPjAWo2Z3ZE2IxNk,6224
638
677
  meta_screening/eligibility/eligibility_part_three/eligibility_part_three_phase_three.py,sha256=9YOPxMH8jdOeEljCNcNB_i2e69HJOnMLtPSkhCtRewo,4296
639
678
  meta_screening/form_validators/__init__.py,sha256=42qN1LhCpXvgA0WhzmXfSVaESp9DaHnlQDrE0sjmo-A,308
640
679
  meta_screening/form_validators/screening_part_one.py,sha256=-CCe24UPhgFusVOkWzGJZ1uMszqmePkKsfF0hN54y0A,1213
641
- meta_screening/form_validators/screening_part_three.py,sha256=DS7lL7u8p9EA-t3IszWt4_mYYG1s9zkPxbk22I7cy0I,7606
680
+ meta_screening/form_validators/screening_part_three.py,sha256=6i_uoMMpVWZ0EElaM3dGELBOHLud09y2MoeQGugdklU,7815
642
681
  meta_screening/form_validators/screening_part_two.py,sha256=ZR9ApZfhXDOfmwxqsX-UkaN4FXVMVHVzklVp3CxNg34,4738
643
682
  meta_screening/form_validators/subject_refusal.py,sha256=QGIUkCobHEAlE1R1gDmPfAIlBBQqpzpIuArUkop8yDk,322
644
683
  meta_screening/form_validators/subject_screening.py,sha256=F4m8CrhQW2O1AmdkuvlJRki39Ha_XYGyxczP2-TBE_A,309
@@ -732,12 +771,12 @@ meta_screening/models/subject_refusal.py,sha256=oLC9FKR1C01pwy5fEM_35itOYCDQZXmW
732
771
  meta_screening/models/subject_screening.py,sha256=j-0U5zcErwEv0qYEn9ktaPiNfce-CFe67NpaYyX1lew,2269
733
772
  meta_screening/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
734
773
  meta_screening/tests/holidays.csv,sha256=Ywr5pK_caGUJMgRwLzjMeSEUuyEpUWyJE5aJkfbg3bg,539
735
- meta_screening/tests/meta_test_case_mixin.py,sha256=m9XeLYST666MWiWQcT6nCg9feEgt6TCXxh6M5tGAVAY,8779
774
+ meta_screening/tests/meta_test_case_mixin.py,sha256=dBdYp1U9mW9J7ghrgchXOOWeZPhiVcQ09mV3GHbiors,8949
736
775
  meta_screening/tests/options.py,sha256=VpRQWWPwlVUReFi4KHuJdHXTBCsWvR2IlHs4yTDxQVA,4097
737
776
  meta_screening/tests/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
738
- meta_screening/tests/tests/test_forms.py,sha256=Uvie3DOGbzNKfg1tUtNLFv0VtkZuMQeK3p-zw92lQAA,16710
777
+ meta_screening/tests/tests/test_forms.py,sha256=wTR3fe4-v6L5sw_eApdcCn6xnu_I6Q6fpOIZlUVvcXA,16903
739
778
  meta_screening/tests/tests/test_screening_part_one.py,sha256=EyG3SRVpR6-bFB0bn9UEA4hL8638e-Kx7K0_AeaBntE,4723
740
- meta_screening/tests/tests/test_screening_part_three.py,sha256=6sPFIDme4jaehZCCiPCgH6U3UqLAHVcscHl0OwbDQvM,16774
779
+ meta_screening/tests/tests/test_screening_part_three.py,sha256=OWzfonzIgl-g59oK33VCcRuUnjzDbd2uUKRv7XHNiyM,16739
741
780
  meta_screening/tests/tests/test_screening_part_two.py,sha256=BjPJKwujqlKO-bHhMIS5OFAomInKm34fKjU6d-8QlTY,3126
742
781
  meta_sites/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
743
782
  meta_sites/apps.py,sha256=tFzSEULZZYXupXrO7B2RAh_N--joVS4E_UOykXoOKNA,278
@@ -754,11 +793,11 @@ meta_stats/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,
754
793
  meta_stats/tests/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
755
794
  meta_stats/tests/tests/test_incidence.py,sha256=Uxv05_xZ0hZKtTBDow3goRcQrK5644j9NQwyW9d_CX8,313
756
795
  meta_subject/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
757
- meta_subject/action_items.py,sha256=eRONfgYX0DbSCI5JqFbMojiy86jDRvQgV-BUlQpmNog,6895
796
+ meta_subject/action_items.py,sha256=3wwqxwxYGApbfucy1hmemG6H-HzZNTMkwnOV_8Q4cYk,6869
758
797
  meta_subject/admin_site.py,sha256=fxUn5QKgo6wYUG18HW11kVrPqWvmWV2_PzKbgZQM4pU,169
759
798
  meta_subject/apps.py,sha256=iAQ8lizUpKa4gJnCGkTsuRQPtGWmSjnshZn8rZUguO8,289
760
799
  meta_subject/baker_recipes.py,sha256=C8ag5z5MRczzb3MkYGL37DccQg1FykiLgxepBlitlh0,2741
761
- meta_subject/choices.py,sha256=LjKRsEG0uGJow2BHshV_oKXdNYktNGn1Xj9H8SbGtBA,6782
800
+ meta_subject/choices.py,sha256=lFseBsxliIRshCmqsIwdPnYXs1p_WT5D_Dfn2PcWONs,6754
762
801
  meta_subject/constants.py,sha256=6rpHsHj3CPV7ntdWxYScRhPVoj4YIxX2lUZdZ9lrFN0,704
763
802
  meta_subject/identifiers.py,sha256=pBYvMFXK7N2oNDMJJM2xLCvk0NuzLzzm15VqQ2Cp7Og,325
764
803
  meta_subject/urls.py,sha256=v2fM0R9gvt8MWdZj9cRnYU8xvqecLK5b_8leYVEtYZI,206
@@ -815,7 +854,7 @@ meta_subject/form_validators/dm_endpoint_form_validator.py,sha256=XK7eZikVwBwSAe
815
854
  meta_subject/form_validators/dm_followup_form_validator.py,sha256=2ssfqmC8eKK0pwvi64dr0zOpioaNmJRtBtkj_YzTZY4,7962
816
855
  meta_subject/form_validators/egfr_drop_notification_form_validator.py,sha256=y5MUdRriMo8C2Qj_yzebDWsDkjQsFhcqTGrP8tBuhfA,530
817
856
  meta_subject/form_validators/followup_examination_form_validator.py,sha256=NS3Sa-bwC_HEe-CmezkFrbbjPanLe9p1v5ZOFspqgxg,4241
818
- meta_subject/form_validators/glucose_form_validator.py,sha256=ebtWmJo_0z8mlZzH377q4aTa9kY2R3CfCT5WtRxARb8,3371
857
+ meta_subject/form_validators/glucose_form_validator.py,sha256=Q3OydqNnIh6ucRqsiwakpdhNrz5GRsHJZEbbdbcM5pM,3986
819
858
  meta_subject/form_validators/health_economics_form_validator.py,sha256=kp-LQU4ydBXlnYFt-0xKuVSb8Y4irlhz9d_X8ppvWgE,250
820
859
  meta_subject/forms/__init__.py,sha256=LrGBLJ3Se3McgUOdcrDyTM4B7G8ChVCrxDq4DXiYDLE,1755
821
860
  meta_subject/forms/birth_outcomes_form.py,sha256=qqhZNQKiYk8C8CFebZTQB0hOm4ONrgkTG7hfuK7kW-o,374
@@ -841,7 +880,7 @@ meta_subject/forms/physical_exam_form.py,sha256=QgH1zAmYgp8Hi1tU-e68HaRRkZxf-6xG
841
880
  meta_subject/forms/pregnancy_update_form.py,sha256=BTiWPoQ-HYbZhW0Go2DSqYU_e51pmJ_UIxEdSNlzTwE,559
842
881
  meta_subject/forms/sf12_form.py,sha256=VDV4hyU9UckPX70isylfHWggcWZwiQfCWrpk9kGvxis,397
843
882
  meta_subject/forms/slider_widget.py,sha256=KOIyTfpl8yrcR9GZH4zrba8JUsVVEJME3AvrYiPHYJc,821
844
- meta_subject/forms/study_medication_form.py,sha256=at4ee0f5NNipYD15R_T8h3B7R9EH-H0V-co_B3n12WE,2969
883
+ meta_subject/forms/study_medication_form.py,sha256=KI-aFBQGZywwUUOlswTOiOrhR4jhOXfjTq7_SzZ3Y30,3104
845
884
  meta_subject/forms/subject_requisition_form.py,sha256=BWWk1njDTxenHAX1a-VHPgz9zAGTJxMNHtVsobO7Vqo,953
846
885
  meta_subject/forms/subject_visit_form.py,sha256=Zxyjb5-7wUmcLHD-M76ofuM8Vr92yzjvXqQ7GsB3U6o,1374
847
886
  meta_subject/forms/subject_visit_missed_form.py,sha256=Qrvo2A8836CspOKll_iN3a6U6ttzz1TFNbEbJRrg62g,2275
@@ -853,7 +892,7 @@ meta_subject/forms/blood_results/blood_results_hba1c_form.py,sha256=IoQSS8MnK8C9
853
892
  meta_subject/forms/blood_results/blood_results_ins_form.py,sha256=zKwobon8wRBrwpAMxonbXtR-Bg2wsJbcHraLjsqcAhY,722
854
893
  meta_subject/forms/blood_results/blood_results_lft_form.py,sha256=WKCGZXTk9ndlASymnKKIAo0rBtE9uoE_gzKsx19p-LQ,714
855
894
  meta_subject/forms/blood_results/blood_results_lipids_form.py,sha256=YcqETGjN1LH_kKTGVD0a-gW4z6X3PmM8z1xQmI0-Yfg,735
856
- meta_subject/forms/blood_results/blood_results_rft_form.py,sha256=y0pyR_Y2LTVhyVnf_VjpPAJhm2xDVuWwExhedfJrTYM,1362
895
+ meta_subject/forms/blood_results/blood_results_rft_form.py,sha256=UVVfDpwdUskiV6ut-cJdzec_jHamsBNdPajzJwZ3vdg,3459
857
896
  meta_subject/forms/diabetes/__init__.py,sha256=oOtxUWSSI4aZVk5BBSKV44SGMwpw7zKZGrAk-dljPSk,90
858
897
  meta_subject/forms/diabetes/dm_endpoint_form.py,sha256=ngmDqAauO_oLsTxEVtbT9-2jWFYYagSXAcBf66pT81I,349
859
898
  meta_subject/forms/diabetes/dm_followup_form.py,sha256=ToJwQ1NViZn_CX-0YUyLQ5SSiDayKpp6bb16NBp-cKU,828
@@ -1088,6 +1127,10 @@ meta_subject/migrations/0217_alter_historicalnextappointment_appt_datetime_and_m
1088
1127
  meta_subject/migrations/0218_alter_historicalnextappointment_appt_date_and_more.py,sha256=4YpEw1btk2G3wjx2SJKqTOEWymCTbd8iD640Ttpf-cs,1848
1089
1128
  meta_subject/migrations/0219_remove_historicalnextappointment_allow_create_interim_and_more.py,sha256=UCSUXzoa-TSqv7pPfZpg5jI1siKDFBXRknH6OFv0tL4,3476
1090
1129
  meta_subject/migrations/0220_historicalbloodresultsgludummy_bloodresultsgludummy.py,sha256=6TT5p5hQAhkL-vc3mo7xAAoZlQSoPAQ_KBTWNxYkr-0,34009
1130
+ meta_subject/migrations/0221_auto_20250402_1913.py,sha256=4quuKgAvnd-_yRhyC211x6bMsCCI7csioPJoImrVn24,1486
1131
+ meta_subject/migrations/0222_alter_historicalstudymedication_stock_codes_and_more.py,sha256=hxGQ5E2_DG8RmBeg7rRxtODsigUOZANop8GJYHPNVqg,1544
1132
+ meta_subject/migrations/0223_bloodresultsfbc_errors_bloodresultsgludummy_errors_and_more.py,sha256=twzCzmB230Fd2Os2WOkLHyodfWGgHPBYBkDas7lhG7A,2714
1133
+ meta_subject/migrations/0224_bloodresultsfbc_abnormal_summary_and_more.py,sha256=U_-nNqH6AHwGDoCEqogGZ9GMdPK92s_hCrJWVeUMyrY,5471
1091
1134
  meta_subject/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1092
1135
  meta_subject/model_mixins/__init__.py,sha256=6DdDDOwDdagrz6Q7X9lxuAVszsFWFhwPqLz4JOD85Wo,286
1093
1136
  meta_subject/model_mixins/arv_history_model_mixin.py,sha256=6ILacF2koyYmwZIFHmmQO1uIT1eWzrahXxhAlxpQiX0,2898
@@ -1152,7 +1195,7 @@ meta_subject/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuF
1152
1195
  meta_subject/tests/holidays.csv,sha256=Ywr5pK_caGUJMgRwLzjMeSEUuyEpUWyJE5aJkfbg3bg,539
1153
1196
  meta_subject/tests/urls.py,sha256=LBuQGFG4-omBramGVGmKFtRTQosQhZLx-vBvZipMujw,1109
1154
1197
  meta_subject/tests/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1155
- meta_subject/tests/tests/test_egfr.py,sha256=eBtt6--VDMfACcJLnL6RVz4xkJj7aUIiig1Z6HAbXgI,9994
1198
+ meta_subject/tests/tests/test_egfr.py,sha256=m4-9I3g5tue6Ed5ggI2EJwxagd009Gxxv7Ex09AfH-Q,9994
1156
1199
  meta_subject/tests/tests/test_fixes.py,sha256=2jOB0lcEonJft5rWEbrDEtGCuGLaaUN8zAj2qZjQwoU,2454
1157
1200
  meta_subject/tests/tests/test_followup.py,sha256=rembohm-ecEp9rGFdjc2CkvXGfYZ8A8BOX0MdBBZSF0,1871
1158
1201
  meta_subject/tests/tests/test_manager_order.py,sha256=wmVxMd85mJ6HGAL_3Z_mSp_mqeNQvK7MW_6mvQPDeO8,454
@@ -1195,9 +1238,7 @@ tests/etc/user-rsa-restricted-private.pem,sha256=CUcHW9bznWdmmASN00hCzvxFPAFl4N2
1195
1238
  tests/etc/user-rsa-restricted-public.pem,sha256=mt84djoL-uHw6Wc5SJh0zml6VzXulnf8eQSFg7-fheg,450
1196
1239
  tests/etc/user-salt-local.key,sha256=x5anBw9fvbHurczouT3CjrkWb_xs7Ypm1htIJsgiuiw,256
1197
1240
  tests/etc/user-salt-restricted.key,sha256=pxmpcfBRNB-4C6wTvHXz-9fOfJgKIFOjaAF8ZFfa4q4,256
1198
- meta_edc-1.0.6.dist-info/AUTHORS,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1199
- meta_edc-1.0.6.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
1200
- meta_edc-1.0.6.dist-info/METADATA,sha256=HTEzFFqxRxSuOkn_FSeehay0iNm1Uy1qwK_ypDcn0GY,43529
1201
- meta_edc-1.0.6.dist-info/WHEEL,sha256=52BFRY2Up02UkjOa29eZOS2VxUrpPORXg1pkohGGUS8,91
1202
- meta_edc-1.0.6.dist-info/top_level.txt,sha256=RkzjNXwRq2kg_uZ_1bDwPUntijSXoY2YBqtByDwvvrc,244
1203
- meta_edc-1.0.6.dist-info/RECORD,,
1241
+ meta_edc-1.1.0.dist-info/METADATA,sha256=y4ko2psjFD5hmV78bD3F57hp9ijr8ftfVDLjneZqm5I,43555
1242
+ meta_edc-1.1.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
1243
+ meta_edc-1.1.0.dist-info/top_level.txt,sha256=RkzjNXwRq2kg_uZ_1bDwPUntijSXoY2YBqtByDwvvrc,244
1244
+ meta_edc-1.1.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (76.0.0)
2
+ Generator: setuptools (80.9.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -0,0 +1,8 @@
1
+ Maintainers
2
+ ===========
3
+ - Erik van Widenfelt (`erikvw <https://github.com/erikvw>`__)
4
+
5
+ Authors
6
+ =======
7
+ - Erik van Widenfelt (`erikvw <https://github.com/erikvw>`_)
8
+ - Jonathan Willitts (`JonathanWillitts <https://github.com/JonathanWillitts>`_)
meta_labs/reportables.py CHANGED
@@ -1,16 +1,19 @@
1
- from edc_reportable import GRADE3, GRADE4, site_reportables
2
- from edc_reportable.grading_data.daids_july_2017 import chemistries, dummies, hematology
3
- from edc_reportable.normal_data.africa import normal_data
1
+ from edc_reportable.data import africa, daids_july_2017
4
2
 
5
3
  grading_data = {}
6
- grading_data.update(**dummies)
7
- grading_data.update(**chemistries)
8
- grading_data.update(**hematology)
4
+ grading_data.update(**daids_july_2017.dummies)
5
+ grading_data.update(**daids_july_2017.chemistries)
6
+ grading_data.update(**daids_july_2017.hematology)
9
7
 
10
- site_reportables.register(
11
- name="meta",
12
- normal_data=normal_data,
8
+ collection_name = "meta"
9
+ normal_data = africa.normal_data
10
+ reportable_grades = [3, 4]
11
+ reportable_grades_exceptions = {}
12
+
13
+ reference_range_options = dict(
14
+ collection_name=collection_name,
15
+ normal_data=africa.normal_data,
13
16
  grading_data=grading_data,
14
- reportable_grades=[GRADE3, GRADE4],
15
- reportable_grades_exceptions=None,
17
+ reportable_grades=reportable_grades,
18
+ reportable_grades_exceptions=reportable_grades_exceptions,
16
19
  )
@@ -1,16 +1,37 @@
1
- from tempfile import mkdtemp
2
-
3
1
  from django.test import TestCase
4
- from edc_reportable import ParserError, site_reportables
2
+ from edc_reportable.models import GradingData, NormalData, ReferenceRangeCollection
3
+ from edc_reportable.utils import load_reference_ranges
5
4
 
6
5
 
7
6
  class TestReportables(TestCase):
8
- def test(self):
9
- try:
10
- from meta_labs import reportables # noqa
11
- except ParserError:
12
- self.fail("ParserError unexpectedly raised.")
13
- self.assertIsNotNone(site_reportables.get("meta"))
14
- filename1, filename2 = site_reportables.to_csv("meta", path=mkdtemp())
15
- print(filename1)
16
- print(filename2)
7
+ def test_load_reference_ranges(self):
8
+
9
+ from meta_labs.reportables import (
10
+ collection_name,
11
+ grading_data,
12
+ normal_data,
13
+ reportable_grades,
14
+ reportable_grades_exceptions,
15
+ )
16
+
17
+ load_reference_ranges(
18
+ collection_name=collection_name,
19
+ grading_data=grading_data,
20
+ normal_data=normal_data,
21
+ reportable_grades=reportable_grades,
22
+ reportable_grades_exceptions=reportable_grades_exceptions,
23
+ )
24
+ self.assertTrue(ReferenceRangeCollection.objects.filter(name=collection_name).exists())
25
+ reference_range_collection = ReferenceRangeCollection.objects.get(name=collection_name)
26
+ self.assertEqual(
27
+ NormalData.objects.filter(
28
+ reference_range_collection=reference_range_collection
29
+ ).count(),
30
+ 82,
31
+ )
32
+ self.assertEqual(
33
+ GradingData.objects.filter(
34
+ reference_range_collection=reference_range_collection
35
+ ).count(),
36
+ 172,
37
+ )
@@ -0,0 +1,41 @@
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": null,
6
+ "id": "0",
7
+ "metadata": {},
8
+ "outputs": [],
9
+ "source": []
10
+ },
11
+ {
12
+ "cell_type": "code",
13
+ "execution_count": null,
14
+ "id": "1",
15
+ "metadata": {},
16
+ "outputs": [],
17
+ "source": []
18
+ }
19
+ ],
20
+ "metadata": {
21
+ "kernelspec": {
22
+ "display_name": "Python 3",
23
+ "language": "python",
24
+ "name": "python3"
25
+ },
26
+ "language_info": {
27
+ "codemirror_mode": {
28
+ "name": "ipython",
29
+ "version": 2
30
+ },
31
+ "file_extension": ".py",
32
+ "mimetype": "text/x-python",
33
+ "name": "python",
34
+ "nbconvert_exporter": "python",
35
+ "pygments_lexer": "ipython2",
36
+ "version": "2.7.6"
37
+ }
38
+ },
39
+ "nbformat": 4,
40
+ "nbformat_minor": 5
41
+ }
@@ -0,0 +1,37 @@
1
+ # Generated by Django 5.2.1 on 2025-06-02 18:20
2
+
3
+ from django.db import migrations, models
4
+
5
+
6
+ class Migration(migrations.Migration):
7
+
8
+ dependencies = [
9
+ ("meta_prn", "0062_alter_endofstudy_offstudy_reason_and_more"),
10
+ ]
11
+
12
+ operations = [
13
+ migrations.AddField(
14
+ model_name="historicaloffstudymedication",
15
+ name="singleton_field",
16
+ field=models.CharField(
17
+ db_index=True,
18
+ editable=False,
19
+ help_text="auto updated for unique constraint",
20
+ max_length=50,
21
+ null=True,
22
+ verbose_name="subject identifier",
23
+ ),
24
+ ),
25
+ migrations.AddField(
26
+ model_name="offstudymedication",
27
+ name="singleton_field",
28
+ field=models.CharField(
29
+ editable=False,
30
+ help_text="auto updated for unique constraint",
31
+ max_length=50,
32
+ null=True,
33
+ unique=True,
34
+ verbose_name="subject identifier",
35
+ ),
36
+ ),
37
+ ]
@@ -0,0 +1,18 @@
1
+ # Generated by Django 5.2.1 on 2025-06-02 18:43
2
+
3
+ from django.db import migrations
4
+ from django.db.models import F
5
+
6
+
7
+ def update_singeton_field(apps, schema_editor):
8
+ model_cls = apps.get_model("meta_prn.offstudymedication")
9
+ model_cls.objects.update(singleton_field=F("subject_identifier"))
10
+
11
+
12
+ class Migration(migrations.Migration):
13
+
14
+ dependencies = [
15
+ ("meta_prn", "0063_historicaloffstudymedication_singleton_field_and_more"),
16
+ ]
17
+
18
+ operations = [migrations.RunPython(update_singeton_field)]
@@ -32,6 +32,8 @@ from ..constants import CLINICAL_WITHDRAWAL, COMPLETED_FOLLOWUP_48
32
32
  # TODO: take off study meds but coninue followup (WITHDRAWAL)
33
33
  # TODO: follow on new schedule, if permanently off drug (Single 36m visit)
34
34
 
35
+ # TODO: add label for "End of followup as per protocol FEB2026"
36
+
35
37
 
36
38
  class EndOfStudy(ActionModelMixin, SiteModelMixin, OffstudyModelMixin, BaseUuidModel):
37
39
  action_name = END_OF_STUDY_ACTION
@@ -3,6 +3,7 @@ from edc_action_item.models import ActionModelMixin
3
3
  from edc_identifier.model_mixins import NonUniqueSubjectIdentifierFieldMixin
4
4
  from edc_model.models import BaseUuidModel
5
5
  from edc_pharmacy.models import Medication
6
+ from edc_prn.models import SingletonPrnModelMixin
6
7
  from edc_sites.model_mixins import SiteModelMixin
7
8
  from edc_utils import get_utcnow
8
9
 
@@ -16,6 +17,7 @@ class OffStudyMedication(
16
17
  NonUniqueSubjectIdentifierFieldMixin,
17
18
  SiteModelMixin,
18
19
  ActionModelMixin,
20
+ SingletonPrnModelMixin,
19
21
  BaseUuidModel,
20
22
  ):
21
23
  action_name = OFFSTUDY_MEDICATION_ACTION
@@ -0,0 +1,81 @@
1
+ # Generated by Django 6.0 on 2025-04-22 17:03
2
+
3
+ import django_db_views.migration_functions
4
+ import django_db_views.operations
5
+ from django.db import migrations
6
+
7
+
8
+ class Migration(migrations.Migration):
9
+
10
+ dependencies = [
11
+ ("meta_reports", "0053_rename_lastimpvisit_lastimprefill_and_more"),
12
+ ]
13
+
14
+ operations = [
15
+ django_db_views.operations.ViewRunPython(
16
+ code=django_db_views.migration_functions.ForwardViewMigration(
17
+ "select *, uuid() as id, now() as `created`, 'meta_reports.glucosesummaryview' as `report_model` from (SELECT v.subject_identifier, fbg_value, fbg_datetime, NULL AS `ogtt_value`, NULL AS `ogtt_datetime`, CASE WHEN fasting = 'fasting' THEN 'Yes' WHEN fasting = 'non_fasting' THEN 'No' ELSE fasting END AS `fasted`, fbg.site_id, v.visit_code, v.visit_code_sequence, v.appointment_id, eos.offstudy_datetime, fasting_duration_delta FROM meta_subject_glucosefbg AS fbg LEFT JOIN meta_subject_subjectvisit AS v ON v.id = fbg.subject_visit_id LEFT JOIN meta_prn_endofstudy AS eos ON v.subject_identifier = eos.subject_identifier UNION SELECT v.subject_identifier, fbg_value, fbg_datetime, ogtt_value, ogtt_datetime, CASE WHEN fasting = 'fasting' THEN 'Yes' WHEN fasting = 'non_fasting' THEN 'No' ELSE fasting END AS `fasted`, fbg.site_id, v.visit_code, v.visit_code_sequence, v.appointment_id, eos.offstudy_datetime, fasting_duration_delta FROM meta_subject_glucose AS fbg LEFT JOIN meta_subject_subjectvisit AS v ON v.id = fbg.subject_visit_id LEFT JOIN meta_prn_endofstudy AS eos ON v.subject_identifier = eos.subject_identifier) as A ORDER BY subject_identifier, site_id",
18
+ "meta_reports_glucosesummaryview",
19
+ engine="django.db.backends.mysql",
20
+ ),
21
+ reverse_code=django_db_views.migration_functions.BackwardViewMigration(
22
+ "", "meta_reports_glucosesummaryview", engine="django.db.backends.mysql"
23
+ ),
24
+ atomic=False,
25
+ ),
26
+ django_db_views.operations.ViewRunPython(
27
+ code=django_db_views.migration_functions.ForwardViewMigration(
28
+ "select *, get_random_uuid() as id, now() as created, 'meta_reports.glucosesummaryview' as report_model from (SELECT v.subject_identifier, fbg_value, fbg_datetime, NULL AS \"ogtt_value\", NULL AS \"ogtt_datetime\", CASE WHEN fasting = 'fasting' THEN 'Yes' WHEN fasting = 'non_fasting' THEN 'No' ELSE fasting END AS \"fasted\", fbg.site_id, v.visit_code, v.visit_code_sequence, v.appointment_id, eos.offstudy_datetime, fasting_duration_delta FROM meta_subject_glucosefbg AS fbg LEFT JOIN meta_subject_subjectvisit AS v ON v.id = fbg.subject_visit_id LEFT JOIN meta_prn_endofstudy AS eos ON v.subject_identifier = eos.subject_identifier UNION SELECT v.subject_identifier, fbg_value, fbg_datetime, ogtt_value, ogtt_datetime, CASE WHEN fasting = 'fasting' THEN 'Yes' WHEN fasting = 'non_fasting' THEN 'No' ELSE fasting END AS \"fasted\", fbg.site_id, v.visit_code, v.visit_code_sequence, v.appointment_id, eos.offstudy_datetime, fasting_duration_delta FROM meta_subject_glucose AS fbg LEFT JOIN meta_subject_subjectvisit AS v ON v.id = fbg.subject_visit_id LEFT JOIN meta_prn_endofstudy AS eos ON v.subject_identifier = eos.subject_identifier) as A ORDER BY subject_identifier, site_id",
29
+ "meta_reports_glucosesummaryview",
30
+ engine="django.db.backends.postgresql",
31
+ ),
32
+ reverse_code=django_db_views.migration_functions.BackwardViewMigration(
33
+ "", "meta_reports_glucosesummaryview", engine="django.db.backends.postgresql"
34
+ ),
35
+ atomic=False,
36
+ ),
37
+ django_db_views.operations.ViewRunPython(
38
+ code=django_db_views.migration_functions.ForwardViewMigration(
39
+ "select *, uuid() as id, datetime() as created, 'meta_reports.glucosesummaryview' as report_model from (SELECT v.subject_identifier, fbg_value, fbg_datetime, NULL AS \"ogtt_value\", NULL AS \"ogtt_datetime\", CASE WHEN fasting = 'fasting' THEN 'Yes' WHEN fasting = 'non_fasting' THEN 'No' ELSE fasting END AS \"fasted\", fbg.site_id, v.visit_code, v.visit_code_sequence, v.appointment_id, eos.offstudy_datetime, fasting_duration_delta FROM meta_subject_glucosefbg AS fbg LEFT JOIN meta_subject_subjectvisit AS v ON v.id = fbg.subject_visit_id LEFT JOIN meta_prn_endofstudy AS eos ON v.subject_identifier = eos.subject_identifier UNION SELECT v.subject_identifier, fbg_value, fbg_datetime, ogtt_value, ogtt_datetime, CASE WHEN fasting = 'fasting' THEN 'Yes' WHEN fasting = 'non_fasting' THEN 'No' ELSE fasting END AS \"fasted\", fbg.site_id, v.visit_code, v.visit_code_sequence, v.appointment_id, eos.offstudy_datetime, fasting_duration_delta FROM meta_subject_glucose AS fbg LEFT JOIN meta_subject_subjectvisit AS v ON v.id = fbg.subject_visit_id LEFT JOIN meta_prn_endofstudy AS eos ON v.subject_identifier = eos.subject_identifier) as A ORDER BY subject_identifier, site_id",
40
+ "meta_reports_glucosesummaryview",
41
+ engine="django.db.backends.sqlite3",
42
+ ),
43
+ reverse_code=django_db_views.migration_functions.BackwardViewMigration(
44
+ "", "meta_reports_glucosesummaryview", engine="django.db.backends.sqlite3"
45
+ ),
46
+ atomic=False,
47
+ ),
48
+ django_db_views.operations.ViewDropRunPython(
49
+ code=django_db_views.migration_functions.DropView(
50
+ "glucose_summary_view", engine="django.db.backends.mysql"
51
+ ),
52
+ reverse_code=django_db_views.migration_functions.BackwardViewMigration(
53
+ "select *, uuid() as id, now() as `created`, 'meta_reports.glucose_summary_view' as `report_model` from (SELECT v.subject_identifier, fbg_value, fbg_datetime, NULL AS `ogtt_value`, NULL AS `ogtt_datetime`, CASE WHEN fasting = 'fasting' THEN 'Yes' WHEN fasting = 'non_fasting' THEN 'No' ELSE fasting END AS `fasted`, fbg.site_id, v.visit_code, v.visit_code_sequence, v.appointment_id, eos.offstudy_datetime FROM meta_subject_glucosefbg AS fbg LEFT JOIN meta_subject_subjectvisit AS v ON v.id = fbg.subject_visit_id LEFT JOIN meta_prn_endofstudy AS eos ON v.subject_identifier = eos.subject_identifier UNION SELECT v.subject_identifier, fbg_value, fbg_datetime, ogtt_value, ogtt_datetime, CASE WHEN fasting = 'fasting' THEN 'Yes' WHEN fasting = 'non_fasting' THEN 'No' ELSE fasting END AS `fasted`, fbg.site_id, v.visit_code, v.visit_code_sequence, v.appointment_id, eos.offstudy_datetime FROM meta_subject_glucose AS fbg LEFT JOIN meta_subject_subjectvisit AS v ON v.id = fbg.subject_visit_id LEFT JOIN meta_prn_endofstudy AS eos ON v.subject_identifier = eos.subject_identifier) as A ORDER BY subject_identifier, site_id",
54
+ "glucose_summary_view",
55
+ engine="django.db.backends.mysql",
56
+ ),
57
+ atomic=False,
58
+ ),
59
+ django_db_views.operations.ViewDropRunPython(
60
+ code=django_db_views.migration_functions.DropView(
61
+ "glucose_summary_view", engine="django.db.backends.postgresql"
62
+ ),
63
+ reverse_code=django_db_views.migration_functions.BackwardViewMigration(
64
+ "select *, get_random_uuid() as id, now() as created, 'meta_reports.glucose_summary_view' as report_model from (SELECT v.subject_identifier, fbg_value, fbg_datetime, NULL AS \"ogtt_value\", NULL AS \"ogtt_datetime\", CASE WHEN fasting = 'fasting' THEN 'Yes' WHEN fasting = 'non_fasting' THEN 'No' ELSE fasting END AS \"fasted\", fbg.site_id, v.visit_code, v.visit_code_sequence, v.appointment_id, eos.offstudy_datetime FROM meta_subject_glucosefbg AS fbg LEFT JOIN meta_subject_subjectvisit AS v ON v.id = fbg.subject_visit_id LEFT JOIN meta_prn_endofstudy AS eos ON v.subject_identifier = eos.subject_identifier UNION SELECT v.subject_identifier, fbg_value, fbg_datetime, ogtt_value, ogtt_datetime, CASE WHEN fasting = 'fasting' THEN 'Yes' WHEN fasting = 'non_fasting' THEN 'No' ELSE fasting END AS \"fasted\", fbg.site_id, v.visit_code, v.visit_code_sequence, v.appointment_id, eos.offstudy_datetime FROM meta_subject_glucose AS fbg LEFT JOIN meta_subject_subjectvisit AS v ON v.id = fbg.subject_visit_id LEFT JOIN meta_prn_endofstudy AS eos ON v.subject_identifier = eos.subject_identifier) as A ORDER BY subject_identifier, site_id",
65
+ "glucose_summary_view",
66
+ engine="django.db.backends.postgresql",
67
+ ),
68
+ atomic=False,
69
+ ),
70
+ django_db_views.operations.ViewDropRunPython(
71
+ code=django_db_views.migration_functions.DropView(
72
+ "glucose_summary_view", engine="django.db.backends.sqlite3"
73
+ ),
74
+ reverse_code=django_db_views.migration_functions.BackwardViewMigration(
75
+ "select *, uuid() as id, datetime() as created, 'meta_reports.glucose_summary_view' as report_model from (SELECT v.subject_identifier, fbg_value, fbg_datetime, NULL AS \"ogtt_value\", NULL AS \"ogtt_datetime\", CASE WHEN fasting = 'fasting' THEN 'Yes' WHEN fasting = 'non_fasting' THEN 'No' ELSE fasting END AS \"fasted\", fbg.site_id, v.visit_code, v.visit_code_sequence, v.appointment_id, eos.offstudy_datetime FROM meta_subject_glucosefbg AS fbg LEFT JOIN meta_subject_subjectvisit AS v ON v.id = fbg.subject_visit_id LEFT JOIN meta_prn_endofstudy AS eos ON v.subject_identifier = eos.subject_identifier UNION SELECT v.subject_identifier, fbg_value, fbg_datetime, ogtt_value, ogtt_datetime, CASE WHEN fasting = 'fasting' THEN 'Yes' WHEN fasting = 'non_fasting' THEN 'No' ELSE fasting END AS \"fasted\", fbg.site_id, v.visit_code, v.visit_code_sequence, v.appointment_id, eos.offstudy_datetime FROM meta_subject_glucose AS fbg LEFT JOIN meta_subject_subjectvisit AS v ON v.id = fbg.subject_visit_id LEFT JOIN meta_prn_endofstudy AS eos ON v.subject_identifier = eos.subject_identifier) as A ORDER BY subject_identifier, site_id",
76
+ "glucose_summary_view",
77
+ engine="django.db.backends.sqlite3",
78
+ ),
79
+ atomic=False,
80
+ ),
81
+ ]
@@ -0,0 +1,17 @@
1
+ # Generated by Django 6.0 on 2025-04-22 19:14
2
+
3
+ from django.db import migrations
4
+
5
+
6
+ class Migration(migrations.Migration):
7
+
8
+ dependencies = [
9
+ ("meta_reports", "0054_auto_20250422_2003"),
10
+ ]
11
+
12
+ operations = [
13
+ migrations.AlterModelTable(
14
+ name="glucosesummary",
15
+ table="meta_reports_glucosesummaryview",
16
+ ),
17
+ ]