示例#1
0
    def _checkRandomFollowup(self, case):
        self.assertFalse(case.closed)
        self.assertTrue(case.send_to_phone)
        self.assertEqual(const.SendToPhoneReasons.RANDOMLY_CHOSEN, case.send_to_phone_reason)
        [ccase] = case.commcare_cases
        self.assertEqual(const.AUTO_FU_PROBABILITY, case.random_fu_probability)

        check_commcare_dates(self, case, ccase, 9, 14, 19, 42)
示例#2
0
 def testPregnancyUnchanged(self):
     folder_name = os.path.join(os.path.dirname(__file__), "testpatients", "random_futest")
     patient = export.import_patient_json_file(os.path.join(folder_name, "patient.json"))
     updated_patient, _ = add_form_with_date_offset(
         patient.get_id, os.path.join(folder_name, "004_pregnancy.xml"), days_from_today=0
     )
     [case] = updated_patient.cases
     self.assertFalse(case.closed)
     self.assertTrue(case.send_to_phone)
     self.assertNotEqual(const.SendToPhoneReasons.RANDOMLY_CHOSEN, case.send_to_phone_reason)
     [ccase] = case.commcare_cases
     # use the pregnancy dates
     check_commcare_dates(self, case, ccase, 7 * 42, 7 * 42, 7 * 42 + 5, 7 * 46)
示例#3
0
 def testSevereUnchanged(self):
     folder_name = os.path.join(os.path.dirname(__file__), "testpatients", "random_futest")
     patient = export.import_patient_json_file(os.path.join(folder_name, "patient.json"))
     updated_patient, _ = add_form_with_date_offset(
         patient.get_id, os.path.join(folder_name, "003_general.xml"), days_from_today=0
     )
     [case] = updated_patient.cases
     self.assertFalse(case.closed)
     self.assertTrue(case.send_to_phone)
     self.assertNotEqual(const.SendToPhoneReasons.RANDOMLY_CHOSEN, case.send_to_phone_reason)
     [ccase] = case.commcare_cases
     # these dates are different because it should actually
     # follow the original cases logic, in this case a missed
     # appointment 7 days later
     check_commcare_dates(self, case, ccase, 10, 10, 20, 42)
示例#4
0
    def testCaseOutcomes(self):
        folder_name = os.path.join(os.path.dirname(__file__), "testpatients", "adult_visit")
        patient = export.import_patient_json_file(os.path.join(folder_name, "patient.json"))

        # Enter new form, make sure to choose a danger sign, then choose outcome follow up prn
        updated_patient, form_doc1 = add_form_with_date_offset(
            patient.get_id, os.path.join(folder_name, "001_general.xml"), days_from_today=-5
        )

        [case] = updated_patient.cases
        self.assertFalse(patient.is_deceased)
        self.assertEqual(0, len(case.commcare_cases))
        self.assertTrue(case.closed)
        self.assertEqual(Outcome.CLOSED_AT_CLINIC, case.outcome)

        # Enter new form, make sure to choose a danger sign, then choose outcome referred
        updated_patient, form_doc2 = add_form_with_date_offset(
            patient.get_id, os.path.join(folder_name, "002_general.xml"), days_from_today=-4
        )
        self.assertEqual(2, len(updated_patient.cases))
        case = updated_patient.cases[-1]
        self.assertFalse(case.closed)
        [ccase] = case.commcare_cases
        check_commcare_dates(self, case, ccase, 9, 14, 19, 42)

        # Enter new form, make sure to choose a danger sign, then choose outcome follow up facilility
        updated_patient, form_doc3 = add_form_with_date_offset(
            patient.get_id, os.path.join(folder_name, "003_general.xml"), days_from_today=-3
        )

        self.assertEqual(3, len(updated_patient.cases))
        case = updated_patient.cases[-1]
        self.assertFalse(case.closed)
        [ccase] = case.commcare_cases
        check_commcare_dates(self, case, ccase, 10, 10, 20, 42)

        # Enter new form, make sure to choose a danger sign, then choose outcome blank
        updated_patient, form_doc4 = add_form_with_date_offset(
            patient.get_id, os.path.join(folder_name, "004_general.xml"), days_from_today=-2
        )

        self.assertEqual(4, len(updated_patient.cases))
        case = updated_patient.cases[-1]
        self.assertFalse(case.closed)
        [ccase] = case.commcare_cases
        check_commcare_dates(self, case, ccase, 8, 8, 18, 42)

        # Enter new form, make sure to choose a danger sign, then choose outcome death
        updated_patient, form_doc5 = add_form_with_date_offset(
            patient.get_id, os.path.join(folder_name, "005_general.xml"), days_from_today=-1
        )

        self.assertEqual(5, len(updated_patient.cases))
        case = updated_patient.cases[-1]
        self.assertTrue(case.closed)
        self.assertEqual(0, len(case.commcare_cases))
        self.assertTrue(updated_patient.is_deceased)