def setUp(self): super(TestOffStudy, self).setUp() self.maternal_eligibility = MaternalEligibilityFactory() self.maternal_consent = MaternalConsentFactory( registered_subject=self.maternal_eligibility.registered_subject) self.registered_subject = self.maternal_consent.registered_subject self.data = { 'registered_subject': self.registered_subject.id, 'reason': 'not_{}'.format(MIN_AGE_OF_CONSENT), 'has_scheduled_data': YES, 'maternal_visit': None, 'offstudy_date': timezone.now().date()}
def setUp(self): super(TestRapidTestForm, self).setUp() self.maternal_eligibility = MaternalEligibilityFactory() self.assertTrue(self.maternal_eligibility.is_eligible) self.maternal_consent = MaternalConsentFactory( registered_subject=self.maternal_eligibility.registered_subject) self.registered_subject = self.maternal_consent.registered_subject self.data = { 'report_datetime': timezone.now(), 'maternal_visit': None, 'rapid_test_done': YES, 'result_date': timezone.now(), 'result': None, }
def setUp(self): super(TestViralLoadRequisition, self).setUp() self.maternal_eligibility = MaternalEligibilityFactory() self.maternal_consent = MaternalConsentFactory( registered_subject=self.maternal_eligibility.registered_subject) self.registered_subject = self.maternal_eligibility.registered_subject PostnatalEnrollmentFactory(registered_subject=self.registered_subject, current_hiv_status=POS, evidence_hiv_status=YES, rapid_test_done=NOT_APPLICABLE) self.appointment = Appointment.objects.get( registered_subject=self.registered_subject, visit_definition__code='1000M') self.maternal_visit = MaternalVisitFactory( appointment=self.appointment) def test_viral_load_meta_data_for_pos(self): labs = ['Viral Load'] maternal_visits = [ '2000M', '2010M', '2030M', '2060M', '2090M', '2120M' ] for visit in maternal_visits: appointment = Appointment.objects.get( registered_subject=self.registered_subject, visit_definition__code=visit) visit = MaternalVisitFactory(appointment=appointment) for mylab in labs: lab_entry = LabEntry.objects.get( model_name=mylab, visit_definition_id=appointment.visit_definition_id) lab_meta_data = RequisitionMetaData.objects.get( lab_entry=lab_entry, appointment=appointment) self.assertEqual(lab_meta_data.entry_status, 'NEW')
def setUp(self): try: site_lab_profiles.register(MaternalProfile()) site_lab_profiles.register(InfantProfile()) except AlreadyRegisteredLabProfile: pass AppConfiguration(lab_profiles=site_lab_profiles).prepare() AntenatalEnrollmentVisitSchedule().build() PostnatalEnrollmentVisitSchedule().build() site_rule_groups.autodiscover() InfantBirthVisitSchedule().build() self.maternal_eligibility = MaternalEligibilityFactory() self.maternal_consent = MaternalConsentFactory( registered_subject=self.maternal_eligibility.registered_subject) self.registered_subject = self.maternal_consent.registered_subject PostnatalEnrollmentFactory( registered_subject=self.registered_subject, current_hiv_status=POS, evidence_hiv_status=YES) self.appointment = Appointment.objects.get(registered_subject=self.registered_subject, visit_definition__code='1000M') self.maternal_visit = MaternalVisitFactory(appointment=self.appointment) self.appointment = Appointment.objects.get( registered_subject=self.registered_subject, visit_definition__code='2000M') maternal_visit = MaternalVisitFactory(appointment=self.appointment) self.maternal_labour_del = MaternalLabourDelFactory(maternal_visit=maternal_visit) self.registered_subject_infant = RegisteredSubject.objects.get( subject_type=INFANT, relative_identifier=self.registered_subject.subject_identifier)
def setUp(self): super(TestMaternalObstericalHistoryForm, self).setUp() self.maternal_eligibility = MaternalEligibilityFactory() self.maternal_consent = MaternalConsentFactory( registered_subject=self.maternal_eligibility.registered_subject) self.registered_subject = self.maternal_consent.registered_subject PostnatalEnrollmentFactory(registered_subject=self.registered_subject, current_hiv_status=NEG, evidence_hiv_status=YES, rapid_test_done=YES, rapid_test_result=NEG) appointment = Appointment.objects.get( registered_subject=self.registered_subject, visit_definition__code='1000M') self.maternal_visit = MaternalVisitFactory(appointment=appointment, reason=SCHEDULED) self.data = { 'report_datetime': timezone.now(), 'maternal_visit': self.maternal_visit.id, 'prev_pregnancies': 2, 'pregs_24wks_or_more': 1, 'lost_before_24wks': 1, 'lost_after_24wks': 1, 'live_children': 1, 'children_died_b4_5yrs': 1 }
def setUp(self): super(TestEnrollmentMixin, self).setUp() self.maternal_eligibility = MaternalEligibilityFactory() self.maternal_consent = MaternalConsentFactory( registered_subject=self.maternal_eligibility.registered_subject) self.registered_subject = self.maternal_consent.registered_subject self.specimen_consent = SpecimenConsentFactory( registered_subject=self.registered_subject) self.data = { 'registered_subject': self.registered_subject.id, 'report_datetime': timezone.now(), 'is_diabetic': NO, 'on_tb_tx': NO, 'will_breastfeed': NO, 'will_remain_onstudy': NO, 'week32_test': NO, 'week32_result': '', 'current_hiv_status': POS, 'evidence_hiv_status': NO, 'valid_regimen': NO, 'valid_regimen_duration': NOT_APPLICABLE, 'rapid_test_done': NO, 'rapid_test_date': '', 'rapid_test_result': '', }
def setUp(self): super(TestMaternalVisit, self).setUp() self.maternal_eligibility = MaternalEligibilityFactory() self.maternal_consent = MaternalConsentFactory( registered_subject=self.maternal_eligibility.registered_subject, study_site=self.study_site) self.registered_subject = self.maternal_consent.registered_subject self.postnatal_enrollment = PostnatalEnrollmentFactory( registered_subject=self.registered_subject, will_breastfeed=YES, current_hiv_status=POS, evidence_hiv_status=YES, rapid_test_done=NOT_APPLICABLE) self.appointment = Appointment.objects.get( registered_subject=self.registered_subject, visit_definition__code='1000M') self.maternal_visit = MaternalVisitFactory( appointment=self.appointment) self.appointment = Appointment.objects.get( registered_subject=self.registered_subject, visit_definition__code='2000M') self.data = { 'appointment': self.appointment.id, 'report_datetime': timezone.now(), 'info_source': 'participant', 'info_source_other': '', 'reason': '', 'reason_missed': '', 'comments': '', }
def setUp(self): super(TestEnrollmentStatus, self).setUp() self.maternal_eligibility = MaternalEligibilityFactory() self.maternal_consent = MaternalConsentFactory( registered_subject=self.maternal_eligibility.registered_subject) self.registered_subject = self.maternal_consent.registered_subject self.data = {'registered_subject': self.registered_subject}
def setUp(self): super(TestInfantVisitForm, self).setUp() maternal_eligibility = MaternalEligibilityFactory() maternal_consent = MaternalConsentFactory( registered_subject=maternal_eligibility.registered_subject) registered_subject = maternal_consent.registered_subject postnatal_enrollment = PostnatalEnrollmentFactory( registered_subject=registered_subject, current_hiv_status=POS, evidence_hiv_status=YES, rapid_test_done=NOT_APPLICABLE, rapid_test_result=None, rapid_test_date=None) self.assertTrue(postnatal_enrollment.is_eligible) appointment = Appointment.objects.get( registered_subject=registered_subject, visit_definition__code='1000M') MaternalVisitFactory(appointment=appointment) appointment = Appointment.objects.get( registered_subject=registered_subject, visit_definition__code='2000M') maternal_visit = MaternalVisitFactory(appointment=appointment) maternal_labour_del = MaternalLabourDelFactory( maternal_visit=maternal_visit) self.registered_subject_infant = RegisteredSubject.objects.get( subject_type=INFANT, relative_identifier=registered_subject.subject_identifier) InfantBirthFactory(registered_subject=self.registered_subject_infant, maternal_labour_del=maternal_labour_del) self.appointment = Appointment.objects.get( registered_subject=self.registered_subject_infant, visit_definition__code='2000')
def setUp(self): super(TestInfantBirthRecordExam, self).setUp() self.maternal_eligibility = MaternalEligibilityFactory() self.maternal_consent = MaternalConsentFactory( registered_subject=self.maternal_eligibility.registered_subject) self.registered_subject = self.maternal_consent.registered_subject PostnatalEnrollmentFactory( registered_subject=self.registered_subject, current_hiv_status=POS, evidence_hiv_status=YES, ) self.appointment = Appointment.objects.get( registered_subject=self.registered_subject, visit_definition__code='1000M') self.maternal_visit = MaternalVisitFactory( appointment=self.appointment) self.appointment = Appointment.objects.get( registered_subject=self.registered_subject, visit_definition__code='2000M') maternal_visit = MaternalVisitFactory(appointment=self.appointment) maternal_labour_del = MaternalLabourDelFactory( maternal_visit=maternal_visit) self.registered_subject_infant = RegisteredSubject.objects.get( subject_type=INFANT, relative_identifier=self.registered_subject.subject_identifier) self.infant_birth = InfantBirthFactory( registered_subject=self.registered_subject_infant, maternal_labour_del=maternal_labour_del, gender='F', ) self.appointment = Appointment.objects.get( registered_subject=self.registered_subject_infant, visit_definition__code='2000') self.infant_visit = InfantVisitFactory(appointment=self.appointment) self.data = { 'report_datetime': timezone.now(), 'infant_birth': self.infant_birth.id, 'infant_visit': self.infant_visit.id, 'infant_exam_date': timezone.now().date(), 'general_activity': 'NORMAL', 'abnormal_activity': '', 'physical_exam_result': 'NORMAL', 'heent_exam': YES, 'heent_no_other': '', 'resp_exam': YES, 'resp_exam_other': '', 'cardiac_exam': YES, 'cardiac_exam_other': '', 'abdominal_exam': YES, 'abdominal_exam_other': '', 'skin_exam': YES, 'skin_exam_other': '', 'neurologic_exam': YES, 'neuro_exam_other': '', 'other_exam_info': 'NA', }
def test_serialize_deserialize(self): """Confirms all models have a get_by_natural_key manager method.""" maternal_eligibility = MaternalEligibilityFactory() maternal_consent = MaternalConsentFactory( registered_subject=maternal_eligibility.registered_subject) specimen_consent = SpecimenConsentFactory( registered_subject=maternal_consent.registered_subject) antenatal_enrollment = AntenatalEnrollmentFactory( registered_subject=specimen_consent.registered_subject, current_hiv_status=POS, evidence_hiv_status=YES, rapid_test_done=NO) appointment = Appointment.objects.get( registered_subject=antenatal_enrollment.registered_subject, visit_definition__code='1000M') maternal_visit = MaternalVisitFactory(appointment=appointment) maternal_locator = MaternalLocatorFactory( maternal_visit=maternal_visit, registered_subject=antenatal_enrollment.registered_subject, ) maternal_demographics = MaternalDemographics.objects.create( maternal_visit=maternal_visit, report_datetime=timezone.now(), marital_status='Single', ethnicity='Black African', highest_education='Tertiary', current_occupation='Student', provides_money='Mother', money_earned='P1001-5000 per month / P212 - 1157 per week', own_phone=YES, house_electrified=YES, house_fridge=YES, cooking_method='Gas or electric stove', toilet_facility='Indoor toilet', house_people_number=1, house_type='Formal: Tin-roofed, concrete walls') instances = [] instances.append(maternal_eligibility) instances.append(maternal_consent) instances.append(specimen_consent) instances.append(antenatal_enrollment) instances.append(maternal_visit) instances.append(maternal_locator) instances.append(maternal_demographics) for obj in instances: natural_key = obj.natural_key() get_obj = obj.__class__.objects.get_by_natural_key(*natural_key) self.assertEqual(obj.pk, get_obj.pk) for obj in instances: outgoing_transaction = SerializeToTransaction().serialize( obj.__class__, obj, False, True, 'default') for transaction in serializers.deserialize( "json", FieldCryptor('aes', 'local').decrypt(outgoing_transaction.tx)): self.assertEqual(transaction.object.pk, obj.pk)
def setUp(self): super(TestReproductiveHealthForm, self).setUp() maternal_eligibility = MaternalEligibilityFactory() maternal_consent = MaternalConsentFactory( registered_subject=maternal_eligibility.registered_subject) registered_subject = maternal_consent.registered_subject postnatal_enrollment = PostnatalEnrollmentFactory( registered_subject=registered_subject, current_hiv_status=NEG, evidence_hiv_status=YES, rapid_test_done=YES, rapid_test_date=date.today(), rapid_test_result=NEG) appointment1000 = Appointment.objects.get( registered_subject=postnatal_enrollment.registered_subject, visit_definition__code='1000M') appointment2000 = Appointment.objects.get( registered_subject=postnatal_enrollment.registered_subject, visit_definition__code='2000M') appointment2010 = Appointment.objects.get( registered_subject=postnatal_enrollment.registered_subject, visit_definition__code='2010M') MaternalVisitFactory(appointment=appointment1000, reason=SCHEDULED) MaternalVisitFactory(appointment=appointment2000, reason=SCHEDULED) maternal_visit = MaternalVisitFactory(appointment=appointment2010, reason=SCHEDULED) contraceptives = Contraceptives.objects.exclude( name__icontains='other').exclude( name__icontains=NOT_APPLICABLE).first() maternal_relatives = MaternalRelatives.objects.exclude( name__icontains='other').exclude( name__icontains=NOT_APPLICABLE).first() self.data = { 'report_datetime': timezone.now(), 'maternal_visit': maternal_visit.id, 'more_children': YES, 'next_child': 'between 2-5years from now', 'contraceptive_measure': YES, 'contraceptive_partner': YES, 'contraceptive_relative': [maternal_relatives.id], 'influential_decision_making': 'partner_most_influential', 'uses_contraceptive': YES, 'contr': [contraceptives.id], 'pap_smear': YES, 'pap_smear_date': date.today(), 'pap_smear_estimate': NO, 'pap_smear_result': YES, 'pap_smear_result_status': 'normal', 'pap_smear_result_abnormal': None, 'srh_referral': YES }
def setUp(self): super(TestInfantFu, self).setUp() self.maternal_eligibility = MaternalEligibilityFactory() self.maternal_consent = MaternalConsentFactory( registered_subject=self.maternal_eligibility.registered_subject) self.registered_subject = self.maternal_eligibility.registered_subject PostnatalEnrollmentFactory(registered_subject=self.registered_subject, current_hiv_status=NEG, evidence_hiv_status=YES, rapid_test_done=YES, rapid_test_result=NEG) self.appointment = Appointment.objects.get( registered_subject=self.registered_subject, visit_definition__code='1000M') self.maternal_visit = MaternalVisitFactory( appointment=self.appointment) self.appointment = Appointment.objects.get( registered_subject=self.registered_subject, visit_definition__code='2000M') maternal_visit = MaternalVisitFactory(appointment=self.appointment) maternal_labour_del = MaternalLabourDelFactory( maternal_visit=maternal_visit) infant_registered_subject = RegisteredSubject.objects.get( subject_type=INFANT, relative_identifier=self.registered_subject.subject_identifier) self.infant_birth = InfantBirthFactory( registered_subject=infant_registered_subject, maternal_labour_del=maternal_labour_del) self.appointment = Appointment.objects.get( registered_subject=infant_registered_subject, visit_definition__code='2000') self.infant_visit = InfantVisitFactory(appointment=self.appointment) self.appointment = Appointment.objects.get( registered_subject=infant_registered_subject, visit_definition__code='2010') self.infant_visit = InfantVisitFactory(appointment=self.appointment) self.data = { 'report_datetime': timezone.now(), 'infant_birth': self.infant_birth.id, 'infant_visit': self.infant_visit.id, 'physical_assessment': NO, 'diarrhea_illness': NO, 'has_dx': NO, 'was_hospitalized': NO, }
def setUp(self): super(TestMaternalRequisitionModel, self).setUp() self.maternal_eligibility = MaternalEligibilityFactory() self.maternal_consent = MaternalConsentFactory( registered_subject=self.maternal_eligibility.registered_subject, study_site=self.study_site) self.registered_subject = self.maternal_consent.registered_subject self.postnatal_enrollment = PostnatalEnrollmentFactory( current_hiv_status=POS, evidence_hiv_status=YES, registered_subject=self.registered_subject, will_breastfeed=YES) self.panel = Panel.objects.get(name='Breast Milk (Storage)') self.aliquot_type = AliquotType.objects.get(alpha_code='WB') self.appointment = Appointment.objects.get( registered_subject=self.registered_subject, visit_definition__code='1000M')
def setUp(self): super(TestInfantStoolCollection, self).setUp() self.maternal_eligibility = MaternalEligibilityFactory() self.maternal_consent = MaternalConsentFactory(registered_subject=self.maternal_eligibility.registered_subject) self.registered_subject = self.maternal_eligibility.registered_subject PostnatalEnrollmentFactory( registered_subject=self.registered_subject, current_hiv_status=NEG, evidence_hiv_status=YES, rapid_test_done=YES, rapid_test_result=NEG) self.appointment = Appointment.objects.get(registered_subject=self.registered_subject, visit_definition__code='1000M') self.maternal_visit = MaternalVisitFactory(appointment=self.appointment) self.appointment = Appointment.objects.get( registered_subject=self.registered_subject, visit_definition__code='2000M') maternal_visit = MaternalVisitFactory(appointment=self.appointment) maternal_labour_del = MaternalLabourDelFactory(maternal_visit=maternal_visit) infant_registered_subject = RegisteredSubject.objects.get( subject_type=INFANT, relative_identifier=self.registered_subject.subject_identifier) self.infant_birth = InfantBirthFactory( registered_subject=infant_registered_subject, maternal_labour_del=maternal_labour_del) self.appointment = Appointment.objects.get( registered_subject=infant_registered_subject, visit_definition__code='2000') self.infant_visit = InfantVisitFactory(appointment=self.appointment) self.appointment = Appointment.objects.get( registered_subject=infant_registered_subject, visit_definition__code='2010') self.infant_visit = InfantVisitFactory(appointment=self.appointment) self.data = { 'report_datetime': timezone.now(), 'infant_visit': self.infant_visit.id, 'sample_obtained': NO, 'nappy_type': NOT_APPLICABLE, 'other_nappy': '', 'stool_collection': NOT_APPLICABLE, 'stool_collection_time': '', 'stool_stored': NOT_APPLICABLE, 'past_diarrhea': NO, 'diarrhea_past_24hrs': NOT_APPLICABLE, 'antibiotics_7days': NO, 'antibiotic_dose_24hrs': NOT_APPLICABLE }
def setUp(self): super(TestInfantBirthData, self).setUp() self.maternal_eligibility = MaternalEligibilityFactory() self.maternal_consent = MaternalConsentFactory( registered_subject=self.maternal_eligibility.registered_subject) self.registered_subject = self.maternal_eligibility.registered_subject PostnatalEnrollmentFactory( registered_subject=self.registered_subject, current_hiv_status=NEG, evidence_hiv_status=YES, rapid_test_done=YES, rapid_test_result=NEG) self.appointment = Appointment.objects.get( registered_subject=self.registered_subject, visit_definition__code='1000M') self.maternal_visit = MaternalVisitFactory(appointment=self.appointment) self.appointment = Appointment.objects.get( registered_subject=self.registered_subject, visit_definition__code='2000M') maternal_visit = MaternalVisitFactory(appointment=self.appointment) maternal_labour_del = MaternalLabourDelFactory(maternal_visit=maternal_visit) infant_registered_subject = RegisteredSubject.objects.get( relative_identifier=self.registered_subject.subject_identifier, subject_type=INFANT) self.infant_birth = InfantBirthFactory( registered_subject=infant_registered_subject, maternal_labour_del=maternal_labour_del) self.appointment = Appointment.objects.get( registered_subject=infant_registered_subject, visit_definition__code='2000') self.infant_visit = InfantVisitFactory(appointment=self.appointment) self.data = { 'report_datetime': timezone.now(), 'infant_birth': self.infant_birth.id, 'infant_visit': self.infant_visit.id, 'weight_kg': 3.61, 'infant_length': 89.97, 'head_circumference': 39.30, 'apgar_score': NO, 'apgar_score_min_1': '', 'apgar_score_min_5': '', 'apgar_score_min_10': '', 'congenital_anomalities': NO}
def setUp(self): super(TestMaternalSrhForm, self).setUp() maternal_eligibility = MaternalEligibilityFactory() maternal_consent = MaternalConsentFactory( registered_subject=maternal_eligibility.registered_subject) registered_subject = maternal_consent.registered_subject postnatal_enrollment = PostnatalEnrollmentFactory( registered_subject=registered_subject, current_hiv_status=NEG, evidence_hiv_status=YES, rapid_test_done=YES, rapid_test_date=date.today(), rapid_test_result=NEG) appointment1000 = Appointment.objects.get( registered_subject=postnatal_enrollment.registered_subject, visit_definition__code='1000M') appointment2000 = Appointment.objects.get( registered_subject=postnatal_enrollment.registered_subject, visit_definition__code='2000M') appointment2010 = Appointment.objects.get( registered_subject=postnatal_enrollment.registered_subject, visit_definition__code='2010M') MaternalVisitFactory(appointment=appointment1000, reason=SCHEDULED) MaternalVisitFactory(appointment=appointment2000, reason=SCHEDULED) maternal_visit = MaternalVisitFactory(appointment=appointment2010, reason=SCHEDULED) contraceptives = Contraceptives.objects.exclude( name__icontains='other').exclude( name__icontains=NOT_APPLICABLE).first() self.data = { 'report_datetime': timezone.now(), 'maternal_visit': maternal_visit.id, 'seen_at_clinic': YES, 'reason_unseen_clinic': None, 'reason_unseen_clinic_other': None, 'is_contraceptive_initiated': YES, 'contr': [contraceptives.id], 'contr_other': None, 'reason_not_initiated': None }
def setUp(self): super(TestInfantArvProph, self).setUp() self.maternal_eligibility = MaternalEligibilityFactory() self.maternal_consent = MaternalConsentFactory( registered_subject=self.maternal_eligibility.registered_subject) self.registered_subject = self.maternal_consent.registered_subject PostnatalEnrollmentFactory(registered_subject=self.registered_subject, current_hiv_status=POS, evidence_hiv_status=YES) self.appointment = Appointment.objects.get( registered_subject=self.registered_subject, visit_definition__code='1000M') self.maternal_visit = MaternalVisitFactory( appointment=self.appointment) self.appointment = Appointment.objects.get( registered_subject=self.registered_subject, visit_definition__code='2000M') maternal_visit = MaternalVisitFactory(appointment=self.appointment) maternal_labour_del = MaternalLabourDelFactory( maternal_visit=maternal_visit) infant_registered_subject = RegisteredSubject.objects.get( subject_type=INFANT, relative_identifier=self.registered_subject.subject_identifier) self.infant_birth = InfantBirthFactory( registered_subject=infant_registered_subject, maternal_labour_del=maternal_labour_del) self.appointment = Appointment.objects.get( registered_subject=infant_registered_subject, visit_definition__code='2000') self.infant_visit = InfantVisitFactory(appointment=self.appointment) self.infant_birth_arv = InfantBirthArvFactory( infant_visit=self.infant_visit, azt_discharge_supply=YES) self.appointment = Appointment.objects.get( registered_subject=infant_registered_subject, visit_definition__code='2010') self.infant_visit = InfantVisitFactory(appointment=self.appointment) self.data = { 'report_datetime': timezone.now(), 'infant_visit': self.infant_visit.id, 'prophylatic_nvp': YES, 'arv_status': 'modified', }
def setUp(self): super(TestInfantImmunizations, self).setUp() self.maternal_eligibility = MaternalEligibilityFactory() self.maternal_consent = MaternalConsentFactory( registered_subject=self.maternal_eligibility.registered_subject) self.registered_subject = self.maternal_eligibility.registered_subject PostnatalEnrollmentFactory(registered_subject=self.registered_subject, current_hiv_status=NEG, evidence_hiv_status=YES, rapid_test_done=YES, rapid_test_result=NEG) self.appointment = Appointment.objects.get( registered_subject=self.registered_subject, visit_definition__code='1000M') self.maternal_visit = MaternalVisitFactory( appointment=self.appointment) self.appointment = Appointment.objects.get( registered_subject=self.registered_subject, visit_definition__code='2000M') maternal_visit = MaternalVisitFactory(appointment=self.appointment) maternal_labour_del = MaternalLabourDelFactory( maternal_visit=maternal_visit) infant_registered_subject = RegisteredSubject.objects.get( subject_type=INFANT, relative_identifier=self.registered_subject.subject_identifier) self.infant_birth = InfantBirthFactory( registered_subject=infant_registered_subject, maternal_labour_del=maternal_labour_del) appointment1 = Appointment.objects.get( registered_subject=infant_registered_subject, visit_definition__code='2000') InfantVisitFactory(appointment=appointment1) self.appointment = Appointment.objects.get( registered_subject=infant_registered_subject, visit_definition__code='2010') self.infant_visit = InfantVisitFactory(appointment=self.appointment) self.data = { 'report_datetime': timezone.now(), 'infant_visit': self.infant_visit.id, 'vaccines_received': YES, 'vaccines_missed': NO }
def setUp(self): super(TestInfantBirthArv, self).setUp() self.maternal_eligibility = MaternalEligibilityFactory() self.maternal_consent = MaternalConsentFactory( registered_subject=self.maternal_eligibility.registered_subject) self.registered_subject = self.maternal_consent.registered_subject PostnatalEnrollmentFactory(registered_subject=self.registered_subject, current_hiv_status=POS, evidence_hiv_status=YES) self.appointment = Appointment.objects.get( registered_subject=self.registered_subject, visit_definition__code='1000M') self.maternal_visit = MaternalVisitFactory( appointment=self.appointment) self.appointment = Appointment.objects.get( registered_subject=self.registered_subject, visit_definition__code='2000M') self.maternal_visit = MaternalVisitFactory( appointment=self.appointment) maternal_labour_del = MaternalLabourDelFactory( maternal_visit=self.maternal_visit) registered_subject_infant = RegisteredSubject.objects.get( subject_type=INFANT, relative_identifier=self.registered_subject.subject_identifier) self.infant_birth = InfantBirthFactory( registered_subject=registered_subject_infant, maternal_labour_del=maternal_labour_del) self.appointment = Appointment.objects.get( registered_subject=registered_subject_infant, visit_definition__code='2000') self.infant_visit = InfantVisitFactory(appointment=self.appointment) self.data = { 'report_datetime': timezone.now(), 'infant_visit': self.infant_visit.id, 'azt_after_birth': YES, 'azt_dose_date': timezone.now().date(), 'azt_additional_dose': YES, 'sdnvp_after_birth': YES, 'nvp_dose_date': timezone.now().date(), }
def setUp(self): super(TestOffStudy, self).setUp() self.maternal_eligibility = MaternalEligibilityFactory() self.registered_subject = self.maternal_eligibility.registered_subject self.maternal_consent = MaternalConsentFactory( registered_subject=self.registered_subject) PostnatalEnrollmentFactory(registered_subject=self.registered_subject, current_hiv_status=NEG, evidence_hiv_status=YES, rapid_test_done=YES, rapid_test_result=NEG) self.appointment = Appointment.objects.get( registered_subject=self.registered_subject, visit_definition__code='1000M') self.maternal_visit = MaternalVisitFactory( appointment=self.appointment) self.appointment = Appointment.objects.get( registered_subject=self.registered_subject, visit_definition__code='2000M') maternal_visit = MaternalVisitFactory(appointment=self.appointment) maternal_labour_del = MaternalLabourDelFactory( maternal_visit=maternal_visit) self.infant_registered_subject = RegisteredSubject.objects.get( relative_identifier=self.registered_subject.subject_identifier, subject_type=INFANT) self.infant_birth = InfantBirthFactory( registered_subject=self.infant_registered_subject, maternal_labour_del=maternal_labour_del) self.infant_appointment = Appointment.objects.get( registered_subject=self.infant_registered_subject, visit_definition__code='2000') self.data = { 'registered_subject': self.registered_subject.id, 'reason': 'not_{}'.format(MIN_AGE_OF_CONSENT), 'has_scheduled_data': YES, 'infant_visit': None, 'offstudy_date': timezone.now().date(), }
def setUp(self): super(TestMaternalRequisitionForm, self).setUp() self.maternal_eligibility = MaternalEligibilityFactory() self.maternal_consent = MaternalConsentFactory( registered_subject=self.maternal_eligibility.registered_subject, study_site=self.study_site) self.registered_subject = self.maternal_consent.registered_subject postnatal_enrollment = PostnatalEnrollmentFactory( current_hiv_status=POS, evidence_hiv_status=YES, registered_subject=self.registered_subject, will_breastfeed=YES) self.assertTrue(postnatal_enrollment.is_eligible) appointment = Appointment.objects.get( registered_subject=self.registered_subject, visit_definition__code='1000M') MaternalVisitFactory(appointment=appointment, reason=SCHEDULED) self.appointment = Appointment.objects.get( registered_subject=self.registered_subject, visit_definition__code='2000M') self.panel = Panel.objects.get(name='Breast Milk (Storage)') self.aliquot_type = AliquotType.objects.get(alpha_code='WB') self.data = { 'maternal_visit': None, 'requisition_identifier': 'ZXDF39U', 'requisition_datetime': timezone.now(), 'report_datetime': timezone.now(), 'is_drawn': NO, 'reason_not_drawn': 'collection_failed', 'drawn_datetime': '', 'study_site': self.study_site, 'panel': self.panel.id, 'aliquot_type': self.aliquot_type.id, 'item_type': 'tube', 'item_count_total': '', 'estimated_volume': '', 'priority': '', 'comments': '', }
def setUp(self): super(TestInfantBirth, self).setUp() maternal_eligibility = MaternalEligibilityFactory() maternal_consent = MaternalConsentFactory( registered_subject=maternal_eligibility.registered_subject) registered_subject = maternal_consent.registered_subject postnatal_enrollment = PostnatalEnrollmentFactory( registered_subject=registered_subject, current_hiv_status=NEG, evidence_hiv_status=YES, rapid_test_done=YES, rapid_test_result=NEG) self.assertTrue(postnatal_enrollment.is_eligible) appointment1000 = Appointment.objects.get( registered_subject=registered_subject, visit_definition__code='1000M') appointment2000 = Appointment.objects.get( registered_subject=registered_subject, visit_definition__code='2000M') MaternalVisitFactory(appointment=appointment1000) maternal_visit = MaternalVisitFactory(appointment=appointment2000) self.maternal_labour_del = MaternalLabourDelFactory( maternal_visit=maternal_visit) self.infant_registered_subject = RegisteredSubject.objects.get( relative_identifier=registered_subject.subject_identifier, subject_type=INFANT) self.data = { 'report_datetime': timezone.now(), 'registered_subject': self.infant_registered_subject.id, 'maternal_labour_del': self.maternal_labour_del.id, 'first_name': 'FIRST NAME', 'initials': 'FN', 'dob': self.maternal_labour_del.delivery_datetime.date(), 'gender': FEMALE }
class TestRapidTestForm(BaseTestCase): def setUp(self): super(TestRapidTestForm, self).setUp() self.maternal_eligibility = MaternalEligibilityFactory() self.assertTrue(self.maternal_eligibility.is_eligible) self.maternal_consent = MaternalConsentFactory( registered_subject=self.maternal_eligibility.registered_subject) self.registered_subject = self.maternal_consent.registered_subject self.data = { 'report_datetime': timezone.now(), 'maternal_visit': None, 'rapid_test_done': YES, 'result_date': timezone.now(), 'result': None, } def test_validate_rapid_test_done_no_result(self): self.maternal_consent.dob = date(2015, 12, 7) self.maternal_consent.save() PostnatalEnrollmentFactory( registered_subject=self.registered_subject, current_hiv_status=NEG, evidence_hiv_status=YES, rapid_test_done=YES, rapid_test_date=date.today(), rapid_test_result=NEG) appointment = Appointment.objects.get( registered_subject=self.registered_subject, visit_definition__code='1000M') maternal_visit = MaternalVisitFactory(appointment=appointment, reason=SCHEDULED) self.data['maternal_visit'] = maternal_visit.id rapid_form = RapidTestResultForm(data=self.data) self.assertIn("If a rapid test was processed, what is the test result?", rapid_form.errors.get("__all__")) def test_validate_rapid_test_done_result(self): self.maternal_consent.dob = date(2015, 12, 7) self.maternal_consent.save() PostnatalEnrollmentFactory( registered_subject=self.registered_subject, current_hiv_status=NEG, evidence_hiv_status=YES, rapid_test_done=YES, rapid_test_date=date.today(), rapid_test_result=NEG) appointment = Appointment.objects.get( registered_subject=self.registered_subject, visit_definition__code='1000M') maternal_visit = MaternalVisitFactory(appointment=appointment, reason=SCHEDULED) self.data['maternal_visit'] = maternal_visit.id self.data['result'] = POS rapid_form = RapidTestResultForm(data=self.data) self.assertTrue(rapid_form.is_valid()) def test_validate_rapid_test_done_no_result_date(self): self.maternal_consent.dob = date(2015, 12, 7) self.maternal_consent.save() PostnatalEnrollmentFactory( registered_subject=self.registered_subject, current_hiv_status=NEG, evidence_hiv_status=YES, rapid_test_done=YES, rapid_test_result=NEG) appointment = Appointment.objects.get( registered_subject=self.registered_subject, visit_definition__code='1000M') maternal_visit = MaternalVisitFactory(appointment=appointment, reason=SCHEDULED) self.data['maternal_visit'] = maternal_visit.id self.data['result_date'] = None self.data['result'] = POS rapid_form = RapidTestResultForm(data=self.data) self.assertIn( "If a rapid test was processed, what is the date of the rapid test?", rapid_form.errors.get("__all__")) def test_validate_rapid_test_not_done(self): self.maternal_consent.dob = date(2015, 12, 7) self.maternal_consent.save() PostnatalEnrollmentFactory( registered_subject=self.registered_subject, current_hiv_status=NEG, evidence_hiv_status=YES, rapid_test_done=YES, rapid_test_result=NEG) appointment = Appointment.objects.get( registered_subject=self.registered_subject, visit_definition__code='1000M') maternal_visit = MaternalVisitFactory(appointment=appointment, reason=SCHEDULED) self.data['maternal_visit'] = maternal_visit.id self.data['rapid_test_done'] = NO self.data['result_date'] = None self.data['result'] = None rapid_form = RapidTestResultForm(data=self.data) rapid_form.is_valid() self.assertTrue(rapid_form.is_valid()) def test_validate_rapid_test_done_processed1(self): self.maternal_consent.dob = date(2015, 12, 7) self.maternal_consent.save() PostnatalEnrollmentFactory( registered_subject=self.registered_subject, current_hiv_status=NEG, evidence_hiv_status=YES, rapid_test_done=YES, rapid_test_result=NEG) appointment = Appointment.objects.get( registered_subject=self.registered_subject, visit_definition__code='1000M') maternal_visit = MaternalVisitFactory(appointment=appointment, reason=SCHEDULED) result_date = date.today() self.data['maternal_visit'] = maternal_visit.id self.data['rapid_test_done'] = NO self.data['result_date'] = result_date self.data['result'] = None rapid_form = RapidTestResultForm(data=self.data) self.assertIn( 'If a rapid test was not processed, please do not ' 'provide the result date. Got {}.'.format(result_date.strftime('%Y-%m-%d')), rapid_form.errors.get("__all__"))
def maternal_instances(self): instances = [] maternal_eligibility = MaternalEligibilityFactory() instances.append(maternal_eligibility) maternal_consent = MaternalConsentFactory( registered_subject=maternal_eligibility.registered_subject) instances.append(maternal_consent) specimen_consent = SpecimenConsentFactory( registered_subject=maternal_consent.registered_subject) instances.append(specimen_consent) antenatal_enrollment = AntenatalEnrollmentFactory( registered_subject=specimen_consent.registered_subject, current_hiv_status=POS, evidence_hiv_status=YES, rapid_test_done=NO) instances.append(antenatal_enrollment) post_natal_enrollment = PostnatalEnrollmentFactory( registered_subject=specimen_consent.registered_subject, ) instances.append(post_natal_enrollment) appointment_1000 = Appointment.objects.get( registered_subject=antenatal_enrollment.registered_subject, visit_definition__code='1000M') instances.append(appointment_1000) maternal_visit_1000 = MaternalVisitFactory( appointment=appointment_1000) instances.append(maternal_visit_1000) maternal_locator = MaternalLocatorFactory( maternal_visit=maternal_visit_1000, registered_subject=antenatal_enrollment.registered_subject, ) instances.append(maternal_locator) maternal_demographics = MaternalDemographicsFactory( maternal_visit=maternal_visit_1000, ) instances.append(maternal_demographics) appointment_2000 = Appointment.objects.get( registered_subject=antenatal_enrollment.registered_subject, visit_definition__code='2000M') instances.append(appointment_2000) maternal_visit_2000 = MaternalVisitFactory( appointment=appointment_2000) instances.append(maternal_visit_2000) appointment_2010 = Appointment.objects.get( registered_subject=antenatal_enrollment.registered_subject, visit_definition__code='2010M') maternal_visit_2010 = MaternalVisitFactory( appointment=appointment_2010) instances.append(maternal_visit_2010) reproductive_health = ReproductiveHealthFactory( maternal_visit=maternal_visit_2010) instances.append(reproductive_health) maternal_arv_post = MaternalArvPostFactory( maternal_visit=maternal_visit_2010) instances.append(maternal_arv_post) maternal_arv_post_mod = MaternalArvPostModFactory( maternal_arv_post=maternal_arv_post) instances.append(maternal_arv_post_mod) maternal_arv_preg = MaternalArvPregFactory( maternal_visit=maternal_visit_2000) instances.append(maternal_arv_preg) maternal_arv = MaternalArvFactory(maternal_arv_preg=maternal_arv_preg) instances.append(maternal_arv) maternal_post_fu_med = MaternalPostFuMedFactory( maternal_visit=maternal_visit_2010) instances.append(maternal_post_fu_med) maternal_post_fu_items = MaternalPostFuMedItemsFactory( maternal_post_fu_med=maternal_post_fu_med) instances.append(maternal_post_fu_items) maternal_post_fu_dx = MaternalPostFuDxFactory( maternal_visit=maternal_visit_2010) instances.append(maternal_post_fu_dx) # maternal_post_fu_dxt = MaternalPostFuDxTFactory(maternal_post_fu_dx=maternal_post_fu_dx) # instances.append(maternal_post_fu_dxt) return instances
def infant_instances(self): instances = [] maternal_eligibility = MaternalEligibilityFactory() instances.append(maternal_eligibility) maternal_consent = MaternalConsentFactory( registered_subject=maternal_eligibility.registered_subject) instances.append(maternal_consent) maternal_registered_subject = maternal_consent.registered_subject instances.append(maternal_registered_subject) post_natal_enrollment = PostnatalEnrollmentFactory( registered_subject=maternal_registered_subject, current_hiv_status=POS, evidence_hiv_status=YES) instances.append(post_natal_enrollment) maternal_appointment_1000 = Appointment.objects.get(registered_subject=maternal_registered_subject, visit_definition__code='1000M') instances.append(maternal_appointment_1000) maternal_visit_1000 = MaternalVisitFactory(appointment=maternal_appointment_1000) instances.append(maternal_visit_1000) maternal_appointment_2000 = Appointment.objects.get(registered_subject=maternal_registered_subject, visit_definition__code='2000M') instances.append(maternal_appointment_2000) maternal_visit_2000 = MaternalVisitFactory(appointment=maternal_appointment_2000) instances.append(maternal_visit_2000) maternal_labour_del = MaternalLabourDelFactory(maternal_visit=maternal_visit_2000) instances.append(maternal_labour_del) infant_registered_subject = RegisteredSubject.objects.get( relative_identifier=maternal_registered_subject.subject_identifier, subject_type=INFANT) instances.append(infant_registered_subject) infant_birth = InfantBirthFactory( registered_subject=infant_registered_subject, maternal_labour_del=maternal_labour_del) instances.append(infant_birth) infant_appointment_2000 = Appointment.objects.get( registered_subject=infant_registered_subject, visit_definition__code='2000') instances.append(infant_appointment_2000) infant_visit_2000 = InfantVisitFactory(appointment=infant_appointment_2000) instances.append(infant_visit_2000) infant_congenital_anomalies = InfantCongenitalAnomaliesFactory(infant_visit=infant_visit_2000) instances.append(infant_congenital_anomalies) cardio_disorder = InfantCardioDisorderFactory(congenital_anomalies=infant_congenital_anomalies) instances.append(cardio_disorder) cleft_disorder = InfantCleftDisorderFactory(congenital_anomalies=infant_congenital_anomalies) instances.append(cleft_disorder) infant_birth_feed_vaccine = InfantBirthFeedVaccineFactory(infant_visit=infant_visit_2000) instances.append(infant_birth_feed_vaccine) infant_vaccines = InfantVaccinesFactory(infant_birth_feed_vaccine=infant_birth_feed_vaccine) instances.append(infant_vaccines) infant_appointment_2010 = Appointment.objects.get( registered_subject=infant_registered_subject, visit_definition__code='2010') instances.append(infant_appointment_2010) infant_visit_2010 = InfantVisitFactory(appointment=infant_appointment_2010) infant_fu_immuninization = InfantFuImmunizationsFactory(infant_visit=infant_visit_2010) instances.append(infant_fu_immuninization) infant_fu_new_med = InfantFuNewMedFactory(infant_visit=infant_visit_2010) instances.append(infant_fu_new_med) infant_fu_new_med_items = InfantFuNewMedItemsFactory(infant_fu_med=infant_fu_new_med) instances.append(infant_fu_new_med_items) vaccines_received = VaccinesReceivedFactory(infant_fu_immunizations=infant_fu_immuninization) instances.append(vaccines_received) vaccines_missed = VaccinesMissedFactory(infant_fu_immunizations=infant_fu_immuninization) instances.append(vaccines_missed) infant_fu_dx = InfantFuDxFactory(infant_visit=infant_visit_2010) instances.append(infant_fu_dx) infant_fu_dx_items = InfantFuDxItemsFactory(infant_fu_dx=infant_fu_dx) instances.append(infant_fu_dx_items) infant_arv_proph = InfantArvProphFactory(infant_visit=infant_visit_2010) instances.append(infant_arv_proph) infant_arv_proph_mod = InfantArvProphModFactory(infant_arv_proph=infant_arv_proph) instances.append(infant_arv_proph_mod) return instances
class TestOffStudy(BaseTestCase): def setUp(self): super(TestOffStudy, self).setUp() self.maternal_eligibility = MaternalEligibilityFactory() self.maternal_consent = MaternalConsentFactory( registered_subject=self.maternal_eligibility.registered_subject) self.registered_subject = self.maternal_consent.registered_subject self.data = { 'registered_subject': self.registered_subject.id, 'reason': 'not_{}'.format(MIN_AGE_OF_CONSENT), 'has_scheduled_data': YES, 'maternal_visit': None, 'offstudy_date': timezone.now().date()} def test_1000M_metadata_set_to_offstudy_if_not_ante(self): """Asserts ineligible at postnatal creates 1000M off study visit and makes off study form required.""" postnatal_enrollment = PostnatalEnrollmentFactory( registered_subject=self.registered_subject, current_hiv_status=NEG, evidence_hiv_status=YES, rapid_test_done=NO) self.assertFalse(postnatal_enrollment.is_eligible) appointment = Appointment.objects.get( registered_subject=self.registered_subject, visit_definition__code='1000M') MaternalVisit.objects.get(appointment=appointment, reason=FAILED_ELIGIBILITY) self.assertEqual(CrfMetaData.objects.filter( entry_status=REQUIRED, crf_entry__app_label='mb_maternal', crf_entry__model_name='maternaloffstudy', appointment=appointment).count(), 1) appointment = Appointment.objects.get( registered_subject=self.registered_subject, visit_definition__code='2000M') self.assertRaises(MaternalVisit.DoesNotExist, MaternalVisit.objects.get, appointment=appointment) def test_2000M_metadata_set_to_offstudy(self): """Asserts eligible at antenatal but ineligible at postnatal creates 2000M off study visit and makes off study form required.""" antenatal_enrollment = AntenatalEnrollmentFactory( registered_subject=self.registered_subject, current_hiv_status=NEG, evidence_hiv_status=YES, rapid_test_done=YES, rapid_test_date=date.today(), rapid_test_result=NEG) self.assertTrue(antenatal_enrollment.is_eligible) appointment = Appointment.objects.get( registered_subject=self.registered_subject, visit_definition__code='1000M') MaternalVisitFactory( appointment=appointment, reason=SCHEDULED) postnatal_enrollment = PostnatalEnrollmentFactory( registered_subject=self.registered_subject, current_hiv_status=NEG, evidence_hiv_status=YES, rapid_test_done=NO) self.assertFalse(postnatal_enrollment.is_eligible) appointment = Appointment.objects.get( registered_subject=self.registered_subject, visit_definition__code='2000M') with self.assertRaises(MaternalVisit.DoesNotExist): try: MaternalVisit.objects.get(appointment=appointment, reason=FAILED_ELIGIBILITY) except: pass else: raise MaternalVisit.DoesNotExist self.assertEqual(CrfMetaData.objects.filter( entry_status=REQUIRED, crf_entry__app_label='mb_maternal', crf_entry__model_name='maternaloffstudy', appointment=appointment).count(), 1) def test_offstudy2(self): PostnatalEnrollmentFactory( registered_subject=self.registered_subject, current_hiv_status=POS, evidence_hiv_status=YES, rapid_test_done=NOT_APPLICABLE) appointment = Appointment.objects.get( registered_subject=self.registered_subject, visit_definition__code='1000M') maternal_visit = MaternalVisitFactory( appointment=appointment, report_datetime=timezone.now(), study_status=OFF_STUDY, reason=COMPLETED_PROTOCOL_VISIT) MaternalOffStudyFactory( registered_subject=appointment.registered_subject, report_datetime=timezone.now(), offstudy_date=date.today(), maternal_visit=maternal_visit) self.assertEqual( Appointment.objects.filter( registered_subject=self.registered_subject).count(), 1) def test_offstudy3(self): PostnatalEnrollmentFactory( registered_subject=self.registered_subject, current_hiv_status=NEG, evidence_hiv_status=YES, rapid_test_done=YES, rapid_test_result=NEG) post_natal_visit_schedule = site_visit_schedules.get_visit_schedule('postnatal visit schedule') self.assertEqual(Appointment.objects.filter( registered_subject=self.registered_subject).count(), len(post_natal_visit_schedule.visit_definitions)) appointment = Appointment.objects.get( registered_subject=self.registered_subject, visit_definition__code='1000M', visit_instance='0') maternal_visit = MaternalVisitFactory( appointment=appointment, report_datetime=timezone.now(), study_status=OFF_STUDY, survival_status=ALIVE, reason=COMPLETED_PROTOCOL_VISIT) MaternalOffStudyFactory( registered_subject=appointment.registered_subject, maternal_visit=maternal_visit, report_datetime=timezone.now(), offstudy_date=date.today()) self.assertEqual(Appointment.objects.filter( registered_subject=self.registered_subject).count(), 1) def test_validate_offstudy_date(self): PostnatalEnrollmentFactory( registered_subject=self.registered_subject, current_hiv_status=NEG, evidence_hiv_status=YES, rapid_test_done=YES, rapid_test_result=NEG) appointment = Appointment.objects.get( registered_subject=self.registered_subject, visit_definition__code='1000M') maternal_visit = MaternalVisitFactory( appointment=appointment, reason=COMPLETED_PROTOCOL_VISIT, study_status=OFF_STUDY, survival_status=ALIVE) self.data['maternal_visit'] = maternal_visit.id self.data['offstudy_date'] = date(2015, 10, 6) offstudy_form = MaternalOffStudyForm(data=self.data) self.assertIn( "Off study date cannot be before consent date", offstudy_form.errors.get("__all__")) def test_validate_offstudy_date_consent_datetime(self): self.maternal_consent.consent_datetime = timezone.now() - relativedelta(hours=1) self.maternal_consent.save() PostnatalEnrollmentFactory( registered_subject=self.registered_subject, current_hiv_status=NEG, evidence_hiv_status=YES, rapid_test_done=YES, rapid_test_result=NEG) appointment = Appointment.objects.get( registered_subject=self.registered_subject, visit_definition__code='1000M', visit_instance='0') maternal_visit = MaternalVisitFactory( appointment=appointment, reason=COMPLETED_PROTOCOL_VISIT, study_status=OFF_STUDY, survival_status=ALIVE) self.data['maternal_visit'] = maternal_visit.id self.data['offstudy_date'] = timezone.now() - relativedelta(weeks=2) offstudy_form = MaternalOffStudyForm(data=self.data) self.assertIn( "Off study date cannot be before consent date", offstudy_form.errors.get("__all__"))
def setUp(self): super(TestRuleGroup, self).setUp() self.maternal_eligibility = MaternalEligibilityFactory() self.maternal_consent = MaternalConsentFactory( registered_subject=self.maternal_eligibility.registered_subject) self.registered_subject = self.maternal_consent.registered_subject
def setUp(self): super(TestInfantFeedingForm, self).setUp() self.maternal_eligibility = MaternalEligibilityFactory() self.maternal_consent = MaternalConsentFactory( registered_subject=self.maternal_eligibility.registered_subject) self.registered_subject = self.maternal_eligibility.registered_subject PostnatalEnrollmentFactory(registered_subject=self.registered_subject, current_hiv_status=NEG, evidence_hiv_status=YES, rapid_test_done=YES, rapid_test_result=NEG) self.appointment = Appointment.objects.get( registered_subject=self.registered_subject, visit_definition__code='1000M') self.maternal_visit = MaternalVisitFactory( appointment=self.appointment) self.appointment = Appointment.objects.get( registered_subject=self.registered_subject, visit_definition__code='2000M') maternal_visit = MaternalVisitFactory(appointment=self.appointment) maternal_labour_del = MaternalLabourDelFactory( maternal_visit=maternal_visit) infant_registered_subject = RegisteredSubject.objects.get( subject_type=INFANT, relative_identifier=self.registered_subject.subject_identifier) self.infant_birth = InfantBirthFactory( registered_subject=infant_registered_subject, maternal_labour_del=maternal_labour_del) self.appointment = Appointment.objects.get( registered_subject=infant_registered_subject, visit_definition__code='2000') self.infant_visit = InfantVisitFactory(appointment=self.appointment) self.appointment = Appointment.objects.get( registered_subject=infant_registered_subject, visit_definition__code='2010') self.infant_visit = InfantVisitFactory(appointment=self.appointment) self.appointment = Appointment.objects.get( registered_subject=infant_registered_subject, visit_definition__code='2030') self.infant_visit_2030 = InfantVisitFactory( appointment=self.appointment) self.appointment = Appointment.objects.get( registered_subject=infant_registered_subject, visit_definition__code='2060') self.infant_visit = InfantVisitFactory(appointment=self.appointment) self.maternal_eligibility2 = MaternalEligibilityFactory() self.maternal_consent2 = MaternalConsentFactory( registered_subject=self.maternal_eligibility2.registered_subject) self.registered_subject2 = self.maternal_eligibility2.registered_subject PostnatalEnrollmentFactory(registered_subject=self.registered_subject2, current_hiv_status=NEG, evidence_hiv_status=YES, rapid_test_done=YES, rapid_test_result=NEG) self.appointment2 = Appointment.objects.get( registered_subject=self.registered_subject2, visit_definition__code='1000M') self.maternal_visit2 = MaternalVisitFactory( appointment=self.appointment2) self.appointment2 = Appointment.objects.get( registered_subject=self.registered_subject2, visit_definition__code='2000M') maternal_visit2 = MaternalVisitFactory(appointment=self.appointment2) maternal_labour_del2 = MaternalLabourDelFactory( maternal_visit=maternal_visit2) infant_registered_subject2 = RegisteredSubject.objects.get( subject_type=INFANT, relative_identifier=self.registered_subject2.subject_identifier) self.infant_birth2 = InfantBirthFactory( registered_subject=infant_registered_subject2, maternal_labour_del=maternal_labour_del2) self.appointment2 = Appointment.objects.get( registered_subject=infant_registered_subject2, visit_definition__code='2000') self.infant_visit2 = InfantVisitFactory(appointment=self.appointment2) self.appointment2 = Appointment.objects.get( registered_subject=infant_registered_subject2, visit_definition__code='2010') self.infant_visit2 = InfantVisitFactory(appointment=self.appointment2) self.appointment2 = Appointment.objects.get( registered_subject=infant_registered_subject2, visit_definition__code='2030') self.infant_visit2 = InfantVisitFactory(appointment=self.appointment2) self.data = { 'report_datetime': timezone.now(), 'infant_birth': self.infant_birth.id, 'infant_visit': self.infant_visit.id, 'last_att_sche_visit': date(2015, 9, 15), 'other_feeding': YES, 'formula_intro_occur': YES, 'formula_intro_date': None, 'took_formula': NO, 'is_first_formula': NO, 'date_first_formula': None, 'est_date_first_formula': None, 'water': YES, 'juice': YES, 'cow_milk': YES, 'cow_milk_yes': 'N/A', 'other_milk': YES, 'other_milk_animal': YES, 'milk_boiled': YES, 'fruits_veg': YES, 'cereal_porridge': YES, 'solid_liquid': YES, 'rehydration_salts': YES, 'water_used': 'N/A', 'water_used_other': None, 'ever_breastfeed': YES, 'complete_weaning': YES, 'weaned_completely': YES, 'most_recent_bm': None, 'times_breastfed': '<1 per week' }
def setUp(self): super(TestInfantDeathReportForm, self).setUp() maternal_eligibility = MaternalEligibilityFactory( report_datetime=timezone.now()) maternal_consent = MaternalConsentFactory( registered_subject=maternal_eligibility.registered_subject) registered_subject = maternal_consent.registered_subject maternal_subject_identifier = maternal_consent.subject_identifier postnatal_enrollment = PostnatalEnrollmentFactory( registered_subject=registered_subject, current_hiv_status=NEG, evidence_hiv_status=YES, rapid_test_done=YES, rapid_test_date=date.today(), rapid_test_result=NEG) self.assertTrue(postnatal_enrollment.is_eligible) appointment1 = Appointment.objects.get( registered_subject=registered_subject, visit_definition__code='1000M') MaternalVisitFactory(appointment=appointment1) appointment = Appointment.objects.get( registered_subject=postnatal_enrollment.registered_subject, visit_definition__code='2000M') maternal_visit = MaternalVisitFactory(appointment=appointment) maternal_labour_del = MaternalLabourDelFactory( maternal_visit=maternal_visit) infant_registered_subject = RegisteredSubject.objects.get( subject_type=INFANT, relative_identifier=maternal_subject_identifier) InfantBirthFactory(registered_subject=infant_registered_subject, maternal_labour_del=maternal_labour_del) appointment2000 = Appointment.objects.get( registered_subject=infant_registered_subject, visit_definition__code='2000') InfantVisitFactory(appointment=appointment2000) appointment2010 = Appointment.objects.get( registered_subject=infant_registered_subject, visit_definition__code='2010') infant_visit = InfantVisitFactory(appointment=appointment2010) # requery infant_registered_subject = RegisteredSubject.objects.get( pk=infant_registered_subject.pk) self.data = { 'registered_subject': infant_registered_subject.id, 'report_datetime': timezone.now(), 'infant_visit': infant_visit.id, 'death_date': timezone.now().date(), 'death_cause_info': 'N/A', 'death_cause_info_other': NO, 'perform_autopsy': NO, 'death_cause': NO, 'death_cause_category': NO, 'death_cause_other': None, 'illness_duration': None, 'death_medical_responsibility': None, 'participant_hospitalized': YES, 'reason_hospitalized': None, 'days_hospitalized': 0, 'study_drug_relate': None, 'infant_nvp_relate': None, 'haart_relate': None, 'trad_med_relate': None, 'comment': None, }