...
- saveOrder(...all required params...no Order object...)
- used for inserts mainly
- if called with a previously saved order, creates a new one with the new fields, doens't change the old one, and links the two orders using previous_order_number
- (similar to saveObs())
- modifyOrder(Order old, Order new)
- (implement this or no?)
- saveActivatedOrder(___, Provider/User?) ?? (or name this documentOrder() or saveDocumentOrder() or saveHistoricalOrder())
- calls saveOrder, signOrder, activateOrder
- signOrder(Order, Provider)
- Can we discern if the Provider is a Nurse vs MD here, or do we need multiple signOrder methods?
- means setting date signed and signed by
- activateOrder(Order)
- fillOrder(Order, User)
- calls following method with a urn
- fillOrder(Order, String) // if filler is not a user
- means it was completed
- if the order is not signed yet, throw an exception
- getActiveOrders(Patient patient, Class orderClass, CareSetting careSetting)
- TODO: Should get Orders that are not yet stopped nor auto expired.
- getActiveDrugs(Patient patient)
- TODO: Should get active DrugOrders that are not yet stopped nor auto expired.
- Order getOrderByOrderNumber(String orderNumber)
- Gets the 'latest_version=true' order with this orderNumber
- List<Order> getOrderHistoryByOrderNumber(String orderNumber) // or by Order object?
- returns all orders, even ones discontinued, even old versions of the order
- List<Order> getOrderHistoryByConcept(Patient patient, Concept concept)
- similar to previous, gets all Order objects that use this Concept
- create and use an OrderHistory object for this? Would keep the sequence/history of the Orders and convenience methods for how to look at them.
- discontinueOrder(Concept)
- finds all active orders with this drug/concept and discontinues them
...