meta-edc 1.0.7__py3-none-any.whl → 1.1.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.
- meta_ae/action_items.py +10 -2
- meta_ae/baker_recipes.py +1 -2
- meta_ae/tests/tests/test_actions.py +1 -2
- meta_analytics/README.rst +1 -2
- meta_analytics/notebooks/anu.ipynb +95 -0
- meta_analytics/notebooks/appointment_planning.ipynb +329 -0
- meta_analytics/notebooks/arvs.ipynb +103 -0
- meta_analytics/notebooks/cleaning/consent_v1_ext.ipynb +227 -0
- meta_analytics/notebooks/cleaning/offschedule_eos.ipynb +353 -0
- meta_analytics/notebooks/dsmc/renal_dysfunction.ipynb +435 -0
- meta_analytics/notebooks/endpoints/meta_endpoints_by_date.ipynb +664 -0
- meta_analytics/notebooks/followup_examination.ipynb +141 -0
- meta_analytics/notebooks/hba1c.ipynb +136 -0
- meta_analytics/notebooks/hiv_regimens.ipynb +122 -118
- meta_analytics/notebooks/incidence.ipynb +232 -0
- meta_analytics/notebooks/liver.ipynb +389 -0
- meta_analytics/notebooks/magreth.ipynb +645 -0
- meta_analytics/notebooks/monitoring_report.ipynb +721 -448
- meta_analytics/notebooks/pharmacy.ipynb +405 -306
- meta_analytics/notebooks/pharmacy_stock_202410.ipynb +306 -0
- meta_analytics/notebooks/steering.ipynb +61 -0
- meta_analytics/notebooks/undiagnosed/meta3_screening_consort_chart.ipynb +1176 -0
- meta_analytics/notebooks/undiagnosed/meta3_screening_undiagnosed.ipynb +519 -0
- meta_analytics/notebooks/undiagnosed/meta_screening_table2.ipynb +964 -0
- meta_analytics/notebooks/undiagnosed/screen_undiagnosed_or.ipynb +296 -0
- meta_analytics/notebooks/undiagnosed/screening.ipynb +273 -0
- meta_analytics/notebooks/undiagnosed/screening2.ipynb +958 -0
- meta_analytics/notebooks/undiagnosed/screening_undiagnosed_20241002.ipynb +958 -0
- meta_analytics/notebooks/ven.ipynb +191 -0
- meta_analytics/notebooks/vitals.ipynb +263 -0
- meta_edc/settings/debug.py +3 -2
- meta_edc/urls.py +1 -0
- {meta_edc-1.0.7.dist-info → meta_edc-1.1.1.dist-info}/METADATA +3 -3
- {meta_edc-1.0.7.dist-info → meta_edc-1.1.1.dist-info}/RECORD +62 -35
- {meta_edc-1.0.7.dist-info → meta_edc-1.1.1.dist-info}/WHEEL +1 -1
- meta_labs/reportables.py +14 -11
- meta_labs/tests/test_reportables.py +33 -12
- meta_pharmacy/notebooks/pharmacy.ipynb +41 -0
- meta_prn/admin/offschedule_pregnancy_admin.py +3 -3
- meta_prn/admin/onschedule_dm_referral_admin.py +5 -5
- meta_prn/form_validators/end_of_study.py +2 -2
- meta_prn/migrations/0063_historicaloffstudymedication_singleton_field_and_more.py +37 -0
- meta_prn/migrations/0064_auto_20250602_2143.py +18 -0
- meta_prn/models/end_of_study.py +2 -0
- meta_prn/models/off_study_medication.py +2 -0
- meta_reports/admin/last_imp_refill_admin.py +3 -2
- meta_screening/eligibility/eligibility_part_three/base_eligibility_part_three.py +59 -47
- meta_screening/form_validators/screening_part_three.py +6 -1
- meta_screening/tests/meta_test_case_mixin.py +3 -0
- meta_screening/tests/tests/test_forms.py +9 -2
- meta_screening/tests/tests/test_screening_part_three.py +11 -14
- meta_subject/action_items.py +2 -3
- meta_subject/choices.py +2 -1
- meta_subject/form_validators/delivery_form_validator.py +1 -0
- meta_subject/forms/blood_results/blood_results_rft_form.py +60 -3
- meta_subject/forms/delivery_form.py +2 -0
- meta_subject/migrations/0223_bloodresultsfbc_errors_bloodresultsgludummy_errors_and_more.py +83 -0
- meta_subject/migrations/0224_bloodresultsfbc_abnormal_summary_and_more.py +153 -0
- meta_subject/tests/tests/test_egfr.py +5 -5
- meta_analytics/dataframes/enrolled/__init__.py +0 -0
- {meta_edc-1.0.7.dist-info → meta_edc-1.1.1.dist-info}/licenses/AUTHORS.rst +0 -0
- {meta_edc-1.0.7.dist-info → meta_edc-1.1.1.dist-info}/licenses/LICENSE +0 -0
- {meta_edc-1.0.7.dist-info → meta_edc-1.1.1.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=
|
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=
|
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,8 +80,8 @@ 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=
|
84
|
-
meta_analytics/README.rst,sha256=
|
83
|
+
meta_ae/tests/tests/test_actions.py,sha256=BrSbtCudm0ZZ8KGHA36exOx9mYfCslPk3JMRlcAOB8s,4879
|
84
|
+
meta_analytics/README.rst,sha256=TRjju_9l-FoV6YU9qBwlktJDjiK3yfvrSvMo7Rd4mc8,422
|
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
|
@@ -94,7 +94,6 @@ meta_analytics/dataframes/get_glucose_fbg_df.py,sha256=iVWHRDwUeSt1PuUBRgJOyZKIV
|
|
94
94
|
meta_analytics/dataframes/get_glucose_fbg_ogtt_df.py,sha256=ouRXlQKOws1CK38OgnKjGGEKf3sgG4e8Ktf9MP_SYzU,669
|
95
95
|
meta_analytics/dataframes/get_last_imp_visits_df.py,sha256=cScwy_nBGHg04_AYpjz_pTq13Q4iyb33SiKk6CltbyQ,3803
|
96
96
|
meta_analytics/dataframes/utils.py,sha256=NNJ2EZmpSXJqa7jCoNgqd4F3irQ_93ZsNnv6PPIm7S8,2383
|
97
|
-
meta_analytics/dataframes/enrolled/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
98
97
|
meta_analytics/dataframes/glucose_endpoints/__init__.py,sha256=a9RlAnFM0Z4AKw-WztBvnGMo3tLLe1dx3292A2n_CnA,107
|
99
98
|
meta_analytics/dataframes/glucose_endpoints/endpoint_by_date.py,sha256=4Qd3i9hfSSkn_El7QAjuJDUbzQ1LBpkmFw0rHSlBfG0,6531
|
100
99
|
meta_analytics/dataframes/glucose_endpoints/glucose_endpoints_by_date.py,sha256=Nr92PmfmaS_OPPp6hmK1OWZsOr3eQ5FMD5u_oDF8Ylk,13682
|
@@ -102,10 +101,33 @@ meta_analytics/dataframes/glucose_endpoints/utils.py,sha256=47DEQpj8HBSa-_TImW-5
|
|
102
101
|
meta_analytics/dataframes/screening/__init__.py,sha256=onGpmB4474gu_JcyRGdRy09YQyP2Np-mX-rYZTFdJoA,114
|
103
102
|
meta_analytics/dataframes/screening/get_glucose_tested_only_df.py,sha256=0oMJIsIJRjurfpPONuJ4Aoab1UJikezGe3lQNWRoOo4,660
|
104
103
|
meta_analytics/dataframes/screening/get_screening_df.py,sha256=t_xxr7YId3QsXbwjPpi7nIgkleKprmZSqAin2cuB2Vc,6273
|
105
|
-
meta_analytics/notebooks/
|
106
|
-
meta_analytics/notebooks/
|
107
|
-
meta_analytics/notebooks/
|
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=BySeKJZ7MQPGQ6vbNNXW5JBJyNmTfvP_c8JGjskUF5U,77415
|
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
|
108
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
|
109
131
|
meta_analytics/tables/__init__.py,sha256=mhESCt0Lq4RJU-lbQ5fVfIbXzrEsootGYp7EzQIqDBI,70
|
110
132
|
meta_analytics/tables/eligible.py,sha256=2q-SMbAsrBgOVc4Ttq5P3bpjsUKwP5hYhJBMgyH6GGI,3389
|
111
133
|
meta_analytics/tables/has_dm.py,sha256=W6pObFI7k2hpL46Q7t2QIfYDVfo7-PHJMdCv6Q5EUQk,1739
|
@@ -244,7 +266,7 @@ meta_edc/meta_version.py,sha256=8IASYGnr43t18oDhNAPNnQoKvFYVAUnPILl6a05HAoc,211
|
|
244
266
|
meta_edc/model_callers.py,sha256=PjQEW7Kp5HHcUMdmz7dvxg53HvGJHXUKr6QTd-4hsyE,1339
|
245
267
|
meta_edc/models.py,sha256=DLA-hDdFszAVNCe1sZqVoLmIXifFW0HeZsipP9D1Ic4,46
|
246
268
|
meta_edc/navbars.py,sha256=XOuo4QEUCBtabYpW0IorT4Hs6GtJgVk7NkB0H_Bb7Vs,1191
|
247
|
-
meta_edc/urls.py,sha256=
|
269
|
+
meta_edc/urls.py,sha256=vTpmCfcRTaYo_kv2zmuPMLh-EO5MlwzcKc2PV-0eWd8,3624
|
248
270
|
meta_edc/utils.py,sha256=FdGGHT0zCUM9FLovLanH_ultcxbVitCvvPAwq0U3yYc,342
|
249
271
|
meta_edc/wsgi.py,sha256=Ns9vu_jcEqpOLM5tb-hwVUh3ciInocrG3kUPAxh7nJg,165
|
250
272
|
meta_edc/wsgi_live.py,sha256=EprgdsDiEvNN033w6lUQHaS8Y3ntpPrWHDTOgZcjaCQ,164
|
@@ -254,7 +276,7 @@ meta_edc/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NM
|
|
254
276
|
meta_edc/management/commands/update_forms_reference.py,sha256=jvCU9YdMtp9wbmjqKQsB9gxNw4DcAP97sZD-kfIxOns,1071
|
255
277
|
meta_edc/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
256
278
|
meta_edc/settings/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
257
|
-
meta_edc/settings/debug.py,sha256=
|
279
|
+
meta_edc/settings/debug.py,sha256=O_GNmF2yOgs0v6PhctRjiBQK2F0gEoUaUUb7Dum8MJA,1297
|
258
280
|
meta_edc/settings/defaults.py,sha256=USh91oF6HKdUXWZ5xf5dDCwAYINSIdOPkgHCxDCsGP4,19633
|
259
281
|
meta_edc/settings/live.py,sha256=uLTlsIc3H6gdE_7pkL6vyOVa6V_74hnXFkiojqGFAYY,264
|
260
282
|
meta_edc/settings/logging.py,sha256=6qVUE37OMkf5rzwTmMq4krFsZ2jcyCpWdFtGih_Cs4U,1938
|
@@ -267,8 +289,8 @@ meta_edc/tests/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hS
|
|
267
289
|
meta_edc/tests/tests/test_endpoints.py,sha256=5FdIHTd1xhUIgQLBzMV-Ml3VoFrlBrLLUbNarme5raw,23541
|
268
290
|
meta_edc/views/__init__.py,sha256=TBXTih4Mpsg5Oh2jbyXqL9kH7bu3vWNRgVe93hvLCl8,32
|
269
291
|
meta_edc/views/home_view.py,sha256=BXydy77TcdcM0-R3S_uHI4DtfnLMIzPJMyqjFJZFSsA,916
|
270
|
-
meta_edc-1.
|
271
|
-
meta_edc-1.
|
292
|
+
meta_edc-1.1.1.dist-info/licenses/AUTHORS.rst,sha256=wL4KUOd7FAFThhkLAJxSLQ2BPzd3ikG9q0UVZr3BbLg,244
|
293
|
+
meta_edc-1.1.1.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
272
294
|
meta_export/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
273
295
|
meta_export/admin_site.py,sha256=CiKAf0gDFvBKVc-1VM6KwM905ayVZuiY1tgaTeUeCi0,167
|
274
296
|
meta_export/apps.py,sha256=3_5LB1MLtzfKekI2vT9Cm6puAx6t6AjtIfTTVdItdKg,226
|
@@ -280,10 +302,10 @@ meta_labs/lab_profiles.py,sha256=I3s07bzAQaRzNSAqBuprx6uIO048ovffL5gD28ZE2N0,957
|
|
280
302
|
meta_labs/labs.py,sha256=0mpfORDUsjxBeyJdEC5NiF4kQHSQTfKiQuMKZ9Svaqw,128
|
281
303
|
meta_labs/list_data.py,sha256=ZWvQ7ZuOgNZ8Cz-y5lzrAYCZC2HarlnlleFXdsI1P9c,477
|
282
304
|
meta_labs/processing_profiles.py,sha256=fRX72FOl2rsnOJYhgup5QacfGSXKtWqn2gD3Giz2GDA,500
|
283
|
-
meta_labs/reportables.py,sha256=
|
305
|
+
meta_labs/reportables.py,sha256=OX1rxiWKmsi7_ODxH1O8yBGgOq56HAaiG1XTEDGaOhM,586
|
284
306
|
meta_labs/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
285
307
|
meta_labs/tests/test_labs.py,sha256=49COK2X8F5kvwsIuuPaxBSzDo665J2ctd1DZzo-O4Cs,967
|
286
|
-
meta_labs/tests/test_reportables.py,sha256=
|
308
|
+
meta_labs/tests/test_reportables.py,sha256=nmNR7wumpkI84BqE3pCRqz7TuvprJXv9Kbtxs8P8U90,1302
|
287
309
|
meta_labs/tests/urls.py,sha256=_sVCnQeiAFRYKhxga3_DjoKj_4bgs1s2gjcynDiapvA,111
|
288
310
|
meta_lists/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
289
311
|
meta_lists/admin.py,sha256=g05vpXfVIEBVG03aiPD8Vn-AnR7gL60MbPJAfzsO6R8,2157
|
@@ -352,6 +374,7 @@ meta_pharmacy/models/label_data.py,sha256=dV8fpmJ6QpKidHVRfN3IdWEciEGQch8Q8jqJgq
|
|
352
374
|
meta_pharmacy/models/rx.py,sha256=cx0T9j2Vb-6tEotWA7ohsn2OGHnQpxiFQnu7__hx7Ts,379
|
353
375
|
meta_pharmacy/models/rx_label.py,sha256=iBqy3c-DvoPnw1g8BAVGQcY5OpI9Ie2YT78rYY0G7WM,1202
|
354
376
|
meta_pharmacy/models/substitutions.py,sha256=9FjjD4x66B8SxABZR5atan2S5uE4nJH0tn0ujB4xEbA,3071
|
377
|
+
meta_pharmacy/notebooks/pharmacy.ipynb,sha256=QK7Uaqr-3MbCmzaHq4PhTd4Xn4R3JLG3TjZZ3g5Cz3I,697
|
355
378
|
meta_pharmacy/utils/__init__.py,sha256=PiPRCZqgxPiudXWEvQmXOqFZMoj56NEiOeRuYEyE_9w,71
|
356
379
|
meta_pharmacy/utils/update_initial_pharmacy_data.py,sha256=Od0QL41unsDEGDBYsVCe8k-T3GpMae0DtHt61vz4sYM,4621
|
357
380
|
meta_prn/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -372,14 +395,14 @@ meta_prn/admin/off_study_medication_admin.py,sha256=pUc6vXvPuoAwTBxE24ztvqEOVSK4
|
|
372
395
|
meta_prn/admin/offschedule_admin.py,sha256=GzmBaCc09ehWZnE93cuzSqHZxUYvXj_Fg-eLi-1PqF0,1748
|
373
396
|
meta_prn/admin/offschedule_dm_referral_admin.py,sha256=wedIc1KtQ6l_NATXHeuuGX4dbyWsunSJ_X6-mX3w92I,1823
|
374
397
|
meta_prn/admin/offschedule_postnatal_admin.py,sha256=USGbZIFDuB1Wwu0t-avQg6dcTNiEvpQqvkBEdrZBYk4,1970
|
375
|
-
meta_prn/admin/offschedule_pregnancy_admin.py,sha256=
|
398
|
+
meta_prn/admin/offschedule_pregnancy_admin.py,sha256=NN9tfWe5uxK8NQr6CQgc9TwXHLfDvAMAz5E3IO1mt9c,2058
|
376
399
|
meta_prn/admin/onschedule_admin.py,sha256=GX4_wSqMDtQdB_x3nhodaDZ_E3d8kPPy-Yprpp6BJOk,1440
|
377
|
-
meta_prn/admin/onschedule_dm_referral_admin.py,sha256=
|
400
|
+
meta_prn/admin/onschedule_dm_referral_admin.py,sha256=9g7YOOYTOrRDHwzIm6uYH_nb3rJJEkEDsK6ZLlA0LHE,1480
|
378
401
|
meta_prn/admin/pregnancy_notification_admin.py,sha256=fIAbpU1QEVAGeewxc2xcRu7aipz0srjzRNxPv7ZZrR8,2284
|
379
402
|
meta_prn/admin/protocol_incident_admin.py,sha256=fTlYJAxsrPDB8skZc-_2DxKH21k_cG7UH7wCgnviBck,739
|
380
403
|
meta_prn/admin/subject_transfer_admin.py,sha256=YKViIZLAaAquiN5RO-V6lRoGP76bYwcb_EA5QTEeI2Y,723
|
381
404
|
meta_prn/form_validators/__init__.py,sha256=ROZbWrtQ4dLCwy-aeBcOh0mnYm12qFrvUWzV-BkGvTU,111
|
382
|
-
meta_prn/form_validators/end_of_study.py,sha256=
|
405
|
+
meta_prn/form_validators/end_of_study.py,sha256=Qovfk0MV2CU-J0jAe9hyCfSQVQ3uAIMKa92uTVvwZDY,13128
|
383
406
|
meta_prn/form_validators/protocol_incident.py,sha256=g28qDxXpb-RiE4szn-KHFA03GcaAp0VWJ5SD5f3NUp8,1068
|
384
407
|
meta_prn/forms/__init__.py,sha256=rQX_sPN77qzktlfH46qQNcZ1yV1WvKThm2c-jzangNQ,565
|
385
408
|
meta_prn/forms/dm_referral_form.py,sha256=TvJSzKyVXXCOHRw67_i3BP9yEjAwE2yT5H6Y9bLRddU,1350
|
@@ -454,12 +477,14 @@ meta_prn/migrations/0059_alter_historicaloffstudymedication_reason_and_more.py,s
|
|
454
477
|
meta_prn/migrations/0060_alter_onschedule_managers_and_more.py,sha256=zTlobJgliy-LuQ3z_BE_cwpdVddrvpHRvhDH4Hj64zY,1791
|
455
478
|
meta_prn/migrations/0061_auto_20250115_2025.py,sha256=u7F2GsXo-9pIN5z0VM1aXW_KoRjS82BaBqqj2xWwWzo,1937
|
456
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
|
457
482
|
meta_prn/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
458
483
|
meta_prn/models/__init__.py,sha256=l06P7L2_Aye2h2VmAyb1XRcIbQAOyxws08IMc8sIops,717
|
459
484
|
meta_prn/models/dm_referral.py,sha256=XyyB5ylcaMRCumGRFPlh2Op5VvT9ROJ1A9x5q55vUuc,1096
|
460
|
-
meta_prn/models/end_of_study.py,sha256=
|
485
|
+
meta_prn/models/end_of_study.py,sha256=wg2Y8Q_via6GozskaCzqkky_jOrtSLNek77-X2KLJME,5444
|
461
486
|
meta_prn/models/loss_to_followup.py,sha256=qo2RrK5cVC1wLE7DdE6rTCCtYn7iAMomov9IbSCFuWg,2397
|
462
|
-
meta_prn/models/off_study_medication.py,sha256=
|
487
|
+
meta_prn/models/off_study_medication.py,sha256=7PzUkyrBWTybTWcNMU5EioApbOoiIaUDnCiEcjgX-II,1779
|
463
488
|
meta_prn/models/offschedule.py,sha256=DjQvXteecXJOzN6ijdH36FCxXoR1halzxl9EliqQJk8,1717
|
464
489
|
meta_prn/models/onschedule.py,sha256=xAlKzvcM5VzVfzaayjUEvUSL6rsALQQSm9iFCs1rnWc,930
|
465
490
|
meta_prn/models/pregnancy_notification.py,sha256=HqRsonJ0F1nxLczVtgPkvGb7kWQOkJDz3w67jOxi5j4,3090
|
@@ -501,7 +526,7 @@ meta_reports/utils.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
501
526
|
meta_reports/admin/__init__.py,sha256=om3lFa4YxsZSNlYIi2sZv8li2irOMoSeBtOpPk4V3lk,488
|
502
527
|
meta_reports/admin/endpoints_admin.py,sha256=7wZCdC-D-QHI1bb_ucgyDZYlnYD7mWtcZpcH_LftkLs,514
|
503
528
|
meta_reports/admin/endpoints_all_admin.py,sha256=_czdezZf9fSjwZJmO-3HbmdXrXP6nk8-HdiweqUzPRE,476
|
504
|
-
meta_reports/admin/last_imp_refill_admin.py,sha256=
|
529
|
+
meta_reports/admin/last_imp_refill_admin.py,sha256=be8BEaUT9Ca5LkCdsPnGPsDeJyKm0brezBf9SDksPVc,6530
|
505
530
|
meta_reports/admin/list_filters.py,sha256=pByBzz9-qGwqBfdZFlByxJUZDTJQXOTWfNLjmK8KF00,870
|
506
531
|
meta_reports/admin/modeladmin_mixins.py,sha256=tEZYw0xNMfBvo2RLDrYfi_S9lbZU02dwtLxdRDZob4Q,3663
|
507
532
|
meta_reports/admin/dbviews/__init__.py,sha256=2yPu0SO7ZX9yjan0OS9izzws14YYoXcGXmZhwJhax1I,675
|
@@ -648,11 +673,11 @@ meta_screening/eligibility/eligibility.py,sha256=he-5p7hzUY0Apd98TSTUgzHSosgW6ff
|
|
648
673
|
meta_screening/eligibility/eligibility_part_one.py,sha256=5SMmVx17lUonfcItUepapJmZnbiF2dZ4WrwGllhoKl0,1769
|
649
674
|
meta_screening/eligibility/eligibility_part_two.py,sha256=xyCPn4wUQZu0uvBSpFSpSMsB_80IPI1PRC2wOQWB1Uk,1808
|
650
675
|
meta_screening/eligibility/eligibility_part_three/__init__.py,sha256=UfdNfJ7SW5wTvYo_0KUxn1KrlgjCwOmY539VXQvU-rE,79
|
651
|
-
meta_screening/eligibility/eligibility_part_three/base_eligibility_part_three.py,sha256
|
676
|
+
meta_screening/eligibility/eligibility_part_three/base_eligibility_part_three.py,sha256=vGloYoc6VhROst_idpwmULvik9mRPjAWo2Z3ZE2IxNk,6224
|
652
677
|
meta_screening/eligibility/eligibility_part_three/eligibility_part_three_phase_three.py,sha256=9YOPxMH8jdOeEljCNcNB_i2e69HJOnMLtPSkhCtRewo,4296
|
653
678
|
meta_screening/form_validators/__init__.py,sha256=42qN1LhCpXvgA0WhzmXfSVaESp9DaHnlQDrE0sjmo-A,308
|
654
679
|
meta_screening/form_validators/screening_part_one.py,sha256=-CCe24UPhgFusVOkWzGJZ1uMszqmePkKsfF0hN54y0A,1213
|
655
|
-
meta_screening/form_validators/screening_part_three.py,sha256=
|
680
|
+
meta_screening/form_validators/screening_part_three.py,sha256=6i_uoMMpVWZ0EElaM3dGELBOHLud09y2MoeQGugdklU,7815
|
656
681
|
meta_screening/form_validators/screening_part_two.py,sha256=ZR9ApZfhXDOfmwxqsX-UkaN4FXVMVHVzklVp3CxNg34,4738
|
657
682
|
meta_screening/form_validators/subject_refusal.py,sha256=QGIUkCobHEAlE1R1gDmPfAIlBBQqpzpIuArUkop8yDk,322
|
658
683
|
meta_screening/form_validators/subject_screening.py,sha256=F4m8CrhQW2O1AmdkuvlJRki39Ha_XYGyxczP2-TBE_A,309
|
@@ -746,12 +771,12 @@ meta_screening/models/subject_refusal.py,sha256=oLC9FKR1C01pwy5fEM_35itOYCDQZXmW
|
|
746
771
|
meta_screening/models/subject_screening.py,sha256=j-0U5zcErwEv0qYEn9ktaPiNfce-CFe67NpaYyX1lew,2269
|
747
772
|
meta_screening/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
748
773
|
meta_screening/tests/holidays.csv,sha256=Ywr5pK_caGUJMgRwLzjMeSEUuyEpUWyJE5aJkfbg3bg,539
|
749
|
-
meta_screening/tests/meta_test_case_mixin.py,sha256=
|
774
|
+
meta_screening/tests/meta_test_case_mixin.py,sha256=dBdYp1U9mW9J7ghrgchXOOWeZPhiVcQ09mV3GHbiors,8949
|
750
775
|
meta_screening/tests/options.py,sha256=VpRQWWPwlVUReFi4KHuJdHXTBCsWvR2IlHs4yTDxQVA,4097
|
751
776
|
meta_screening/tests/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
752
|
-
meta_screening/tests/tests/test_forms.py,sha256=
|
777
|
+
meta_screening/tests/tests/test_forms.py,sha256=wTR3fe4-v6L5sw_eApdcCn6xnu_I6Q6fpOIZlUVvcXA,16903
|
753
778
|
meta_screening/tests/tests/test_screening_part_one.py,sha256=EyG3SRVpR6-bFB0bn9UEA4hL8638e-Kx7K0_AeaBntE,4723
|
754
|
-
meta_screening/tests/tests/test_screening_part_three.py,sha256=
|
779
|
+
meta_screening/tests/tests/test_screening_part_three.py,sha256=OWzfonzIgl-g59oK33VCcRuUnjzDbd2uUKRv7XHNiyM,16739
|
755
780
|
meta_screening/tests/tests/test_screening_part_two.py,sha256=BjPJKwujqlKO-bHhMIS5OFAomInKm34fKjU6d-8QlTY,3126
|
756
781
|
meta_sites/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
757
782
|
meta_sites/apps.py,sha256=tFzSEULZZYXupXrO7B2RAh_N--joVS4E_UOykXoOKNA,278
|
@@ -768,11 +793,11 @@ meta_stats/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,
|
|
768
793
|
meta_stats/tests/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
769
794
|
meta_stats/tests/tests/test_incidence.py,sha256=Uxv05_xZ0hZKtTBDow3goRcQrK5644j9NQwyW9d_CX8,313
|
770
795
|
meta_subject/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
771
|
-
meta_subject/action_items.py,sha256=
|
796
|
+
meta_subject/action_items.py,sha256=lIEH3G2s9JpbJkxKULB4p2yy2HEg9fhGcde7kK5A108,6870
|
772
797
|
meta_subject/admin_site.py,sha256=fxUn5QKgo6wYUG18HW11kVrPqWvmWV2_PzKbgZQM4pU,169
|
773
798
|
meta_subject/apps.py,sha256=iAQ8lizUpKa4gJnCGkTsuRQPtGWmSjnshZn8rZUguO8,289
|
774
799
|
meta_subject/baker_recipes.py,sha256=C8ag5z5MRczzb3MkYGL37DccQg1FykiLgxepBlitlh0,2741
|
775
|
-
meta_subject/choices.py,sha256=
|
800
|
+
meta_subject/choices.py,sha256=lFseBsxliIRshCmqsIwdPnYXs1p_WT5D_Dfn2PcWONs,6754
|
776
801
|
meta_subject/constants.py,sha256=6rpHsHj3CPV7ntdWxYScRhPVoj4YIxX2lUZdZ9lrFN0,704
|
777
802
|
meta_subject/identifiers.py,sha256=pBYvMFXK7N2oNDMJJM2xLCvk0NuzLzzm15VqQ2Cp7Og,325
|
778
803
|
meta_subject/urls.py,sha256=v2fM0R9gvt8MWdZj9cRnYU8xvqecLK5b_8leYVEtYZI,206
|
@@ -824,7 +849,7 @@ meta_subject/admin/health_economics/health_economics_simple_admin.py,sha256=1pmg
|
|
824
849
|
meta_subject/admin/health_economics/health_economics_update_admin.py,sha256=MGGm_mLlU8wd61TCvlMv6HPeNe6EAlDm0Yx5aDtMXc0,3889
|
825
850
|
meta_subject/form_validators/__init__.py,sha256=8RXC_zbXN7Q11qxuDP0ZegNSvjsL5UDhO9tao1dbUgc,555
|
826
851
|
meta_subject/form_validators/birth_outcomes_form_validator.py,sha256=vujgXKIW4z8bJ536_9uBhETlbChhUvA3Rj5H8zR3UfI,349
|
827
|
-
meta_subject/form_validators/delivery_form_validator.py,sha256=
|
852
|
+
meta_subject/form_validators/delivery_form_validator.py,sha256=tZuTWjzPAIG3qsg_sEHR_qJSmVKY8DwiE0XM5Ba_sUg,3194
|
828
853
|
meta_subject/form_validators/dm_endpoint_form_validator.py,sha256=XK7eZikVwBwSAe0cB8TJPSsoljDIEonKwJ4WoESGr58,1513
|
829
854
|
meta_subject/form_validators/dm_followup_form_validator.py,sha256=2ssfqmC8eKK0pwvi64dr0zOpioaNmJRtBtkj_YzTZY4,7962
|
830
855
|
meta_subject/form_validators/egfr_drop_notification_form_validator.py,sha256=y5MUdRriMo8C2Qj_yzebDWsDkjQsFhcqTGrP8tBuhfA,530
|
@@ -835,7 +860,7 @@ meta_subject/forms/__init__.py,sha256=LrGBLJ3Se3McgUOdcrDyTM4B7G8ChVCrxDq4DXiYDL
|
|
835
860
|
meta_subject/forms/birth_outcomes_form.py,sha256=qqhZNQKiYk8C8CFebZTQB0hOm4ONrgkTG7hfuK7kW-o,374
|
836
861
|
meta_subject/forms/complications_glycemia_form.py,sha256=yTm3qRDJ1wPuukmpf0s0lg-oXi8fZ5Y7D7T9V-CsOXk,375
|
837
862
|
meta_subject/forms/concomitant_medication_form.py,sha256=eznM4YOSV0eSsc-qaQgkga76T76Oz6i8svyBaleW-gQ,375
|
838
|
-
meta_subject/forms/delivery_form.py,sha256=
|
863
|
+
meta_subject/forms/delivery_form.py,sha256=L4WZqWbo9gz_BzxSdckh3e0v6DojOSoygD2xEcT4P78,484
|
839
864
|
meta_subject/forms/egfr_drop_notification_form.py,sha256=qQ5Q1aeGqzohD5FjBto1ThMP8iS-aNrA7I_OMrtVZFA,507
|
840
865
|
meta_subject/forms/eq53d3l_form.py,sha256=EE67-CAIRNKZCKpmQolC8wgL5MMIjXlkn5SXe3XdhN0,508
|
841
866
|
meta_subject/forms/followup_examination_form.py,sha256=PATGiGn1AXmK1koXy1QjMvgn43KuZn7yyZIrA_8sPXk,502
|
@@ -867,7 +892,7 @@ meta_subject/forms/blood_results/blood_results_hba1c_form.py,sha256=IoQSS8MnK8C9
|
|
867
892
|
meta_subject/forms/blood_results/blood_results_ins_form.py,sha256=zKwobon8wRBrwpAMxonbXtR-Bg2wsJbcHraLjsqcAhY,722
|
868
893
|
meta_subject/forms/blood_results/blood_results_lft_form.py,sha256=WKCGZXTk9ndlASymnKKIAo0rBtE9uoE_gzKsx19p-LQ,714
|
869
894
|
meta_subject/forms/blood_results/blood_results_lipids_form.py,sha256=YcqETGjN1LH_kKTGVD0a-gW4z6X3PmM8z1xQmI0-Yfg,735
|
870
|
-
meta_subject/forms/blood_results/blood_results_rft_form.py,sha256=
|
895
|
+
meta_subject/forms/blood_results/blood_results_rft_form.py,sha256=UVVfDpwdUskiV6ut-cJdzec_jHamsBNdPajzJwZ3vdg,3459
|
871
896
|
meta_subject/forms/diabetes/__init__.py,sha256=oOtxUWSSI4aZVk5BBSKV44SGMwpw7zKZGrAk-dljPSk,90
|
872
897
|
meta_subject/forms/diabetes/dm_endpoint_form.py,sha256=ngmDqAauO_oLsTxEVtbT9-2jWFYYagSXAcBf66pT81I,349
|
873
898
|
meta_subject/forms/diabetes/dm_followup_form.py,sha256=ToJwQ1NViZn_CX-0YUyLQ5SSiDayKpp6bb16NBp-cKU,828
|
@@ -1104,6 +1129,8 @@ meta_subject/migrations/0219_remove_historicalnextappointment_allow_create_inter
|
|
1104
1129
|
meta_subject/migrations/0220_historicalbloodresultsgludummy_bloodresultsgludummy.py,sha256=6TT5p5hQAhkL-vc3mo7xAAoZlQSoPAQ_KBTWNxYkr-0,34009
|
1105
1130
|
meta_subject/migrations/0221_auto_20250402_1913.py,sha256=4quuKgAvnd-_yRhyC211x6bMsCCI7csioPJoImrVn24,1486
|
1106
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
|
1107
1134
|
meta_subject/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1108
1135
|
meta_subject/model_mixins/__init__.py,sha256=6DdDDOwDdagrz6Q7X9lxuAVszsFWFhwPqLz4JOD85Wo,286
|
1109
1136
|
meta_subject/model_mixins/arv_history_model_mixin.py,sha256=6ILacF2koyYmwZIFHmmQO1uIT1eWzrahXxhAlxpQiX0,2898
|
@@ -1168,7 +1195,7 @@ meta_subject/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuF
|
|
1168
1195
|
meta_subject/tests/holidays.csv,sha256=Ywr5pK_caGUJMgRwLzjMeSEUuyEpUWyJE5aJkfbg3bg,539
|
1169
1196
|
meta_subject/tests/urls.py,sha256=LBuQGFG4-omBramGVGmKFtRTQosQhZLx-vBvZipMujw,1109
|
1170
1197
|
meta_subject/tests/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1171
|
-
meta_subject/tests/tests/test_egfr.py,sha256=
|
1198
|
+
meta_subject/tests/tests/test_egfr.py,sha256=m4-9I3g5tue6Ed5ggI2EJwxagd009Gxxv7Ex09AfH-Q,9994
|
1172
1199
|
meta_subject/tests/tests/test_fixes.py,sha256=2jOB0lcEonJft5rWEbrDEtGCuGLaaUN8zAj2qZjQwoU,2454
|
1173
1200
|
meta_subject/tests/tests/test_followup.py,sha256=rembohm-ecEp9rGFdjc2CkvXGfYZ8A8BOX0MdBBZSF0,1871
|
1174
1201
|
meta_subject/tests/tests/test_manager_order.py,sha256=wmVxMd85mJ6HGAL_3Z_mSp_mqeNQvK7MW_6mvQPDeO8,454
|
@@ -1211,7 +1238,7 @@ tests/etc/user-rsa-restricted-private.pem,sha256=CUcHW9bznWdmmASN00hCzvxFPAFl4N2
|
|
1211
1238
|
tests/etc/user-rsa-restricted-public.pem,sha256=mt84djoL-uHw6Wc5SJh0zml6VzXulnf8eQSFg7-fheg,450
|
1212
1239
|
tests/etc/user-salt-local.key,sha256=x5anBw9fvbHurczouT3CjrkWb_xs7Ypm1htIJsgiuiw,256
|
1213
1240
|
tests/etc/user-salt-restricted.key,sha256=pxmpcfBRNB-4C6wTvHXz-9fOfJgKIFOjaAF8ZFfa4q4,256
|
1214
|
-
meta_edc-1.
|
1215
|
-
meta_edc-1.
|
1216
|
-
meta_edc-1.
|
1217
|
-
meta_edc-1.
|
1241
|
+
meta_edc-1.1.1.dist-info/METADATA,sha256=NSVmMjmtdVyk7EmWONAf7myJhOYoXrhcCtfsrkm1Q0w,43555
|
1242
|
+
meta_edc-1.1.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
1243
|
+
meta_edc-1.1.1.dist-info/top_level.txt,sha256=RkzjNXwRq2kg_uZ_1bDwPUntijSXoY2YBqtByDwvvrc,244
|
1244
|
+
meta_edc-1.1.1.dist-info/RECORD,,
|
meta_labs/reportables.py
CHANGED
@@ -1,16 +1,19 @@
|
|
1
|
-
from edc_reportable import
|
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
|
-
|
11
|
-
|
12
|
-
|
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=
|
15
|
-
reportable_grades_exceptions=
|
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
|
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
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
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
|
+
}
|
@@ -48,6 +48,6 @@ class OffSchedulePregnancyAdmin(
|
|
48
48
|
custom_fields = ("offschedule_datetime",)
|
49
49
|
return custom_fields + tuple(f for f in list_filter if f not in custom_fields)
|
50
50
|
|
51
|
-
def get_readonly_fields(self, request, obj=None) -> Tuple[str, ...]:
|
52
|
-
|
53
|
-
|
51
|
+
# def get_readonly_fields(self, request, obj=None) -> Tuple[str, ...]:
|
52
|
+
# custom_fields = ("subject_identifier", "offschedule_datetime")
|
53
|
+
# return tuple(set(super().get_readonly_fields(request, obj=obj) + custom_fields))
|
@@ -29,11 +29,11 @@ class OnScheduleDmReferralAdmin(
|
|
29
29
|
custom_fields = ("onschedule_datetime",)
|
30
30
|
return custom_fields + tuple(f for f in list_filter if f not in custom_fields)
|
31
31
|
|
32
|
-
def get_readonly_fields(self, request, obj=None) -> Tuple[str, ...]:
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
32
|
+
# def get_readonly_fields(self, request, obj=None) -> Tuple[str, ...]:
|
33
|
+
# return (
|
34
|
+
# "subject_identifier",
|
35
|
+
# "onschedule_datetime",
|
36
|
+
# )
|
37
37
|
|
38
38
|
def get_search_fields(self, request) -> Tuple[str, ...]:
|
39
39
|
return tuple(set(super().get_search_fields(request) + ("subject_identifier",)))
|
@@ -304,7 +304,7 @@ class EndOfStudyFormValidator(
|
|
304
304
|
transfer_model_cls = django_apps.get_model("meta_prn.subjecttransfer")
|
305
305
|
try:
|
306
306
|
obj = transfer_model_cls.objects.get(
|
307
|
-
|
307
|
+
subject_identifier=self.subject_identifier,
|
308
308
|
)
|
309
309
|
except ObjectDoesNotExist:
|
310
310
|
self.raise_validation_error(
|
@@ -317,7 +317,7 @@ class EndOfStudyFormValidator(
|
|
317
317
|
INVALID_ERROR,
|
318
318
|
)
|
319
319
|
else:
|
320
|
-
if obj.transfer_date
|
320
|
+
if obj.transfer_date != self.cleaned_data.get("transfer_date"):
|
321
321
|
dt = formatted_date(obj.transfer_date)
|
322
322
|
self.raise_validation_error(
|
323
323
|
{
|
@@ -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)]
|
meta_prn/models/end_of_study.py
CHANGED
@@ -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
|
@@ -13,6 +13,7 @@ from edc_qareports.modeladmin_mixins import QaReportModelAdminMixin
|
|
13
13
|
from edc_sites.admin import SiteModelAdminMixin
|
14
14
|
from edc_sites.admin.list_filters import SiteListFilter
|
15
15
|
from edc_utils import get_utcnow
|
16
|
+
from rangefilter.filters import DateRangeFilterBuilder
|
16
17
|
|
17
18
|
from meta_analytics.dataframes import get_last_imp_visits_df
|
18
19
|
|
@@ -101,8 +102,8 @@ class LastImpRefillAdmin(
|
|
101
102
|
]
|
102
103
|
|
103
104
|
list_filter = [
|
104
|
-
|
105
|
-
|
105
|
+
("imp_visit_date", DateRangeFilterBuilder()),
|
106
|
+
("next_appt_date", DateRangeFilterBuilder()),
|
106
107
|
"imp_visit_code",
|
107
108
|
"next_visit_code",
|
108
109
|
SiteListFilter,
|