Administering Programs, Workflows and States

A program is a program of care which a patient can be enrolled in, for example "HIV care and treatment" or "TB care" or "maternity care". Within a program, one or more workflows can be set up. For example, "patient overall status" could be a workflow, or "pregnancy status" could be another. Within a workflow, a patient has one state at any one time, and can move from one state to another over time. For example in the "patient overall status" workflow, a patient could first be "attending clinic" then "transferred out" then "attending clinic" again (if they were transferred back), then "died". A full history of states of a patient is stored, but only the current state of a patient within a workflow is normally visible.

The diagram illustrates a Maternity Care Program. While there could be many workflows that occur within Maternity Care, this example contains only one workflow - Pregnancy Status. The name of the workflow should describe the question which would be asked to determine where a patient is in the workflow. In this example, the question would be "What is the status of the patient's pregnancy?"

Notice that while pregnancy begins with conception and ends with birth, those events are not considered states of the workflow. The states are answers to the question posed by the workflow name. A possible answer here could be, "the patient is in the First Trimester."

How-To

To set up a program:

  • Set up your program as a concept (see administering concepts for details)
  • Click "Manage programs" in the administration menu
  • Click "Add a new program"
  • Click "Select", search for your program concept and click on it
  • Click "Save"

To set up a workflow:

  • Set up your workflow as a concept (see administering concepts for details)
  • Click "Manage programs" in the administration menu
  • Click the program you want to put your workflow in
  • Under workflows, click "Add", search for your workflow concept and click on it
  • Click "Save"

To set up states:

  • Set up your states as concepts (see administering concepts for details)
  • Click "Manage programs" in the administration menu
  • Click the workflow you want to set up states for
  • Click "Add", search for your state concept and click on it. Repeat for the other states.
  • Choose at least one state as an "initial" state. The first state a patient has within a workflow must be an initial state
  • You may choose one or more states as a "terminal" state meaning that when the patient enters that state, they are no longer in the program.
  • Click "Save"

Once you have set up programs, workflows and states, a patient can be enrolled in programs and moved between states in workflows in the program, from the patient dashboard.

FAQ

  • What privilege is required to add patients to a program?
    Create a privilege called Manage Patient Programs and add this to a role. Any users with this role can add or edit patient program statuses.