from collections import OrderedDict from edc_visit_schedule.classes import (VisitScheduleConfiguration, site_visit_schedules, MembershipFormTuple, ScheduleTuple) from ..models import SpecimenConsent class SpecimenConsentVisitSchedule(VisitScheduleConfiguration): name = 'specimen visit schedule' app_label = 'mb_maternal' membership_forms = OrderedDict( {'specimen': MembershipFormTuple('specimen', SpecimenConsent, True)}) schedules = OrderedDict({ 'Specimen Consent': ScheduleTuple('Specimen Consent', 'specimen', None, None) }) visit_definitions = OrderedDict() site_visit_schedules.register(SpecimenConsentVisitSchedule)
class AntenatalEnrollmentVisitSchedule(VisitScheduleConfiguration): name = "antenatal visit schedule" app_label = "mb_maternal" membership_forms = OrderedDict({"antenatal": MembershipFormTuple("antenatal", AntenatalEnrollment, True)}) schedules = OrderedDict({"Antenatal Enrollment": ScheduleTuple("Antenatal Enrollment", "antenatal", None, None)}) visit_definitions = OrderedDict() visit_definitions["1000M"] = { "title": "Maternal Patient History", "time_point": 0, "base_interval": 0, "base_interval_unit": "D", "window_lower_bound": 0, "window_lower_bound_unit": "D", "window_upper_bound": 0, "window_upper_bound_unit": "D", "grouping": "maternal", "visit_tracking_model": MaternalVisit, "schedule": "Antenatal Enrollment", "instructions": "", "requisitions": maternal_requisition_entries, "entries": maternal_history_entries, } site_visit_schedules.register(AntenatalEnrollmentVisitSchedule)
'window_lower_bound_unit': 'D', 'window_upper_bound': 0, 'window_upper_bound_unit': 'D', 'grouping': 'maternal', 'visit_tracking_model': MaternalVisit, 'schedule': 'Antenatal Visit', 'instructions': 'V1', 'requisitions': maternal_requisition_antenatal1, 'entries': maternal_antenatal1_entries } visit_definitions['1020M'] = { 'title': 'Antenatal Visit 2', 'time_point': 10, 'base_interval': 3, 'base_interval_unit': 'D', 'window_lower_bound': 0, 'window_lower_bound_unit': 'D', 'window_upper_bound': 0, 'window_upper_bound_unit': 'D', 'grouping': 'maternal', 'visit_tracking_model': MaternalVisit, 'schedule': 'Antenatal Visit', 'instructions': 'V1', 'requisitions': maternal_requisition_antenatal2, 'entries': maternal_antenatal2_entries } site_visit_schedules.register(AntenatalVisitSchedule)
'instructions': None, 'requisitions': ( RequisitionPanelTuple(10L, u'mb_lab', u'infantrequisition', 'DNA PCR', 'TEST', 'WB', NOT_REQUIRED, ADDITIONAL), RequisitionPanelTuple(20L, u'mb_lab', u'infantrequisition', 'Stool storage', 'STORAGE', 'ST', NOT_REQUIRED, ADDITIONAL), RequisitionPanelTuple(30L, u'mb_lab', u'infantrequisition', 'PBMC Plasma (STORE ONLY)', 'STORAGE', 'WB', REQUIRED, NOT_ADDITIONAL), RequisitionPanelTuple(40L, u'mb_lab', u'infantrequisition', 'Rectal swab (Storage)', 'STORAGE', 'RS', REQUIRED, NOT_ADDITIONAL), RequisitionPanelTuple(70L, u'mb_lab', u'infantrequisition', 'Viral Load', 'TEST', 'WB', NOT_REQUIRED, ADDITIONAL), RequisitionPanelTuple(80L, u'mb_lab', u'infantrequisition', 'Chemistry', 'TEST', 'WB', NOT_REQUIRED, ADDITIONAL), RequisitionPanelTuple(90L, u'mb_lab', u'infantrequisition', 'Hematology (ARV)', 'TEST', 'WB', NOT_REQUIRED, ADDITIONAL), ), 'entries': ( CrfTuple(30L, u'mb_infant', u'infantfu', REQUIRED, NOT_ADDITIONAL), CrfTuple(40L, u'mb_infant', u'infantfuphysical', REQUIRED, NOT_ADDITIONAL), CrfTuple(50L, u'mb_infant', u'infantfudx', NOT_REQUIRED, ADDITIONAL), CrfTuple(80L, u'mb_infant', u'infantfunewmed', REQUIRED, NOT_ADDITIONAL), CrfTuple(80L, u'mb_infant', u'infantfuimmunizations', REQUIRED, NOT_ADDITIONAL), CrfTuple(90L, u'mb_infant', u'infantarvproph', REQUIRED, ADDITIONAL), CrfTuple(100L, u'mb_infant', u'infantfeeding', REQUIRED, NOT_ADDITIONAL), CrfTuple(110L, u'mb_infant', u'infantstoolcollection', REQUIRED, NOT_ADDITIONAL), CrfTuple(200L, u'mb_infant', u'infantdeathreport', NOT_REQUIRED, ADDITIONAL), CrfTuple(240L, u'mb_infant', u'infantoffstudy', REQUIRED, ADDITIONAL))} site_visit_schedules.register(InfantBirthVisitSchedule)
'base_interval_unit': 'M', 'window_lower_bound': 0, 'window_lower_bound_unit': 'D', 'window_upper_bound': 0, 'window_upper_bound_unit': 'D', 'grouping': 'maternal', 'visit_tracking_model': MaternalVisit, 'schedule': 'Follow Up Visit', 'instructions': 'V1', 'requisitions': maternal_requisition_followup, 'entries': maternal_followup3_entries} visit_definitions['2360M'] = { 'title': '36 Months Visit', 'time_point': 410, 'base_interval': 36, 'base_interval_unit': 'M', 'window_lower_bound': 0, 'window_lower_bound_unit': 'D', 'window_upper_bound': 0, 'window_upper_bound_unit': 'D', 'grouping': 'maternal', 'visit_tracking_model': MaternalVisit, 'schedule': 'Follow Up Visit', 'instructions': 'V1', 'requisitions': maternal_requisition_followup, 'entries': maternal_followup3_entries} site_visit_schedules.register(MaternalFollowUpSchedule)
'Viral Load', 'TEST', 'WB', NOT_REQUIRED, ADDITIONAL), RequisitionPanelTuple(80L, u'mb_lab', u'infantrequisition', 'Chemistry', 'TEST', 'WB', NOT_REQUIRED, ADDITIONAL), RequisitionPanelTuple(90L, u'mb_lab', u'infantrequisition', 'Hematology (ARV)', 'TEST', 'WB', NOT_REQUIRED, ADDITIONAL), ), 'entries': (CrfTuple(30L, u'mb_infant', u'infantfu', REQUIRED, NOT_ADDITIONAL), CrfTuple(40L, u'mb_infant', u'infantfuphysical', REQUIRED, NOT_ADDITIONAL), CrfTuple(50L, u'mb_infant', u'infantfudx', NOT_REQUIRED, ADDITIONAL), CrfTuple(80L, u'mb_infant', u'infantfunewmed', REQUIRED, NOT_ADDITIONAL), CrfTuple(80L, u'mb_infant', u'infantfuimmunizations', REQUIRED, NOT_ADDITIONAL), CrfTuple(90L, u'mb_infant', u'infantarvproph', REQUIRED, ADDITIONAL), CrfTuple(100L, u'mb_infant', u'infantfeeding', REQUIRED, NOT_ADDITIONAL), CrfTuple(110L, u'mb_infant', u'infantstoolcollection', REQUIRED, NOT_ADDITIONAL), CrfTuple(200L, u'mb_infant', u'infantdeathreport', NOT_REQUIRED, ADDITIONAL), CrfTuple(240L, u'mb_infant', u'infantoffstudy', REQUIRED, ADDITIONAL)) } site_visit_schedules.register(InfantBirthVisitSchedule)
'window_lower_bound_unit': 'D', 'window_upper_bound': 45, 'window_upper_bound_unit': 'D', 'grouping': 'maternal', 'visit_tracking_model': MaternalVisit, 'schedule': 'Postnatal Enrollment', 'instructions': None, 'requisitions': maternal_requisition_entries, 'entries': maternal_monthly_entries } visit_definitions['2120M'] = { 'title': '12 Months Visit', 'time_point': 120, 'base_interval': 12, 'base_interval_unit': 'M', 'window_lower_bound': 44, 'window_lower_bound_unit': 'D', 'window_upper_bound': 45, 'window_upper_bound_unit': 'D', 'grouping': 'maternal', 'visit_tracking_model': MaternalVisit, 'schedule': 'Postnatal Enrollment', 'instructions': None, 'requisitions': maternal_requisition_entries, 'entries': maternal_monthly_entries } site_visit_schedules.register(PostnatalEnrollmentVisitSchedule)
'enrollmentv3': MembershipFormTuple('enrollmentv3', AntenatalEnrollment, True), }) schedules = OrderedDict({ 'Antenatal Enrollment v3': ScheduleTuple('Antenatal Enrollment v3', 'enrollmentv3', None, None), }) visit_definitions = OrderedDict() visit_definitions['1000M'] = { 'title': 'Maternal Enrollment Visit v3', 'time_point': 0, 'base_interval': 0, 'base_interval_unit': 'D', 'window_lower_bound': 0, 'window_lower_bound_unit': 'D', 'window_upper_bound': 0, 'window_upper_bound_unit': 'D', 'grouping': 'maternal', 'visit_tracking_model': MaternalVisit, 'schedule': 'Antenatal Enrollment', 'instructions': 'V3', 'requisitions': (), 'entries': maternal_enrollment_entries } site_visit_schedules.register(AntenatalEnrollmentVisitScheduleV3)
from collections import OrderedDict from edc_visit_schedule.classes import ( VisitScheduleConfiguration, site_visit_schedules, MembershipFormTuple, ScheduleTuple) from ..models import SpecimenConsent class SpecimenConsentVisitSchedule(VisitScheduleConfiguration): name = 'specimen visit schedule' app_label = 'td_maternal' membership_forms = OrderedDict({ 'specimen': MembershipFormTuple('specimen', SpecimenConsent, True) }) schedules = OrderedDict({ 'Specimen Consent': ScheduleTuple('Specimen Consent', 'specimen', None, None) }) visit_definitions = OrderedDict() site_visit_schedules.register(SpecimenConsentVisitSchedule)
'base_interval_unit': 'M', 'window_lower_bound': 0, 'window_lower_bound_unit': 'D', 'window_upper_bound': 0, 'window_upper_bound_unit': 'D', 'grouping': 'maternal', 'visit_tracking_model': MaternalVisit, 'schedule': 'Follow Up Visit v3', 'instructions': 'V3', 'requisitions': maternal_requisition_followup, 'entries': maternal_followup3_entries} visit_definitions['2360M'] = { 'title': '36 Months Visit v3', 'time_point': 410, 'base_interval': 36, 'base_interval_unit': 'M', 'window_lower_bound': 3, 'window_lower_bound_unit': 'M', 'window_upper_bound': 4, 'window_upper_bound_unit': 'M', 'grouping': 'maternal', 'visit_tracking_model': MaternalVisit, 'schedule': 'Follow Up Visit v3', 'instructions': 'V3', 'requisitions': maternal_requisition_followup, 'entries': maternal_followup3_entries} site_visit_schedules.register(MaternalFollowUpSchedule3)
'base_interval': 1, 'base_interval_unit': 'D', 'window_lower_bound': 0, 'window_lower_bound_unit': 'D', 'window_upper_bound': 0, 'window_upper_bound_unit': 'D', 'grouping': 'maternal', 'visit_tracking_model': MaternalVisit, 'schedule': 'Antenatal Visit', 'instructions': 'V3', 'requisitions': maternal_requisition_antenatal1, 'entries': maternal_antenatal1_entries} visit_definitions['1020M'] = { 'title': 'Antenatal Visit 2 v3', 'time_point': 10, 'base_interval': 3, 'base_interval_unit': 'D', 'window_lower_bound': 0, 'window_lower_bound_unit': 'D', 'window_upper_bound': 0, 'window_upper_bound_unit': 'D', 'grouping': 'maternal', 'visit_tracking_model': MaternalVisit, 'schedule': 'Antenatal Visit', 'instructions': 'V3', 'requisitions': maternal_requisition_antenatal2, 'entries': maternal_antenatal2_entries} site_visit_schedules.register(AntenatalVisitScheduleV3)