Example #1
0
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)
Example #5
0
        '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)
Example #6
0
                                  '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)
Example #7
0
        '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)
Example #8
0
        '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)