def testNVP(self): # Not testing positive p = random_person() p.save() post_and_process_xform("preg_no_hiv_test_1.xml", p) pregnancy = PregnancyReportRecord.view("reports/pregnancies_for_patient", key=p.get_id, include_docs=True).one() self.assertEqual(False, pregnancy.got_nvp_when_tested_positive) # Test positive subsequent visit post_and_process_xform("preg_hiv_pos_2.xml", p) pregnancy = PregnancyReportRecord.view("reports/pregnancies_for_patient", key=p.get_id, include_docs=True).one() self.assertEqual(True, pregnancy.got_nvp_when_tested_positive) p2 = random_person() p2.save() # Testing positive but already on Haart post_and_process_xform("preg_hiv_pos_1.xml", p2) pregnancy = PregnancyReportRecord.view("reports/pregnancies_for_patient", key=p2.get_id, include_docs=True).one() self.assertEqual(False, pregnancy.got_nvp_when_tested_positive)
def update_pregnancy_report_data(sender, patient_id, **kwargs): """ Update pregnancies of a patient. """ from bhoma.apps.reports.calc.pregnancy import PregnancyReportData from bhoma.apps.reports.models import PregnancyReportRecord from bhoma.apps.patient.models import CPatient patient = CPatient.get(patient_id) # manually remove old pregnancies, since all pregnancy data is dynamically generated for old_preg in PregnancyReportRecord.view("reports/pregnancies_for_patient", key=patient_id, include_docs=True).all(): old_preg.delete() for preg in patient.pregnancies: preg_report_data = PregnancyReportData(patient, preg) couch_pregnancy = preg_report_data.to_couch_object() couch_pregnancy.save()
def _latest_pregnancy(): return PregnancyReportRecord.view("reports/pregnancies_for_patient", key=updated_patient.get_id, include_docs=True).one()