meta-edc 1.5.2__py3-none-any.whl → 1.5.4__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_edc-1.5.2.dist-info → meta_edc-1.5.4.dist-info}/METADATA +4 -4
- {meta_edc-1.5.2.dist-info → meta_edc-1.5.4.dist-info}/RECORD +7 -7
- meta_subject/forms/blood_results/blood_results_rft_form.py +2 -19
- meta_subject/metadata_rules/metadata_rules.py +14 -0
- meta_subject/metadata_rules/predicates.py +3 -0
- {meta_edc-1.5.2.dist-info → meta_edc-1.5.4.dist-info}/WHEEL +0 -0
- {meta_edc-1.5.2.dist-info → meta_edc-1.5.4.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: meta-edc
|
|
3
|
-
Version: 1.5.
|
|
3
|
+
Version: 1.5.4
|
|
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
|
|
@@ -89,8 +89,8 @@ Assuming you are logged into the account ``myaccount``:
|
|
|
89
89
|
mkdir ~/edc && \
|
|
90
90
|
cd ~/edc && \
|
|
91
91
|
uv venv && \
|
|
92
|
-
uv pip install -U meta-edc==1.5.
|
|
93
|
-
wget https://raw.githubusercontent.com/meta-trial/meta-edc/1.5.
|
|
92
|
+
uv pip install -U meta-edc==1.5.3 && \
|
|
93
|
+
wget https://raw.githubusercontent.com/meta-trial/meta-edc/1.5.3/manage.py && \
|
|
94
94
|
uv pip freeze | grep meta-edc
|
|
95
95
|
|
|
96
96
|
Copy your ``.env`` file to ``~/.etc``.
|
|
@@ -140,7 +140,7 @@ From the above example:
|
|
|
140
140
|
|
|
141
141
|
cd ~/edc && \
|
|
142
142
|
uv venv --clear && \
|
|
143
|
-
uv pip install -U meta-edc==1.5.
|
|
143
|
+
uv pip install -U meta-edc==1.5.3 && \
|
|
144
144
|
wget -O manage.py https://raw.githubusercontent.com/meta-trial/meta-edc/1.1.10/manage.py && \
|
|
145
145
|
uv pip freeze | grep meta-edc && \
|
|
146
146
|
python manage.py check
|
|
@@ -796,7 +796,7 @@ meta_subject/forms/blood_results/blood_results_hba1c_form.py,sha256=2eugHsvMxwD0
|
|
|
796
796
|
meta_subject/forms/blood_results/blood_results_ins_form.py,sha256=zKwobon8wRBrwpAMxonbXtR-Bg2wsJbcHraLjsqcAhY,722
|
|
797
797
|
meta_subject/forms/blood_results/blood_results_lft_form.py,sha256=WKCGZXTk9ndlASymnKKIAo0rBtE9uoE_gzKsx19p-LQ,714
|
|
798
798
|
meta_subject/forms/blood_results/blood_results_lipids_form.py,sha256=YcqETGjN1LH_kKTGVD0a-gW4z6X3PmM8z1xQmI0-Yfg,735
|
|
799
|
-
meta_subject/forms/blood_results/blood_results_rft_form.py,sha256=
|
|
799
|
+
meta_subject/forms/blood_results/blood_results_rft_form.py,sha256=HHDHbI_imJllaB1rKuVRjNxjqYjgYkYDbtWOA1I5lPw,2777
|
|
800
800
|
meta_subject/forms/complications_glycemia_form.py,sha256=yTm3qRDJ1wPuukmpf0s0lg-oXi8fZ5Y7D7T9V-CsOXk,375
|
|
801
801
|
meta_subject/forms/concomitant_medication_form.py,sha256=eznM4YOSV0eSsc-qaQgkga76T76Oz6i8svyBaleW-gQ,375
|
|
802
802
|
meta_subject/forms/delivery_form.py,sha256=L4WZqWbo9gz_BzxSdckh3e0v6DojOSoygD2xEcT4P78,484
|
|
@@ -841,8 +841,8 @@ meta_subject/management/commands/create_missing_refills.py,sha256=PlL0ZQwPuIMA_Y
|
|
|
841
841
|
meta_subject/management/commands/create_missing_rx.py,sha256=KhQGCP6NCuiniMTXGFW33z0-dpZsTEPPCxpDOOenm7M,1484
|
|
842
842
|
meta_subject/management/commands/missed.py,sha256=-6u4ECdvB0bSasO0ZZE4Cj9WSPUPe-anf2JpXiMqjrI,8148
|
|
843
843
|
meta_subject/metadata_rules/__init__.py,sha256=oCYvXgdEXNDdg3uxsseQbgv877E1u7RAtHPM-hpKB1s,93
|
|
844
|
-
meta_subject/metadata_rules/metadata_rules.py,sha256=
|
|
845
|
-
meta_subject/metadata_rules/predicates.py,sha256=
|
|
844
|
+
meta_subject/metadata_rules/metadata_rules.py,sha256=pKE13pdTywxwZ8JXAgwKPXrSIJrOYV_d-bfv6j06qMU,4673
|
|
845
|
+
meta_subject/metadata_rules/predicates.py,sha256=D_2uzeAGiF6YOTi2kktqN939pOuYKJFBMSvM2s6UoMo,10195
|
|
846
846
|
meta_subject/migrations/0001_initial.py,sha256=U6ULFoW9DxoI0Ts98ulh76Ngj62z_04okiVqm9sa8RA,407349
|
|
847
847
|
meta_subject/migrations/0002_auto_20191021_0353.py,sha256=2fyDZciaIc06BA-9abijvb-tW2_pi0hJa7BJrhqLlH8,29224
|
|
848
848
|
meta_subject/migrations/0003_auto_20191021_0534.py,sha256=Ye9au73hXxbvd1tBmrafin20NPWUZfhxj50x4S-tYqk,4024
|
|
@@ -1158,7 +1158,7 @@ meta_visit_schedule/visit_schedules/phase_three/schedule.py,sha256=LU1HRaV6o1UeK
|
|
|
1158
1158
|
meta_visit_schedule/visit_schedules/phase_three/schedule_dm_referral.py,sha256=q12p5wXc2D7lSiJVBnoSQw8Q3vL6uDx1t3PuDJO-Z-U,1735
|
|
1159
1159
|
meta_visit_schedule/visit_schedules/phase_three/schedule_pregnancy.py,sha256=bEpbpCX3vfZmnsqudr0z8PU5kiaX4ws1sO5Im98Mo28,1106
|
|
1160
1160
|
meta_visit_schedule/visit_schedules/phase_three/visit_schedule.py,sha256=ak4qazeKlpIlvpqrK9hDDO0fwWuWyvb4Ec-JU31IJxc,654
|
|
1161
|
-
meta_edc-1.5.
|
|
1162
|
-
meta_edc-1.5.
|
|
1163
|
-
meta_edc-1.5.
|
|
1164
|
-
meta_edc-1.5.
|
|
1161
|
+
meta_edc-1.5.4.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
|
1162
|
+
meta_edc-1.5.4.dist-info/WHEEL,sha256=ZHijuPszqKbNczrBXkSuoxdxocbxgFghqnequ9ZQlVk,79
|
|
1163
|
+
meta_edc-1.5.4.dist-info/METADATA,sha256=Yy_GfVEQPUXQrQnYSt2Cm1-8_E4ah4HmxmS279I477A,5162
|
|
1164
|
+
meta_edc-1.5.4.dist-info/RECORD,,
|
|
@@ -11,9 +11,7 @@ from edc_utils import age
|
|
|
11
11
|
from edc_visit_schedule.utils import is_baseline
|
|
12
12
|
from edc_vitals.form_validators import BmiFormValidatorMixin
|
|
13
13
|
|
|
14
|
-
from
|
|
15
|
-
|
|
16
|
-
from ...models import BloodResultsRft, FollowupVitals, PhysicalExam, SubjectVisit
|
|
14
|
+
from ...models import BloodResultsRft, FollowupVitals, PhysicalExam
|
|
17
15
|
|
|
18
16
|
|
|
19
17
|
class BloodResultsRftFormValidator(
|
|
@@ -30,28 +28,13 @@ class BloodResultsRftFormValidator(
|
|
|
30
28
|
if self.cleaned_data.get("creatinine_value") and self.cleaned_data.get(
|
|
31
29
|
"creatinine_units"
|
|
32
30
|
):
|
|
33
|
-
if is_baseline(self.related_visit):
|
|
34
|
-
baseline_egfr_value = None
|
|
35
|
-
else:
|
|
36
|
-
baseline_visit = SubjectVisit.objects.get(
|
|
37
|
-
subject_identifier=self.related_visit.subject_identifier,
|
|
38
|
-
visit_code=DAY1,
|
|
39
|
-
visit_code_sequence=0,
|
|
40
|
-
)
|
|
41
|
-
baseline_egfr_value = BloodResultsRft.objects.get(
|
|
42
|
-
subject_visit=baseline_visit
|
|
43
|
-
).egfr_value
|
|
44
31
|
rs = RegisteredSubject.objects.get(
|
|
45
32
|
subject_identifier=self.related_visit.subject_identifier
|
|
46
33
|
)
|
|
47
34
|
age_in_years = age(rs.dob, self.report_datetime).years
|
|
48
35
|
|
|
49
36
|
self.validate_egfr(
|
|
50
|
-
gender=rs.gender,
|
|
51
|
-
age_in_years=age_in_years,
|
|
52
|
-
ethnicity=rs.ethnicity,
|
|
53
|
-
weight_in_kgs=self.get_weight_in_kgs(),
|
|
54
|
-
baseline_egfr_value=baseline_egfr_value,
|
|
37
|
+
gender=rs.gender, age_in_years=age_in_years, ethnicity=rs.ethnicity
|
|
55
38
|
)
|
|
56
39
|
|
|
57
40
|
def get_weight_in_kgs(self) -> float | None:
|
|
@@ -174,3 +174,17 @@ class NextAppointmentRuleGroup(CrfRuleGroup):
|
|
|
174
174
|
class Meta:
|
|
175
175
|
app_label = "meta_subject"
|
|
176
176
|
source_model = "meta_subject.subjectvisit"
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
@register()
|
|
180
|
+
class HivExitReviewRuleGroup(CrfRuleGroup):
|
|
181
|
+
hiv_exit_review = CrfRule(
|
|
182
|
+
predicate=pc.hiv_exit_review_required,
|
|
183
|
+
consequence=REQUIRED,
|
|
184
|
+
alternative=NOT_REQUIRED,
|
|
185
|
+
target_models=["hivexitreview"],
|
|
186
|
+
)
|
|
187
|
+
|
|
188
|
+
class Meta:
|
|
189
|
+
app_label = "meta_subject"
|
|
190
|
+
source_model = "meta_subject.subjectvisit"
|
|
@@ -282,3 +282,6 @@ class Predicates(PersistantSingletonMixin):
|
|
|
282
282
|
if obj.offschedule_today == YES:
|
|
283
283
|
return True
|
|
284
284
|
return False
|
|
285
|
+
|
|
286
|
+
def hiv_exit_review_required(self, visit, **kwargs) -> bool: # noqa: ARG002
|
|
287
|
+
return self.offschedule_today(visit) or visit.visit_code in [MONTH48]
|
|
File without changes
|
|
File without changes
|