def setUp(self):
     import_holidays()
     self.panel_one = Panel.objects.create(name='one')
     register_to_site_reference_configs()
     site_visit_schedules._registry = {}
     site_visit_schedules.loaded = False
     site_visit_schedules.register(visit_schedule)
     site_reference_configs.register_from_visit_schedule(
         visit_models={
             'edc_appointment.appointment': 'edc_metadata.subjectvisit'})
     self.subject_identifier = '1111111'
     subject_consent = SubjectConsent.objects.create(
         subject_identifier=self.subject_identifier,
         consent_datetime=get_utcnow())
     _, self.schedule = site_visit_schedules.get_by_onschedule_model(
         'edc_metadata.onschedule')
     self.schedule.put_on_schedule(
         subject_identifier=self.subject_identifier,
         onschedule_datetime=subject_consent.consent_datetime)
     self.appointment = Appointment.objects.get(
         subject_identifier=self.subject_identifier,
         visit_code=self.schedule.visits.first.code)
     self.subject_visit = SubjectVisit.objects.create(
         appointment=self.appointment,
         subject_identifier=self.subject_identifier,
         reason=SCHEDULED)
    def setUp(self):
        self.panel_one = Panel.objects.create(name="one")

        site_visit_schedules._registry = {}
        site_visit_schedules.loaded = False
        site_visit_schedules.register(visit_schedule)

        register_to_site_reference_configs()
        site_reference_configs.register_from_visit_schedule(
            visit_models={
                "edc_appointment.appointment": "edc_metadata.subjectvisit"
            })

        self.subject_identifier = "1111111"
        subject_consent = SubjectConsent.objects.create(
            subject_identifier=self.subject_identifier,
            consent_datetime=get_utcnow())
        _, self.schedule = site_visit_schedules.get_by_onschedule_model(
            "edc_metadata.onschedule")
        self.schedule.put_on_schedule(
            subject_identifier=self.subject_identifier,
            onschedule_datetime=subject_consent.consent_datetime,
        )
        self.appointment = Appointment.objects.get(
            subject_identifier=self.subject_identifier,
            visit_code=self.schedule.visits.first.code,
        )
        self.subject_visit = SubjectVisit.objects.create(
            appointment=self.appointment,
            subject_identifier=self.subject_identifier,
            reason=SCHEDULED,
        )
예제 #3
0
    def setUp(self):
        self.panel_one = Panel.objects.create(name="one")
        self.panel_two = Panel.objects.create(name="two")

        for name in ["three", "four", "five", "six"]:
            Panel.objects.create(name=name)

        site_visit_schedules._registry = {}
        site_visit_schedules.loaded = False
        site_visit_schedules.register(visit_schedule)

        register_to_site_reference_configs()
        site_reference_configs.register_from_visit_schedule(
            visit_models={"edc_appointment.appointment": "edc_metadata.subjectvisit"}
        )

        self.subject_identifier = "1111111"
        self.assertEqual(CrfMetadata.objects.all().count(), 0)
        self.assertEqual(RequisitionMetadata.objects.all().count(), 0)
        subject_consent = SubjectConsent.objects.create(
            subject_identifier=self.subject_identifier, consent_datetime=get_utcnow()
        )
        _, self.schedule = site_visit_schedules.get_by_onschedule_model(
            "edc_metadata.onschedule"
        )
        self.schedule.put_on_schedule(
            subject_identifier=self.subject_identifier,
            onschedule_datetime=subject_consent.consent_datetime,
        )
        self.appointment = Appointment.objects.get(
            subject_identifier=self.subject_identifier,
            visit_code=self.schedule.visits.first.code,
        )
예제 #4
0
    def enroll(subject_identifier=None):
        subject_identifier = subject_identifier or "1111111"

        site_reference_configs.registry = {}
        reference = ReferenceModelConfig(
            name="edc_action_item.CrfLongitudinalOne",
            fields=["f1", "f2", "f3"])
        site_reference_configs.register(reference)

        site_visit_schedules._registry = {}
        site_visit_schedules.loaded = False
        site_visit_schedules.register(visit_schedule)

        site_reference_configs.register_from_visit_schedule(
            visit_models={
                "edc_appointment.appointment": "edc_metadata.subjectvisit"
            })

        subject_consent = SubjectConsent.objects.create(
            subject_identifier=subject_identifier,
            consent_datetime=get_utcnow())
        _, schedule = site_visit_schedules.get_by_onschedule_model(
            "edc_metadata.onschedule")
        schedule.put_on_schedule(
            subject_identifier=subject_consent.subject_identifier,
            onschedule_datetime=subject_consent.consent_datetime,
        )
        return subject_identifier
    def setUp(self):
        import_holidays()
        register_to_site_reference_configs()
        for name in ['one', 'two', 'three', 'four', 'five', 'six']:
            Panel.objects.create(name=name)

        site_visit_schedules._registry = {}
        site_visit_schedules.loaded = False
        site_visit_schedules.register(visit_schedule)
        site_reference_configs.register_from_visit_schedule(
            visit_models={
                'edc_appointment.appointment': 'edc_metadata.subjectvisit'})
        self.subject_identifier = '1111111'
        self.assertEqual(CrfMetadata.objects.all().count(), 0)
        self.assertEqual(RequisitionMetadata.objects.all().count(), 0)
        subject_consent = SubjectConsent.objects.create(
            subject_identifier=self.subject_identifier,
            consent_datetime=get_utcnow())
        _, self.schedule = site_visit_schedules.get_by_onschedule_model(
            'edc_metadata.onschedule')
        self.schedule.put_on_schedule(
            subject_identifier=self.subject_identifier,
            onschedule_datetime=subject_consent.consent_datetime)
        self.appointment = Appointment.objects.get(
            subject_identifier=self.subject_identifier,
            visit_code=self.schedule.visits.first.code)
        self.subject_visit = SubjectVisit.objects.create(
            appointment=self.appointment,
            subject_identifier=self.subject_identifier,
            reason=SCHEDULED)
예제 #6
0
    def setUp(self):
        load_list_data(
            list_data=list_data,
            model_name="edc_visit_tracking.subjectvisitmissedreasons",
        )
        self.subject_identifier = "12345"
        self.helper = self.helper_cls(
            subject_identifier=self.subject_identifier)
        crfs = FormsCollection(
            Crf(show_order=1, model="edc_metadata.crfone", required=True),
            Crf(show_order=2, model="edc_metadata.crftwo", required=True),
            Crf(show_order=3, model="edc_metadata.crfthree", required=True),
            Crf(show_order=4, model="edc_metadata.crffour", required=True),
            Crf(show_order=5, model="edc_metadata.crffive", required=True),
        )
        crfs_missed = FormsCollection(
            Crf(
                show_order=1,
                model="edc_visit_tracking.subjectvisitmissed",
                required=True,
            ), )

        visit_schedule1 = VisitSchedule(
            name="visit_schedule1",
            offstudy_model="edc_visit_tracking.subjectoffstudy",
            death_report_model="edc_visit_tracking.deathreport",
            locator_model="edc_locator.subjectlocator",
        )
        schedule1 = Schedule(
            name="schedule1",
            onschedule_model="edc_visit_tracking.onscheduleone",
            offschedule_model="edc_visit_tracking.offscheduleone",
            consent_model="edc_visit_tracking.subjectconsent",
            appointment_model="edc_appointment.appointment",
        )
        visits = []
        for index in range(0, 4):
            visits.append(
                Visit(
                    code=f"{index + 1}000",
                    title=f"Day {index + 1}",
                    timepoint=index,
                    rbase=relativedelta(days=index),
                    rlower=relativedelta(days=0),
                    rupper=relativedelta(days=6),
                    requisitions=[],
                    crfs=crfs,
                    crfs_missed=crfs_missed,
                    allow_unscheduled=True,
                ))
        for visit in visits:
            schedule1.add_visit(visit)
        visit_schedule1.add_schedule(schedule1)
        site_visit_schedules._registry = {}
        site_visit_schedules.register(visit_schedule=visit_schedule1)
        site_reference_configs.register_from_visit_schedule(visit_models={
            "edc_appointment.appointment":
            "edc_visit_tracking.subjectvisit"
        })
예제 #7
0
    def setUp(self):

        v1_consent = Consent(
            "visit_schedule_app.subjectconsent",
            version="1",
            start=Protocol().study_open_datetime,
            end=Protocol().study_close_datetime,
            age_min=18,
            age_is_adult=18,
            age_max=64,
            gender=[MALE, FEMALE],
        )

        import_holidays()
        site_consents.registry = {}
        site_consents.register(v1_consent)

        self.visit_schedule = VisitSchedule(
            name="visit_schedule",
            verbose_name="Visit Schedule",
            offstudy_model="visit_schedule_app.subjectoffstudy",
            death_report_model="visit_schedule_app.deathreport",
        )

        self.schedule = Schedule(
            name="schedule",
            onschedule_model="visit_schedule_app.onschedule",
            offschedule_model="visit_schedule_app.offschedule",
            appointment_model="edc_appointment.appointment",
            consent_model="visit_schedule_app.subjectconsent",
        )

        visit = Visit(
            code="1000",
            rbase=relativedelta(days=0),
            rlower=relativedelta(days=0),
            rupper=relativedelta(days=6),
            timepoint=1,
        )
        self.schedule.add_visit(visit)
        self.visit_schedule.add_schedule(self.schedule)
        site_visit_schedules._registry = {}
        site_visit_schedules.register(self.visit_schedule)

        site_reference_configs.registry = {}
        site_reference_configs.register_from_visit_schedule(visit_models={
            "edc_appointment.appointment":
            "visit_schedule_app.subjectvisit"
        })

        self.subject_consent = SubjectConsent.objects.create(
            subject_identifier="12345",
            consent_datetime=get_utcnow() - relativedelta(seconds=1),
            dob=date(1995, 1, 1),
            identity="11111",
            confirm_identity="11111",
        )
        self.subject_identifier = self.subject_consent.subject_identifier
예제 #8
0
 def setUp(self):
     self.subject_identifier = "12345"
     self.helper = self.helper_cls(
         subject_identifier=self.subject_identifier)
     site_visit_schedules._registry = {}
     site_visit_schedules.register(visit_schedule=visit_schedule1)
     site_visit_schedules.register(visit_schedule=visit_schedule2)
     site_reference_configs.register_from_visit_schedule(visit_models={
         "edc_appointment.appointment":
         "edc_visit_tracking.subjectvisit"
     })
예제 #9
0
 def setUp(self):
     SubjectVisit.visit_sequence_cls = VisitSequence
     self.subject_identifier = "12345"
     self.helper = self.helper_cls(
         subject_identifier=self.subject_identifier)
     site_visit_schedules._registry = {}
     site_visit_schedules.register(visit_schedule=visit_schedule1)
     site_visit_schedules.register(visit_schedule=visit_schedule2)
     site_reference_configs.register_from_visit_schedule(visit_models={
         "edc_appointment.appointment":
         "edc_visit_tracking.subjectvisit"
     })
     self.helper.consent_and_put_on_schedule()
 def setUp(self):
     self.panel_one = Panel.objects.create(name=panel_one.name)
     self.panel_two = Panel.objects.create(name=panel_two.name)
     self.panel_three = Panel.objects.create(name=panel_three.name)
     self.panel_four = Panel.objects.create(name=panel_four.name)
     self.panel_five = Panel.objects.create(name=panel_five.name)
     self.panel_six = Panel.objects.create(name=panel_six.name)
     self.panel_seven = Panel.objects.create(name=panel_seven.name)
     self.panel_eight = Panel.objects.create(name=panel_eight.name)
     site_visit_schedules._registry = {}
     site_visit_schedules.loaded = False
     site_visit_schedules.register(visit_schedule)
     site_reference_configs.register_from_visit_schedule(visit_models={
         "edc_appointment.appointment":
         "edc_metadata_rules.subjectvisit"
     })
     _, self.schedule = site_visit_schedules.get_by_onschedule_model(
         "edc_metadata_rules.onschedule")
     site_metadata_rules.registry = OrderedDict()
예제 #11
0
 def setUp(self):
     super().setUp()
     v1_consent = Consent(
         "visit_schedule_app.subjectconsent",
         version="1",
         start=Protocol().study_open_datetime,
         end=Protocol().study_close_datetime,
         age_min=18,
         age_is_adult=18,
         age_max=64,
         gender=[MALE, FEMALE],
     )
     import_holidays()
     site_reference_configs.register_from_visit_schedule(visit_models={
         "edc_appointment.appointment":
         "visit_schedule_app.subjectvisit"
     })
     site_consents.registry = {}
     site_consents.register(v1_consent)
예제 #12
0
 def setUp(self):
     self.subject_identifier = "12345"
     site_consents.registry = {}
     site_consents.register(v1_consent)
     self.helper = self.helper_cls(
         subject_identifier=self.subject_identifier,
         subject_consent_model_cls=SubjectConsent,
         onschedule_model_name="visit_schedule_app.onschedule",
     )
     site_visit_schedules._registry = {}
     site_visit_schedules.register(visit_schedule=visit_schedule)
     site_reference_configs.register_from_visit_schedule(visit_models={
         "edc_appointment.appointment":
         "visit_schedule_app.subjectvisit"
     })
     self.helper.consent_and_put_on_schedule()
     appointment = Appointment.objects.all()[0]
     self.subject_visit = SubjectVisit.objects.create(
         appointment=appointment,
         report_datetime=get_utcnow(),
         reason=SCHEDULED)
예제 #13
0
 def setUp(self):
     site_visit_schedules.loaded = False
     site_visit_schedules._registry = {}
     site_visit_schedules.register(visit_schedule)
     site_reference_configs.register_from_visit_schedule(visit_models={
         "edc_appointment.appointment":
         "visit_schedule_app.subjectvisit"
     })
     v1_consent = Consent(
         "visit_schedule_app.subjectconsent",
         version="1",
         start=Protocol().study_open_datetime,
         end=Protocol().study_close_datetime,
         age_min=18,
         age_is_adult=18,
         age_max=64,
         gender=[MALE, FEMALE],
     )
     self.subject_identifier = "1234"
     site_consents.registry = {}
     site_consents.register(v1_consent)
def register_configs():
    site_reference_configs.registry = {}
    site_reference_configs.loaded = False

    site_reference_configs.register_from_visit_schedule(
        visit_models={
            "edc_appointment.appointment": "reference_app.subjectvisit"
        })

    reference_config = ReferenceModelConfig(
        name="reference_app.testmodel",
        fields=["field_str", "report_datetime"])
    site_reference_configs.register(reference_config)

    reference_config = ReferenceModelConfig(
        name="reference_app.subjectrequisition.cd4", fields=["panel"])
    site_reference_configs.register(reference_config)

    reference_config = ReferenceModelConfig(
        name="reference_app.subjectrequisition.vl", fields=["panel"])
    site_reference_configs.register(reference_config)

    reference_config = ReferenceModelConfig(
        name="reference_app.subjectrequisition.wb", fields=["panel"])
    site_reference_configs.register(reference_config)

    configs = {
        "reference_app.crfone": [
            "field_str",
            "field_date",
            "field_datetime",
            "field_int",
        ],
    }

    for reference_name, fields in configs.items():
        site_reference_configs.add_fields_to_config(name=reference_name,
                                                    fields=fields)
from edc_reference import site_reference_configs
from edc_visit_schedule.site_visit_schedules import site_visit_schedules

site_reference_configs.register_from_visit_schedule(
    site_visit_schedules=site_visit_schedules)

configs = {
    'bcpp_clinic_subject.questionnaire': ['registration_type'],
    'bcpp_clinic_subject.viralloadtracking': ['is_drawn']}

for model, fields in configs.items():
    site_reference_configs.add_fields_to_config(model, fields)
from edc_reference import site_reference_configs

site_reference_configs.register_from_visit_schedule(
    visit_models={
        'edc_appointment.appointment': ['flourish_caregiver.maternalvisit'],
        'flourish_child.appointment': ['flourish_child.childvisit'],
    })

configs = {
    'flourish_caregiver.caregivergadanxietyscreening': ['anxiety_score'],
    'flourish_caregiver.caregiverphqdeprscreening':
    ['depression_score', 'self_harm'],
    'flourish_caregiver.caregiveredinburghdeprscreening':
    ['depression_score', 'self_harm'],
    'flourish_caregiver.hivdisclosurestatusa': ['disclosed_status'],
    'flourish_caregiver.hivdisclosurestatusb': ['disclosed_status'],
    'flourish_caregiver.hivdisclosurestatusc': ['disclosed_status'],
    'flourish_child.childsociodemographic': ['attend_school', 'working'],
    'flourish_child.childphqdepressionscreening':
    ['depression_score', 'self_harm', 'self_harm_thoughts', 'suidice_attempt'],
    'flourish_child.childgadanxietyscreening': ['anxiety_score'],
    'flourish_caregiver.hivrapidtestcounseling': ['result_date'],
    'flourish_child.birthdata': ['congenital_anomalities'],
}

for reference_name, fields in configs.items():
    site_reference_configs.add_fields_to_config(name=reference_name,
                                                fields=fields)
from edc_reference import site_reference_configs

site_reference_configs.register_from_visit_schedule(visit_models={
    'edc_appointment.appointment': ['pre_flourish.preflourishcaregivervisit']
})
from edc_reference import site_reference_configs

site_reference_configs.register_from_visit_schedule(visit_models={
    'trainee_subject.appointment': ['trainee_subject.subjectvisit']
})

configs = {
    'trainee_subject.communityquestionnaire': [
        'community_activities', 'election', 'problems', 'problems_other',
        'collaboration'
    ],
    'trainee_subject.educationquestionnaire':
    ['work_status', 'work_type', 'recent_job', 'previous_earning'],
}

for reference_name, fields in configs.items():
    site_reference_configs.add_fields_to_config(name=reference_name,
                                                fields=fields)
예제 #19
0
from edc_reference import site_reference_configs

site_reference_configs.register_from_visit_schedule(
    visit_models={
        'edc_appointment.appointment': ['td_maternal.maternalvisit'],
        'td_infant.appointment': ['td_infant.infantvisit']})

configs = {
    'td_maternal.maternalrando': ['rx'],
    'td_maternal.maternalultrasoundinitial': ['number_of_gestations', 'edd_confirmed'],
    'td_maternal.maternalcontraception': ['srh_referral'],
    'td_maternal.rapidtestresult': ['result_date'],
    'td_maternal.maternalpostpartumdep': ['laugh'],
    'td_maternal.cliniciannotes': ['consent_model'],
    'td_infant.infantcliniciannotes': ['consent_model'],
    'td_infant.infantnvpdispensing': ['nvp_prophylaxis'],
    'td_infant.infantarvproph': ['arv_status'],
    'td_infant.infantfu': ['has_dx', 'physical_assessment'],
    'td_infant.infantfeeding': ['formula_intro_occur'],
    'td_infant.infantbirthdata': ['congenital_anomalities'],
    'td_infant.karabotuberculosishistory': ['put_offstudy']
}

for reference_name, fields in configs.items():
    site_reference_configs.add_fields_to_config(
        name=reference_name, fields=fields)
예제 #20
0
from edc_reference import site_reference_configs

site_reference_configs.register_from_visit_schedule(
    visit_models={"edc_appointment.appointment": "inte_subject.subjectvisit"})

# configs = {
#     "inte_subject.education": ["household_head"],
#     "inte_subject.patienthistory": ["cd4_date", "viral_load_date"],
#     "inte_subject.medicalexpenses": ["care_before_hospital"],
#     "inte_subject.week16": ["patient_alive"],
# }
#
# for reference_name, fields in configs.items():
#     site_reference_configs.add_fields_to_config(
#         name=reference_name, fields=fields)
예제 #21
0
from edc_reference import site_reference_configs

site_reference_configs.register_from_visit_schedule(
    visit_models={
        'edc_appointment.appointment': 'ambition_subject.subjectvisit'
    })

configs = {
    'ambition_subject.education': ['household_head'],
    'ambition_subject.patienthistory': ['cd4_date', 'viral_load_date'],
    'ambition_subject.medicalexpenses': ['care_before_hospital'],
    'ambition_subject.week16': ['patient_alive'],
}

for reference_name, fields in configs.items():
    site_reference_configs.add_fields_to_config(name=reference_name,
                                                fields=fields)