meta-edc 1.1.18__py3-none-any.whl → 1.2.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.
Potentially problematic release.
This version of meta-edc might be problematic. Click here for more details.
- meta_consent/migrations/0033_historicalsubjectconsentspfq_subjectconsentspfq.py +615 -0
- meta_consent/migrations/0034_remove_subjectconsentspfq_site_and_more.py +23 -0
- meta_consent/models/signals.py +13 -16
- meta_edc/settings/defaults.py +14 -10
- meta_edc/urls.py +1 -0
- {meta_edc-1.1.18.dist-info → meta_edc-1.2.0.dist-info}/METADATA +6 -5
- {meta_edc-1.1.18.dist-info → meta_edc-1.2.0.dist-info}/RECORD +24 -12
- meta_labs/list_data.py +2 -2
- meta_prn/baker_recipes.py +6 -6
- meta_prn/migrations/0069_alter_historicaloffstudymedication_singleton_field_and_more.py +37 -0
- meta_rando/migrations/0007_spfqlist.py +197 -0
- meta_rando/migrations/0008_delete_spfqlist.py +16 -0
- meta_rando/models/__init__.py +1 -0
- meta_rando/{models.py → models/randomization_list.py} +3 -3
- meta_subject/migrations/0228_bloodresultshba1c_hba1c_datetime_and_more.py +1 -6780
- meta_subject/migrations/0229_alter_glucosefbg_consent_model_and_more.py +1918 -0
- meta_subject/migrations/0230_alter_historicaldelivery_action_identifier_and_more.py +1733 -0
- meta_subject/migrations/0231_alter_historicalmedicationadherence_consent_model_and_more.py +2054 -0
- meta_subject/migrations/0232_alter_patienthistory_concomitant_conditions_and_more.py +1170 -0
- meta_subject/migrations/0233_historicalspfq_spfq.py +1066 -0
- meta_subject/migrations/0234_remove_spfq_site_remove_spfq_subject_visit_and_more.py +27 -0
- meta_subject/models/health_economics/health_economics_simple.py +2 -2
- {meta_edc-1.1.18.dist-info → meta_edc-1.2.0.dist-info}/WHEEL +0 -0
- {meta_edc-1.1.18.dist-info → meta_edc-1.2.0.dist-info}/licenses/LICENSE +0 -0
meta_edc/settings/defaults.py
CHANGED
|
@@ -38,7 +38,7 @@ if os.getenv("DJANGO_BASE_DIR"):
|
|
|
38
38
|
BASE_DIR = Path(os.getenv("DJANGO_BASE_DIR"))
|
|
39
39
|
else:
|
|
40
40
|
# when running from a repo
|
|
41
|
-
BASE_DIR = Path(__file__).resolve().parent.parent.parent
|
|
41
|
+
BASE_DIR = Path(__file__).resolve().parent.parent.parent.parent
|
|
42
42
|
|
|
43
43
|
if os.getenv("DJANGO_ENV_DIR"):
|
|
44
44
|
ENV_DIR = Path(os.getenv("DJANGO_ENV_DIR"))
|
|
@@ -54,6 +54,15 @@ else:
|
|
|
54
54
|
raise FileExistsError(f"Environment file does not exist. Got `{(ENV_DIR / '.env')}`")
|
|
55
55
|
env.read_env(ENV_DIR / ".env")
|
|
56
56
|
|
|
57
|
+
# django_revision
|
|
58
|
+
GIT_DIR = Path(env.str("EDC_REVISION_GIT_DIR", default=BASE_DIR))
|
|
59
|
+
|
|
60
|
+
# django_crypto_fields
|
|
61
|
+
KEY_PATH = env.str("DJANGO_KEY_FOLDER")
|
|
62
|
+
AUTO_CREATE_KEYS = env("DJANGO_AUTO_CREATE_KEYS")
|
|
63
|
+
|
|
64
|
+
EXPORT_FOLDER = env.str("DJANGO_EXPORT_FOLDER") or Path("~/").expanduser()
|
|
65
|
+
|
|
57
66
|
|
|
58
67
|
LOGGING_ENABLED = env("DJANGO_LOGGING_ENABLED")
|
|
59
68
|
if LOGGING_ENABLED:
|
|
@@ -188,6 +197,7 @@ INSTALLED_APPS = [
|
|
|
188
197
|
"meta_pharmacy.apps.AppConfig",
|
|
189
198
|
"meta_screening.apps.AppConfig",
|
|
190
199
|
"meta_sites.apps.AppConfig",
|
|
200
|
+
"meta_spfq.apps.AppConfig",
|
|
191
201
|
"meta_edc.apps.AppConfig",
|
|
192
202
|
"edc_appconfig.apps.AppConfig",
|
|
193
203
|
]
|
|
@@ -485,15 +495,6 @@ if TWILIO_ENABLED:
|
|
|
485
495
|
TWILIO_AUTH_TOKEN = env.str("TWILIO_AUTH_TOKEN")
|
|
486
496
|
TWILIO_SENDER = env.str("TWILIO_SENDER")
|
|
487
497
|
|
|
488
|
-
# django_revision
|
|
489
|
-
GIT_DIR = BASE_DIR.parent
|
|
490
|
-
|
|
491
|
-
# django_crypto_fields
|
|
492
|
-
KEY_PATH = env.str("DJANGO_KEY_FOLDER")
|
|
493
|
-
AUTO_CREATE_KEYS = env("DJANGO_AUTO_CREATE_KEYS")
|
|
494
|
-
|
|
495
|
-
EXPORT_FOLDER = env.str("DJANGO_EXPORT_FOLDER") or Path("~/").expanduser()
|
|
496
|
-
|
|
497
498
|
# django_simple_history
|
|
498
499
|
SIMPLE_HISTORY_ENFORCE_HISTORY_MODEL_PERMISSIONS = True
|
|
499
500
|
|
|
@@ -592,3 +593,6 @@ if "test" in sys.argv:
|
|
|
592
593
|
MIGRATION_MODULES = DisableMigrations()
|
|
593
594
|
PASSWORD_HASHERS = ("django.contrib.auth.hashers.MD5PasswordHasher",)
|
|
594
595
|
DEFAULT_FILE_STORAGE = "inmemorystorage.InMemoryStorage"
|
|
596
|
+
|
|
597
|
+
|
|
598
|
+
META_SPFQ_LIST_FILENAME = env.str("META_SPFQ_LIST_FILENAME")
|
meta_edc/urls.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: meta-edc
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.2.0
|
|
4
4
|
Summary: META Trial EDC (https://www.isrctn.com/ISRCTN76157257)
|
|
5
5
|
Keywords: django,clinicedc,META EDC,EDC,clinical trials,META Trial,ISRCTN76157257
|
|
6
6
|
Author: Erik van Widenfelt, Jonathan Willitts
|
|
@@ -15,12 +15,13 @@ Classifier: Intended Audience :: Science/Research
|
|
|
15
15
|
Classifier: Operating System :: OS Independent
|
|
16
16
|
Classifier: Programming Language :: Python :: 3.12
|
|
17
17
|
Classifier: Programming Language :: Python :: 3.13
|
|
18
|
-
Requires-Dist: clinicedc>=2.0.
|
|
18
|
+
Requires-Dist: clinicedc>=2.0.30
|
|
19
19
|
Requires-Dist: edc-he>=1.2.0
|
|
20
20
|
Requires-Dist: edc-microscopy>=1.2.0
|
|
21
21
|
Requires-Dist: edc-mnsi>=1.2.0
|
|
22
22
|
Requires-Dist: edc-phq9>=1.1.0
|
|
23
23
|
Requires-Dist: edc-qol>=1.2.0
|
|
24
|
+
Requires-Dist: notebook>=7.4.7
|
|
24
25
|
Requires-Python: >=3.12, <3.14
|
|
25
26
|
Description-Content-Type: text/x-rst
|
|
26
27
|
|
|
@@ -88,8 +89,8 @@ Assuming you are logged into the account ``myaccount``:
|
|
|
88
89
|
mkdir ~/edc && \
|
|
89
90
|
cd ~/edc && \
|
|
90
91
|
uv venv && \
|
|
91
|
-
uv pip install -U meta-edc==1.1.
|
|
92
|
-
wget https://raw.githubusercontent.com/meta-trial/meta-edc/1.1.
|
|
92
|
+
uv pip install -U meta-edc==1.1.19 && \
|
|
93
|
+
wget https://raw.githubusercontent.com/meta-trial/meta-edc/1.1.19/manage.py && \
|
|
93
94
|
uv pip freeze | grep meta-edc
|
|
94
95
|
|
|
95
96
|
Copy your ``.env`` file to ``~/.etc``.
|
|
@@ -139,7 +140,7 @@ From the above example:
|
|
|
139
140
|
|
|
140
141
|
cd ~/edc && \
|
|
141
142
|
uv venv --clear && \
|
|
142
|
-
uv pip install -U meta-edc==1.1.
|
|
143
|
+
uv pip install -U meta-edc==1.1.19 && \
|
|
143
144
|
wget -O manage.py https://raw.githubusercontent.com/meta-trial/meta-edc/1.1.10/manage.py && \
|
|
144
145
|
uv pip freeze | grep meta-edc && \
|
|
145
146
|
python manage.py check
|
|
@@ -166,10 +166,12 @@ meta_consent/migrations/0029_alter_historicalsubjectconsentv1ext_agrees_to_exten
|
|
|
166
166
|
meta_consent/migrations/0030_auto_20250120_2114.py,sha256=Unk3dddqbNTog5VZOmq-68oi_RshtT21wlNVqcSf5-U,1349
|
|
167
167
|
meta_consent/migrations/0031_alter_historicalsubjectconsent_guardian_name_and_more.py,sha256=a3-_1ls36Z8UXe3v2U44SqPVeNiCgUjJX6jOWsk1EoQ,5645
|
|
168
168
|
meta_consent/migrations/0032_alter_historicalsubjectconsent_device_created_and_more.py,sha256=Ty4I6TSHw_rHRKyrYQUMDuZmCSe9_rC4PMD8PM6EdB0,24682
|
|
169
|
+
meta_consent/migrations/0033_historicalsubjectconsentspfq_subjectconsentspfq.py,sha256=6GKEKT1BbPqqq2U2rHMQWl1VITtB3Inzl3aJGiy26ro,25192
|
|
170
|
+
meta_consent/migrations/0034_remove_subjectconsentspfq_site_and_more.py,sha256=RbTC6Oo2pOLYaOMkhPtdM612nyZwnOXdWVZ769WGF4o,546
|
|
169
171
|
meta_consent/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
170
172
|
meta_consent/models/__init__.py,sha256=qDfnpsbAP3hr5oKa80hkr5u9P2PN6KV8P5EMujfgt_8,465
|
|
171
173
|
meta_consent/models/model_mixins.py,sha256=mEN2gDycLKoZiExM2_H3Dxz8AMAwRSrCq4vu3afr5hA,275
|
|
172
|
-
meta_consent/models/signals.py,sha256=
|
|
174
|
+
meta_consent/models/signals.py,sha256=qjzBtnLR5qcOrn39sFrleUm6a9DG2yZnHGLnKQ-tLkc,5030
|
|
173
175
|
meta_consent/models/subject_consent.py,sha256=Ssr94mZijpseoer-APH0jhh54cLeoUI0TPUah3od91c,3804
|
|
174
176
|
meta_consent/models/subject_consent_v1.py,sha256=ELkFhv_6eRiuuoJOohdLwq3b2e2YXngK5omkGwMoRQE,457
|
|
175
177
|
meta_consent/models/subject_consent_v1_ext.py,sha256=MpK5TlUqf2JuYRpmRLzYBClOFstC_6pIGwDRUckIztU,1033
|
|
@@ -229,14 +231,14 @@ meta_edc/models.py,sha256=DLA-hDdFszAVNCe1sZqVoLmIXifFW0HeZsipP9D1Ic4,46
|
|
|
229
231
|
meta_edc/navbars.py,sha256=Rl2a62elRVTbkGVV9toYwwT388TE1BI7-1j1w2v1m-I,1208
|
|
230
232
|
meta_edc/settings/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
231
233
|
meta_edc/settings/debug.py,sha256=XfYEL34kzpyiXQkTil34-r-NVKhmxs_kVQP2u5XtfVE,1313
|
|
232
|
-
meta_edc/settings/defaults.py,sha256=
|
|
234
|
+
meta_edc/settings/defaults.py,sha256=lXN6DoEbUudUQSqJ1BJ8dVcAo4q-ZoEMxbnN8xkMSro,20381
|
|
233
235
|
meta_edc/settings/live.py,sha256=A4gDWiUIgcRDUWaT4oEOHkGmaeLRPNsr7MPrl0r8AuI,289
|
|
234
236
|
meta_edc/settings/logging.py,sha256=7RQ2guyuMhK3MtoojmnD0CVqiFZZ6ZT6zc7Rwn0nYGk,2115
|
|
235
237
|
meta_edc/settings/minimal.py,sha256=ZZM7hZ-3AH33nGpLJLbYgs50oa5meKv_aGShidnm9G0,511
|
|
236
238
|
meta_edc/settings/uat.py,sha256=kA6Aw2qDeh6gXNJgtiR93D0rWmBNHswcrufPk40RYhc,295
|
|
237
239
|
meta_edc/templates/meta_edc/base.html,sha256=SRsitjNhwDyPueJXm8gAyz9MsqDKFfhs50zl4dGBGsU,154
|
|
238
240
|
meta_edc/templates/meta_edc/home.html,sha256=EMdNWUw3NURSrC8xlKCkxuV0SxVLcmB8kyy2N6LgFLQ,4579
|
|
239
|
-
meta_edc/urls.py,sha256=
|
|
241
|
+
meta_edc/urls.py,sha256=XEqI0_flKCQO7_E8WQ_La_YhMnsx2c7N5mluAohEm1w,3681
|
|
240
242
|
meta_edc/utils.py,sha256=BX6KQNiygI17TftUx-08-b1K30Kooxg0Kg1E5Auys5s,367
|
|
241
243
|
meta_edc/views/__init__.py,sha256=8kC2jsMR87Hhtw86MHJD8hS_8k6ZqPSr9E4-dcRQmUM,56
|
|
242
244
|
meta_edc/views/home_view.py,sha256=BXydy77TcdcM0-R3S_uHI4DtfnLMIzPJMyqjFJZFSsA,916
|
|
@@ -252,7 +254,7 @@ meta_labs/aliquot_types.py,sha256=1tiBgZ6Dn8uxqJPukdcYtaTC0mK18n5RB_Swj3WyGH8,87
|
|
|
252
254
|
meta_labs/apps.py,sha256=KizTZ5y6jbPc87IrCyzVqi7DAwrKXrp1cKa3TmMwBfk,200
|
|
253
255
|
meta_labs/lab_profiles.py,sha256=I3s07bzAQaRzNSAqBuprx6uIO048ovffL5gD28ZE2N0,957
|
|
254
256
|
meta_labs/labs.py,sha256=0mpfORDUsjxBeyJdEC5NiF4kQHSQTfKiQuMKZ9Svaqw,128
|
|
255
|
-
meta_labs/list_data.py,sha256=
|
|
257
|
+
meta_labs/list_data.py,sha256=Cbu8yBpogDno1B10MtC8HCXLRbtxqUGjLxuAjUbyLYg,473
|
|
256
258
|
meta_labs/processing_profiles.py,sha256=fRX72FOl2rsnOJYhgup5QacfGSXKtWqn2gD3Giz2GDA,500
|
|
257
259
|
meta_labs/reportables.py,sha256=AgONHYWB7QsQ53ZsQOYcpgtV7Tl8yyt28GEkgjZ5lms,2204
|
|
258
260
|
meta_lists/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -342,7 +344,7 @@ meta_prn/admin/protocol_incident_admin.py,sha256=42XTm6Z9EyKtSXWnIep3DmYwibCtMHx
|
|
|
342
344
|
meta_prn/admin/subject_transfer_admin.py,sha256=ixYbel84vXwFuBaczTJBscpau3iMjHEzhpHvGRRXLD0,741
|
|
343
345
|
meta_prn/admin_site.py,sha256=E4dJ6ofu9Kp-1SIWIuY3PraVPbEJSWBBqhorJPGUNqU,161
|
|
344
346
|
meta_prn/apps.py,sha256=NEqrwzEW277BAPGeL1H1KdK9e74FqXfYHK6o46BtaJA,280
|
|
345
|
-
meta_prn/baker_recipes.py,sha256=
|
|
347
|
+
meta_prn/baker_recipes.py,sha256=MgTdr_2wawEMSQifsgXpP7LS_8va9HjlXXE2etpq8sM,715
|
|
346
348
|
meta_prn/choices.py,sha256=QmWGz2zpWIt5Uqa3QP_YC-Ky8eKYDPdA5R8vPsOP22Q,3318
|
|
347
349
|
meta_prn/constants.py,sha256=Z0atxRnTIj-_bWbfYY0vZIwfmbwaFRpSZqb1-K1B4Jo,1018
|
|
348
350
|
meta_prn/form_validators/__init__.py,sha256=bHMDsNInx7AEghhcU2_2Bmc5pgP_Y7p4fbklXiugjYQ,194
|
|
@@ -428,6 +430,7 @@ meta_prn/migrations/0065_alter_historicaloffstudymedication_subject_identifier_a
|
|
|
428
430
|
meta_prn/migrations/0066_alter_historicallosstofollowup_subject_identifier_and_more.py,sha256=hUTNf3oiIxJODNXXwjTeVZS-xEMBsCn3XyR2aPcfO7o,662
|
|
429
431
|
meta_prn/migrations/0067_alter_offschedule_managers_and_more.py,sha256=FgwTeEgMbvyH3G6C7p3O9jUcUf7aX0dOmTuULlpWHKU,95266
|
|
430
432
|
meta_prn/migrations/0068_alter_dmreferral_referral_note_and_more.py,sha256=CKbtUdAVA4r74WTHMh_lAh7Fm7YC23A0aPD0mWs59sU,8347
|
|
433
|
+
meta_prn/migrations/0069_alter_historicaloffstudymedication_singleton_field_and_more.py,sha256=oM6nxwAZOkJ0wjuNzVH-KrNEYUjLR97c1BTXY1lxab4,1085
|
|
431
434
|
meta_prn/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
432
435
|
meta_prn/models/__init__.py,sha256=RTi_GFeNhZEnB7_WR5bahlanI7BGR9rTC47TveoRrR4,1224
|
|
433
436
|
meta_prn/models/dm_referral.py,sha256=_5sVeT9A2mnmbkv2LvbTkS4G-QYPWqR5zMRGDAWCENA,1153
|
|
@@ -452,8 +455,11 @@ meta_rando/migrations/0003_auto_20220826_1640.py,sha256=J7x_wOMhSvUj9FvC9ZoT7Nek
|
|
|
452
455
|
meta_rando/migrations/0004_alter_randomizationlist_options_and_more.py,sha256=_UZa13k3D_gp6HLBSWqeW-aPnBhd5zaLZF3mQh2Gt6s,3572
|
|
453
456
|
meta_rando/migrations/0005_alter_randomizationlist_options_and_more.py,sha256=GBaNqwy4SlmQ88lYX2uEqAI0FIUQem-C8qJLI6d6SfI,3248
|
|
454
457
|
meta_rando/migrations/0006_alter_historicalrandomizationlist_allocated_user_and_more.py,sha256=XS6srUOHPAJWqsTLLPCHmcIKlOkEky95JrH1739gL2w,4584
|
|
458
|
+
meta_rando/migrations/0007_spfqlist.py,sha256=UbzXuvNy3EuapG0ZQktiEVOM3BVjLgeAmTqViAh9cKg,7276
|
|
459
|
+
meta_rando/migrations/0008_delete_spfqlist.py,sha256=hF6G6B5kMirD_W8xOCRe_IA2IIq2xkKEYcF5KTSgnSY,290
|
|
455
460
|
meta_rando/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
456
|
-
meta_rando/models.py,sha256=
|
|
461
|
+
meta_rando/models/__init__.py,sha256=Y723EYwgR2rCsy6GKK8uEh0V1-a3L1mr-n-vk6ZkQVs,50
|
|
462
|
+
meta_rando/models/randomization_list.py,sha256=IBj1kSui1tHNgZdVbHvgmunw9BwBZ4ZZnft98x1B-Gg,510
|
|
457
463
|
meta_rando/randomizers.py,sha256=GpsV3kkqd-HupfnQw6Y7R172ZpOEpIbmVkXOwsOf-HA,1592
|
|
458
464
|
meta_reports/__init__.py,sha256=huYR-GaImMWZqv6puEYfY7y_8m1OA_hRVXRYNBvNLkQ,80
|
|
459
465
|
meta_reports/admin/__init__.py,sha256=V-rlMJJZCgnDaMOwk5PgZNIclOp_FW2y9yc-iCLQFHA,910
|
|
@@ -1056,7 +1062,13 @@ meta_subject/migrations/0224_bloodresultsfbc_abnormal_summary_and_more.py,sha256
|
|
|
1056
1062
|
meta_subject/migrations/0225_followupvitals_waist_circumference_and_more.py,sha256=50t7cUy6s5phxdpRBV7zSnkb4igqZkjU3Bjl2lFEPEY,1451
|
|
1057
1063
|
meta_subject/migrations/0226_followupvitals_waist_circumference_comment_and_more.py,sha256=E8EsKrrGBubuGkALTAOErXZ8nozfEcF4N1Ikpx586x4,3751
|
|
1058
1064
|
meta_subject/migrations/0227_alter_followupvitals_waist_circumference_comment_and_more.py,sha256=FmBinQXVVdQ5lDcXcxHWcpoU17p6cUXypi9lq58CkEg,4051
|
|
1059
|
-
meta_subject/migrations/0228_bloodresultshba1c_hba1c_datetime_and_more.py,sha256=
|
|
1065
|
+
meta_subject/migrations/0228_bloodresultshba1c_hba1c_datetime_and_more.py,sha256=bJSV5-XmNsoaL4Mgms6xK7Oh95ZLyuZM-IoOWPZj4Vk,94333
|
|
1066
|
+
meta_subject/migrations/0229_alter_glucosefbg_consent_model_and_more.py,sha256=-qy4sAda3F5FQitmotXeYGccLGD8KdBKg7Q0l9P3ycY,73555
|
|
1067
|
+
meta_subject/migrations/0230_alter_historicaldelivery_action_identifier_and_more.py,sha256=_3uAfAPvYQirX9awt5Mcvas6RLaZNP9ojEIQ6twSS2w,66935
|
|
1068
|
+
meta_subject/migrations/0231_alter_historicalmedicationadherence_consent_model_and_more.py,sha256=LMY0vJ4utO36Zpk0uugU_KlXkv9bCG9-nf8oFsUuWII,78654
|
|
1069
|
+
meta_subject/migrations/0232_alter_patienthistory_concomitant_conditions_and_more.py,sha256=vX0wJmbLQSg7JYnvzAt3zA20bfPz1AnxNpodKAxdYhM,43686
|
|
1070
|
+
meta_subject/migrations/0233_historicalspfq_spfq.py,sha256=U8imocD_gtCGTC0zUNt6UZlqZYBUtUNB7cEdFxBbnjA,46072
|
|
1071
|
+
meta_subject/migrations/0234_remove_spfq_site_remove_spfq_subject_visit_and_more.py,sha256=s_1aOSihYNqca-oVYWxiC19joGtOgvB4nz0qtEqmdwQ,584
|
|
1060
1072
|
meta_subject/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1061
1073
|
meta_subject/model_mixins/__init__.py,sha256=fWZpFJ_Ex-TOJFjgSGjcrquKSCenCh_K9Hiy8QUg36o,439
|
|
1062
1074
|
meta_subject/model_mixins/arv_history_model_mixin.py,sha256=6ILacF2koyYmwZIFHmmQO1uIT1eWzrahXxhAlxpQiX0,2898
|
|
@@ -1091,7 +1103,7 @@ meta_subject/models/glucose_fbg.py,sha256=MzTPX1sVlp_ypqLmhsurVUV-Ks8XTIMHJy5MBj
|
|
|
1091
1103
|
meta_subject/models/glucose_review.py,sha256=bCnSBe_C3LeBy1XrZpV9rv-hOk8onZ_Tl37t7dqm-sw,450
|
|
1092
1104
|
meta_subject/models/health_economics/__init__.py,sha256=J557vTjzK1EvUAM4mx9zDVQ7Zr0W25stnWXz_zE2a-c,245
|
|
1093
1105
|
meta_subject/models/health_economics/health_economics.py,sha256=pjEbz3d6s-Cy2DEPZnGcd8KjFc27pVed9D6vr3eYLVg,9709
|
|
1094
|
-
meta_subject/models/health_economics/health_economics_simple.py,sha256=
|
|
1106
|
+
meta_subject/models/health_economics/health_economics_simple.py,sha256=w46TrjNvfk736IjtZ8lrN0H3is_ddGRUq8v6MgSqoBY,711
|
|
1095
1107
|
meta_subject/models/health_economics/health_economics_update.py,sha256=gzbu2lpVr9txwYUVfYKADgE0Om1YkNfrVPcwLczbNYc,3334
|
|
1096
1108
|
meta_subject/models/hepatitis_test.py,sha256=_jfDlR_spt7h4KGsMDxmobgAaToKiAZdLGIXCqfH60o,1852
|
|
1097
1109
|
meta_subject/models/malaria_test.py,sha256=4gQNBnvLDv70rjRcFBOpLPmYL8eeuqs0lRsJ7LrFqHM,343
|
|
@@ -1132,7 +1144,7 @@ meta_visit_schedule/visit_schedules/phase_three/schedule.py,sha256=LU1HRaV6o1UeK
|
|
|
1132
1144
|
meta_visit_schedule/visit_schedules/phase_three/schedule_dm_referral.py,sha256=q12p5wXc2D7lSiJVBnoSQw8Q3vL6uDx1t3PuDJO-Z-U,1735
|
|
1133
1145
|
meta_visit_schedule/visit_schedules/phase_three/schedule_pregnancy.py,sha256=bEpbpCX3vfZmnsqudr0z8PU5kiaX4ws1sO5Im98Mo28,1106
|
|
1134
1146
|
meta_visit_schedule/visit_schedules/phase_three/visit_schedule.py,sha256=ak4qazeKlpIlvpqrK9hDDO0fwWuWyvb4Ec-JU31IJxc,654
|
|
1135
|
-
meta_edc-1.
|
|
1136
|
-
meta_edc-1.
|
|
1137
|
-
meta_edc-1.
|
|
1138
|
-
meta_edc-1.
|
|
1147
|
+
meta_edc-1.2.0.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
|
1148
|
+
meta_edc-1.2.0.dist-info/WHEEL,sha256=-neZj6nU9KAMg2CnCY6T3w8J53nx1kFGw_9HfoSzM60,79
|
|
1149
|
+
meta_edc-1.2.0.dist-info/METADATA,sha256=DiyZTaq7ut9pqEqAuJEpkcWT5wPdZDm5Ug_uyZokP9E,5166
|
|
1150
|
+
meta_edc-1.2.0.dist-info/RECORD,,
|
meta_labs/list_data.py
CHANGED
|
@@ -6,11 +6,11 @@ model_data = {
|
|
|
6
6
|
"address": "NIMR Tanzania",
|
|
7
7
|
"postal_code": "-",
|
|
8
8
|
"city": "Dar es Salaam",
|
|
9
|
-
"state":
|
|
9
|
+
"state": "",
|
|
10
10
|
"country": "Tanzania",
|
|
11
11
|
"telephone": "+255763244779",
|
|
12
12
|
"mobile": "+255763244779",
|
|
13
|
-
"fax":
|
|
13
|
+
"fax": "",
|
|
14
14
|
"email": "sokoinele@yahoo.co.uk",
|
|
15
15
|
}
|
|
16
16
|
]
|
meta_prn/baker_recipes.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from dateutil.relativedelta import relativedelta
|
|
2
2
|
from django.utils import timezone
|
|
3
|
-
from edc_constants.constants import YES
|
|
3
|
+
from edc_constants.constants import NULL_STRING, YES
|
|
4
4
|
from faker import Faker
|
|
5
5
|
from model_bakery.recipe import Recipe
|
|
6
6
|
|
|
@@ -12,17 +12,17 @@ fake = Faker()
|
|
|
12
12
|
pregnancynotification = Recipe(
|
|
13
13
|
PregnancyNotification,
|
|
14
14
|
# site=None,
|
|
15
|
-
action_identifier=
|
|
16
|
-
subject_identifier=
|
|
15
|
+
action_identifier=NULL_STRING,
|
|
16
|
+
subject_identifier=NULL_STRING,
|
|
17
17
|
report_datetime=timezone.now(),
|
|
18
18
|
bhcg_confirmed=YES,
|
|
19
|
-
unconfirmed_details=
|
|
19
|
+
unconfirmed_details=NULL_STRING,
|
|
20
20
|
edd=timezone.now() + relativedelta(months=6),
|
|
21
21
|
)
|
|
22
22
|
|
|
23
23
|
dmreferral = Recipe(
|
|
24
24
|
DmReferral,
|
|
25
|
-
action_identifier=
|
|
26
|
-
subject_identifier=
|
|
25
|
+
action_identifier=NULL_STRING,
|
|
26
|
+
subject_identifier=NULL_STRING,
|
|
27
27
|
report_datetime=timezone.now(),
|
|
28
28
|
)
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Generated by Django 5.2.7 on 2025-10-01 14:33
|
|
2
|
+
|
|
3
|
+
from django.db import migrations, models
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class Migration(migrations.Migration):
|
|
7
|
+
|
|
8
|
+
dependencies = [
|
|
9
|
+
("meta_prn", "0068_alter_dmreferral_referral_note_and_more"),
|
|
10
|
+
]
|
|
11
|
+
|
|
12
|
+
operations = [
|
|
13
|
+
migrations.AlterField(
|
|
14
|
+
model_name="historicaloffstudymedication",
|
|
15
|
+
name="singleton_field",
|
|
16
|
+
field=models.CharField(
|
|
17
|
+
db_index=True,
|
|
18
|
+
default="",
|
|
19
|
+
editable=False,
|
|
20
|
+
help_text="auto updated for unique constraint",
|
|
21
|
+
max_length=50,
|
|
22
|
+
verbose_name="subject identifier",
|
|
23
|
+
),
|
|
24
|
+
),
|
|
25
|
+
migrations.AlterField(
|
|
26
|
+
model_name="offstudymedication",
|
|
27
|
+
name="singleton_field",
|
|
28
|
+
field=models.CharField(
|
|
29
|
+
default="",
|
|
30
|
+
editable=False,
|
|
31
|
+
help_text="auto updated for unique constraint",
|
|
32
|
+
max_length=50,
|
|
33
|
+
unique=True,
|
|
34
|
+
verbose_name="subject identifier",
|
|
35
|
+
),
|
|
36
|
+
),
|
|
37
|
+
]
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
# Generated by Django 5.2.6 on 2025-09-30 05:07
|
|
2
|
+
|
|
3
|
+
import _socket
|
|
4
|
+
import django.db.models.deletion
|
|
5
|
+
import django.db.models.manager
|
|
6
|
+
import django.utils.timezone
|
|
7
|
+
import django_audit_fields.fields.hostname_modification_field
|
|
8
|
+
import django_audit_fields.fields.userfield
|
|
9
|
+
import django_audit_fields.fields.uuid_auto_field
|
|
10
|
+
import django_revision.revision_field
|
|
11
|
+
import edc_sites.managers
|
|
12
|
+
from django.db import migrations, models
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class Migration(migrations.Migration):
|
|
16
|
+
|
|
17
|
+
dependencies = [
|
|
18
|
+
(
|
|
19
|
+
"meta_rando",
|
|
20
|
+
"0006_alter_historicalrandomizationlist_allocated_user_and_more",
|
|
21
|
+
),
|
|
22
|
+
("sites", "0002_alter_domain_unique"),
|
|
23
|
+
]
|
|
24
|
+
|
|
25
|
+
operations = [
|
|
26
|
+
migrations.CreateModel(
|
|
27
|
+
name="SpfqList",
|
|
28
|
+
fields=[
|
|
29
|
+
(
|
|
30
|
+
"revision",
|
|
31
|
+
django_revision.revision_field.RevisionField(
|
|
32
|
+
blank=True,
|
|
33
|
+
default="",
|
|
34
|
+
editable=False,
|
|
35
|
+
help_text="System field. From git repository (tag:branch:commit), project metadata, project toml, project VERSION, or settings.",
|
|
36
|
+
max_length=75,
|
|
37
|
+
verbose_name="Revision",
|
|
38
|
+
),
|
|
39
|
+
),
|
|
40
|
+
(
|
|
41
|
+
"created",
|
|
42
|
+
models.DateTimeField(blank=True, default=django.utils.timezone.now),
|
|
43
|
+
),
|
|
44
|
+
(
|
|
45
|
+
"modified",
|
|
46
|
+
models.DateTimeField(blank=True, default=django.utils.timezone.now),
|
|
47
|
+
),
|
|
48
|
+
(
|
|
49
|
+
"user_created",
|
|
50
|
+
django_audit_fields.fields.userfield.UserField(
|
|
51
|
+
blank=True,
|
|
52
|
+
default="",
|
|
53
|
+
help_text="Updated by admin.save_model",
|
|
54
|
+
max_length=50,
|
|
55
|
+
verbose_name="user created",
|
|
56
|
+
),
|
|
57
|
+
),
|
|
58
|
+
(
|
|
59
|
+
"user_modified",
|
|
60
|
+
django_audit_fields.fields.userfield.UserField(
|
|
61
|
+
blank=True,
|
|
62
|
+
default="",
|
|
63
|
+
help_text="Updated by admin.save_model",
|
|
64
|
+
max_length=50,
|
|
65
|
+
verbose_name="user modified",
|
|
66
|
+
),
|
|
67
|
+
),
|
|
68
|
+
(
|
|
69
|
+
"hostname_created",
|
|
70
|
+
models.CharField(
|
|
71
|
+
blank=True,
|
|
72
|
+
default=_socket.gethostname,
|
|
73
|
+
help_text="System field. (modified on create only)",
|
|
74
|
+
max_length=60,
|
|
75
|
+
verbose_name="Hostname created",
|
|
76
|
+
),
|
|
77
|
+
),
|
|
78
|
+
(
|
|
79
|
+
"hostname_modified",
|
|
80
|
+
django_audit_fields.fields.hostname_modification_field.HostnameModificationField(
|
|
81
|
+
blank=True,
|
|
82
|
+
default="",
|
|
83
|
+
help_text="System field. (modified on every save)",
|
|
84
|
+
max_length=50,
|
|
85
|
+
verbose_name="Hostname modified",
|
|
86
|
+
),
|
|
87
|
+
),
|
|
88
|
+
(
|
|
89
|
+
"device_created",
|
|
90
|
+
models.CharField(
|
|
91
|
+
blank=True,
|
|
92
|
+
default="",
|
|
93
|
+
max_length=10,
|
|
94
|
+
verbose_name="Device created",
|
|
95
|
+
),
|
|
96
|
+
),
|
|
97
|
+
(
|
|
98
|
+
"device_modified",
|
|
99
|
+
models.CharField(
|
|
100
|
+
blank=True,
|
|
101
|
+
default="",
|
|
102
|
+
max_length=10,
|
|
103
|
+
verbose_name="Device modified",
|
|
104
|
+
),
|
|
105
|
+
),
|
|
106
|
+
(
|
|
107
|
+
"locale_created",
|
|
108
|
+
models.CharField(
|
|
109
|
+
blank=True,
|
|
110
|
+
default="",
|
|
111
|
+
help_text="Auto-updated by Modeladmin",
|
|
112
|
+
max_length=10,
|
|
113
|
+
verbose_name="Locale created",
|
|
114
|
+
),
|
|
115
|
+
),
|
|
116
|
+
(
|
|
117
|
+
"locale_modified",
|
|
118
|
+
models.CharField(
|
|
119
|
+
blank=True,
|
|
120
|
+
default="",
|
|
121
|
+
help_text="Auto-updated by Modeladmin",
|
|
122
|
+
max_length=10,
|
|
123
|
+
verbose_name="Locale modified",
|
|
124
|
+
),
|
|
125
|
+
),
|
|
126
|
+
(
|
|
127
|
+
"id",
|
|
128
|
+
django_audit_fields.fields.uuid_auto_field.UUIDAutoField(
|
|
129
|
+
blank=True,
|
|
130
|
+
editable=False,
|
|
131
|
+
help_text="System auto field. UUID primary key.",
|
|
132
|
+
primary_key=True,
|
|
133
|
+
serialize=False,
|
|
134
|
+
),
|
|
135
|
+
),
|
|
136
|
+
("subject_identifier", models.CharField(max_length=50, unique=True)),
|
|
137
|
+
("sid", models.IntegerField(unique=True)),
|
|
138
|
+
("last_visit_code", models.CharField(max_length=25)),
|
|
139
|
+
("last_appt_datetime", models.DateTimeField()),
|
|
140
|
+
(
|
|
141
|
+
"gender",
|
|
142
|
+
models.CharField(
|
|
143
|
+
choices=[("M", "Male"), ("F", "Female")], max_length=10
|
|
144
|
+
),
|
|
145
|
+
),
|
|
146
|
+
(
|
|
147
|
+
"weight_bin",
|
|
148
|
+
models.CharField(
|
|
149
|
+
choices=[
|
|
150
|
+
("lt_35", "<35"),
|
|
151
|
+
("gte_35__lte_49", "35-49"),
|
|
152
|
+
("gte_50", ">=50"),
|
|
153
|
+
],
|
|
154
|
+
max_length=25,
|
|
155
|
+
),
|
|
156
|
+
),
|
|
157
|
+
("date_generated", models.DateTimeField()),
|
|
158
|
+
(
|
|
159
|
+
"site",
|
|
160
|
+
models.ForeignKey(
|
|
161
|
+
null=True,
|
|
162
|
+
on_delete=django.db.models.deletion.PROTECT,
|
|
163
|
+
related_name="+",
|
|
164
|
+
to="sites.site",
|
|
165
|
+
),
|
|
166
|
+
),
|
|
167
|
+
],
|
|
168
|
+
options={
|
|
169
|
+
"verbose_name": "SPFQ List",
|
|
170
|
+
"verbose_name_plural": "SPFQ List",
|
|
171
|
+
"abstract": False,
|
|
172
|
+
"default_permissions": (
|
|
173
|
+
"add",
|
|
174
|
+
"change",
|
|
175
|
+
"delete",
|
|
176
|
+
"view",
|
|
177
|
+
"export",
|
|
178
|
+
"import",
|
|
179
|
+
),
|
|
180
|
+
"default_manager_name": "objects",
|
|
181
|
+
"indexes": [
|
|
182
|
+
models.Index(
|
|
183
|
+
fields=["modified", "created"],
|
|
184
|
+
name="meta_rando__modifie_f4fcd8_idx",
|
|
185
|
+
),
|
|
186
|
+
models.Index(
|
|
187
|
+
fields=["user_modified", "user_created"],
|
|
188
|
+
name="meta_rando__user_mo_79b855_idx",
|
|
189
|
+
),
|
|
190
|
+
],
|
|
191
|
+
},
|
|
192
|
+
managers=[
|
|
193
|
+
("on_site", edc_sites.managers.CurrentSiteManager()),
|
|
194
|
+
("objects", django.db.models.manager.Manager()),
|
|
195
|
+
],
|
|
196
|
+
),
|
|
197
|
+
]
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Generated by Django 5.2.6 on 2025-09-30 22:50
|
|
2
|
+
|
|
3
|
+
from django.db import migrations
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class Migration(migrations.Migration):
|
|
7
|
+
|
|
8
|
+
dependencies = [
|
|
9
|
+
("meta_rando", "0007_spfqlist"),
|
|
10
|
+
]
|
|
11
|
+
|
|
12
|
+
operations = [
|
|
13
|
+
migrations.DeleteModel(
|
|
14
|
+
name="SpfqList",
|
|
15
|
+
),
|
|
16
|
+
]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
from .randomization_list import RandomizationList
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
from django.db import models
|
|
2
2
|
from edc_constants.choices import GENDER
|
|
3
|
-
from edc_model import
|
|
3
|
+
from edc_model.models import BaseUuidModel
|
|
4
4
|
from edc_randomization.model_mixins import RandomizationListModelMixin
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
class RandomizationList(RandomizationListModelMixin,
|
|
7
|
+
class RandomizationList(RandomizationListModelMixin, BaseUuidModel):
|
|
8
8
|
gender = models.CharField(max_length=25, choices=GENDER)
|
|
9
9
|
|
|
10
|
-
class Meta(RandomizationListModelMixin.Meta,
|
|
10
|
+
class Meta(RandomizationListModelMixin.Meta, BaseUuidModel.Meta):
|
|
11
11
|
verbose_name = "Randomization List (Phase Three)"
|
|
12
12
|
verbose_name_plural = "Randomization List (Phase Three)"
|