Need more clarification on the orderGroup resource

Am working on this ticket where am to create an OrderGroup Resource. which is to help one send multiple orders via one rest call. But the OrderGruop its self has the following properties

  • private Patient patient;
  • private Encounter encounter;

which very properties already exist in a single order. Since each single order i create will contain a patient and an encouter , my thinking is that i shouldnt add those two properties above to the OrderGroup resource since they’ll will already be created in each single order in the OrderGroup, otherwise it will mean that, the patient and encounter has to be removed from the single orders and we only have one patient and encounter for all the orders in the OrderGroup

Below is how the the json data would be if i add the above properties to the OrderGruop yet theyre already contained in each single order

{
  "patient": "uuid",
  "encounter": "uuid",
  "orders": [
    {
      "encounter": "uuid",
      "orderType": "uuid",
      "action": "NEW",
      "accessionNumber": "string",
      "dateActivated": "string",
      "scheduledDate": "string",
      "patient": "uuid",
      "concept": "uuid",
      "careSetting": "uuid",
      "dateStopped": "string",
      "autoExpireDate": "string",
      "orderer": "uuid",
      "previousOrder": "uuid",
      "urgency": "ROUTINE",
      "orderReason": "uuid",
      "orderReasonNonCoded": "string",
      "instructions": "string",
      "commentToFulfiller": "string"
    }
 {
      "encounter": "uuid",
      "orderType": "uuid",
      "action": "NEW",
      "accessionNumber": "string",
      "dateActivated": "string",
      "scheduledDate": "string",
      "patient": "uuid",
      "concept": "uuid",
      "careSetting": "uuid",
      "dateStopped": "string",
      "autoExpireDate": "string",
      "orderer": "uuid",
      "previousOrder": "uuid",
      "urgency": "ROUTINE",
      "orderReason": "uuid",
      "orderReasonNonCoded": "string",
      "instructions": "string",
      "commentToFulfiller": "string"
    }
  ],
  "orderSet": "uuid"
}

l need some clarification cc @dkayiwa @k.joseph @burke @jaks80 @darius

Does it mean all the orders i create in an Order group must have the same patient and Encounter??

or does it mean i use the patient and encounter for The OrderGroup to create a new patient and encounter and then assign their uuids to the encounter and patient in each single order ??

And also according to the ticket description, there was no conclusion on what should be the display of this resource. so even that needs to be clarified here.

Take the example of an encounter having multiple observations. So this is a group having multiple orders for the same patient.

1 Like

Ok i understand . i thought the multiple orders could be for different patients …but its clear now

May be another clarification, shoul the OrderGroup resource create a new patient and encouter or its supposed to use an already existing patient and encounter??

1 Like

Do you have a use case for that?

i just want to know what is appropriate for this resource

i meant whenever am creating an OrderGroup using the OrderGrupResource, is it supposed to create a new patient and encounter on every rest call ?? or its just supposed to create a group of orders for an existing patient with an existing encounter??

The primary purpose of OrderGroup is to record the fact that a provider placed multiple orders as a set. The primary use case is to include a reference to the order set used when placing orders from an order set. For example, HIV care often uses multiple drugs together as a “regimen.” When ordering a three-drug regimen, recording the OrderGroup makes it clear that the three drugs were ordered as a set instead of ordered individually.

As @dkayiwa stated, since an OrderGroup Is meant to indicate when a provider chose multiple orders as a group during an order session, all orders in an OrderGroup should be for the same patient and within the same encounter.

You should not be able to create orders (grouped or not) for a patient who does not exist, so it should not be creating a patient. I would also not recommend placing orders in a group by default, since you should be able to place multiple orders without grouping them in the more common scenario where a provider selects multiple orders individually and you are saving then to the API in a single call.

In short, if a provider is placing multiple orders for a patient, they do not have to be grouped (the encounter lets us know they were placed together). When the application gives the provider the option to place multiple orders in one step (e.g., within an order set), we use OrderGroup to also note that a set (or other mechanism allowing multiple orders to be acted on together) was used to place the orders.

2 Likes

thanks Dr @burke. you have cleared all my questions now. let me just finsh up the work now

May be lastly , in the ticket description , we didnt have a final conclusion as what would be the actual display for this resource. @wyclif had suggested this Patient display + OrderSet display

and that could be something like

         patient.getPatientIdentifier().getIdentifier() + " - " + patient.getPersonName().getFullName()
                        + "-" + orderGroup.getOrderSet().getName());