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)
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