meta-edc 1.0.5__py3-none-any.whl → 1.0.7__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/admin/modeladmin_mixins.py +0 -1
- meta_analytics/dataframes/__init__.py +3 -0
- meta_analytics/dataframes/constants.py +1 -1
- meta_analytics/dataframes/enrolled/__init__.py +0 -1
- meta_analytics/dataframes/get_eos_df.py +15 -2
- meta_analytics/dataframes/get_glucose_df.py +149 -0
- meta_analytics/dataframes/get_glucose_fbg_df.py +27 -0
- meta_analytics/dataframes/get_glucose_fbg_ogtt_df.py +22 -0
- meta_analytics/dataframes/glucose_endpoints/endpoint_by_date.py +106 -120
- meta_analytics/dataframes/glucose_endpoints/glucose_endpoints_by_date.py +36 -227
- meta_analytics/dataframes/utils.py +18 -4
- meta_analytics/notebooks/hiv_regimens.ipynb +425 -0
- meta_analytics/notebooks/monitoring_report.ipynb +1561 -0
- meta_analytics/notebooks/pharmacy.ipynb +971 -0
- meta_analytics/utils.py +81 -0
- {meta_edc-1.0.5.dist-info → meta_edc-1.0.7.dist-info}/METADATA +5 -4
- {meta_edc-1.0.5.dist-info → meta_edc-1.0.7.dist-info}/RECORD +41 -27
- {meta_edc-1.0.5.dist-info → meta_edc-1.0.7.dist-info}/WHEEL +1 -1
- meta_edc-1.0.7.dist-info/licenses/AUTHORS.rst +8 -0
- meta_prn/models/end_of_study.py +0 -2
- meta_prn/models/loss_to_followup.py +0 -2
- meta_prn/models/pregnancy_notification.py +0 -2
- meta_reports/migrations/0054_auto_20250422_2003.py +81 -0
- meta_reports/migrations/0055_alter_glucosesummary_table.py +17 -0
- meta_reports/migrations/0056_auto_20250422_2214.py +54 -0
- meta_reports/migrations/0057_auto_20250422_2224.py +54 -0
- meta_reports/migrations/0058_auto_20250422_2232.py +54 -0
- meta_reports/models/dbviews/glucose_summary/unmanaged_model.py +13 -1
- meta_reports/models/dbviews/glucose_summary/view_definition.py +8 -5
- meta_subject/form_validators/glucose_form_validator.py +16 -1
- meta_subject/forms/study_medication_form.py +5 -3
- meta_subject/migrations/0221_auto_20250402_1913.py +42 -0
- meta_subject/migrations/0222_alter_historicalstudymedication_stock_codes_and_more.py +46 -0
- meta_subject/models/blood_results/blood_results_hba1c.py +0 -1
- meta_subject/models/blood_results/blood_results_ins.py +0 -1
- meta_subject/models/blood_results/blood_results_lft.py +0 -1
- meta_subject/models/delivery.py +0 -2
- meta_subject/models/followup_examination.py +0 -2
- meta_analytics/dataframes/enrolled/get_glucose_df.py +0 -122
- /meta_edc-1.0.5.dist-info/AUTHORS → /meta_analytics/dataframes/glucose_endpoints/utils.py +0 -0
- {meta_edc-1.0.5.dist-info → meta_edc-1.0.7.dist-info/licenses}/LICENSE +0 -0
- {meta_edc-1.0.5.dist-info → meta_edc-1.0.7.dist-info}/top_level.txt +0 -0
meta_analytics/utils.py
ADDED
@@ -0,0 +1,81 @@
|
|
1
|
+
import pandas as pd
|
2
|
+
from great_tables import GT, html, loc, style
|
3
|
+
|
4
|
+
|
5
|
+
def df_as_great_table(
|
6
|
+
df_table: pd.DataFrame,
|
7
|
+
title=None,
|
8
|
+
subtitle=None,
|
9
|
+
):
|
10
|
+
"""Used by monitoring report"""
|
11
|
+
return (
|
12
|
+
GT(df_table)
|
13
|
+
.tab_header(title=html(f'<div class="table-header">{title}</div>'), subtitle=subtitle)
|
14
|
+
.cols_align(align="left", columns=[0, 1])
|
15
|
+
.cols_align(align="right", columns=list(range(2, len(df_table.columns))))
|
16
|
+
.opt_stylize(style=3)
|
17
|
+
.opt_row_striping(row_striping=True)
|
18
|
+
.opt_vertical_padding(scale=1.2)
|
19
|
+
.opt_horizontal_padding(scale=1.0)
|
20
|
+
.tab_options(
|
21
|
+
table_width="100%",
|
22
|
+
stub_background_color="snow",
|
23
|
+
row_group_border_bottom_style="hidden",
|
24
|
+
row_group_padding=0.5,
|
25
|
+
row_group_background_color="snow",
|
26
|
+
table_background_color="snow",
|
27
|
+
table_font_size=10,
|
28
|
+
)
|
29
|
+
.tab_style(
|
30
|
+
style=[style.fill(color="snow"), style.text(color="black")],
|
31
|
+
locations=loc.body(
|
32
|
+
columns=list(range(0, len(df_table.columns))),
|
33
|
+
rows=list(range(0, len(df_table))),
|
34
|
+
),
|
35
|
+
)
|
36
|
+
.tab_style(
|
37
|
+
style=[style.fill(color="lightgray"), style.text(color="black")],
|
38
|
+
locations=loc.body(
|
39
|
+
columns=[0],
|
40
|
+
rows=list(range(0, len(df_table))),
|
41
|
+
),
|
42
|
+
)
|
43
|
+
)
|
44
|
+
|
45
|
+
|
46
|
+
def df_as_great_table2(
|
47
|
+
df_table: pd.DataFrame,
|
48
|
+
title=None,
|
49
|
+
subtitle=None,
|
50
|
+
rowname_col: str | None = None,
|
51
|
+
groupname_col: str | None = None,
|
52
|
+
):
|
53
|
+
"""Used by monitoring report"""
|
54
|
+
rowname_col = rowname_col or "label"
|
55
|
+
groupname_col = groupname_col or "visit_code"
|
56
|
+
return (
|
57
|
+
GT(df_table, rowname_col=rowname_col, groupname_col=groupname_col)
|
58
|
+
.tab_header(title=html(f'<div class="table-header">{title}</div>'), subtitle=subtitle)
|
59
|
+
.cols_align(align="left", columns=[0, 1])
|
60
|
+
.cols_align(align="right", columns=list(range(2, len(df_table.columns))))
|
61
|
+
.opt_stylize(style=3)
|
62
|
+
.opt_row_striping(row_striping=True)
|
63
|
+
.opt_vertical_padding(scale=1.2)
|
64
|
+
.opt_horizontal_padding(scale=1.0)
|
65
|
+
.tab_options(
|
66
|
+
table_width="100%",
|
67
|
+
stub_background_color="snow",
|
68
|
+
row_group_border_bottom_style="hidden",
|
69
|
+
row_group_padding=0.5,
|
70
|
+
row_group_background_color="snow",
|
71
|
+
table_background_color="snow",
|
72
|
+
table_font_size=10,
|
73
|
+
)
|
74
|
+
.tab_style(
|
75
|
+
style=[style.fill(color="snow"), style.text(color="black")],
|
76
|
+
locations=loc.body(
|
77
|
+
columns=list(range(0, len(df_table.columns))),
|
78
|
+
rows=list(range(0, len(df_table))),
|
79
|
+
),
|
80
|
+
)
|
81
|
+
)
|
@@ -1,6 +1,6 @@
|
|
1
|
-
Metadata-Version: 2.
|
1
|
+
Metadata-Version: 2.4
|
2
2
|
Name: meta-edc
|
3
|
-
Version: 1.0.
|
3
|
+
Version: 1.0.7
|
4
4
|
Summary: META Trial EDC (http://www.isrctn.com/ISRCTN76157257)
|
5
5
|
Home-page: https://github.com/meta-trial/meta-edc
|
6
6
|
Author: Erik van Widenfelt
|
@@ -692,12 +692,13 @@ Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
|
|
692
692
|
Requires-Python: >=3.12
|
693
693
|
Description-Content-Type: text/x-rst
|
694
694
|
License-File: LICENSE
|
695
|
-
License-File: AUTHORS
|
696
|
-
Requires-Dist: edc==1.0.
|
695
|
+
License-File: AUTHORS.rst
|
696
|
+
Requires-Dist: edc==1.0.9
|
697
697
|
Requires-Dist: edc-microscopy
|
698
698
|
Requires-Dist: beautifulsoup4
|
699
699
|
Requires-Dist: celery[redis]
|
700
700
|
Requires-Dist: django-pylabels
|
701
|
+
Dynamic: license-file
|
701
702
|
|
702
703
|
|pypi| |actions| |codecov| |downloads|
|
703
704
|
|
@@ -18,7 +18,7 @@ meta_ae/admin/death_report_admin.py,sha256=GvLgWZgil0Yorl8GxaOZOFu_YU9l-CtQQhL03
|
|
18
18
|
meta_ae/admin/death_report_tmg_admin.py,sha256=iAYp1zgO96ioVHtUfAWw4PG_oLixTGbRpdszHlLjM0E,518
|
19
19
|
meta_ae/admin/death_report_tmg_second_admin.py,sha256=4_Qg8S4yKF4kwKOEB1zVwfn_dlUWnTIim0wXrvrtz-0,548
|
20
20
|
meta_ae/admin/hospitalization_admin.py,sha256=fk4i47ugp4Gg6CvW34l-LcRwM3JtAKg4MUs43rz5DzA,525
|
21
|
-
meta_ae/admin/modeladmin_mixins.py,sha256=
|
21
|
+
meta_ae/admin/modeladmin_mixins.py,sha256=1xr44vHHWHWtsz89wcoeXvEVwmHSz-6ClA53x90HwxA,4205
|
22
22
|
meta_ae/forms/__init__.py,sha256=nl3x6_c9Kmcn3hpTQ9DUdZT6vT9k7RBmYD_meOUc7jQ,492
|
23
23
|
meta_ae/forms/ae_followup_form.py,sha256=hnFlKLPWpJX172UF3C825hZMjM4NUeTI3b__AZt1MqU,298
|
24
24
|
meta_ae/forms/ae_initial_form.py,sha256=rmu4qx84df5Gpvx0ZPa39EtSGP7JR8nh9mztcsE9O4Q,292
|
@@ -85,19 +85,26 @@ 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/
|
89
|
-
meta_analytics/dataframes/
|
90
|
-
meta_analytics/dataframes/
|
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=
|
93
|
-
meta_analytics/dataframes/enrolled/__init__.py,sha256=
|
94
|
-
meta_analytics/dataframes/enrolled/get_glucose_df.py,sha256=L4gzszNjYzu-QmYu4gs1c7_Edcv7FgAjucihxHtANSY,5004
|
96
|
+
meta_analytics/dataframes/utils.py,sha256=NNJ2EZmpSXJqa7jCoNgqd4F3irQ_93ZsNnv6PPIm7S8,2383
|
97
|
+
meta_analytics/dataframes/enrolled/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
95
98
|
meta_analytics/dataframes/glucose_endpoints/__init__.py,sha256=a9RlAnFM0Z4AKw-WztBvnGMo3tLLe1dx3292A2n_CnA,107
|
96
|
-
meta_analytics/dataframes/glucose_endpoints/endpoint_by_date.py,sha256=
|
97
|
-
meta_analytics/dataframes/glucose_endpoints/glucose_endpoints_by_date.py,sha256=
|
99
|
+
meta_analytics/dataframes/glucose_endpoints/endpoint_by_date.py,sha256=4Qd3i9hfSSkn_El7QAjuJDUbzQ1LBpkmFw0rHSlBfG0,6531
|
100
|
+
meta_analytics/dataframes/glucose_endpoints/glucose_endpoints_by_date.py,sha256=Nr92PmfmaS_OPPp6hmK1OWZsOr3eQ5FMD5u_oDF8Ylk,13682
|
101
|
+
meta_analytics/dataframes/glucose_endpoints/utils.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
98
102
|
meta_analytics/dataframes/screening/__init__.py,sha256=onGpmB4474gu_JcyRGdRy09YQyP2Np-mX-rYZTFdJoA,114
|
99
103
|
meta_analytics/dataframes/screening/get_glucose_tested_only_df.py,sha256=0oMJIsIJRjurfpPONuJ4Aoab1UJikezGe3lQNWRoOo4,660
|
100
104
|
meta_analytics/dataframes/screening/get_screening_df.py,sha256=t_xxr7YId3QsXbwjPpi7nIgkleKprmZSqAin2cuB2Vc,6273
|
105
|
+
meta_analytics/notebooks/hiv_regimens.ipynb,sha256=wmwhZnbP1HkVbk8yaHzrLikpNAHHNCXvVBhdyN-8TJw,15231
|
106
|
+
meta_analytics/notebooks/monitoring_report.ipynb,sha256=wUbL6-ljGZFbbt87lU6AvnBB_RyNj10PB7BJO0WHeUU,66290
|
107
|
+
meta_analytics/notebooks/pharmacy.ipynb,sha256=3PKWRNjx-uDMrrpkQth368d9hdtKrYijvv5RJW2TgEw,32585
|
101
108
|
meta_analytics/notebooks/cleaning/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
102
109
|
meta_analytics/tables/__init__.py,sha256=mhESCt0Lq4RJU-lbQ5fVfIbXzrEsootGYp7EzQIqDBI,70
|
103
110
|
meta_analytics/tables/eligible.py,sha256=2q-SMbAsrBgOVc4Ttq5P3bpjsUKwP5hYhJBMgyH6GGI,3389
|
@@ -260,6 +267,8 @@ meta_edc/tests/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hS
|
|
260
267
|
meta_edc/tests/tests/test_endpoints.py,sha256=5FdIHTd1xhUIgQLBzMV-Ml3VoFrlBrLLUbNarme5raw,23541
|
261
268
|
meta_edc/views/__init__.py,sha256=TBXTih4Mpsg5Oh2jbyXqL9kH7bu3vWNRgVe93hvLCl8,32
|
262
269
|
meta_edc/views/home_view.py,sha256=BXydy77TcdcM0-R3S_uHI4DtfnLMIzPJMyqjFJZFSsA,916
|
270
|
+
meta_edc-1.0.7.dist-info/licenses/AUTHORS.rst,sha256=wL4KUOd7FAFThhkLAJxSLQ2BPzd3ikG9q0UVZr3BbLg,244
|
271
|
+
meta_edc-1.0.7.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
263
272
|
meta_export/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
264
273
|
meta_export/admin_site.py,sha256=CiKAf0gDFvBKVc-1VM6KwM905ayVZuiY1tgaTeUeCi0,167
|
265
274
|
meta_export/apps.py,sha256=3_5LB1MLtzfKekI2vT9Cm6puAx6t6AjtIfTTVdItdKg,226
|
@@ -448,12 +457,12 @@ meta_prn/migrations/0062_alter_endofstudy_offstudy_reason_and_more.py,sha256=L1Z
|
|
448
457
|
meta_prn/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
449
458
|
meta_prn/models/__init__.py,sha256=l06P7L2_Aye2h2VmAyb1XRcIbQAOyxws08IMc8sIops,717
|
450
459
|
meta_prn/models/dm_referral.py,sha256=XyyB5ylcaMRCumGRFPlh2Op5VvT9ROJ1A9x5q55vUuc,1096
|
451
|
-
meta_prn/models/end_of_study.py,sha256=
|
452
|
-
meta_prn/models/loss_to_followup.py,sha256=
|
460
|
+
meta_prn/models/end_of_study.py,sha256=3ZzuJfhZD5MONM8kS2nJQ7H76y2orqpGsVT3sT4O8uw,5379
|
461
|
+
meta_prn/models/loss_to_followup.py,sha256=qo2RrK5cVC1wLE7DdE6rTCCtYn7iAMomov9IbSCFuWg,2397
|
453
462
|
meta_prn/models/off_study_medication.py,sha256=qq8DadWCNvFOYLkx9VoDMyLnbuZiRGc7-gmPSb-QVFk,1701
|
454
463
|
meta_prn/models/offschedule.py,sha256=DjQvXteecXJOzN6ijdH36FCxXoR1halzxl9EliqQJk8,1717
|
455
464
|
meta_prn/models/onschedule.py,sha256=xAlKzvcM5VzVfzaayjUEvUSL6rsALQQSm9iFCs1rnWc,930
|
456
|
-
meta_prn/models/pregnancy_notification.py,sha256=
|
465
|
+
meta_prn/models/pregnancy_notification.py,sha256=HqRsonJ0F1nxLczVtgPkvGb7kWQOkJDz3w67jOxi5j4,3090
|
457
466
|
meta_prn/models/protocol_incident.py,sha256=9oTTFbATlNN7VY7qcxfcIk9DxYwL3CCFknzuze_VrOM,1089
|
458
467
|
meta_prn/models/signals.py,sha256=duIB07Ppg8fpFCoyaPJ_YpzGSacXU3hcEAG4TTRRMSc,3811
|
459
468
|
meta_prn/models/subject_transfer.py,sha256=U-Y4sSfOR95jvDpxwu51Am_TyImvAAHZ3T2ENvx3OSk,266
|
@@ -567,6 +576,11 @@ meta_reports/migrations/0050_alter_endpoints_created.py,sha256=nqNIgK_cek2gtEhop
|
|
567
576
|
meta_reports/migrations/0051_remove_endpoints_baseline_datetime_and_more.py,sha256=jq5N4un7QTCLe54WKJjfCL32X_QnyCiDRV3spwgseJI,1053
|
568
577
|
meta_reports/migrations/0052_lastimpvisit.py,sha256=MWQhY3-2RGjB8k-cuiEVbWxeYNL7QfbngyaWIGgEsU4,2231
|
569
578
|
meta_reports/migrations/0053_rename_lastimpvisit_lastimprefill_and_more.py,sha256=XYb3V0JQ0877DhaAaR0PxzPHdeBmmR_NQLJaGSzfHAI,887
|
579
|
+
meta_reports/migrations/0054_auto_20250422_2003.py,sha256=sMDsads7ydqAUmGRR6eaG0VwYTesAxDvw9RgUZ4O85E,10077
|
580
|
+
meta_reports/migrations/0055_alter_glucosesummary_table.py,sha256=q47-5ZSO8d5jUr76-iBAzGhwIo-6z_ZCPfNwKcAYE3U,363
|
581
|
+
meta_reports/migrations/0056_auto_20250422_2214.py,sha256=Tv1hp6K4GlSfUs-c7dzydPDtyihOtKUuPENNrUTzkx0,9138
|
582
|
+
meta_reports/migrations/0057_auto_20250422_2224.py,sha256=pGj-5Cr__ScaNtb8ROzm_4_Ke6jR8QlIIeXFAwiA5f8,9457
|
583
|
+
meta_reports/migrations/0058_auto_20250422_2232.py,sha256=SZ2RS5jUVhgnirgU2XAU-EIDtsbUWD1GDl5jg_hMTrc,9743
|
570
584
|
meta_reports/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
571
585
|
meta_reports/models/__init__.py,sha256=2F-4CS39Pu2LijF8ZkSn2nE3Lps3YEC9ZcBtNnmNXjI,423
|
572
586
|
meta_reports/models/endpoints.py,sha256=iMx8QIi_hLANIwZmAw1OJ_jPuDdml8s181Skh8UF9bM,901
|
@@ -575,8 +589,8 @@ meta_reports/models/last_imp_refill.py,sha256=LkJtsZU7fhem5O-OqsyN-qgGQm_IUGAYEp
|
|
575
589
|
meta_reports/models/dbviews/README,sha256=GdeboB7Xqb-Qo_rE1ondcxP8Ps93MIjLzCePQCePig0,686
|
576
590
|
meta_reports/models/dbviews/__init__.py,sha256=C5YGOKwVAexjWxLh5vl0m561TBMWDM_yAvIrwqG_M70,559
|
577
591
|
meta_reports/models/dbviews/glucose_summary/__init__.py,sha256=Tfgjso4TpxMCidAdRJp8g1Ykqqa43yWlQSotzAaORAo,93
|
578
|
-
meta_reports/models/dbviews/glucose_summary/unmanaged_model.py,sha256=
|
579
|
-
meta_reports/models/dbviews/glucose_summary/view_definition.py,sha256=
|
592
|
+
meta_reports/models/dbviews/glucose_summary/unmanaged_model.py,sha256=Z76vi6xCgLTq_QNeOPxzk3eRVZ3usTZdkZnoluI1GtU,1414
|
593
|
+
meta_reports/models/dbviews/glucose_summary/view_definition.py,sha256=mFv0Y6OQM6gwKRyNuTsJApeW6ehZmLNgtkaDVIIyuiQ,1735
|
580
594
|
meta_reports/models/dbviews/imp_substitutions/__init__.py,sha256=N0507JzoVRtNA9W9_RoiAQYEQZGdvP2U8P83ZJMeZxQ,46
|
581
595
|
meta_reports/models/dbviews/imp_substitutions/unmanaged_model.py,sha256=U3ZIggcWAokmeCFV6w-0TOwZQ6tjzH4ZGYwoqVPrd7M,1240
|
582
596
|
meta_reports/models/dbviews/imp_substitutions/view_definition.py,sha256=1t6znTYQJxM_-nTRjMgEY3T2L_ZDFvh2tw-zT8fmxQU,897
|
@@ -815,7 +829,7 @@ meta_subject/form_validators/dm_endpoint_form_validator.py,sha256=XK7eZikVwBwSAe
|
|
815
829
|
meta_subject/form_validators/dm_followup_form_validator.py,sha256=2ssfqmC8eKK0pwvi64dr0zOpioaNmJRtBtkj_YzTZY4,7962
|
816
830
|
meta_subject/form_validators/egfr_drop_notification_form_validator.py,sha256=y5MUdRriMo8C2Qj_yzebDWsDkjQsFhcqTGrP8tBuhfA,530
|
817
831
|
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=
|
832
|
+
meta_subject/form_validators/glucose_form_validator.py,sha256=Q3OydqNnIh6ucRqsiwakpdhNrz5GRsHJZEbbdbcM5pM,3986
|
819
833
|
meta_subject/form_validators/health_economics_form_validator.py,sha256=kp-LQU4ydBXlnYFt-0xKuVSb8Y4irlhz9d_X8ppvWgE,250
|
820
834
|
meta_subject/forms/__init__.py,sha256=LrGBLJ3Se3McgUOdcrDyTM4B7G8ChVCrxDq4DXiYDLE,1755
|
821
835
|
meta_subject/forms/birth_outcomes_form.py,sha256=qqhZNQKiYk8C8CFebZTQB0hOm4ONrgkTG7hfuK7kW-o,374
|
@@ -841,7 +855,7 @@ meta_subject/forms/physical_exam_form.py,sha256=QgH1zAmYgp8Hi1tU-e68HaRRkZxf-6xG
|
|
841
855
|
meta_subject/forms/pregnancy_update_form.py,sha256=BTiWPoQ-HYbZhW0Go2DSqYU_e51pmJ_UIxEdSNlzTwE,559
|
842
856
|
meta_subject/forms/sf12_form.py,sha256=VDV4hyU9UckPX70isylfHWggcWZwiQfCWrpk9kGvxis,397
|
843
857
|
meta_subject/forms/slider_widget.py,sha256=KOIyTfpl8yrcR9GZH4zrba8JUsVVEJME3AvrYiPHYJc,821
|
844
|
-
meta_subject/forms/study_medication_form.py,sha256=
|
858
|
+
meta_subject/forms/study_medication_form.py,sha256=KI-aFBQGZywwUUOlswTOiOrhR4jhOXfjTq7_SzZ3Y30,3104
|
845
859
|
meta_subject/forms/subject_requisition_form.py,sha256=BWWk1njDTxenHAX1a-VHPgz9zAGTJxMNHtVsobO7Vqo,953
|
846
860
|
meta_subject/forms/subject_visit_form.py,sha256=Zxyjb5-7wUmcLHD-M76ofuM8Vr92yzjvXqQ7GsB3U6o,1374
|
847
861
|
meta_subject/forms/subject_visit_missed_form.py,sha256=Qrvo2A8836CspOKll_iN3a6U6ttzz1TFNbEbJRrg62g,2275
|
@@ -1088,6 +1102,8 @@ meta_subject/migrations/0217_alter_historicalnextappointment_appt_datetime_and_m
|
|
1088
1102
|
meta_subject/migrations/0218_alter_historicalnextappointment_appt_date_and_more.py,sha256=4YpEw1btk2G3wjx2SJKqTOEWymCTbd8iD640Ttpf-cs,1848
|
1089
1103
|
meta_subject/migrations/0219_remove_historicalnextappointment_allow_create_interim_and_more.py,sha256=UCSUXzoa-TSqv7pPfZpg5jI1siKDFBXRknH6OFv0tL4,3476
|
1090
1104
|
meta_subject/migrations/0220_historicalbloodresultsgludummy_bloodresultsgludummy.py,sha256=6TT5p5hQAhkL-vc3mo7xAAoZlQSoPAQ_KBTWNxYkr-0,34009
|
1105
|
+
meta_subject/migrations/0221_auto_20250402_1913.py,sha256=4quuKgAvnd-_yRhyC211x6bMsCCI7csioPJoImrVn24,1486
|
1106
|
+
meta_subject/migrations/0222_alter_historicalstudymedication_stock_codes_and_more.py,sha256=hxGQ5E2_DG8RmBeg7rRxtODsigUOZANop8GJYHPNVqg,1544
|
1091
1107
|
meta_subject/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1092
1108
|
meta_subject/model_mixins/__init__.py,sha256=6DdDDOwDdagrz6Q7X9lxuAVszsFWFhwPqLz4JOD85Wo,286
|
1093
1109
|
meta_subject/model_mixins/arv_history_model_mixin.py,sha256=6ILacF2koyYmwZIFHmmQO1uIT1eWzrahXxhAlxpQiX0,2898
|
@@ -1100,11 +1116,11 @@ meta_subject/models/birth_outcomes.py,sha256=zikxatYZvL1qvnJ6JtVZ5aw8LCKLwQNXi6c
|
|
1100
1116
|
meta_subject/models/complications.py,sha256=lkUoM3wJ9GuCFkuBUVxbCRSWfl3UtiVNSoMmkPKQdzg,1849
|
1101
1117
|
meta_subject/models/complications_glycemia.py,sha256=2wHind-dDsPY5J4M0pUbRzjp72Brz990oDzCbF-V1CM,6056
|
1102
1118
|
meta_subject/models/concomitant_medication.py,sha256=4-ysyfwSyijpV4E20rJwSTz__kuz8a9dQ2vYjFlubmU,368
|
1103
|
-
meta_subject/models/delivery.py,sha256=
|
1119
|
+
meta_subject/models/delivery.py,sha256=yWgBkRcujUGq3hbIsa8emGb8Tuc0hVo1G8T1soyxtEY,5061
|
1104
1120
|
meta_subject/models/diet_and_lifestyle.py,sha256=m7RiK_2flzxstpTzPmcHGp2mk4pR_FZRaD66yHArQ2g,1063
|
1105
1121
|
meta_subject/models/egfr_drop_notification.py,sha256=LSA0s4klzQ69CwPDI_q89eQ49XbcBOQ-Q21IEyXdgOk,557
|
1106
1122
|
meta_subject/models/eq5d3l.py,sha256=itRrbfzL7Jsg9u7ml0SXwsw4nMoMcNyG0-YCD2VeXB0,291
|
1107
|
-
meta_subject/models/followup_examination.py,sha256=
|
1123
|
+
meta_subject/models/followup_examination.py,sha256=0etqpRpwPhyLLHMTOjNc98awEPHUpxrbcW_6n1JTC58,8077
|
1108
1124
|
meta_subject/models/followup_vitals.py,sha256=pBZt4xrw7eVUfHBRtotUh9orJdNjOGxSuNa6JeWQRqA,903
|
1109
1125
|
meta_subject/models/glucose.py,sha256=Jynmu6G86RMXytgaECkWd4aHxYzv4hgj5PYS9KV8mTE,2240
|
1110
1126
|
meta_subject/models/glucose_fbg.py,sha256=YFrB52ASpf3oSpdkxdGcw4lz6Wdxd5Y9oBdaS8HulBg,1579
|
@@ -1132,9 +1148,9 @@ meta_subject/models/urine_pregnancy.py,sha256=LVC4PonyoSbnMJJN0EVIZo7iCuBzm6-W6n
|
|
1132
1148
|
meta_subject/models/blood_results/__init__.py,sha256=ktxJOUM5PO3mXpLHxiSjt7Tmi5JACUbeCWjXhUK6qyU,344
|
1133
1149
|
meta_subject/models/blood_results/blood_results_fbc.py,sha256=kkOqCsqeIvCf2rw7vHGWMCEgo1_yiMDtTOi44aKtBro,1324
|
1134
1150
|
meta_subject/models/blood_results/blood_results_glu.py,sha256=QvIZjXWQ4qLfbGz5TbTIPHMJh2dtmi2kXTjVXP9xqYg,1029
|
1135
|
-
meta_subject/models/blood_results/blood_results_hba1c.py,sha256=
|
1136
|
-
meta_subject/models/blood_results/blood_results_ins.py,sha256=
|
1137
|
-
meta_subject/models/blood_results/blood_results_lft.py,sha256=
|
1151
|
+
meta_subject/models/blood_results/blood_results_hba1c.py,sha256=_5wNo3CCcHntSlQ3aUKV2Opg6bc_BfqH0lYWjCLCKAE,998
|
1152
|
+
meta_subject/models/blood_results/blood_results_ins.py,sha256=6zpKVm3blLsWp3P8cuzMnSECWfYrxFSmbLNnagVT-lI,1014
|
1153
|
+
meta_subject/models/blood_results/blood_results_lft.py,sha256=UJSzL8OtYd6cmhEQwPnPo3y4wXEyxvKNztWfRUvUDOg,1197
|
1138
1154
|
meta_subject/models/blood_results/blood_results_lipids.py,sha256=r0mJM_NwqtucwwlZoZQVFwI9Yf1SXWYDewxQMX5RI8U,1171
|
1139
1155
|
meta_subject/models/blood_results/blood_results_rft.py,sha256=QFwXCQ0mrfBAWHYGWjlYrNRzxX5a-80351Weu2xJtN4,1646
|
1140
1156
|
meta_subject/models/diabetes/__init__.py,sha256=d67PnZ0__BwYYosLc1f11Y0PzwKFKodt-hdrorzBRWg,72
|
@@ -1195,9 +1211,7 @@ tests/etc/user-rsa-restricted-private.pem,sha256=CUcHW9bznWdmmASN00hCzvxFPAFl4N2
|
|
1195
1211
|
tests/etc/user-rsa-restricted-public.pem,sha256=mt84djoL-uHw6Wc5SJh0zml6VzXulnf8eQSFg7-fheg,450
|
1196
1212
|
tests/etc/user-salt-local.key,sha256=x5anBw9fvbHurczouT3CjrkWb_xs7Ypm1htIJsgiuiw,256
|
1197
1213
|
tests/etc/user-salt-restricted.key,sha256=pxmpcfBRNB-4C6wTvHXz-9fOfJgKIFOjaAF8ZFfa4q4,256
|
1198
|
-
meta_edc-1.0.
|
1199
|
-
meta_edc-1.0.
|
1200
|
-
meta_edc-1.0.
|
1201
|
-
meta_edc-1.0.
|
1202
|
-
meta_edc-1.0.5.dist-info/top_level.txt,sha256=RkzjNXwRq2kg_uZ_1bDwPUntijSXoY2YBqtByDwvvrc,244
|
1203
|
-
meta_edc-1.0.5.dist-info/RECORD,,
|
1214
|
+
meta_edc-1.0.7.dist-info/METADATA,sha256=mIBIIbzD6U-aFyZ2rBrvnv60vNJM12xHlZa2-_avjFE,43555
|
1215
|
+
meta_edc-1.0.7.dist-info/WHEEL,sha256=ck4Vq1_RXyvS4Jt6SI0Vz6fyVs4GWg7AINwpsaGEgPE,91
|
1216
|
+
meta_edc-1.0.7.dist-info/top_level.txt,sha256=RkzjNXwRq2kg_uZ_1bDwPUntijSXoY2YBqtByDwvvrc,244
|
1217
|
+
meta_edc-1.0.7.dist-info/RECORD,,
|
meta_prn/models/end_of_study.py
CHANGED
@@ -36,8 +36,6 @@ from ..constants import CLINICAL_WITHDRAWAL, COMPLETED_FOLLOWUP_48
|
|
36
36
|
class EndOfStudy(ActionModelMixin, SiteModelMixin, OffstudyModelMixin, BaseUuidModel):
|
37
37
|
action_name = END_OF_STUDY_ACTION
|
38
38
|
|
39
|
-
tracking_identifier_prefix = "ST"
|
40
|
-
|
41
39
|
last_seen_date = models.DateField(
|
42
40
|
verbose_name="Date patient was last seen",
|
43
41
|
validators=[date_not_future],
|
@@ -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
|
+
]
|
@@ -0,0 +1,54 @@
|
|
1
|
+
# Generated by Django 6.0 on 2025-04-22 19:14
|
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", "0055_alter_glucosesummary_table"),
|
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, 'meta_subject.glucosefbg' AS source 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, 'meta_subject.glucose' AS source 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
|
+
"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",
|
23
|
+
"meta_reports_glucosesummaryview",
|
24
|
+
engine="django.db.backends.mysql",
|
25
|
+
),
|
26
|
+
atomic=False,
|
27
|
+
),
|
28
|
+
django_db_views.operations.ViewRunPython(
|
29
|
+
code=django_db_views.migration_functions.ForwardViewMigration(
|
30
|
+
"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, 'meta_subject.glucosefbg' AS source 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, 'meta_subject.glucose' AS source 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",
|
31
|
+
"meta_reports_glucosesummaryview",
|
32
|
+
engine="django.db.backends.postgresql",
|
33
|
+
),
|
34
|
+
reverse_code=django_db_views.migration_functions.BackwardViewMigration(
|
35
|
+
"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",
|
36
|
+
"meta_reports_glucosesummaryview",
|
37
|
+
engine="django.db.backends.postgresql",
|
38
|
+
),
|
39
|
+
atomic=False,
|
40
|
+
),
|
41
|
+
django_db_views.operations.ViewRunPython(
|
42
|
+
code=django_db_views.migration_functions.ForwardViewMigration(
|
43
|
+
"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, 'meta_subject.glucosefbg' AS source 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, 'meta_subject.glucose' AS source 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",
|
44
|
+
"meta_reports_glucosesummaryview",
|
45
|
+
engine="django.db.backends.sqlite3",
|
46
|
+
),
|
47
|
+
reverse_code=django_db_views.migration_functions.BackwardViewMigration(
|
48
|
+
"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",
|
49
|
+
"meta_reports_glucosesummaryview",
|
50
|
+
engine="django.db.backends.sqlite3",
|
51
|
+
),
|
52
|
+
atomic=False,
|
53
|
+
),
|
54
|
+
]
|
@@ -0,0 +1,54 @@
|
|
1
|
+
# Generated by Django 6.0 on 2025-04-22 19:24
|
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", "0056_auto_20250422_2214"),
|
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.report_datetime, v.appointment_id, eos.offstudy_datetime, fasting_duration_delta, 'meta_subject.glucosefbg' AS source 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.report_datetime, v.appointment_id, eos.offstudy_datetime, fasting_duration_delta, 'meta_subject.glucose' AS source 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
|
+
"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, 'meta_subject.glucosefbg' AS source 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, 'meta_subject.glucose' AS source 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",
|
23
|
+
"meta_reports_glucosesummaryview",
|
24
|
+
engine="django.db.backends.mysql",
|
25
|
+
),
|
26
|
+
atomic=False,
|
27
|
+
),
|
28
|
+
django_db_views.operations.ViewRunPython(
|
29
|
+
code=django_db_views.migration_functions.ForwardViewMigration(
|
30
|
+
"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.report_datetime, v.appointment_id, eos.offstudy_datetime, fasting_duration_delta, 'meta_subject.glucosefbg' AS source 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.report_datetime, v.appointment_id, eos.offstudy_datetime, fasting_duration_delta, 'meta_subject.glucose' AS source 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",
|
31
|
+
"meta_reports_glucosesummaryview",
|
32
|
+
engine="django.db.backends.postgresql",
|
33
|
+
),
|
34
|
+
reverse_code=django_db_views.migration_functions.BackwardViewMigration(
|
35
|
+
"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, 'meta_subject.glucosefbg' AS source 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, 'meta_subject.glucose' AS source 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",
|
36
|
+
"meta_reports_glucosesummaryview",
|
37
|
+
engine="django.db.backends.postgresql",
|
38
|
+
),
|
39
|
+
atomic=False,
|
40
|
+
),
|
41
|
+
django_db_views.operations.ViewRunPython(
|
42
|
+
code=django_db_views.migration_functions.ForwardViewMigration(
|
43
|
+
"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.report_datetime, v.appointment_id, eos.offstudy_datetime, fasting_duration_delta, 'meta_subject.glucosefbg' AS source 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.report_datetime, v.appointment_id, eos.offstudy_datetime, fasting_duration_delta, 'meta_subject.glucose' AS source 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",
|
44
|
+
"meta_reports_glucosesummaryview",
|
45
|
+
engine="django.db.backends.sqlite3",
|
46
|
+
),
|
47
|
+
reverse_code=django_db_views.migration_functions.BackwardViewMigration(
|
48
|
+
"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, 'meta_subject.glucosefbg' AS source 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, 'meta_subject.glucose' AS source 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",
|
49
|
+
"meta_reports_glucosesummaryview",
|
50
|
+
engine="django.db.backends.sqlite3",
|
51
|
+
),
|
52
|
+
atomic=False,
|
53
|
+
),
|
54
|
+
]
|