Order Entry Sprint 1 Use Cases

We'd like to cover the following use cases during this sprint. (Most likely part of this will spill over to a second sprint.) (see etherpad and order-entry discussion

List Orderables by String query

Specific use case: search for orderables matching "ampi" should find the concept with class=Drug named Ampicillin.

Place unstructured medication order

Order AMPICILLIN 500 MG AS DIRECTED (concept = Ampicillin, unstructured dosing = "500mg as directed")

Place structured medication order

similar to above, see Order Entry API Scenarios for specifics

Get active orders

Get the currently-active orders for a patient

While doing this it might also be worth implementing getOrders(Patient)

Discontinue Order

Marks an existing order as discontinued (i.e. no longer active)

Edit a not-yet-Active Order

An order that isn't active yet can be edited without storing the old version.

Revise an Active Order

Create a new order whose previousOrderNumber is the orderNumber of the original order. Discontinue the original order and start the new one in one atomic transaction.

Define a standard regimen

Define the "standard regimen" (i.e. "order set") for "Standard Adult HIV Regimen 1A", which has the components: "AZT 300mg bid" and "3TC 300mg bid" and "NVP 200mg bid"

Prescribe a standard regimen

Prescribe the standard regimen mentioned above, choosing a start date, but making no other modifications

Define a standard regimen with dosing options

An order set that defines a drug, and two different dosage levels it may be given at (e.g. 200mg tid vs 300mg bid)

To Do and think about later

  • what template do we need to be able to do the simple HIV example

  • We need to clean up our classes

  • how to make order set like "Standard HIV Regimen" come back when you search for drug orderables