Ejemplo n.º 1
0
    def test_invalid_healthcare_service_unit_validation(self):
        from erpnext.healthcare.doctype.inpatient_record.inpatient_record import admit_patient, discharge_patient, schedule_discharge
        from erpnext.healthcare.doctype.inpatient_record.test_inpatient_record import \
         create_inpatient, get_healthcare_service_unit, mark_invoiced_inpatient_occupancy

        frappe.db.sql("""delete from `tabInpatient Record`""")
        patient, medical_department, practitioner = create_healthcare_docs()
        patient = create_patient()
        # Schedule Admission
        ip_record = create_inpatient(patient)
        ip_record.expected_length_of_stay = 0
        ip_record.save(ignore_permissions=True)

        # Admit
        service_unit = get_healthcare_service_unit(
            'Test Service Unit Ip Occupancy')
        admit_patient(ip_record, service_unit, now_datetime())

        appointment_service_unit = get_healthcare_service_unit(
            'Test Service Unit Ip Occupancy for Appointment')
        appointment = create_appointment(patient,
                                         practitioner,
                                         nowdate(),
                                         service_unit=appointment_service_unit,
                                         save=0)
        self.assertRaises(frappe.exceptions.ValidationError, appointment.save)

        # Discharge
        schedule_discharge(frappe.as_json({'patient': patient}))
        ip_record1 = frappe.get_doc("Inpatient Record", ip_record.name)
        mark_invoiced_inpatient_occupancy(ip_record1)
        discharge_patient(ip_record1)
    def setUp(self):
        frappe.db.sql("""delete from `tabInpatient Record`""")
        self.patient = create_patient()

        # Admit
        ip_record = create_inpatient(self.patient)
        ip_record.expected_length_of_stay = 0
        ip_record.save()
        ip_record.reload()
        service_unit = get_healthcare_service_unit()
        admit_patient(ip_record, service_unit, now_datetime())
        self.ip_record = ip_record
Ejemplo n.º 3
0
def create_records(patient):
    frappe.db.sql("""delete from `tabInpatient Record`""")

    # Admit
    ip_record = create_inpatient(patient)
    ip_record.expected_length_of_stay = 0
    ip_record.save()
    ip_record.reload()
    service_unit = get_healthcare_service_unit()
    admit_patient(ip_record, service_unit, now_datetime())

    ipmo = create_ipmo(patient)
    ipmo.submit()

    return ip_record
Ejemplo n.º 4
0
    def test_appointment_booking_for_admission_service_unit(self):
        from erpnext.healthcare.doctype.inpatient_record.inpatient_record import (
            admit_patient,
            discharge_patient,
            schedule_discharge,
        )
        from erpnext.healthcare.doctype.inpatient_record.test_inpatient_record import (
            create_inpatient,
            get_healthcare_service_unit,
            mark_invoiced_inpatient_occupancy,
        )

        frappe.db.sql("""delete from `tabInpatient Record`""")
        patient, practitioner = create_healthcare_docs()
        patient = create_patient()
        # Schedule Admission
        ip_record = create_inpatient(patient)
        ip_record.expected_length_of_stay = 0
        ip_record.save(ignore_permissions=True)

        # Admit
        service_unit = get_healthcare_service_unit(
            "_Test Service Unit Ip Occupancy")
        admit_patient(ip_record, service_unit, now_datetime())

        appointment = create_appointment(patient,
                                         practitioner,
                                         nowdate(),
                                         service_unit=service_unit)
        self.assertEqual(appointment.service_unit, service_unit)

        # Discharge
        schedule_discharge(
            frappe.as_json({
                "patient": patient,
                "discharge_ordered_datetime": now_datetime()
            }))
        ip_record1 = frappe.get_doc("Inpatient Record", ip_record.name)
        mark_invoiced_inpatient_occupancy(ip_record1)
        discharge_patient(ip_record1, now_datetime())