meta-edc 1.5.3__py3-none-any.whl → 1.5.5__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.
@@ -82,21 +82,6 @@ def subject_consent_on_post_save(sender, instance, raw, created, **kwargs): # n
82
82
  )
83
83
 
84
84
 
85
- # @receiver(
86
- # post_save,
87
- # weak=False,
88
- # sender=SubjectConsentV1Ext,
89
- # dispatch_uid="subject_consent_v1_ext_on_post_save",
90
- # )
91
- # def subject_consent_v1_ext_on_post_save(sender, instance, raw, created, **kwargs):
92
- # if not raw:
93
- # refresh_appointments(
94
- # subject_identifier=instance.subject_identifier,
95
- # visit_schedule_name=VISIT_SCHEDULE,
96
- # schedule_name=SCHEDULE,
97
- # )
98
-
99
-
100
85
  @receiver(
101
86
  post_delete,
102
87
  weak=False,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: meta-edc
3
- Version: 1.5.3
3
+ Version: 1.5.5
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,7 +15,7 @@ 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.2.5
18
+ Requires-Dist: clinicedc==2.2.6
19
19
  Requires-Dist: edc-he>=1.5.2
20
20
  Requires-Dist: edc-microscopy>=1.4.2
21
21
  Requires-Dist: edc-mnsi>=1.4.0
@@ -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.2 && \
93
- wget https://raw.githubusercontent.com/meta-trial/meta-edc/1.5.2/manage.py && \
92
+ uv pip install -U meta-edc==1.5.4 && \
93
+ wget https://raw.githubusercontent.com/meta-trial/meta-edc/1.5.4/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.2 && \
143
+ uv pip install -U meta-edc==1.5.4 && \
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
@@ -172,7 +172,7 @@ meta_consent/migrations/0035_alter_historicalsubjectconsent_consent_definition_n
172
172
  meta_consent/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
173
173
  meta_consent/models/__init__.py,sha256=qDfnpsbAP3hr5oKa80hkr5u9P2PN6KV8P5EMujfgt_8,465
174
174
  meta_consent/models/model_mixins.py,sha256=mEN2gDycLKoZiExM2_H3Dxz8AMAwRSrCq4vu3afr5hA,275
175
- meta_consent/models/signals.py,sha256=EN80ixq005THbbwQdeM-iTY8YkmZEl5qPeS4onCG83Y,5026
175
+ meta_consent/models/signals.py,sha256=X35Wtk6tKcgdSMw9oU4O94Z8o16hCrYT9kL_yqpn3xk,4583
176
176
  meta_consent/models/subject_consent.py,sha256=jZjGwNRXnc6l75wTWAhter8LS3rD--UB8faUxETyIHo,3800
177
177
  meta_consent/models/subject_consent_v1.py,sha256=ELkFhv_6eRiuuoJOohdLwq3b2e2YXngK5omkGwMoRQE,457
178
178
  meta_consent/models/subject_consent_v1_ext.py,sha256=MpK5TlUqf2JuYRpmRLzYBClOFstC_6pIGwDRUckIztU,1033
@@ -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=CeZKXkr_sFsMlZK3CoU8buF51hqSH5hyxTWS92ZfBGk,4323
845
- meta_subject/metadata_rules/predicates.py,sha256=PVO6bSvQloW13Vtnc5ihEOhdUR2b4gEfvO95zszbSVI,10035
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.3.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
1162
- meta_edc-1.5.3.dist-info/WHEEL,sha256=ZHijuPszqKbNczrBXkSuoxdxocbxgFghqnequ9ZQlVk,79
1163
- meta_edc-1.5.3.dist-info/METADATA,sha256=IZondfXvx_qvpN9yGc8RSfC9a_Qrxz0vR3478rT09H4,5162
1164
- meta_edc-1.5.3.dist-info/RECORD,,
1161
+ meta_edc-1.5.5.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
1162
+ meta_edc-1.5.5.dist-info/WHEEL,sha256=ZHijuPszqKbNczrBXkSuoxdxocbxgFghqnequ9ZQlVk,79
1163
+ meta_edc-1.5.5.dist-info/METADATA,sha256=OoVmmcr3NQDFBEkLpJfXUxnw_HZxiebqlbyzEfYa8Kk,5162
1164
+ meta_edc-1.5.5.dist-info/RECORD,,
@@ -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]