meta-edc 1.1.1__py3-none-any.whl → 1.1.2__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_analytics/dataframes/glucose_endpoints/glucose_endpoints_by_date.py +8 -0
- meta_analytics/notebooks/endpoints/meta_endpoints_by_date.ipynb +38 -46
- meta_analytics/notebooks/qa.ipynb +265 -0
- meta_consent/admin/actions/create_missing_prescriptions.py +1 -1
- meta_consent/admin/modeladmin_mixins.py +1 -1
- meta_consent/management/commands/create_missing_prescriptions.py +1 -1
- meta_consent/models/signals.py +1 -1
- meta_edc/settings/debug.py +2 -2
- {meta_edc-1.1.1.dist-info → meta_edc-1.1.2.dist-info}/METADATA +4 -4
- {meta_edc-1.1.1.dist-info → meta_edc-1.1.2.dist-info}/RECORD +21 -20
- meta_labs/tests/test_reportables.py +1 -1
- meta_reports/models/endpoints.py +3 -0
- meta_reports/tasks.py +3 -2
- meta_subject/management/commands/create_missing_rx.py +1 -1
- meta_subject/migrations/0107_auto_20220415_0043.py +1 -1
- meta_subject/models/signals.py +1 -1
- meta_subject/tests/tests/test_study_medication.py +1 -2
- {meta_edc-1.1.1.dist-info → meta_edc-1.1.2.dist-info}/WHEEL +0 -0
- {meta_edc-1.1.1.dist-info → meta_edc-1.1.2.dist-info}/licenses/AUTHORS.rst +0 -0
- {meta_edc-1.1.1.dist-info → meta_edc-1.1.2.dist-info}/licenses/LICENSE +0 -0
- {meta_edc-1.1.1.dist-info → meta_edc-1.1.2.dist-info}/top_level.txt +0 -0
@@ -304,6 +304,14 @@ class GlucoseEndpointsByDate:
|
|
304
304
|
model_cls = django_apps.get_model(model)
|
305
305
|
if self.subject_identifiers:
|
306
306
|
model_cls.objects.filter(subject_identifier__in=self.subject_identifiers).delete()
|
307
|
+
df = (
|
308
|
+
self.endpoint_only_df[
|
309
|
+
self.endpoint_only_df["subject_identifier"].isin(self.subject_identifiers)
|
310
|
+
]
|
311
|
+
.copy()
|
312
|
+
.sort_values(by=["subject_identifier"])
|
313
|
+
.reset_index(drop=True)
|
314
|
+
)
|
307
315
|
else:
|
308
316
|
model_cls.objects.all().delete()
|
309
317
|
created = 0
|
@@ -10,8 +10,10 @@
|
|
10
10
|
"%%capture\n",
|
11
11
|
"import os\n",
|
12
12
|
"from pathlib import Path\n",
|
13
|
+
"\n",
|
13
14
|
"import pandas as pd\n",
|
14
15
|
"from dj_notebook import activate\n",
|
16
|
+
"\n",
|
15
17
|
"env_file = os.environ[\"META_ENV\"]\n",
|
16
18
|
"reports_folder = Path(os.environ[\"META_REPORTS_FOLDER\"])\n",
|
17
19
|
"analysis_folder = Path(os.environ[\"META_ANALYSIS_FOLDER\"])\n",
|
@@ -29,13 +31,13 @@
|
|
29
31
|
"source": [
|
30
32
|
"import numpy as np\n",
|
31
33
|
"import io\n",
|
32
|
-
"import msoffcrypto\n",
|
34
|
+
"# import msoffcrypto\n",
|
33
35
|
"import mempass\n",
|
34
36
|
"\n",
|
35
37
|
"from datetime import datetime\n",
|
36
38
|
"from edc_appointment.constants import ONTIME_APPT, NEW_APPT, CANCELLED_APPT, MISSED_APPT\n",
|
37
39
|
"from edc_pdutils.dataframes import get_crf, get_subject_visit\n",
|
38
|
-
"from tabulate import tabulate\n",
|
40
|
+
"# from tabulate import tabulate\n",
|
39
41
|
"from meta_analytics.dataframes import get_glucose_fbg_ogtt_df, get_glucose_fbg_df\n",
|
40
42
|
"from meta_analytics.dataframes import GlucoseEndpointsByDate\n",
|
41
43
|
"from meta_analytics.dataframes import get_glucose_df\n",
|
@@ -78,16 +80,6 @@
|
|
78
80
|
"id": "5",
|
79
81
|
"metadata": {},
|
80
82
|
"outputs": [],
|
81
|
-
"source": [
|
82
|
-
"cls.endpoint_only_df"
|
83
|
-
]
|
84
|
-
},
|
85
|
-
{
|
86
|
-
"cell_type": "code",
|
87
|
-
"execution_count": null,
|
88
|
-
"id": "6",
|
89
|
-
"metadata": {},
|
90
|
-
"outputs": [],
|
91
83
|
"source": [
|
92
84
|
"df_glu = get_glucose_df()\n",
|
93
85
|
"df_glu.query(\"subject_identifier=='105-40-0379-1'\")\n",
|
@@ -100,7 +92,7 @@
|
|
100
92
|
{
|
101
93
|
"cell_type": "code",
|
102
94
|
"execution_count": null,
|
103
|
-
"id": "
|
95
|
+
"id": "6",
|
104
96
|
"metadata": {},
|
105
97
|
"outputs": [],
|
106
98
|
"source": [
|
@@ -110,7 +102,7 @@
|
|
110
102
|
{
|
111
103
|
"cell_type": "code",
|
112
104
|
"execution_count": null,
|
113
|
-
"id": "
|
105
|
+
"id": "7",
|
114
106
|
"metadata": {},
|
115
107
|
"outputs": [],
|
116
108
|
"source": [
|
@@ -120,7 +112,7 @@
|
|
120
112
|
{
|
121
113
|
"cell_type": "code",
|
122
114
|
"execution_count": null,
|
123
|
-
"id": "
|
115
|
+
"id": "8",
|
124
116
|
"metadata": {},
|
125
117
|
"outputs": [],
|
126
118
|
"source": [
|
@@ -130,7 +122,7 @@
|
|
130
122
|
{
|
131
123
|
"cell_type": "code",
|
132
124
|
"execution_count": null,
|
133
|
-
"id": "
|
125
|
+
"id": "9",
|
134
126
|
"metadata": {},
|
135
127
|
"outputs": [],
|
136
128
|
"source": [
|
@@ -140,7 +132,7 @@
|
|
140
132
|
{
|
141
133
|
"cell_type": "code",
|
142
134
|
"execution_count": null,
|
143
|
-
"id": "
|
135
|
+
"id": "10",
|
144
136
|
"metadata": {},
|
145
137
|
"outputs": [],
|
146
138
|
"source": [
|
@@ -151,7 +143,7 @@
|
|
151
143
|
{
|
152
144
|
"cell_type": "code",
|
153
145
|
"execution_count": null,
|
154
|
-
"id": "
|
146
|
+
"id": "11",
|
155
147
|
"metadata": {},
|
156
148
|
"outputs": [],
|
157
149
|
"source": [
|
@@ -161,7 +153,7 @@
|
|
161
153
|
{
|
162
154
|
"cell_type": "code",
|
163
155
|
"execution_count": null,
|
164
|
-
"id": "
|
156
|
+
"id": "12",
|
165
157
|
"metadata": {},
|
166
158
|
"outputs": [],
|
167
159
|
"source": [
|
@@ -180,7 +172,7 @@
|
|
180
172
|
{
|
181
173
|
"cell_type": "code",
|
182
174
|
"execution_count": null,
|
183
|
-
"id": "
|
175
|
+
"id": "13",
|
184
176
|
"metadata": {},
|
185
177
|
"outputs": [],
|
186
178
|
"source": [
|
@@ -218,7 +210,7 @@
|
|
218
210
|
{
|
219
211
|
"cell_type": "code",
|
220
212
|
"execution_count": null,
|
221
|
-
"id": "
|
213
|
+
"id": "14",
|
222
214
|
"metadata": {},
|
223
215
|
"outputs": [],
|
224
216
|
"source": [
|
@@ -229,7 +221,7 @@
|
|
229
221
|
{
|
230
222
|
"cell_type": "code",
|
231
223
|
"execution_count": null,
|
232
|
-
"id": "
|
224
|
+
"id": "15",
|
233
225
|
"metadata": {},
|
234
226
|
"outputs": [],
|
235
227
|
"source": [
|
@@ -289,7 +281,7 @@
|
|
289
281
|
{
|
290
282
|
"cell_type": "code",
|
291
283
|
"execution_count": null,
|
292
|
-
"id": "
|
284
|
+
"id": "16",
|
293
285
|
"metadata": {},
|
294
286
|
"outputs": [],
|
295
287
|
"source": [
|
@@ -333,7 +325,7 @@
|
|
333
325
|
{
|
334
326
|
"cell_type": "code",
|
335
327
|
"execution_count": null,
|
336
|
-
"id": "
|
328
|
+
"id": "17",
|
337
329
|
"metadata": {},
|
338
330
|
"outputs": [],
|
339
331
|
"source": [
|
@@ -345,7 +337,7 @@
|
|
345
337
|
{
|
346
338
|
"cell_type": "code",
|
347
339
|
"execution_count": null,
|
348
|
-
"id": "
|
340
|
+
"id": "18",
|
349
341
|
"metadata": {},
|
350
342
|
"outputs": [],
|
351
343
|
"source": [
|
@@ -357,7 +349,7 @@
|
|
357
349
|
{
|
358
350
|
"cell_type": "code",
|
359
351
|
"execution_count": null,
|
360
|
-
"id": "
|
352
|
+
"id": "19",
|
361
353
|
"metadata": {},
|
362
354
|
"outputs": [],
|
363
355
|
"source": [
|
@@ -369,7 +361,7 @@
|
|
369
361
|
{
|
370
362
|
"cell_type": "code",
|
371
363
|
"execution_count": null,
|
372
|
-
"id": "
|
364
|
+
"id": "20",
|
373
365
|
"metadata": {},
|
374
366
|
"outputs": [],
|
375
367
|
"source": [
|
@@ -381,7 +373,7 @@
|
|
381
373
|
{
|
382
374
|
"cell_type": "code",
|
383
375
|
"execution_count": null,
|
384
|
-
"id": "
|
376
|
+
"id": "21",
|
385
377
|
"metadata": {},
|
386
378
|
"outputs": [],
|
387
379
|
"source": [
|
@@ -392,7 +384,7 @@
|
|
392
384
|
{
|
393
385
|
"cell_type": "code",
|
394
386
|
"execution_count": null,
|
395
|
-
"id": "
|
387
|
+
"id": "22",
|
396
388
|
"metadata": {},
|
397
389
|
"outputs": [],
|
398
390
|
"source": [
|
@@ -405,7 +397,7 @@
|
|
405
397
|
{
|
406
398
|
"cell_type": "code",
|
407
399
|
"execution_count": null,
|
408
|
-
"id": "
|
400
|
+
"id": "23",
|
409
401
|
"metadata": {},
|
410
402
|
"outputs": [],
|
411
403
|
"source": [
|
@@ -429,7 +421,7 @@
|
|
429
421
|
{
|
430
422
|
"cell_type": "code",
|
431
423
|
"execution_count": null,
|
432
|
-
"id": "
|
424
|
+
"id": "24",
|
433
425
|
"metadata": {},
|
434
426
|
"outputs": [],
|
435
427
|
"source": [
|
@@ -470,7 +462,7 @@
|
|
470
462
|
{
|
471
463
|
"cell_type": "code",
|
472
464
|
"execution_count": null,
|
473
|
-
"id": "
|
465
|
+
"id": "25",
|
474
466
|
"metadata": {},
|
475
467
|
"outputs": [],
|
476
468
|
"source": [
|
@@ -483,7 +475,7 @@
|
|
483
475
|
{
|
484
476
|
"cell_type": "code",
|
485
477
|
"execution_count": null,
|
486
|
-
"id": "
|
478
|
+
"id": "26",
|
487
479
|
"metadata": {},
|
488
480
|
"outputs": [],
|
489
481
|
"source": [
|
@@ -497,13 +489,13 @@
|
|
497
489
|
"df['Total'] = df[['10', '20', '30', '40', '60']].sum(axis=1)\n",
|
498
490
|
"df.fillna(0, inplace=True)\n",
|
499
491
|
"df\n",
|
500
|
-
"print(tabulate(df[['label', '10', '20', '30', '40', '60', 'Total']], showindex=False, headers=\"keys\", tablefmt=\"simple_grid\"))\n"
|
492
|
+
"# print(tabulate(df[['label', '10', '20', '30', '40', '60', 'Total']], showindex=False, headers=\"keys\", tablefmt=\"simple_grid\"))\n"
|
501
493
|
]
|
502
494
|
},
|
503
495
|
{
|
504
496
|
"cell_type": "code",
|
505
497
|
"execution_count": null,
|
506
|
-
"id": "
|
498
|
+
"id": "27",
|
507
499
|
"metadata": {},
|
508
500
|
"outputs": [],
|
509
501
|
"source": [
|
@@ -513,7 +505,7 @@
|
|
513
505
|
{
|
514
506
|
"cell_type": "code",
|
515
507
|
"execution_count": null,
|
516
|
-
"id": "
|
508
|
+
"id": "28",
|
517
509
|
"metadata": {},
|
518
510
|
"outputs": [],
|
519
511
|
"source": [
|
@@ -523,7 +515,7 @@
|
|
523
515
|
{
|
524
516
|
"cell_type": "code",
|
525
517
|
"execution_count": null,
|
526
|
-
"id": "
|
518
|
+
"id": "29",
|
527
519
|
"metadata": {},
|
528
520
|
"outputs": [],
|
529
521
|
"source": [
|
@@ -533,7 +525,7 @@
|
|
533
525
|
{
|
534
526
|
"cell_type": "code",
|
535
527
|
"execution_count": null,
|
536
|
-
"id": "
|
528
|
+
"id": "30",
|
537
529
|
"metadata": {},
|
538
530
|
"outputs": [],
|
539
531
|
"source": [
|
@@ -543,7 +535,7 @@
|
|
543
535
|
{
|
544
536
|
"cell_type": "code",
|
545
537
|
"execution_count": null,
|
546
|
-
"id": "
|
538
|
+
"id": "31",
|
547
539
|
"metadata": {},
|
548
540
|
"outputs": [],
|
549
541
|
"source": [
|
@@ -553,7 +545,7 @@
|
|
553
545
|
{
|
554
546
|
"cell_type": "code",
|
555
547
|
"execution_count": null,
|
556
|
-
"id": "
|
548
|
+
"id": "32",
|
557
549
|
"metadata": {},
|
558
550
|
"outputs": [],
|
559
551
|
"source": [
|
@@ -563,7 +555,7 @@
|
|
563
555
|
{
|
564
556
|
"cell_type": "code",
|
565
557
|
"execution_count": null,
|
566
|
-
"id": "
|
558
|
+
"id": "33",
|
567
559
|
"metadata": {},
|
568
560
|
"outputs": [],
|
569
561
|
"source": [
|
@@ -573,7 +565,7 @@
|
|
573
565
|
{
|
574
566
|
"cell_type": "code",
|
575
567
|
"execution_count": null,
|
576
|
-
"id": "
|
568
|
+
"id": "34",
|
577
569
|
"metadata": {},
|
578
570
|
"outputs": [],
|
579
571
|
"source": [
|
@@ -586,7 +578,7 @@
|
|
586
578
|
{
|
587
579
|
"cell_type": "code",
|
588
580
|
"execution_count": null,
|
589
|
-
"id": "
|
581
|
+
"id": "35",
|
590
582
|
"metadata": {},
|
591
583
|
"outputs": [],
|
592
584
|
"source": [
|
@@ -598,7 +590,7 @@
|
|
598
590
|
{
|
599
591
|
"cell_type": "code",
|
600
592
|
"execution_count": null,
|
601
|
-
"id": "
|
593
|
+
"id": "36",
|
602
594
|
"metadata": {},
|
603
595
|
"outputs": [],
|
604
596
|
"source": [
|
@@ -609,7 +601,7 @@
|
|
609
601
|
{
|
610
602
|
"cell_type": "code",
|
611
603
|
"execution_count": null,
|
612
|
-
"id": "
|
604
|
+
"id": "37",
|
613
605
|
"metadata": {},
|
614
606
|
"outputs": [],
|
615
607
|
"source": [
|
@@ -621,7 +613,7 @@
|
|
621
613
|
{
|
622
614
|
"cell_type": "code",
|
623
615
|
"execution_count": null,
|
624
|
-
"id": "
|
616
|
+
"id": "38",
|
625
617
|
"metadata": {},
|
626
618
|
"outputs": [],
|
627
619
|
"source": [
|
@@ -0,0 +1,265 @@
|
|
1
|
+
{
|
2
|
+
"cells": [
|
3
|
+
{
|
4
|
+
"cell_type": "code",
|
5
|
+
"execution_count": null,
|
6
|
+
"id": "0",
|
7
|
+
"metadata": {},
|
8
|
+
"outputs": [],
|
9
|
+
"source": [
|
10
|
+
"%%capture\n",
|
11
|
+
"import os\n",
|
12
|
+
"from pathlib import Path\n",
|
13
|
+
"\n",
|
14
|
+
"from dj_notebook import activate\n",
|
15
|
+
"\n",
|
16
|
+
"env_file = os.environ[\"META_ENV\"]\n",
|
17
|
+
"reports_folder = Path(os.environ[\"META_REPORTS_FOLDER\"])\n",
|
18
|
+
"analysis_folder = Path(os.environ[\"META_ANALYSIS_FOLDER\"])\n",
|
19
|
+
"pharmacy_folder = Path(os.environ[\"META_PHARMACY_FOLDER\"])\n",
|
20
|
+
"plus = activate(dotenv_file=env_file)"
|
21
|
+
]
|
22
|
+
},
|
23
|
+
{
|
24
|
+
"cell_type": "code",
|
25
|
+
"execution_count": null,
|
26
|
+
"id": "1",
|
27
|
+
"metadata": {},
|
28
|
+
"outputs": [],
|
29
|
+
"source": [
|
30
|
+
"from edc_pharmacy.models import StockRequestItem, Stock, StockAdjustment\n",
|
31
|
+
"from django_pandas.io import read_frame\n"
|
32
|
+
]
|
33
|
+
},
|
34
|
+
{
|
35
|
+
"cell_type": "code",
|
36
|
+
"execution_count": null,
|
37
|
+
"id": "2",
|
38
|
+
"metadata": {},
|
39
|
+
"outputs": [],
|
40
|
+
"source": [
|
41
|
+
"Stock.objects.all().order_by(\"created\").last()"
|
42
|
+
]
|
43
|
+
},
|
44
|
+
{
|
45
|
+
"cell_type": "code",
|
46
|
+
"execution_count": null,
|
47
|
+
"id": "3",
|
48
|
+
"metadata": {},
|
49
|
+
"outputs": [],
|
50
|
+
"source": [
|
51
|
+
"\n",
|
52
|
+
"df = read_frame(StockRequestItem.objects.filter(stock_request__request_identifier=\"000122\"))"
|
53
|
+
]
|
54
|
+
},
|
55
|
+
{
|
56
|
+
"cell_type": "code",
|
57
|
+
"execution_count": null,
|
58
|
+
"id": "4",
|
59
|
+
"metadata": {},
|
60
|
+
"outputs": [],
|
61
|
+
"source": [
|
62
|
+
"df.query(\"in_stock==False\")"
|
63
|
+
]
|
64
|
+
},
|
65
|
+
{
|
66
|
+
"cell_type": "code",
|
67
|
+
"execution_count": null,
|
68
|
+
"id": "5",
|
69
|
+
"metadata": {},
|
70
|
+
"outputs": [],
|
71
|
+
"source": [
|
72
|
+
"StockRequestItem.objects.filter(received=True)"
|
73
|
+
]
|
74
|
+
},
|
75
|
+
{
|
76
|
+
"cell_type": "code",
|
77
|
+
"execution_count": null,
|
78
|
+
"id": "6",
|
79
|
+
"metadata": {},
|
80
|
+
"outputs": [],
|
81
|
+
"source": [
|
82
|
+
"df = read_frame(Stock.objects.filter(from_stock__code=\"UGNXMR\"))\n"
|
83
|
+
]
|
84
|
+
},
|
85
|
+
{
|
86
|
+
"cell_type": "code",
|
87
|
+
"execution_count": null,
|
88
|
+
"id": "7",
|
89
|
+
"metadata": {},
|
90
|
+
"outputs": [],
|
91
|
+
"source": [
|
92
|
+
"df[df[\"unit_qty_in\"]==0.0]"
|
93
|
+
]
|
94
|
+
},
|
95
|
+
{
|
96
|
+
"cell_type": "code",
|
97
|
+
"execution_count": null,
|
98
|
+
"id": "8",
|
99
|
+
"metadata": {},
|
100
|
+
"outputs": [],
|
101
|
+
"source": [
|
102
|
+
"df[\"unit_qty_in\"].dtype"
|
103
|
+
]
|
104
|
+
},
|
105
|
+
{
|
106
|
+
"cell_type": "code",
|
107
|
+
"execution_count": null,
|
108
|
+
"id": "9",
|
109
|
+
"metadata": {},
|
110
|
+
"outputs": [],
|
111
|
+
"source": [
|
112
|
+
"obj = Stock.objects.get(code=\"UGNXMR\")"
|
113
|
+
]
|
114
|
+
},
|
115
|
+
{
|
116
|
+
"cell_type": "code",
|
117
|
+
"execution_count": null,
|
118
|
+
"id": "10",
|
119
|
+
"metadata": {},
|
120
|
+
"outputs": [],
|
121
|
+
"source": [
|
122
|
+
"obj.__dict__"
|
123
|
+
]
|
124
|
+
},
|
125
|
+
{
|
126
|
+
"cell_type": "code",
|
127
|
+
"execution_count": null,
|
128
|
+
"id": "11",
|
129
|
+
"metadata": {},
|
130
|
+
"outputs": [],
|
131
|
+
"source": [
|
132
|
+
"obj.unit_qty_in"
|
133
|
+
]
|
134
|
+
},
|
135
|
+
{
|
136
|
+
"cell_type": "code",
|
137
|
+
"execution_count": null,
|
138
|
+
"id": "12",
|
139
|
+
"metadata": {},
|
140
|
+
"outputs": [],
|
141
|
+
"source": [
|
142
|
+
"obj.unit_qty_out\n"
|
143
|
+
]
|
144
|
+
},
|
145
|
+
{
|
146
|
+
"cell_type": "code",
|
147
|
+
"execution_count": null,
|
148
|
+
"id": "13",
|
149
|
+
"metadata": {},
|
150
|
+
"outputs": [],
|
151
|
+
"source": [
|
152
|
+
"for obj in Stock.objects.filter(container__container_type__name=\"bucket\"):\n",
|
153
|
+
" obj.save()\n",
|
154
|
+
" stock_code = obj.code\n",
|
155
|
+
" stock_unit_qty_in = obj.unit_qty_in\n",
|
156
|
+
" stock_unit_qty_out = obj.unit_qty_out\n",
|
157
|
+
" from_stock_count = Stock.objects.filter(from_stock__code=obj.code).count() * 128\n",
|
158
|
+
" \n",
|
159
|
+
" \n",
|
160
|
+
" if not stock_unit_qty_in >= stock_unit_qty_out:\n",
|
161
|
+
" print(stock_code, stock_unit_qty_in, stock_unit_qty_out, from_stock_count)\n",
|
162
|
+
" print(f\"**Error stock_code={stock_code}\")"
|
163
|
+
]
|
164
|
+
},
|
165
|
+
{
|
166
|
+
"cell_type": "code",
|
167
|
+
"execution_count": null,
|
168
|
+
"id": "14",
|
169
|
+
"metadata": {},
|
170
|
+
"outputs": [],
|
171
|
+
"source": [
|
172
|
+
"obj"
|
173
|
+
]
|
174
|
+
},
|
175
|
+
{
|
176
|
+
"cell_type": "code",
|
177
|
+
"execution_count": null,
|
178
|
+
"id": "15",
|
179
|
+
"metadata": {},
|
180
|
+
"outputs": [],
|
181
|
+
"source": [
|
182
|
+
"obj_adjustment = StockAdjustment.objects.create(stock=obj, unit_qty_in_old=obj.unit_qty_in, unit_qty_in_new=24576.00)"
|
183
|
+
]
|
184
|
+
},
|
185
|
+
{
|
186
|
+
"cell_type": "code",
|
187
|
+
"execution_count": null,
|
188
|
+
"id": "16",
|
189
|
+
"metadata": {},
|
190
|
+
"outputs": [],
|
191
|
+
"source": [
|
192
|
+
"obj.refresh_from_db()"
|
193
|
+
]
|
194
|
+
},
|
195
|
+
{
|
196
|
+
"cell_type": "code",
|
197
|
+
"execution_count": null,
|
198
|
+
"id": "17",
|
199
|
+
"metadata": {},
|
200
|
+
"outputs": [],
|
201
|
+
"source": [
|
202
|
+
"obj.unit_qty_in"
|
203
|
+
]
|
204
|
+
},
|
205
|
+
{
|
206
|
+
"cell_type": "code",
|
207
|
+
"execution_count": null,
|
208
|
+
"id": "18",
|
209
|
+
"metadata": {},
|
210
|
+
"outputs": [],
|
211
|
+
"source": [
|
212
|
+
"StockAdjustment.objects.all().delete()"
|
213
|
+
]
|
214
|
+
},
|
215
|
+
{
|
216
|
+
"cell_type": "code",
|
217
|
+
"execution_count": null,
|
218
|
+
"id": "19",
|
219
|
+
"metadata": {},
|
220
|
+
"outputs": [],
|
221
|
+
"source": [
|
222
|
+
"obj_adjustment"
|
223
|
+
]
|
224
|
+
},
|
225
|
+
{
|
226
|
+
"cell_type": "code",
|
227
|
+
"execution_count": null,
|
228
|
+
"id": "20",
|
229
|
+
"metadata": {},
|
230
|
+
"outputs": [],
|
231
|
+
"source": [
|
232
|
+
"obj_adjustment.__dict__"
|
233
|
+
]
|
234
|
+
},
|
235
|
+
{
|
236
|
+
"cell_type": "code",
|
237
|
+
"execution_count": null,
|
238
|
+
"id": "21",
|
239
|
+
"metadata": {},
|
240
|
+
"outputs": [],
|
241
|
+
"source": []
|
242
|
+
}
|
243
|
+
],
|
244
|
+
"metadata": {
|
245
|
+
"kernelspec": {
|
246
|
+
"display_name": "Python 3",
|
247
|
+
"language": "python",
|
248
|
+
"name": "python3"
|
249
|
+
},
|
250
|
+
"language_info": {
|
251
|
+
"codemirror_mode": {
|
252
|
+
"name": "ipython",
|
253
|
+
"version": 2
|
254
|
+
},
|
255
|
+
"file_extension": ".py",
|
256
|
+
"mimetype": "text/x-python",
|
257
|
+
"name": "python",
|
258
|
+
"nbconvert_exporter": "python",
|
259
|
+
"pygments_lexer": "ipython2",
|
260
|
+
"version": "2.7.6"
|
261
|
+
}
|
262
|
+
},
|
263
|
+
"nbformat": 4,
|
264
|
+
"nbformat_minor": 5
|
265
|
+
}
|
@@ -24,7 +24,7 @@ def create_missing_metformin_rx(modeladmin, request, queryset):
|
|
24
24
|
subject_identifier=instance.subject_identifier,
|
25
25
|
report_datetime=instance.consent_datetime,
|
26
26
|
randomizer_name=get_meta_version(),
|
27
|
-
|
27
|
+
medication_names=[medication.name],
|
28
28
|
site_id=instance.site.id,
|
29
29
|
)
|
30
30
|
except PrescriptionAlreadyExists:
|
@@ -127,7 +127,7 @@ class SubjectConsentModelAdminMixin:
|
|
127
127
|
subject_identifier=instance.subject_identifier,
|
128
128
|
report_datetime=instance.consent_datetime,
|
129
129
|
randomizer_name=get_meta_version(),
|
130
|
-
|
130
|
+
medication_names=[medication.name],
|
131
131
|
site_id=instance.site.id,
|
132
132
|
)
|
133
133
|
except PrescriptionAlreadyExists:
|
@@ -25,7 +25,7 @@ class Command(BaseCommand):
|
|
25
25
|
subject_identifier=instance.subject_identifier,
|
26
26
|
report_datetime=instance.consent_datetime,
|
27
27
|
randomizer_name=get_meta_version(),
|
28
|
-
|
28
|
+
medication_names=[medication.name],
|
29
29
|
site_id=instance.site.id,
|
30
30
|
)
|
31
31
|
except PrescriptionAlreadyExists:
|
meta_consent/models/signals.py
CHANGED
@@ -66,7 +66,7 @@ def subject_consent_on_post_save(sender, instance, raw, created, **kwargs):
|
|
66
66
|
create_prescription(
|
67
67
|
subject_identifier=instance.subject_identifier,
|
68
68
|
report_datetime=instance.consent_datetime,
|
69
|
-
|
69
|
+
medication_names=[instance.study_medication_name],
|
70
70
|
randomizer_name=get_meta_version(),
|
71
71
|
site=instance.site,
|
72
72
|
)
|
meta_edc/settings/debug.py
CHANGED
@@ -7,8 +7,8 @@ from .defaults import * # noqa
|
|
7
7
|
print(f"Settings file {__file__}")
|
8
8
|
|
9
9
|
# TZ Sites:
|
10
|
-
SITE_ID = SiteID(default=20) # Amana
|
11
|
-
|
10
|
+
# SITE_ID = SiteID(default=20) # Amana
|
11
|
+
SITE_ID = SiteID(default=10) # Hindu Mandal
|
12
12
|
# SITE_ID = SiteID(default=40) # Mwananyamala
|
13
13
|
# SITE_ID = SiteID(default=50) # Mbagala
|
14
14
|
# SITE_ID = SiteID(default=60) # Mnazi-Moja
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: meta-edc
|
3
|
-
Version: 1.1.
|
3
|
+
Version: 1.1.2
|
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
|
@@ -680,7 +680,7 @@ License: GNU GENERAL PUBLIC LICENSE
|
|
680
680
|
Public License instead of this License. But first, please read
|
681
681
|
<https://www.gnu.org/licenses/why-not-lgpl.html>.
|
682
682
|
|
683
|
-
Keywords: django,clinicedc,META EDC,EDC,clinical trials
|
683
|
+
Keywords: django,clinicedc,META EDC,EDC,clinical trials,META Trial
|
684
684
|
Classifier: Environment :: Web Environment
|
685
685
|
Classifier: Framework :: Django
|
686
686
|
Classifier: Framework :: Django :: 5.2
|
@@ -688,13 +688,13 @@ Classifier: Intended Audience :: Developers
|
|
688
688
|
Classifier: Intended Audience :: Science/Research
|
689
689
|
Classifier: Operating System :: OS Independent
|
690
690
|
Classifier: Programming Language :: Python :: 3.12
|
691
|
+
Classifier: Programming Language :: Python :: 3.13
|
691
692
|
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
|
692
693
|
Requires-Python: >=3.12
|
693
694
|
Description-Content-Type: text/x-rst
|
694
695
|
License-File: LICENSE
|
695
696
|
License-File: AUTHORS.rst
|
696
|
-
Requires-Dist: edc==1.1.
|
697
|
-
Requires-Dist: edc-microscopy
|
697
|
+
Requires-Dist: edc==1.1.2
|
698
698
|
Requires-Dist: beautifulsoup4
|
699
699
|
Requires-Dist: celery[redis]
|
700
700
|
Requires-Dist: django-pylabels
|
@@ -96,7 +96,7 @@ meta_analytics/dataframes/get_last_imp_visits_df.py,sha256=cScwy_nBGHg04_AYpjz_p
|
|
96
96
|
meta_analytics/dataframes/utils.py,sha256=NNJ2EZmpSXJqa7jCoNgqd4F3irQ_93ZsNnv6PPIm7S8,2383
|
97
97
|
meta_analytics/dataframes/glucose_endpoints/__init__.py,sha256=a9RlAnFM0Z4AKw-WztBvnGMo3tLLe1dx3292A2n_CnA,107
|
98
98
|
meta_analytics/dataframes/glucose_endpoints/endpoint_by_date.py,sha256=4Qd3i9hfSSkn_El7QAjuJDUbzQ1LBpkmFw0rHSlBfG0,6531
|
99
|
-
meta_analytics/dataframes/glucose_endpoints/glucose_endpoints_by_date.py,sha256=
|
99
|
+
meta_analytics/dataframes/glucose_endpoints/glucose_endpoints_by_date.py,sha256=6zl4rskh3I99zXOwpCX1qTuyn-5uciO_lo41ondFutI,13987
|
100
100
|
meta_analytics/dataframes/glucose_endpoints/utils.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
101
101
|
meta_analytics/dataframes/screening/__init__.py,sha256=onGpmB4474gu_JcyRGdRy09YQyP2Np-mX-rYZTFdJoA,114
|
102
102
|
meta_analytics/dataframes/screening/get_glucose_tested_only_df.py,sha256=0oMJIsIJRjurfpPONuJ4Aoab1UJikezGe3lQNWRoOo4,660
|
@@ -113,6 +113,7 @@ meta_analytics/notebooks/magreth.ipynb,sha256=u4BWz6swBFLXcrOQDi_iSuFkp9NiISFk5u
|
|
113
113
|
meta_analytics/notebooks/monitoring_report.ipynb,sha256=BySeKJZ7MQPGQ6vbNNXW5JBJyNmTfvP_c8JGjskUF5U,77415
|
114
114
|
meta_analytics/notebooks/pharmacy.ipynb,sha256=rAxMyPDZIyx-Qizgrdueq-rUYyeN3zMYVqDPkbjtnSs,34298
|
115
115
|
meta_analytics/notebooks/pharmacy_stock_202410.ipynb,sha256=Kx9QVmiDW-5DWuaoSvLM2vJGHRCam-im9ZVdJsOBFfs,8823
|
116
|
+
meta_analytics/notebooks/qa.ipynb,sha256=QuAoepwpC1nQLYC-HWM6khNIsPDU_s13gk1Iz2RjETk,5282
|
116
117
|
meta_analytics/notebooks/steering.ipynb,sha256=pqJrH_Zdwp7sPgHwhahKK-XmNMQjk7bHJv7vHJaeTek,1112
|
117
118
|
meta_analytics/notebooks/ven.ipynb,sha256=JR1_BW2QGqsqteCSORS7Zz7yD3u8JeU9r4H7KJ6nRN4,5182
|
118
119
|
meta_analytics/notebooks/vitals.ipynb,sha256=mHlO6QbhD28aGUhVI0tF06MJm_JjUsKLdSpnz5NhbQI,5787
|
@@ -120,7 +121,7 @@ meta_analytics/notebooks/cleaning/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeR
|
|
120
121
|
meta_analytics/notebooks/cleaning/consent_v1_ext.ipynb,sha256=HIo8lKtyAs3blx-UXEJful5iXT-0fGQcb5vAT-o7umk,6403
|
121
122
|
meta_analytics/notebooks/cleaning/offschedule_eos.ipynb,sha256=U5KS7GzWKsWkJWIN4pXhKN9GJMCpkGVxrIEBaRoaah8,10620
|
122
123
|
meta_analytics/notebooks/dsmc/renal_dysfunction.ipynb,sha256=vy40GuSA2HH3OoCBLaHx5fxYzS3mOV5C2L7BqSUGemM,11116
|
123
|
-
meta_analytics/notebooks/endpoints/meta_endpoints_by_date.ipynb,sha256=
|
124
|
+
meta_analytics/notebooks/endpoints/meta_endpoints_by_date.ipynb,sha256=0B4Jm7xnNeUxDdNN1dQ2GwgHE61esHpsZo0SWvPrM0U,22392
|
124
125
|
meta_analytics/notebooks/undiagnosed/meta3_screening_consort_chart.ipynb,sha256=B79ZyqWzsxhrBJZhajyqjJ3vP10eNzX2C3_ojc3jOIY,34653
|
125
126
|
meta_analytics/notebooks/undiagnosed/meta3_screening_undiagnosed.ipynb,sha256=MmyQzBCR63GAQlKsQ1CPxmPtgMlJYWggfEBDI81me64,11912
|
126
127
|
meta_analytics/notebooks/undiagnosed/meta_screening_table2.ipynb,sha256=bRoJbboAnkfXo6MeKmedP4j6eAVHdH4q62o35p9--No,36421
|
@@ -150,12 +151,12 @@ meta_consent/constants.py,sha256=w5n3B4jwUDDZEc4gMpkKeffsHqi724GnoABFtjmvbQk,78
|
|
150
151
|
meta_consent/urls.py,sha256=YXQLoyH5tFMPUK9PTk33Yve_HCWw-rhUrlXegbadxlw,206
|
151
152
|
meta_consent/admin/__init__.py,sha256=8r1_xNoP3ZdrIB9naPRDTLENYdwBIxZvqO9CCH20aNc,182
|
152
153
|
meta_consent/admin/list_filters.py,sha256=rEz1xfr3WnG6UsJoq6hk1OLMjaa5VTKSGuI5CJl_pP4,743
|
153
|
-
meta_consent/admin/modeladmin_mixins.py,sha256
|
154
|
+
meta_consent/admin/modeladmin_mixins.py,sha256=-46oE_9wyv7mx09lTb8WeTi-Pa5CFnY7pSaZD0KQJJo,5372
|
154
155
|
meta_consent/admin/subject_consent_admin.py,sha256=IfGANb9TFvVs9yga8WOTxHxy2yRHP--KgsVUWEg30MQ,647
|
155
156
|
meta_consent/admin/subject_consent_v1_admin.py,sha256=nmssuWL7eomQfXi3mVrszs3Ghufhz46JAwr9wFU3gkI,657
|
156
157
|
meta_consent/admin/subject_consent_v1_ext_admin.py,sha256=HUqBp67_IpIW3L8VSf6UbgNqqLBWobZyLKj65HTDXEc,2817
|
157
158
|
meta_consent/admin/actions/__init__.py,sha256=ipklkCOCQY9z9oqij2--MMNlczc-1MdzsRhMHEDDkQY,70
|
158
|
-
meta_consent/admin/actions/create_missing_prescriptions.py,sha256=
|
159
|
+
meta_consent/admin/actions/create_missing_prescriptions.py,sha256=_2ikpDg07irOQboRwna4-nYvESJwi6Nb6yFHBwNcPc0,1484
|
159
160
|
meta_consent/form_validators/__init__.py,sha256=MFB5Vz9rFKxJaS2uW6jtdfg5G6vA0nyzwNcKGLa--Y0,72
|
160
161
|
meta_consent/form_validators/subject_consent_form_validator.py,sha256=2f4FY1VZ1qU4u35LSoRtBIhmRhrflOhs0Zal8z1Ogo8,1258
|
161
162
|
meta_consent/forms/__init__.py,sha256=fLrim2NPwpbo0Y7PCGbeDk6ryS-4W0ju7nYNF4fZWaY,233
|
@@ -167,7 +168,7 @@ meta_consent/locale/lg/LC_MESSAGES/django.po,sha256=qWq1GuH-sIg05d2vydpYIxS71-fj
|
|
167
168
|
meta_consent/locale/sw/LC_MESSAGES/django.po,sha256=2xMMhgncC2222wfCMuVBZVi69asNlVq5Z0Z6XtCrVpw,2016
|
168
169
|
meta_consent/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
169
170
|
meta_consent/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
170
|
-
meta_consent/management/commands/create_missing_prescriptions.py,sha256=
|
171
|
+
meta_consent/management/commands/create_missing_prescriptions.py,sha256=T9qg3eOAIzjqQLSMaEa52kf4lGKW7P_2ar-F_e1WkeM,1448
|
171
172
|
meta_consent/migrations/0001_initial.py,sha256=Hglxgdj4D5K5SPonff4Tbv5Z7mhMR0Kwzno7-vgr4UA,66732
|
172
173
|
meta_consent/migrations/0002_auto_20191024_1000.py,sha256=w3QfjMQc525bhhcM9PR657ic3LIZLklehDop4uXl704,590
|
173
174
|
meta_consent/migrations/0003_auto_20200325_0901.py,sha256=fp3htdDsrKOQorDyzwzC1GnvfwjL2XC6oMyuBVMpvnI,1610
|
@@ -202,7 +203,7 @@ meta_consent/migrations/0031_alter_historicalsubjectconsent_guardian_name_and_mo
|
|
202
203
|
meta_consent/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
203
204
|
meta_consent/models/__init__.py,sha256=ugL8eQybOHAEFgOtGKxVHLZ3ibAnRCNSaf9wup6J_uI,279
|
204
205
|
meta_consent/models/model_mixins.py,sha256=r5KmTykU0qV4JymMMKP2IBwAP8Z5hDnVJix-rO2PvME,296
|
205
|
-
meta_consent/models/signals.py,sha256=
|
206
|
+
meta_consent/models/signals.py,sha256=9E6Vdj7OGdRS7g8tig0K1VsbyzpFlYfPoMSYHXQLS68,5157
|
206
207
|
meta_consent/models/subject_consent.py,sha256=bI17d15K7A8UzyKCAoKL8Xe2E4jlhNY1Axwftuo2n4Y,3803
|
207
208
|
meta_consent/models/subject_consent_v1.py,sha256=xJPGTTVfne5KBdeNZm5dXheWcGQ2bFTxjOxm_4sjfVk,458
|
208
209
|
meta_consent/models/subject_consent_v1_ext.py,sha256=MpK5TlUqf2JuYRpmRLzYBClOFstC_6pIGwDRUckIztU,1033
|
@@ -276,7 +277,7 @@ meta_edc/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NM
|
|
276
277
|
meta_edc/management/commands/update_forms_reference.py,sha256=jvCU9YdMtp9wbmjqKQsB9gxNw4DcAP97sZD-kfIxOns,1071
|
277
278
|
meta_edc/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
278
279
|
meta_edc/settings/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
279
|
-
meta_edc/settings/debug.py,sha256=
|
280
|
+
meta_edc/settings/debug.py,sha256=4BkeyJuOq3b_TJJr18tgoYSM7LZgnlz7CmJhTFiEt14,1297
|
280
281
|
meta_edc/settings/defaults.py,sha256=USh91oF6HKdUXWZ5xf5dDCwAYINSIdOPkgHCxDCsGP4,19633
|
281
282
|
meta_edc/settings/live.py,sha256=uLTlsIc3H6gdE_7pkL6vyOVa6V_74hnXFkiojqGFAYY,264
|
282
283
|
meta_edc/settings/logging.py,sha256=6qVUE37OMkf5rzwTmMq4krFsZ2jcyCpWdFtGih_Cs4U,1938
|
@@ -289,8 +290,8 @@ meta_edc/tests/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hS
|
|
289
290
|
meta_edc/tests/tests/test_endpoints.py,sha256=5FdIHTd1xhUIgQLBzMV-Ml3VoFrlBrLLUbNarme5raw,23541
|
290
291
|
meta_edc/views/__init__.py,sha256=TBXTih4Mpsg5Oh2jbyXqL9kH7bu3vWNRgVe93hvLCl8,32
|
291
292
|
meta_edc/views/home_view.py,sha256=BXydy77TcdcM0-R3S_uHI4DtfnLMIzPJMyqjFJZFSsA,916
|
292
|
-
meta_edc-1.1.
|
293
|
-
meta_edc-1.1.
|
293
|
+
meta_edc-1.1.2.dist-info/licenses/AUTHORS.rst,sha256=wL4KUOd7FAFThhkLAJxSLQ2BPzd3ikG9q0UVZr3BbLg,244
|
294
|
+
meta_edc-1.1.2.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
294
295
|
meta_export/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
295
296
|
meta_export/admin_site.py,sha256=CiKAf0gDFvBKVc-1VM6KwM905ayVZuiY1tgaTeUeCi0,167
|
296
297
|
meta_export/apps.py,sha256=3_5LB1MLtzfKekI2vT9Cm6puAx6t6AjtIfTTVdItdKg,226
|
@@ -305,7 +306,7 @@ meta_labs/processing_profiles.py,sha256=fRX72FOl2rsnOJYhgup5QacfGSXKtWqn2gD3Giz2
|
|
305
306
|
meta_labs/reportables.py,sha256=OX1rxiWKmsi7_ODxH1O8yBGgOq56HAaiG1XTEDGaOhM,586
|
306
307
|
meta_labs/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
307
308
|
meta_labs/tests/test_labs.py,sha256=49COK2X8F5kvwsIuuPaxBSzDo665J2ctd1DZzo-O4Cs,967
|
308
|
-
meta_labs/tests/test_reportables.py,sha256=
|
309
|
+
meta_labs/tests/test_reportables.py,sha256=VxTQDScHxaQP1PNut7i4ATr4hTqVpmYUjDK7HQJ7vOI,1302
|
309
310
|
meta_labs/tests/urls.py,sha256=_sVCnQeiAFRYKhxga3_DjoKj_4bgs1s2gjcynDiapvA,111
|
310
311
|
meta_lists/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
311
312
|
meta_lists/admin.py,sha256=g05vpXfVIEBVG03aiPD8Vn-AnR7gL60MbPJAfzsO6R8,2157
|
@@ -520,7 +521,7 @@ meta_reports/ae_report.py,sha256=K0DCdfVBOCqqWWvCsl-Tf8rRCnNv3W2xbUI10VCuEhI,154
|
|
520
521
|
meta_reports/apps.py,sha256=uQb4mBQ94Ij0luH5yzMF-a5t2N418JHcovYovislwS4,194
|
521
522
|
meta_reports/death_report.py,sha256=mJw08jMxOWIAtsKQN8zCP64HIrxW1fb48D9OXqEMpM0,4713
|
522
523
|
meta_reports/pdf_report.py,sha256=9lWnRc_BNieDFXC4VgA0QHK6g_ct58u8tupPRsbRvV0,2395
|
523
|
-
meta_reports/tasks.py,sha256=
|
524
|
+
meta_reports/tasks.py,sha256=F4sqOGjRo6-XbGi2nDPDGb7XirzJAx-pWExNkzxCoDo,390
|
524
525
|
meta_reports/urls.py,sha256=_c6AMrK4U5MsyFSU2JSPNfiZlbhuw24C7CyPNYpqGd0,206
|
525
526
|
meta_reports/utils.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
526
527
|
meta_reports/admin/__init__.py,sha256=om3lFa4YxsZSNlYIi2sZv8li2irOMoSeBtOpPk4V3lk,488
|
@@ -608,7 +609,7 @@ meta_reports/migrations/0057_auto_20250422_2224.py,sha256=pGj-5Cr__ScaNtb8ROzm_4
|
|
608
609
|
meta_reports/migrations/0058_auto_20250422_2232.py,sha256=SZ2RS5jUVhgnirgU2XAU-EIDtsbUWD1GDl5jg_hMTrc,9743
|
609
610
|
meta_reports/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
610
611
|
meta_reports/models/__init__.py,sha256=2F-4CS39Pu2LijF8ZkSn2nE3Lps3YEC9ZcBtNnmNXjI,423
|
611
|
-
meta_reports/models/endpoints.py,sha256=
|
612
|
+
meta_reports/models/endpoints.py,sha256=Y0AAQGWSqv60i2nQxUX1p5GlBG8fvRAuDVr_svGJZPM,1009
|
612
613
|
meta_reports/models/endpoints_proxy.py,sha256=3h3JGaPmnJedFPVWGrk4idV4YtdihqiCI5W7QomwG4E,318
|
613
614
|
meta_reports/models/last_imp_refill.py,sha256=LkJtsZU7fhem5O-OqsyN-qgGQm_IUGAYEpP3ESqdm88,988
|
614
615
|
meta_reports/models/dbviews/README,sha256=GdeboB7Xqb-Qo_rE1ondcxP8Ps93MIjLzCePQCePig0,686
|
@@ -902,7 +903,7 @@ meta_subject/forms/health_economics/health_economics_update_form.py,sha256=gpdBc
|
|
902
903
|
meta_subject/locale/lg/LC_MESSAGES/django.po,sha256=rENk0A-EfLRxdK5GR05BBr7reDnp7bNy5Ton7PCtX48,11016
|
903
904
|
meta_subject/locale/sw/LC_MESSAGES/django.po,sha256=kLgzLiTOTu6Rf8J5kmFH_R9MlPWvpVSwz4g9Rl2CdOw,11063
|
904
905
|
meta_subject/management/commands/create_missing_refills.py,sha256=IkxEOV2AHl2FYhLDtiWmiK0SoAcGFz24pLUXjNpFAAA,2432
|
905
|
-
meta_subject/management/commands/create_missing_rx.py,sha256=
|
906
|
+
meta_subject/management/commands/create_missing_rx.py,sha256=YIIvPHQMk9jWd9BG-Jn1vMKfdS-l4LUHWFsAojpMQiA,1468
|
906
907
|
meta_subject/management/commands/missed.py,sha256=qTHggBxlJWcEF_V4cGtxe93UJXlaW-ON6m1SOpJzmgg,8209
|
907
908
|
meta_subject/metadata_rules/__init__.py,sha256=U8fKGiHsbSWW27dWbTp2A2pCmdcFgybbJDhazP591cE,53
|
908
909
|
meta_subject/metadata_rules/metadata_rules.py,sha256=CeZKXkr_sFsMlZK3CoU8buF51hqSH5hyxTWS92ZfBGk,4323
|
@@ -1013,7 +1014,7 @@ meta_subject/migrations/0103_auto_20220324_0326.py,sha256=gBiNh4-CElPRQcGqb04t4Y
|
|
1013
1014
|
meta_subject/migrations/0104_auto_20220412_2151.py,sha256=lruwZFW9lyRzAJ-13bJZh19ZhFYMKX6k-TUjuXWIZAY,966
|
1014
1015
|
meta_subject/migrations/0105_auto_20220412_2310.py,sha256=wEJsJDk_cwh-JW8ZPxg9HGE3YKKtOPRQJTo6xywX5nk,1290
|
1015
1016
|
meta_subject/migrations/0106_auto_20220414_1741.py,sha256=tUQQG1JgKa_XrTL2Paz83YaEs8LhIl9gph5OyiV22nk,772
|
1016
|
-
meta_subject/migrations/0107_auto_20220415_0043.py,sha256=
|
1017
|
+
meta_subject/migrations/0107_auto_20220415_0043.py,sha256=I-NrKxsgQBzdzY5G_fRaB4Qh_Nwa5JMv3YyYOV73c4k,1723
|
1017
1018
|
meta_subject/migrations/0108_auto_20220415_1747.py,sha256=4HHVMatXiqavoutbzbZY7TlTHxg32uQYP7gHWg27DX8,688
|
1018
1019
|
meta_subject/migrations/0109_auto_20220415_1758.py,sha256=FNBIWr0sCmXCvzI0yNVeMSrPup7vMQJhnYxrzHu9DSA,556
|
1019
1020
|
meta_subject/migrations/0110_auto_20220512_1811.py,sha256=iKRSR0qkKbgOGQUT3zyz7SWN7kyrfJtFH98c1QTu8gM,2516
|
@@ -1164,7 +1165,7 @@ meta_subject/models/patient_history.py,sha256=q1GFQYoH0rYowBFUDUYebYthKSdTHNuDnz
|
|
1164
1165
|
meta_subject/models/physical_exam.py,sha256=SlDJJQrCEouTMaETYGjjVzFYONVx6AdtalPioUCN9yg,1991
|
1165
1166
|
meta_subject/models/pregnancy_update.py,sha256=Cs5bZAslR7jtDS_dJE_btHN8Jw21KdqKCHA-Ll9ISO0,949
|
1166
1167
|
meta_subject/models/sf12.py,sha256=1f6cAMtBUXy7jMaacAU8RJFFv73r9c3rJjBbNl-bSM4,283
|
1167
|
-
meta_subject/models/signals.py,sha256=
|
1168
|
+
meta_subject/models/signals.py,sha256=QzvOapE7d8H0qVabqR9Cyn9W6NSEv0-oscGWM1NeSpE,4562
|
1168
1169
|
meta_subject/models/study_medication.py,sha256=1kA_w4pYT1gcunfiQ46KdM01pd1jrQqLt4JEPLvfTTo,461
|
1169
1170
|
meta_subject/models/subject_requisition.py,sha256=bSDwD-hpXeioH3xA7E6eGMu4hxWLDDSxhznfjrpXTjw,341
|
1170
1171
|
meta_subject/models/subject_visit.py,sha256=f49M7ywCQqdYdiT5dUhlWXTTXs5K6aKlxkMgzWyj3VE,2152
|
@@ -1206,7 +1207,7 @@ meta_subject/tests/tests/test_next_appointment.py,sha256=OVe6Jf6uaR5ch28skkNrr4h
|
|
1206
1207
|
meta_subject/tests/tests/test_patient_history_form.py,sha256=JzqCx_-g2jeknngGl94FhZNVCl0CfnWIAZ9R11y7-wY,2827
|
1207
1208
|
meta_subject/tests/tests/test_physical_exam.py,sha256=U3TKOPWTVu8iXxsS8LGgJJEY8e2sKJ5iTBcIWIHKCAo,2947
|
1208
1209
|
meta_subject/tests/tests/test_sf12.py,sha256=5Daf-R4EeLjfDpsC5PZELfPIqY--joGzrj8nPVUiatI,6837
|
1209
|
-
meta_subject/tests/tests/test_study_medication.py,sha256=
|
1210
|
+
meta_subject/tests/tests/test_study_medication.py,sha256=W84r5wneEHj6edTh5olLm1gKH87EPDkd2FsL1tdkFBQ,10105
|
1210
1211
|
meta_visit_schedule/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1211
1212
|
meta_visit_schedule/apps.py,sha256=Uy3glJJ3-yCcXZ_MvhDEzxVxQbBuCTsZxLNmd5p1DHw,164
|
1212
1213
|
meta_visit_schedule/constants.py,sha256=912H945Ae35K2z0DmJUMnkhacRFO4-Rg_y0HDOX861s,560
|
@@ -1238,7 +1239,7 @@ tests/etc/user-rsa-restricted-private.pem,sha256=CUcHW9bznWdmmASN00hCzvxFPAFl4N2
|
|
1238
1239
|
tests/etc/user-rsa-restricted-public.pem,sha256=mt84djoL-uHw6Wc5SJh0zml6VzXulnf8eQSFg7-fheg,450
|
1239
1240
|
tests/etc/user-salt-local.key,sha256=x5anBw9fvbHurczouT3CjrkWb_xs7Ypm1htIJsgiuiw,256
|
1240
1241
|
tests/etc/user-salt-restricted.key,sha256=pxmpcfBRNB-4C6wTvHXz-9fOfJgKIFOjaAF8ZFfa4q4,256
|
1241
|
-
meta_edc-1.1.
|
1242
|
-
meta_edc-1.1.
|
1243
|
-
meta_edc-1.1.
|
1244
|
-
meta_edc-1.1.
|
1242
|
+
meta_edc-1.1.2.dist-info/METADATA,sha256=LM6BQiFagSs5kCluCm8FI2iK3jlneg4-Ncq3wQWBO9A,43587
|
1243
|
+
meta_edc-1.1.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
1244
|
+
meta_edc-1.1.2.dist-info/top_level.txt,sha256=RkzjNXwRq2kg_uZ_1bDwPUntijSXoY2YBqtByDwvvrc,244
|
1245
|
+
meta_edc-1.1.2.dist-info/RECORD,,
|
meta_reports/models/endpoints.py
CHANGED
@@ -25,6 +25,9 @@ class Endpoints(QaReportModelMixin, models.Model):
|
|
25
25
|
|
26
26
|
offstudy_reason = models.CharField(max_length=250, null=True)
|
27
27
|
|
28
|
+
def __str__(self):
|
29
|
+
return f"{self.subject_identifier} {self.visit_code} {self.endpoint_label}"
|
30
|
+
|
28
31
|
class Meta(QaReportModelMixin.Meta):
|
29
32
|
verbose_name = "Endpoints (DM)"
|
30
33
|
verbose_name_plural = "Endpoints (DM)"
|
meta_reports/tasks.py
CHANGED
@@ -6,7 +6,8 @@ def update_endpoints_table(subject_identifiers: list[str] | None = None):
|
|
6
6
|
from meta_analytics.dataframes import GlucoseEndpointsByDate
|
7
7
|
|
8
8
|
if len(subject_identifiers) > 5:
|
9
|
-
|
10
|
-
|
9
|
+
cls = GlucoseEndpointsByDate()
|
10
|
+
else:
|
11
|
+
cls = GlucoseEndpointsByDate(subject_identifiers=subject_identifiers)
|
11
12
|
cls.run()
|
12
13
|
return cls.to_model()
|
@@ -27,7 +27,7 @@ def create_missing_rx():
|
|
27
27
|
subject_identifier=subject_consent.subject_identifier,
|
28
28
|
report_datetime=subject_consent.consent_datetime,
|
29
29
|
randomizer_name=get_meta_version(),
|
30
|
-
|
30
|
+
medication_names=[METFORMIN],
|
31
31
|
site=subject_consent.site,
|
32
32
|
)
|
33
33
|
except PrescriptionAlreadyExists:
|
@@ -32,7 +32,7 @@ def func(apps, schema_editor):
|
|
32
32
|
subject_identifier=subject_consent.subject_identifier,
|
33
33
|
report_datetime=subject_consent.consent_datetime,
|
34
34
|
randomizer_name=get_meta_version(),
|
35
|
-
|
35
|
+
medication_names=[METFORMIN],
|
36
36
|
site_id=site.id,
|
37
37
|
)
|
38
38
|
for obj in apps.get_model("edc_pharmacy.rx")._default_manager.all():
|
meta_subject/models/signals.py
CHANGED
@@ -40,7 +40,7 @@ def study_medication_on_pre_save(sender, instance, raw, **kwargs):
|
|
40
40
|
subject_identifier=subject_consent.subject_identifier,
|
41
41
|
report_datetime=subject_consent.consent_datetime,
|
42
42
|
randomizer_name=get_meta_version(),
|
43
|
-
|
43
|
+
medication_names=[METFORMIN],
|
44
44
|
site=subject_consent.site,
|
45
45
|
)
|
46
46
|
except PrescriptionAlreadyExists:
|
@@ -21,13 +21,12 @@ class TestStudyMedication(MetaTestCaseMixin, TestCase):
|
|
21
21
|
)
|
22
22
|
|
23
23
|
def test_rx_exists(self):
|
24
|
-
medication = Medication.objects.get(name=METFORMIN)
|
25
24
|
self.assertRaises(
|
26
25
|
PrescriptionAlreadyExists,
|
27
26
|
create_prescription,
|
28
27
|
subject_identifier=self.registered_subject.subject_identifier,
|
29
28
|
report_datetime=self.registered_subject.registration_datetime,
|
30
|
-
|
29
|
+
medication_names=[METFORMIN],
|
31
30
|
site=self.registered_subject.site,
|
32
31
|
)
|
33
32
|
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|