meta-edc 0.3.32__py3-none-any.whl → 0.3.34__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/__init__.py +15 -0
- meta_analytics/dataframes/glucose_endpoints/endpoint_by_date.py +22 -13
- meta_analytics/dataframes/glucose_endpoints/glucose_endpoints_by_date.py +49 -21
- meta_auth/auth_objects.py +15 -0
- meta_auth/auths.py +5 -2
- meta_edc/settings/debug.py +2 -2
- meta_edc/settings/defaults.py +4 -0
- meta_edc/urls.py +1 -0
- {meta_edc-0.3.32.dist-info → meta_edc-0.3.34.dist-info}/METADATA +6 -3
- {meta_edc-0.3.32.dist-info → meta_edc-0.3.34.dist-info}/RECORD +45 -34
- {meta_edc-0.3.32.dist-info → meta_edc-0.3.34.dist-info}/WHEEL +1 -1
- meta_pharmacy/admin.py +128 -0
- meta_pharmacy/admin_site.py +5 -0
- meta_pharmacy/apps.py +3 -0
- meta_pharmacy/constants.py +10 -0
- meta_pharmacy/forms.py +65 -0
- meta_pharmacy/migrations/0002_initial.py +693 -0
- meta_pharmacy/migrations/0003_auto_20240909_2335.py +64 -0
- meta_pharmacy/models.py +102 -0
- meta_pharmacy/urls.py +8 -0
- meta_prn/action_items.py +9 -1
- meta_reports/admin/__init__.py +1 -0
- meta_reports/admin/dbviews/__init__.py +1 -0
- meta_reports/admin/dbviews/imp_substitutions_admin.py +88 -0
- meta_reports/migrations/0017_auto_20240819_1711.py +1 -0
- meta_reports/migrations/0047_impsubstitutions.py +56 -0
- meta_reports/migrations/0048_auto_20240909_2338.py +48 -0
- meta_reports/models/__init__.py +1 -0
- meta_reports/models/dbviews/__init__.py +1 -0
- meta_reports/models/dbviews/imp_substitutions/__init__.py +1 -0
- meta_reports/models/dbviews/imp_substitutions/unmanaged_model.py +37 -0
- meta_reports/models/dbviews/imp_substitutions/view_definition.py +20 -0
- meta_reports/models/dbviews/on_study_missing_values/qa_cases.py +0 -1
- meta_sites/tests/test_sites.py +1 -1
- meta_subject/migrations/0107_auto_20220415_0043.py +28 -22
- meta_subject/migrations/0126_auto_20220719_2142.py +4 -4
- meta_subject/migrations/0131_auto_20220722_0411.py +28 -23
- meta_subject/migrations/0132_auto_20220722_1825.py +10 -6
- meta_subject/migrations/0135_auto_20220722_2212.py +39 -35
- meta_subject/migrations/0150_auto_20220914_0039.py +15 -11
- meta_analytics/notebooks/meta_endpoints.ipynb +0 -201
- /meta_analytics/dataframes/{glucose_endpoints/constants.py → constants.py} +0 -0
- /meta_analytics/dataframes/{glucose_endpoints/utils.py → utils.py} +0 -0
- {meta_edc-0.3.32.dist-info → meta_edc-0.3.34.dist-info}/AUTHORS +0 -0
- {meta_edc-0.3.32.dist-info → meta_edc-0.3.34.dist-info}/LICENSE +0 -0
- {meta_edc-0.3.32.dist-info → meta_edc-0.3.34.dist-info}/top_level.txt +0 -0
@@ -1,2 +1,17 @@
|
|
1
|
+
from .constants import (
|
2
|
+
CASE_EOS,
|
3
|
+
CASE_FBG_ONLY,
|
4
|
+
CASE_FBGS_WITH_FIRST_OGTT,
|
5
|
+
CASE_FBGS_WITH_SECOND_OGTT,
|
6
|
+
CASE_OGTT,
|
7
|
+
endpoint_cases,
|
8
|
+
endpoint_columns,
|
9
|
+
)
|
1
10
|
from .glucose_endpoints import EndpointByDate, GlucoseEndpointsByDate
|
2
11
|
from .screening import get_glucose_tested_only_df, get_screening_df
|
12
|
+
from .utils import (
|
13
|
+
get_empty_endpoint_df,
|
14
|
+
get_test_string,
|
15
|
+
get_unique_subject_identifiers,
|
16
|
+
get_unique_visit_codes,
|
17
|
+
)
|
@@ -2,7 +2,7 @@ import numpy as np
|
|
2
2
|
import pandas as pd
|
3
3
|
from edc_constants.constants import YES
|
4
4
|
|
5
|
-
from
|
5
|
+
from ..constants import endpoint_cases
|
6
6
|
|
7
7
|
|
8
8
|
class EndpointTdeltaError(Exception):
|
@@ -23,8 +23,8 @@ class EndpointByDate:
|
|
23
23
|
Evaluation is done in order
|
24
24
|
|
25
25
|
Order of protocol endpoint evaluation:
|
26
|
-
* case 2. FBG >= 7 x 2, first OGTT
|
27
|
-
* case 3. FBG >= 7 x 2, second OGTT
|
26
|
+
* case 2. FBG >= 7 x 2, first OGTT<11.1
|
27
|
+
* case 3. FBG >= 7 x 2, second OGTT<11.1
|
28
28
|
|
29
29
|
Additional criteria considered:
|
30
30
|
1. any threshhold FBG must be taken while fasted (fasting=YES)
|
@@ -96,7 +96,7 @@ class EndpointByDate:
|
|
96
96
|
] = self.endpoint_cases[case]
|
97
97
|
|
98
98
|
def case_two(self, index: int):
|
99
|
-
"""FBG >= 7 x 2, first OGTT
|
99
|
+
"""FBG >= 7 x 2, first OGTT<11.1.
|
100
100
|
|
101
101
|
First FBG must be done with corresponding OGTT.
|
102
102
|
"""
|
@@ -104,11 +104,14 @@ class EndpointByDate:
|
|
104
104
|
self.get_next("fbg_datetime", index)
|
105
105
|
and self.get("fbg_value", index)
|
106
106
|
and self.get("ogtt_value", index)
|
107
|
+
and self.get("fasting", index)
|
107
108
|
and self.get_next("fbg_value", index)
|
109
|
+
and self.get_next("fasting", index)
|
108
110
|
and self.get("fbg_value", index) >= self.fbg_threshhold
|
109
111
|
and self.get("ogtt_value", index) < self.ogtt_threshhold
|
112
|
+
and self.get("fasting", index) == YES
|
110
113
|
and self.get_next("fbg_value", index) >= self.fbg_threshhold
|
111
|
-
and self.fasting
|
114
|
+
and self.get_next("fasting", index) == YES
|
112
115
|
and (self.get_next("fbg_datetime", index) - self.get("fbg_datetime", index)).days
|
113
116
|
>= 7
|
114
117
|
)
|
@@ -117,19 +120,22 @@ class EndpointByDate:
|
|
117
120
|
return reached
|
118
121
|
|
119
122
|
def case_three(self, index: int):
|
120
|
-
"""FBG >= 7 x 2, second OGTT
|
123
|
+
"""FBG >= 7 x 2, second OGTT<11.1.
|
121
124
|
|
122
125
|
Second FBG must be done with corresponding OGTT.
|
123
126
|
"""
|
124
127
|
reached = (
|
125
128
|
self.get_next("fbg_datetime", index)
|
126
129
|
and self.get("fbg_value", index)
|
130
|
+
and self.get("fasting", index)
|
127
131
|
and self.get_next("fbg_value", index)
|
128
132
|
and self.get_next("ogtt_value", index)
|
133
|
+
and self.get_next("fasting", index)
|
129
134
|
and self.get("fbg_value", index) >= self.fbg_threshhold
|
135
|
+
and self.get("fasting", index) == YES
|
130
136
|
and self.get_next("fbg_value", index) >= self.fbg_threshhold
|
131
137
|
and self.get_next("ogtt_value", index) < self.ogtt_threshhold
|
132
|
-
and self.fasting
|
138
|
+
and self.get_next("fasting", index) == YES
|
133
139
|
and (self.get_next("fbg_datetime", index) - self.get("fbg_datetime", index)).days
|
134
140
|
>= 7
|
135
141
|
)
|
@@ -143,21 +149,24 @@ class EndpointByDate:
|
|
143
149
|
This is not a protocol endpoint.
|
144
150
|
"""
|
145
151
|
reached = (
|
146
|
-
self.
|
147
|
-
and self.get("
|
152
|
+
self.get("fbg_value", index)
|
153
|
+
and self.get("fbg_datetime", index)
|
154
|
+
and self.get("fasting", index)
|
148
155
|
and self.get_next("fbg_value", index)
|
149
156
|
and self.get_next("ogtt_value", index)
|
157
|
+
and self.get_next("fbg_datetime", index)
|
158
|
+
and self.get_next("fasting", index)
|
150
159
|
and self.get("fbg_value", index) >= self.fbg_threshhold
|
160
|
+
and self.get("fasting", index) == YES
|
151
161
|
and self.get_next("fbg_value", index) >= self.fbg_threshhold
|
152
|
-
and self.fasting
|
162
|
+
and self.get_next("fasting", index) == YES
|
163
|
+
and (self.get_next("fbg_datetime", index) - self.get("fbg_datetime", index)).days
|
164
|
+
>= 7
|
153
165
|
)
|
154
166
|
if reached:
|
155
167
|
self.endpoint_reached(index, case=4, next_is_endpoint=True)
|
156
168
|
return reached
|
157
169
|
|
158
|
-
def fasting(self, index) -> bool:
|
159
|
-
return self.get("fasting", index) == YES and self.get_next("fasting", index) == YES
|
160
|
-
|
161
170
|
def sequential_assessments_in_days(self, index) -> int:
|
162
171
|
if not self.get_next("fbg_value", index):
|
163
172
|
raise EndpointTdeltaError
|
@@ -2,10 +2,15 @@ import numpy as np
|
|
2
2
|
import pandas as pd
|
3
3
|
from django.apps import apps as django_apps
|
4
4
|
from edc_constants.constants import NO, YES
|
5
|
-
from edc_pdutils.dataframes import
|
5
|
+
from edc_pdutils.dataframes import (
|
6
|
+
get_crf,
|
7
|
+
get_eos,
|
8
|
+
get_subject_consent,
|
9
|
+
get_subject_visit,
|
10
|
+
)
|
6
11
|
from edc_utils import get_utcnow
|
7
12
|
|
8
|
-
from
|
13
|
+
from ..constants import (
|
9
14
|
CASE_EOS,
|
10
15
|
CASE_FBG_ONLY,
|
11
16
|
CASE_FBGS_WITH_FIRST_OGTT,
|
@@ -14,13 +19,13 @@ from .constants import (
|
|
14
19
|
endpoint_cases,
|
15
20
|
endpoint_columns,
|
16
21
|
)
|
17
|
-
from
|
18
|
-
from .utils import (
|
22
|
+
from ..utils import (
|
19
23
|
get_empty_endpoint_df,
|
20
24
|
get_test_string,
|
21
25
|
get_unique_subject_identifiers,
|
22
26
|
get_unique_visit_codes,
|
23
27
|
)
|
28
|
+
from .endpoint_by_date import EndpointByDate
|
24
29
|
|
25
30
|
|
26
31
|
def normalize_date_columns(df: pd.DataFrame, cols: list[str] = None) -> pd.DataFrame:
|
@@ -83,13 +88,12 @@ class GlucoseEndpointsByDate:
|
|
83
88
|
self.endpoint_cases = {k: v for k, v in endpoint_cases.items() if k in self.case_list}
|
84
89
|
|
85
90
|
# merge two model DFs
|
86
|
-
self.df =
|
87
|
-
self.glucose_fbg_ogtt_df,
|
91
|
+
self.df = self.glucose_fbg_ogtt_df.merge(
|
88
92
|
self.glucose_fbg_df,
|
89
|
-
on=["subject_visit_id"
|
93
|
+
on=["subject_visit_id"],
|
90
94
|
how="outer",
|
91
95
|
indicator=True,
|
92
|
-
suffixes=("", "
|
96
|
+
suffixes=("", "_y"),
|
93
97
|
)
|
94
98
|
self.df = self.df.reset_index(drop=True)
|
95
99
|
|
@@ -97,13 +101,21 @@ class GlucoseEndpointsByDate:
|
|
97
101
|
cols = {
|
98
102
|
"fasting": None,
|
99
103
|
"fasting_hrs": np.nan,
|
104
|
+
"fbg_value": None,
|
100
105
|
"fbg_units": None,
|
106
|
+
"fbg_datetime": None,
|
101
107
|
"source": None,
|
102
108
|
"report_datetime": pd.NaT,
|
103
109
|
}
|
104
110
|
for col, null_value in cols.items():
|
105
|
-
self.df.loc[
|
106
|
-
|
111
|
+
self.df.loc[
|
112
|
+
(self.df["_merge"].isin(["both", "right_only"])) & (self.df[col].isna()), col
|
113
|
+
] = self.df[f"{col}_y"]
|
114
|
+
# if fbg_datetime still null, use visit datetime to sort order
|
115
|
+
self.df.loc[(self.df["fbg_datetime"].isna()), "fbg_datetime"] = self.df[
|
116
|
+
"visit_datetime"
|
117
|
+
]
|
118
|
+
cols = [col for col in self.df.columns if col.endswith("_y")]
|
107
119
|
cols.append("_merge")
|
108
120
|
self.df = self.df.drop(columns=cols)
|
109
121
|
self.df = self.df.reset_index(drop=True)
|
@@ -163,6 +175,11 @@ class GlucoseEndpointsByDate:
|
|
163
175
|
subject_identifiers=self.subject_identifiers,
|
164
176
|
subject_visit_model="meta_subject.subjectvisit",
|
165
177
|
)
|
178
|
+
# merge w/ subject_visit
|
179
|
+
subject_visit_df = get_subject_visit("meta_subject.subjectvisit")
|
180
|
+
df = subject_visit_df.merge(
|
181
|
+
df, on=["subject_visit_id"], how="left", suffixes=("", "_y")
|
182
|
+
)
|
166
183
|
df["source"] = "meta_subject.glucosefbg"
|
167
184
|
df.rename(columns={"fbg_fasting": "fasting"}, inplace=True)
|
168
185
|
df.loc[(df["fasting"] == "fasting"), "fasting"] = YES
|
@@ -189,6 +206,11 @@ class GlucoseEndpointsByDate:
|
|
189
206
|
subject_visit_model="meta_subject.subjectvisit",
|
190
207
|
)
|
191
208
|
df["source"] = "meta_subject.glucose"
|
209
|
+
# merge w/ subject_visit
|
210
|
+
subject_visit_df = get_subject_visit("meta_subject.subjectvisit")
|
211
|
+
df = subject_visit_df.merge(
|
212
|
+
df, on=["subject_visit_id"], how="left", suffixes=("", "_y")
|
213
|
+
)
|
192
214
|
df = calculate_fasting_hrs(df)
|
193
215
|
df = df[self.keep_cols]
|
194
216
|
df = df.reset_index(drop=True)
|
@@ -270,6 +292,12 @@ class GlucoseEndpointsByDate:
|
|
270
292
|
& (self.working_df["fasting"] == YES)
|
271
293
|
& (self.working_df["fbg_value"].notna())
|
272
294
|
].copy()
|
295
|
+
subject_endpoint_df.sort_values(by=["subject_identifier", "fbg_datetime"])
|
296
|
+
subject_endpoint_df = subject_endpoint_df.reset_index(drop=True)
|
297
|
+
subject_endpoint_df = subject_endpoint_df.drop_duplicates(
|
298
|
+
subset=["subject_identifier"], keep="first"
|
299
|
+
)
|
300
|
+
subject_endpoint_df = subject_endpoint_df.reset_index(drop=True)
|
273
301
|
if not subject_endpoint_df.empty:
|
274
302
|
# flag the selected endpoint rows as endpoints
|
275
303
|
subject_endpoint_df["endpoint"] = 1
|
@@ -344,19 +372,19 @@ class GlucoseEndpointsByDate:
|
|
344
372
|
subject_df["endpoint_type"] = None
|
345
373
|
subject_df["endpoint_label"] = None
|
346
374
|
subject_df["endpoint"] = 0
|
347
|
-
subject_df = subject_df.sort_values(["subject_identifier", "fbg_datetime"])
|
348
|
-
subject_df = subject_df.reset_index(drop=True)
|
349
375
|
subject_df = subject_df[endpoint_columns]
|
350
|
-
subject_df = subject_df.
|
351
|
-
self.visit_codes_df,
|
352
|
-
on="visit_code",
|
353
|
-
how="outer",
|
354
|
-
indicator=False,
|
355
|
-
suffixes=["", "2"],
|
356
|
-
)
|
357
|
-
subject_df["subject_identifier"] = subject_identifier
|
358
|
-
subject_df = subject_df.drop(columns=["count"])
|
376
|
+
subject_df = subject_df.sort_values(["subject_identifier", "fbg_datetime"])
|
359
377
|
subject_df = subject_df.reset_index(drop=True)
|
378
|
+
# subject_df = subject_df.merge(
|
379
|
+
# self.visit_codes_df,
|
380
|
+
# on="visit_code",
|
381
|
+
# how="outer",
|
382
|
+
# indicator=False,
|
383
|
+
# suffixes=["", "2"],
|
384
|
+
# )
|
385
|
+
# subject_df["subject_identifier"] = subject_identifier
|
386
|
+
# subject_df = subject_df.drop(columns=["count"])
|
387
|
+
# subject_df = subject_df.reset_index(drop=True)
|
360
388
|
return subject_df
|
361
389
|
|
362
390
|
def check_endpoint_by_fbg_for_subject(
|
meta_auth/auth_objects.py
CHANGED
@@ -3,6 +3,7 @@ from edc_auth.get_app_codenames import get_app_codenames
|
|
3
3
|
|
4
4
|
META_REPORTS = "META_REPORTS"
|
5
5
|
META_REPORTS_AUDIT = "META_REPORTS_AUDIT"
|
6
|
+
META_PHARMACIST = "META_PHARMACIST"
|
6
7
|
|
7
8
|
|
8
9
|
clinic_codenames = get_app_codenames(
|
@@ -10,6 +11,20 @@ clinic_codenames = get_app_codenames(
|
|
10
11
|
)
|
11
12
|
|
12
13
|
reports_codenames = get_app_codenames("meta_reports")
|
14
|
+
reports_codenames.remove("meta_reports.view_impsubstitutions")
|
15
|
+
|
16
|
+
meta_pharmacy_codenames = get_app_codenames("meta_pharmacy")
|
17
|
+
meta_pharmacy_codenames.append("meta_reports.view_impsubstitutions")
|
18
|
+
meta_pharmacy_codenames.append("meta_reports.viewallsites_impsubstitutions")
|
19
|
+
excluded_meta_pharmacy_codenames = [
|
20
|
+
"meta_pharmacy.add_rx",
|
21
|
+
"meta_pharmacy.change_rx",
|
22
|
+
"meta_pharmacy.delete_rx",
|
23
|
+
]
|
24
|
+
|
25
|
+
meta_pharmacy_codenames = [
|
26
|
+
c for c in meta_pharmacy_codenames if c not in excluded_meta_pharmacy_codenames
|
27
|
+
]
|
13
28
|
|
14
29
|
add_perms = []
|
15
30
|
if not settings.LIVE_SYSTEM:
|
meta_auth/auths.py
CHANGED
@@ -28,15 +28,18 @@ from edc_subject_dashboard.auths import SUBJECT_VIEW
|
|
28
28
|
from edc_unblinding.auth_objects import UNBLINDING_REQUESTORS
|
29
29
|
|
30
30
|
from .auth_objects import (
|
31
|
+
META_PHARMACIST,
|
31
32
|
META_REPORTS,
|
32
33
|
META_REPORTS_AUDIT,
|
33
34
|
clinic_codenames,
|
35
|
+
meta_pharmacy_codenames,
|
34
36
|
reports_codenames,
|
35
37
|
screening_codenames,
|
36
38
|
)
|
37
39
|
|
38
40
|
site_auths.add_group(*reports_codenames, name=META_REPORTS)
|
39
41
|
site_auths.add_group(*reports_codenames, name=META_REPORTS_AUDIT, view_only=True)
|
42
|
+
site_auths.add_group(*meta_pharmacy_codenames, name=META_PHARMACIST)
|
40
43
|
|
41
44
|
# update edc_auth default groups
|
42
45
|
site_auths.update_group(*clinic_codenames, name=AUDITOR, view_only=True)
|
@@ -69,8 +72,8 @@ site_auths.update_role(
|
|
69
72
|
DATA_MANAGER_EXPORT,
|
70
73
|
name=DATA_EXPORTER_ROLE,
|
71
74
|
)
|
72
|
-
site_auths.update_role(RANDO_UNBLINDED, PII, name=PHARMACIST_ROLE)
|
73
|
-
site_auths.update_role(RANDO_BLINDED, PII, name=SITE_PHARMACIST_ROLE)
|
75
|
+
site_auths.update_role(RANDO_UNBLINDED, PII, META_PHARMACIST, name=PHARMACIST_ROLE)
|
76
|
+
site_auths.update_role(RANDO_BLINDED, PII, META_PHARMACIST, name=SITE_PHARMACIST_ROLE)
|
74
77
|
site_auths.update_role(SUBJECT_VIEW, SCREENING_VIEW, name=DATA_MANAGER_ROLE)
|
75
78
|
site_auths.update_role(
|
76
79
|
SUBJECT_VIEW, SCREENING_VIEW, ACTION_ITEM, UNBLINDING_REQUESTORS, name=TMG_ROLE
|
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
|
meta_edc/settings/defaults.py
CHANGED
@@ -188,6 +188,7 @@ MIDDLEWARE = [
|
|
188
188
|
"django.contrib.sites.middleware.CurrentSiteMiddleware",
|
189
189
|
"django.middleware.csrf.CsrfViewMiddleware",
|
190
190
|
"django.contrib.auth.middleware.AuthenticationMiddleware",
|
191
|
+
"django.contrib.auth.middleware.LoginRequiredMiddleware",
|
191
192
|
"defender.middleware.FailedLoginMiddleware",
|
192
193
|
"django.contrib.messages.middleware.MessageMiddleware",
|
193
194
|
"django.middleware.clickjacking.XFrameOptionsMiddleware",
|
@@ -413,6 +414,9 @@ EDC_RANDOMIZATION_SKIP_VERIFY_CHECKS = True
|
|
413
414
|
# edc-sites
|
414
415
|
EDC_SITES_MODULE_NAME = env.str("EDC_SITES_MODULE_NAME")
|
415
416
|
|
417
|
+
# meta_pharmacy
|
418
|
+
META_PHARMACY_RX_SUBSTITUTION_FILE = env.str("META_PHARMACY_RX_SUBSTITUTION_FILE")
|
419
|
+
|
416
420
|
# django-multisite
|
417
421
|
CACHE_MULTISITE_KEY_PREFIX = "meta4"
|
418
422
|
SILENCED_SYSTEM_CHECKS = ["sites.E101"]
|
meta_edc/urls.py
CHANGED
@@ -62,6 +62,7 @@ urlpatterns = [
|
|
62
62
|
*paths_for_urlpatterns("meta_consent"),
|
63
63
|
*paths_for_urlpatterns("meta_export"),
|
64
64
|
*paths_for_urlpatterns("meta_lists"),
|
65
|
+
*paths_for_urlpatterns("meta_pharmacy"),
|
65
66
|
*paths_for_urlpatterns("meta_prn"),
|
66
67
|
*paths_for_urlpatterns("meta_screening"),
|
67
68
|
*paths_for_urlpatterns("meta_subject"),
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: meta-edc
|
3
|
-
Version: 0.3.
|
3
|
+
Version: 0.3.34
|
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
|
@@ -20,7 +20,7 @@ Requires-Python: >=3.12
|
|
20
20
|
Description-Content-Type: text/x-rst
|
21
21
|
License-File: LICENSE
|
22
22
|
License-File: AUTHORS
|
23
|
-
Requires-Dist: edc ==0.6.
|
23
|
+
Requires-Dist: edc ==0.6.11
|
24
24
|
Requires-Dist: edc-microscopy
|
25
25
|
Requires-Dist: beautifulsoup4
|
26
26
|
Requires-Dist: edc-analytics
|
@@ -35,7 +35,10 @@ META Edc
|
|
35
35
|
|
36
36
|
Metformin treatment in Africa- META
|
37
37
|
|
38
|
-
https://www.
|
38
|
+
* https://www.ucl.ac.uk/global-health/research/z-research/respond-africa/metformin-treatment-africa-meta
|
39
|
+
* https://www.inteafrica.org/related-projects/meta-trial/
|
40
|
+
* https://www.lstmed.ac.uk/research/departments/international-public-health/respond-africa/meta
|
41
|
+
* http://www.isrctn.com/ISRCTN76157257
|
39
42
|
|
40
43
|
py 3.12 / DJ 5.1 / edc 0.6.0 (META3)
|
41
44
|
|
@@ -85,18 +85,17 @@ meta_analytics/README.rst,sha256=x5KDks1P2bSPdyq3f9CNkynAAgJaXl7AX_3rnmC16HU,357
|
|
85
85
|
meta_analytics/__init__.py,sha256=kw_E-hvxNPuGxraTF6L5MFzADYn3vTSmww1vcGr96CQ,104
|
86
86
|
meta_analytics/constants.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
87
87
|
meta_analytics/get_tables.py,sha256=KDCFdzQmwtCdTrMrODpEDHQXVNzztOa8UiqV6C4hzlc,3043
|
88
|
-
meta_analytics/dataframes/__init__.py,sha256=
|
88
|
+
meta_analytics/dataframes/__init__.py,sha256=EsDu7Dn6mz4yz2enKyrdZiQKN224VwcD7VqTzYGdYjs,453
|
89
|
+
meta_analytics/dataframes/constants.py,sha256=XIt19uf5aSxiOVzkvHtUHs1RJo-1XqJLQOySOJvhQb8,789
|
90
|
+
meta_analytics/dataframes/utils.py,sha256=2V3nFFnaysuJvNrcHUOLqOk8e_3aP71079kB_YBXcQw,2014
|
89
91
|
meta_analytics/dataframes/enrolled/__init__.py,sha256=uKniE7L86umlSmGOjAFuwwsbyZj31mELGUpY3hByo4s,43
|
90
92
|
meta_analytics/dataframes/enrolled/get_glucose_df.py,sha256=L4gzszNjYzu-QmYu4gs1c7_Edcv7FgAjucihxHtANSY,5004
|
91
93
|
meta_analytics/dataframes/glucose_endpoints/__init__.py,sha256=a9RlAnFM0Z4AKw-WztBvnGMo3tLLe1dx3292A2n_CnA,107
|
92
|
-
meta_analytics/dataframes/glucose_endpoints/
|
93
|
-
meta_analytics/dataframes/glucose_endpoints/
|
94
|
-
meta_analytics/dataframes/glucose_endpoints/glucose_endpoints_by_date.py,sha256=Lqfa8YXiOJXrGNyXrbqOLXhkygZjtE5pGgemyYgeVik,19288
|
95
|
-
meta_analytics/dataframes/glucose_endpoints/utils.py,sha256=2V3nFFnaysuJvNrcHUOLqOk8e_3aP71079kB_YBXcQw,2014
|
94
|
+
meta_analytics/dataframes/glucose_endpoints/endpoint_by_date.py,sha256=aOadsfeclOEGFo5agSZUbY2NdM8iZDsOLdg-5j8aelg,7011
|
95
|
+
meta_analytics/dataframes/glucose_endpoints/glucose_endpoints_by_date.py,sha256=rWbCTg4D35Gp2BI3DjWZcfBOiMCwwTMyjewXsRNk1YE,20489
|
96
96
|
meta_analytics/dataframes/screening/__init__.py,sha256=onGpmB4474gu_JcyRGdRy09YQyP2Np-mX-rYZTFdJoA,114
|
97
97
|
meta_analytics/dataframes/screening/get_glucose_tested_only_df.py,sha256=0oMJIsIJRjurfpPONuJ4Aoab1UJikezGe3lQNWRoOo4,660
|
98
98
|
meta_analytics/dataframes/screening/get_screening_df.py,sha256=_6AmaHvH06ubFGiQB6XbVRkVGE5kvtbVbDfs7k5TPX8,4854
|
99
|
-
meta_analytics/notebooks/meta_endpoints.ipynb,sha256=dvLNb8nsCjM7upQhj7LIwwdv0Hv5gK54wAgfVAw0qXw,5816
|
100
99
|
meta_analytics/tables/__init__.py,sha256=mhESCt0Lq4RJU-lbQ5fVfIbXzrEsootGYp7EzQIqDBI,70
|
101
100
|
meta_analytics/tables/eligible.py,sha256=2q-SMbAsrBgOVc4Ttq5P3bpjsUKwP5hYhJBMgyH6GGI,3389
|
102
101
|
meta_analytics/tables/has_dm.py,sha256=W6pObFI7k2hpL46Q7t2QIfYDVfo7-PHJMdCv6Q5EUQk,1739
|
@@ -106,8 +105,8 @@ meta_analytics/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hS
|
|
106
105
|
meta_analytics/tests/test_endpoints_by_date.py,sha256=43uBO5VTcF5zq9I5ow9f6Isn-xs7Km_qOrXELJjaew4,3034
|
107
106
|
meta_auth/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
108
107
|
meta_auth/apps.py,sha256=AcVJmdM3EuebpqB7A1vXRfYBcovgsqPvE71lnGuM-qo,298
|
109
|
-
meta_auth/auth_objects.py,sha256=
|
110
|
-
meta_auth/auths.py,sha256=
|
108
|
+
meta_auth/auth_objects.py,sha256=C9ANQTiqML8oH8DharMc8JQYYKV0At9kGCysehcrTfU,2539
|
109
|
+
meta_auth/auths.py,sha256=EBdK6b5b2yduDvqYmnmJFRvuJ0fLDQ_q226iuwHA_QU,3008
|
111
110
|
meta_auth/urls.py,sha256=_sVCnQeiAFRYKhxga3_DjoKj_4bgs1s2gjcynDiapvA,111
|
112
111
|
meta_consent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
113
112
|
meta_consent/action_items.py,sha256=JIU5DCNeenaOk0PVTsDkAvFmHCquXBeFZf4Vw7JONl0,756
|
@@ -219,7 +218,7 @@ meta_edc/meta_version.py,sha256=8IASYGnr43t18oDhNAPNnQoKvFYVAUnPILl6a05HAoc,211
|
|
219
218
|
meta_edc/model_callers.py,sha256=PjQEW7Kp5HHcUMdmz7dvxg53HvGJHXUKr6QTd-4hsyE,1339
|
220
219
|
meta_edc/models.py,sha256=DLA-hDdFszAVNCe1sZqVoLmIXifFW0HeZsipP9D1Ic4,46
|
221
220
|
meta_edc/navbars.py,sha256=1E7JzjI9NUGKwOVvyMGE2Gs2FM40vImMcuB_01t5FTs,1099
|
222
|
-
meta_edc/urls.py,sha256=
|
221
|
+
meta_edc/urls.py,sha256=BpDuV2XX7Qe8xkSgjhT7ehiZ7QCVtQwzQiY2YPhta_I,3534
|
223
222
|
meta_edc/utils.py,sha256=FdGGHT0zCUM9FLovLanH_ultcxbVitCvvPAwq0U3yYc,342
|
224
223
|
meta_edc/wsgi.py,sha256=Ns9vu_jcEqpOLM5tb-hwVUh3ciInocrG3kUPAxh7nJg,165
|
225
224
|
meta_edc/wsgi_live.py,sha256=EprgdsDiEvNN033w6lUQHaS8Y3ntpPrWHDTOgZcjaCQ,164
|
@@ -232,8 +231,8 @@ meta_edc/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSu
|
|
232
231
|
meta_edc/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
233
232
|
meta_edc/management/commands/update_forms_reference.py,sha256=_DiCqhHUk8lGhDGlsjOA069EE-g7UBDlZQCH6L1xiHo,1003
|
234
233
|
meta_edc/settings/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
235
|
-
meta_edc/settings/debug.py,sha256
|
236
|
-
meta_edc/settings/defaults.py,sha256=
|
234
|
+
meta_edc/settings/debug.py,sha256=PUUzyXtMyiKYCyqHeD-mT6PjEKJS8ASDcSxtiG84E1Y,947
|
235
|
+
meta_edc/settings/defaults.py,sha256=Q1WJEfWQF5A-IvFoMeyQi0n5BaPmXSgpfAkJ011B_SY,18764
|
237
236
|
meta_edc/settings/live.py,sha256=uLTlsIc3H6gdE_7pkL6vyOVa6V_74hnXFkiojqGFAYY,264
|
238
237
|
meta_edc/settings/logging.py,sha256=6qVUE37OMkf5rzwTmMq4krFsZ2jcyCpWdFtGih_Cs4U,1938
|
239
238
|
meta_edc/settings/minimal.py,sha256=3z-7GBluflnUkuSotKZlYvpL34NZ6tfFNuQNJLCyflo,592
|
@@ -290,14 +289,20 @@ meta_lists/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3h
|
|
290
289
|
meta_lists/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
291
290
|
meta_lists/tests/test_lists.py,sha256=qcp2emRyd5-cP2oLluy8MpUucBDQ8_GdUxjh2KbZPv4,212
|
292
291
|
meta_pharmacy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
293
|
-
meta_pharmacy/
|
294
|
-
meta_pharmacy/
|
295
|
-
meta_pharmacy/
|
292
|
+
meta_pharmacy/admin.py,sha256=xFFC-xROXqcWBsS1QYSFYJYdUzcTQMkzFHzEMniasNk,3255
|
293
|
+
meta_pharmacy/admin_site.py,sha256=Ekq8Z13f1w4Llm6exO5w4Jk4Bvt-5WN1ydy_BS2rbdI,171
|
294
|
+
meta_pharmacy/apps.py,sha256=VNiKT23F5d5nkXxzu1L-kAqovNOdfxzp-cUC6qcioVQ,732
|
295
|
+
meta_pharmacy/constants.py,sha256=d3NAZwpxCDm9LLQ_QGKBG2txooYg748Ajh8a2deF0kw,263
|
296
|
+
meta_pharmacy/forms.py,sha256=b02OM7TbMyQ12qrZ8WptmhIuGj87fgkQQkc0qVxMopw,2104
|
297
|
+
meta_pharmacy/models.py,sha256=stj6HnurPlnLKZi0tZKTzy3m24t26TsDMzydJklMQxg,3373
|
296
298
|
meta_pharmacy/prepare_meta_pharmacy.py,sha256=5gNiPkmOzWwCW-_q6hgIzj_0tnPuN4Tl1lVI6FygNgs,2945
|
299
|
+
meta_pharmacy/urls.py,sha256=jncXssL_SeRhb_OJVXLdGFvPT3BqtrkSPdq-eyJnGfY,207
|
297
300
|
meta_pharmacy/migrations/0001_initial.py,sha256=2uyWhZ-Qkjum1gJJA5v-BWUdpmKhkf8BcuDQMl8895s,1115
|
301
|
+
meta_pharmacy/migrations/0002_initial.py,sha256=zkPXmGhdEi-EM0HJRBaTUAltdiLRjW1BhU4GEydoBM8,27355
|
302
|
+
meta_pharmacy/migrations/0003_auto_20240909_2335.py,sha256=_hbzV6HaBm-VS_jQMhl3w5srvyaYOQclLBvr_8f79uk,2227
|
298
303
|
meta_pharmacy/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
299
304
|
meta_prn/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
300
|
-
meta_prn/action_items.py,sha256=
|
305
|
+
meta_prn/action_items.py,sha256=wz6X7Ve8ibqPBO5kB6S9rYYkWfx8JxsoYRVppzIGAzk,9110
|
301
306
|
meta_prn/admin_site.py,sha256=E4dJ6ofu9Kp-1SIWIuY3PraVPbEJSWBBqhorJPGUNqU,161
|
302
307
|
meta_prn/apps.py,sha256=NEqrwzEW277BAPGeL1H1KdK9e74FqXfYHK6o46BtaJA,280
|
303
308
|
meta_prn/baker_recipes.py,sha256=jDGg3btxjtvnsph_AnKoZBDUeTfokMs5iQWnQBJD-jw,660
|
@@ -434,13 +439,14 @@ meta_reports/pdf_report.py,sha256=9lWnRc_BNieDFXC4VgA0QHK6g_ct58u8tupPRsbRvV0,23
|
|
434
439
|
meta_reports/tasks.py,sha256=wPzfm99Hox1AIvt1KxYg1r6g9v8ta2AHOHesoN6AxEk,370
|
435
440
|
meta_reports/urls.py,sha256=_c6AMrK4U5MsyFSU2JSPNfiZlbhuw24C7CyPNYpqGd0,206
|
436
441
|
meta_reports/utils.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
437
|
-
meta_reports/admin/__init__.py,sha256=
|
442
|
+
meta_reports/admin/__init__.py,sha256=3GDQM-HA1h8FdsmGSAiPaCd1paMGGJHTq6Ivd4Ob9bA,434
|
438
443
|
meta_reports/admin/endpoints_admin.py,sha256=L4mDLNIkR6203RI3ImBYel2kevaH_Nwa6KMYuoDwyNU,518
|
439
444
|
meta_reports/admin/endpoints_all_admin.py,sha256=_czdezZf9fSjwZJmO-3HbmdXrXP6nk8-HdiweqUzPRE,476
|
440
445
|
meta_reports/admin/list_filters.py,sha256=pByBzz9-qGwqBfdZFlByxJUZDTJQXOTWfNLjmK8KF00,870
|
441
446
|
meta_reports/admin/modeladmin_mixins.py,sha256=RhdkF5W9ccuwaX5NTMF4b9shQJgDFaOlj7ENOTBAG0g,3669
|
442
|
-
meta_reports/admin/dbviews/__init__.py,sha256=
|
447
|
+
meta_reports/admin/dbviews/__init__.py,sha256=2yPu0SO7ZX9yjan0OS9izzws14YYoXcGXmZhwJhax1I,675
|
443
448
|
meta_reports/admin/dbviews/glucose_summary_admin.py,sha256=NqnDKx5l0Q-2xxRGdnf50DaRX1Sn8-DC0jHSk96LkRo,4005
|
449
|
+
meta_reports/admin/dbviews/imp_substitutions_admin.py,sha256=um7UEmwQH7V3PH5NASG3lYHqsrIux0mkVgVcU7m7rAI,3257
|
444
450
|
meta_reports/admin/dbviews/patient_history_missing_baseline_cd4_admin.py,sha256=XyroEqxlX816xrdi0IVSelNPxPBWi96niKa-MQVGkck,2058
|
445
451
|
meta_reports/admin/dbviews/unattended_three_in_row2_admin.py,sha256=0r13KRr0gsH2osmSlffRV11SpSBpWM612AYl-GOoYm0,1347
|
446
452
|
meta_reports/admin/dbviews/unattended_three_in_row_admin.py,sha256=i_-H3pMXRjssf8jFw8gJ8_b0FaM4tX2AI4xfHQDyssU,1121
|
@@ -473,7 +479,7 @@ meta_reports/migrations/0013_auto_20240813_1516.py,sha256=6m7f0kzDjmQ1WuvTe2YmYc
|
|
473
479
|
meta_reports/migrations/0014_auto_20240813_1517.py,sha256=73gFSbkF_1Ujj-ynf6kzpVw7-iJjyxBhwTQwek0gbM0,5506
|
474
480
|
meta_reports/migrations/0015_alter_endpoints_site.py,sha256=j3SqxCkI6MO3-SdDkmYPtRJ8tidcXL5RJ_IK42R6soQ,551
|
475
481
|
meta_reports/migrations/0016_missingscreeningogtt.py,sha256=Dmgh4Hmzrye_GHGXNksBCt6p-cI4U5qakj3RHYi4sOw,1962
|
476
|
-
meta_reports/migrations/0017_auto_20240819_1711.py,sha256=
|
482
|
+
meta_reports/migrations/0017_auto_20240819_1711.py,sha256=OJmsJFp7eMoBOphCNaJEDvwnHzab6Q8tl92Uxdqir20,36773
|
477
483
|
meta_reports/migrations/0018_auto_20240819_1713.py,sha256=BaYwu6TA-wNzKqR-1GJ3fzrZ9b9Oj6C7M5f32QFyPGU,5309
|
478
484
|
meta_reports/migrations/0019_auto_20240819_1721.py,sha256=oxpy4mTbvJoBC2AqDg5FXkjOhTKmr6LiF4x74-yUr_k,5594
|
479
485
|
meta_reports/migrations/0020_auto_20240819_1811.py,sha256=CgjDxYzefPLngSZ8l4XSm3K086-2SCbK6S_8tuMgS6w,6038
|
@@ -503,15 +509,20 @@ meta_reports/migrations/0043_auto_20240828_2309.py,sha256=ZQUFjpWb6Jl2__ghkXL_gv
|
|
503
509
|
meta_reports/migrations/0044_auto_20240828_2323.py,sha256=oOuxdpmk3NjdkljjqtSHOPv-C2cFNgHquTz-qjPwff4,143236
|
504
510
|
meta_reports/migrations/0045_auto_20240829_0248.py,sha256=V9F3yLQsbvUL40Fei3FrhBB4t7eReGGW4tnkx2lAjrw,33850
|
505
511
|
meta_reports/migrations/0046_auto_20240829_0250.py,sha256=lKVlj7LrkOJ49LJxccYvQdYEZhnSKTcZEcZMYj7h9q8,30676
|
512
|
+
meta_reports/migrations/0047_impsubstitutions.py,sha256=VPTb5j2t9IvwR-Bq0lnVBGLAVKdL7IbY8DD-cjl_m5o,2088
|
513
|
+
meta_reports/migrations/0048_auto_20240909_2338.py,sha256=mYAOUzJohv9eW9y93fpZTmlgmx_eOBRhUBMr0F3_-_M,3169
|
506
514
|
meta_reports/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
507
|
-
meta_reports/models/__init__.py,sha256=
|
515
|
+
meta_reports/models/__init__.py,sha256=8JnKMG9devIPboCCGj423x77Ylry2ROdGOnDSk5Xo4w,380
|
508
516
|
meta_reports/models/endpoints.py,sha256=HfxQuKkzu883xbTeVfIEktN-ARoGe1qC6KgEAzRtV5E,925
|
509
517
|
meta_reports/models/endpoints_proxy.py,sha256=3h3JGaPmnJedFPVWGrk4idV4YtdihqiCI5W7QomwG4E,318
|
510
518
|
meta_reports/models/dbviews/README,sha256=GdeboB7Xqb-Qo_rE1ondcxP8Ps93MIjLzCePQCePig0,686
|
511
|
-
meta_reports/models/dbviews/__init__.py,sha256=
|
519
|
+
meta_reports/models/dbviews/__init__.py,sha256=C5YGOKwVAexjWxLh5vl0m561TBMWDM_yAvIrwqG_M70,559
|
512
520
|
meta_reports/models/dbviews/glucose_summary/__init__.py,sha256=Tfgjso4TpxMCidAdRJp8g1Ykqqa43yWlQSotzAaORAo,93
|
513
521
|
meta_reports/models/dbviews/glucose_summary/unmanaged_model.py,sha256=uqhD5JLXtyQ94zpG5Puxodjzli3quE4GgiFi7en6EeM,1055
|
514
522
|
meta_reports/models/dbviews/glucose_summary/view_definition.py,sha256=Fc5KN-It9dcBvRta-b26kUl8uQEHA19vrYIhNRqe2Xo,1512
|
523
|
+
meta_reports/models/dbviews/imp_substitutions/__init__.py,sha256=N0507JzoVRtNA9W9_RoiAQYEQZGdvP2U8P83ZJMeZxQ,46
|
524
|
+
meta_reports/models/dbviews/imp_substitutions/unmanaged_model.py,sha256=KxynevJevXVj0zVHf7_DIjw_EZzDt3BszEcfEHygPGc,1168
|
525
|
+
meta_reports/models/dbviews/imp_substitutions/view_definition.py,sha256=FRAssQC9e48ZoBEScGuiRV61ZX3KvuW29l-XqPNsTbg,870
|
515
526
|
meta_reports/models/dbviews/missing_screening_ogtt/__init__.py,sha256=7uX_2HfVU-3G1O_xecfGnE5_pcX5eceiRaapeDQtzIw,105
|
516
527
|
meta_reports/models/dbviews/missing_screening_ogtt/note_model.py,sha256=JHItVS11WDFg3lTe7ayH9T7Epd-VvXXD_79FssrmAwc,1813
|
517
528
|
meta_reports/models/dbviews/missing_screening_ogtt/unmanaged_model.py,sha256=_XFzpOiMoxr-F0ebKNEnyXqS6dnb3P5tBRnZlbrQ2x8,1346
|
@@ -521,7 +532,7 @@ meta_reports/models/dbviews/on_study_missing_lab_values/qa_cases.py,sha256=QBptc
|
|
521
532
|
meta_reports/models/dbviews/on_study_missing_lab_values/unmanged_model.py,sha256=QI9T3K35pAAUMCiIbtwU_cf9kPodBfG9jwNeahPzTMQ,647
|
522
533
|
meta_reports/models/dbviews/on_study_missing_lab_values/view_definition.py,sha256=Z0dnJZZT7EokC0M2TVSCjcLU0SyFfjxydjYmHqZcNag,568
|
523
534
|
meta_reports/models/dbviews/on_study_missing_values/__init__.py,sha256=bxRAXRocUIdUCg9jARlztOE2co9LqgHbBOkU1Bykz9M,49
|
524
|
-
meta_reports/models/dbviews/on_study_missing_values/qa_cases.py,sha256=
|
535
|
+
meta_reports/models/dbviews/on_study_missing_values/qa_cases.py,sha256=NiqcSU5ZQD6zSgn08yPY0TEFqmeHSpH6DHFX8ns_XaI,1920
|
525
536
|
meta_reports/models/dbviews/on_study_missing_values/unmanged_model.py,sha256=TQptzrx1Xv-sE_3ioO9BZ1ZE7CKZG8JWXsFD6-ZxI8k,632
|
526
537
|
meta_reports/models/dbviews/on_study_missing_values/view_definition.py,sha256=W7MgZo51Y3nzQ7lUDtmZquRnC5ELdKGnpsscaCC9ouM,564
|
527
538
|
meta_reports/models/dbviews/patient_history_missing_baseline_cd4/__init__.py,sha256=eIyKY9mdIE3-J2vtQtY7MOg_RQkwKj7aserwO5PBNQQ,62
|
@@ -686,7 +697,7 @@ meta_sites/models.py,sha256=DLA-hDdFszAVNCe1sZqVoLmIXifFW0HeZsipP9D1Ic4,46
|
|
686
697
|
meta_sites/sites.py,sha256=H26Erar3_fLVl5wf2ILDM5C6wGEoi0dQbiSPmzb9OGw,1625
|
687
698
|
meta_sites/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
688
699
|
meta_sites/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
689
|
-
meta_sites/tests/test_sites.py,sha256=
|
700
|
+
meta_sites/tests/test_sites.py,sha256=WkI87TUqTsVxbIPh4wQdJ15FOoGE6R5oGPXqUpO0ntE,426
|
690
701
|
meta_sites/tests/urls.py,sha256=_sVCnQeiAFRYKhxga3_DjoKj_4bgs1s2gjcynDiapvA,111
|
691
702
|
meta_stats/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
692
703
|
meta_stats/incidence.py,sha256=59-BOn4nw-U79Ku4SxiPkJIse2pi467dOMTnLGmZvgI,540
|
@@ -912,7 +923,7 @@ meta_subject/migrations/0103_auto_20220324_0326.py,sha256=gBiNh4-CElPRQcGqb04t4Y
|
|
912
923
|
meta_subject/migrations/0104_auto_20220412_2151.py,sha256=lruwZFW9lyRzAJ-13bJZh19ZhFYMKX6k-TUjuXWIZAY,966
|
913
924
|
meta_subject/migrations/0105_auto_20220412_2310.py,sha256=wEJsJDk_cwh-JW8ZPxg9HGE3YKKtOPRQJTo6xywX5nk,1290
|
914
925
|
meta_subject/migrations/0106_auto_20220414_1741.py,sha256=tUQQG1JgKa_XrTL2Paz83YaEs8LhIl9gph5OyiV22nk,772
|
915
|
-
meta_subject/migrations/0107_auto_20220415_0043.py,sha256=
|
926
|
+
meta_subject/migrations/0107_auto_20220415_0043.py,sha256=PWxsJHxonC9L0nTWJnNF-oc3dcZfzkJPNvI38DYDbD8,1718
|
916
927
|
meta_subject/migrations/0108_auto_20220415_1747.py,sha256=4HHVMatXiqavoutbzbZY7TlTHxg32uQYP7gHWg27DX8,688
|
917
928
|
meta_subject/migrations/0109_auto_20220415_1758.py,sha256=FNBIWr0sCmXCvzI0yNVeMSrPup7vMQJhnYxrzHu9DSA,556
|
918
929
|
meta_subject/migrations/0110_auto_20220512_1811.py,sha256=iKRSR0qkKbgOGQUT3zyz7SWN7kyrfJtFH98c1QTu8gM,2516
|
@@ -931,16 +942,16 @@ meta_subject/migrations/0122_auto_20220708_2144.py,sha256=qEaeHaf0Ab3SwvlENZxP4H
|
|
931
942
|
meta_subject/migrations/0123_auto_20220714_2136.py,sha256=4ZOX8z0-GjWDTNu9DkZNxZtKIyFcMaEHMdzL4zf_pwA,8262
|
932
943
|
meta_subject/migrations/0124_auto_20220714_2303.py,sha256=M_QpUhj8K-LD5HLytzYH7n59bqlruHzCGpozKjPaCY0,1206
|
933
944
|
meta_subject/migrations/0125_auto_20220719_2134.py,sha256=ijk0rLwlXCxft3tPptVpqfDrtuk6ud5Cxh_EFTZ8FW8,1568
|
934
|
-
meta_subject/migrations/0126_auto_20220719_2142.py,sha256=
|
945
|
+
meta_subject/migrations/0126_auto_20220719_2142.py,sha256=etZtba3l2cN_QQqEKEIrKpKOsotCifX85Y8P6ge2if4,784
|
935
946
|
meta_subject/migrations/0127_auto_20220720_0053.py,sha256=YAJ2xlCKC-0oin-XxnfzyZcsAF9ozNx_a_5cP8WJ1i4,5488
|
936
947
|
meta_subject/migrations/0128_auto_20220720_0055.py,sha256=voqWxaEfSrFSCzXglIfZLRdQpAx_MZ6GZIJmjMr9j50,778
|
937
948
|
meta_subject/migrations/0129_auto_20220720_0108.py,sha256=XBant365dtOEYMtVcbs0yKgbCGP_GIg3azqvX2TGGc8,490
|
938
949
|
meta_subject/migrations/0130_auto_20220720_0216.py,sha256=S7Q7TAl97ZCVpum2zmOtHqeeV4kmo4tbLa-hOKtO-rs,683
|
939
|
-
meta_subject/migrations/0131_auto_20220722_0411.py,sha256=
|
940
|
-
meta_subject/migrations/0132_auto_20220722_1825.py,sha256=
|
950
|
+
meta_subject/migrations/0131_auto_20220722_0411.py,sha256=h0fzn1OsT_tvx5LMDyrh9t3HUsXzcpGwA19regX_jO4,2153
|
951
|
+
meta_subject/migrations/0132_auto_20220722_1825.py,sha256=TmWCNPi8rdNvA7qfWZ-iVAzlXBrN_FE5uATEzVNFxXY,979
|
941
952
|
meta_subject/migrations/0133_auto_20220722_2140.py,sha256=Un8wWZeac9RdJ3cUUo43bAHsOAm489wyhXcaeTBeve4,28130
|
942
953
|
meta_subject/migrations/0134_auto_20220722_2211.py,sha256=Ez2ur6gngrz2y82Hsgx-Ag3HJXr8htcsGS4BxnjX-eU,1806
|
943
|
-
meta_subject/migrations/0135_auto_20220722_2212.py,sha256=
|
954
|
+
meta_subject/migrations/0135_auto_20220722_2212.py,sha256=34qNpdc0c-LkK0MhSh9ofJP50Ckut4c9yWwVyfU5fvY,2463
|
944
955
|
meta_subject/migrations/0136_egfrdropnotification_creatinine_quantifier_and_more.py,sha256=4vWNQUmziJFlktyOekNqC_lx0ybywCx0FMaIE5_9oRE,8660
|
945
956
|
meta_subject/migrations/0137_alter_egfrdropnotification_egfr_percent_change_and_more.py,sha256=OQA1uVxwReY4osMsbhT_MGVfOBaopBI4s7GW56ba3vU,1138
|
946
957
|
meta_subject/migrations/0138_alter_glucose_fbg_datetime_and_more.py,sha256=JdZ1KW-PnapQm81_THgm-ty3_AeOmbujZoxfRE1cjY8,3531
|
@@ -955,7 +966,7 @@ meta_subject/migrations/0146_auto_20220907_0207.py,sha256=1va3UjUI5bD3yey08Fk3rp
|
|
955
966
|
meta_subject/migrations/0147_auto_20220907_1505.py,sha256=kRJWQ81XsX_poQBS_u0tuiQBfRhnP4lQeNzfDTOeOmw,1906
|
956
967
|
meta_subject/migrations/0148_auto_20220908_1826.py,sha256=iHN59ZuFFYQCbLYZAebF_kaiP8m-twUnwUAzrgtFOXU,1814
|
957
968
|
meta_subject/migrations/0149_auto_20220913_2139.py,sha256=V27KGY9t6IV8Xzf0wgcLQseM1DBcXGXY3ReNC_iRUe0,1000
|
958
|
-
meta_subject/migrations/0150_auto_20220914_0039.py,sha256=
|
969
|
+
meta_subject/migrations/0150_auto_20220914_0039.py,sha256=qB-6YVz3lloQf6JbbwZACGyf68n2LtlGcFX8v_NY9Qc,1322
|
959
970
|
meta_subject/migrations/0151_auto_20220918_0508.py,sha256=tcQ-eyK-2cIqTLDtL9QsfDi4F9fu8UGHVye6QSBDYLA,52998
|
960
971
|
meta_subject/migrations/0152_auto_20220925_0509.py,sha256=Zd_1TRIXLzw323ccrwHT_k76HgEqVCEBqvqbjlNYCto,738
|
961
972
|
meta_subject/migrations/0153_auto_20220928_0250.py,sha256=nmYfG7zYmrRW4JQXoZQlE3aQQBBehDJrtVRIb4AWtK0,1172
|
@@ -1123,9 +1134,9 @@ tests/etc/user-rsa-restricted-private.pem,sha256=CUcHW9bznWdmmASN00hCzvxFPAFl4N2
|
|
1123
1134
|
tests/etc/user-rsa-restricted-public.pem,sha256=mt84djoL-uHw6Wc5SJh0zml6VzXulnf8eQSFg7-fheg,450
|
1124
1135
|
tests/etc/user-salt-local.key,sha256=x5anBw9fvbHurczouT3CjrkWb_xs7Ypm1htIJsgiuiw,256
|
1125
1136
|
tests/etc/user-salt-restricted.key,sha256=pxmpcfBRNB-4C6wTvHXz-9fOfJgKIFOjaAF8ZFfa4q4,256
|
1126
|
-
meta_edc-0.3.
|
1127
|
-
meta_edc-0.3.
|
1128
|
-
meta_edc-0.3.
|
1129
|
-
meta_edc-0.3.
|
1130
|
-
meta_edc-0.3.
|
1131
|
-
meta_edc-0.3.
|
1137
|
+
meta_edc-0.3.34.dist-info/AUTHORS,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1138
|
+
meta_edc-0.3.34.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
1139
|
+
meta_edc-0.3.34.dist-info/METADATA,sha256=cIWKUxcvH6QDWYsXm16RB4_qh4XxjQwGUPxSNLSp4nM,3015
|
1140
|
+
meta_edc-0.3.34.dist-info/WHEEL,sha256=cVxcB9AmuTcXqmwrtPhNK88dr7IR_b6qagTj0UvIEbY,91
|
1141
|
+
meta_edc-0.3.34.dist-info/top_level.txt,sha256=RkzjNXwRq2kg_uZ_1bDwPUntijSXoY2YBqtByDwvvrc,244
|
1142
|
+
meta_edc-0.3.34.dist-info/RECORD,,
|