Flow

As mentioned in the overview, ZEPRS guides the clinician through the patient care process by feeding the most appropriate form after each form submission, depending on the data entered. The forms provided to the user correspond roughly to the phase of pregnancy the user is in:

  • History (generally, forms used to collect patient history are filled out on the first visit)
  • Antepartum - Routine antenatal visits
  • Safe motherhood - during the antepartum flow, the system always sends user to the main Safe Motherhood form, to make sure that that care is given. Within the Safe Motherhood section there are links to SM care-related forms such as ARV Regimen, Labs, and Drugs.
  • Intrapartum (Labour) - problem visits leading up to labour and partograph
  • Delivery Summary/Postnatal - Delivery summary, problem visits, and disposition

 

There are a few more flows used in the ZEPRS system to collect data, but they are not part of the usual flow process. In other words, the user has to click on them to reach them - they are not automatically served by the system.

  • Ultrasound
  • UTH Admissions
  • NICU - infant forms used in UTH NICU postnatal care.

 

Sometimes the application deviates slightly from the flow. For example, if the patient has marked "Patient is on ARV's", the ARV Regimen form is presented. When the ARV Regimen page is submitted, the application continues on its normal path. The system used to have an automated flow system, which worked fine when requirements were simple. Unfortunately, the app has gotten a lot more complicated; therefore, flows from form-to-form are hard-coded in FormAction (createForward) and ForwardAction. Ideally, the app will send user to another form; however, sometimes the app can only send the user to a task list from which the user much choose the correct form. The application stores the current form (and flow) in patient_status table. When the user loads a patient, the app uses the value of the current flow id to determine what form to provide the user. This process is defined in PatientHomeAction. In general, the main values that determine changes to flow are:

  • Disposition - admit to active labour, for example
  • Cervix Dilatation >=4
  • Problem field checked
  • Patient is on ARV's checked

 

The doc Rules for Flows details a few of the flows. Be sure to check FormAction.createForward to see if any of these have been revised. Also, these flows are collected in the Visio - Updated Site Map.vsd.