Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Propose order-select hook #428

Merged
merged 11 commits into from
Feb 23, 2019
365 changes: 365 additions & 0 deletions docs/hooks/order-select.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,365 @@
# `order-select`

| Metadata | Value
| ---- | ----
| specificationVersion | 1.0
| hookVersion | 1.0

## Workflow

The `order-select` hook fires when a clinician selects one or more orders to place for a patient, (including orders for medications, procedures, labs and other orders). If supported by the CDS Client, this hook may also be invoked each time the clinician selects a detail regarding the order.
This hook is among the first workflow events for an order entering a draft status.
The context of this hook may include defaulted order details
as it first occurs immediately upon the clinician selecting the order from the order catalogue of the CPOE, or upon her manual selection of order details (e.g. dose, quantity, route, etc). CDS services should expect some of the order information to not yet be specified.
Additionally, the context may include previously selected orders that are not yet signed from the same ordering session.
The `order-select` hook occurs after the clinician selects the order and before signing.

## Context

The context of this hook distinguishes between the list of unsigned orders from the clinician's ordering session, and one or orders just added to this list. The `selections` field contains a list of ids of these newly selected orders; the `draftOrders` Bundle contains an entry for all unsigned orders from this session, including newly selected orders.

Field | Optionality | Prefetch Token | Type | Description
----- | -------- | ---- | ---- | ----
`userId` | REQUIRED | Yes | *string* | The id of the current user.<br />For this hook, the user is expected to be of type [Practitioner](https://www.hl7.org/fhir/practitioner.html).<br />For example, `Practitioner/123`
`patientId` | REQUIRED | Yes | *string* | The FHIR `Patient.id` of the current patient in context
`encounterId` | OPTIONAL | Yes | *string* | The FHIR `Encounter.id` of the current encounter in context
`selections` | REQUIRED | No| *array* | The FHIR id of the newly selected order(s).<br />The `selections` field references FHIR resources in the `orders` Bundle. For example, `MedicationRequest/103`.
`draftOrders` | REQUIRED | No | *object* | DSTU2 - FHIR Bundle of MedicationOrder, DiagnosticOrder, DeviceUseRequest, ReferralRequest, ProcedureRequest, NutritionOrder, VisionPrescription with _draft_ status <br/> STU3 - FHIR Bundle of MedicationRequest, ReferralRequest, ProcedureRequest, NutritionOrder, VisionPrescription with _draft_ status



### Examples

### Example (STU3)

```json
{
"context":{
"userId":"Practitioner/123",
"patientId":"1288992",
"encounterId":"89284",
"selections": [ "NutritionOrder/pureeddiet-simple", "MedicationRequest/smart-MedicationRequest-103" ],
"draftOrders":{
"resourceType":"Bundle",
"entry":[
{
"resource":{
"resourceType":"NutritionOrder",
"id":"pureeddiet-simple",
"identifier":[
{
"system":"http://goodhealthhospital.org/nutrition-requests",
"value":"123"
}
],
"status":"draft",
"patient":{
"reference":"Patient/1288992"
},
"dateTime":"2014-09-17",
"orderer":{
"reference":"Practitioner/example",
"display":"Dr Adam Careful"
},
"oralDiet":{
"type":[
{
"coding":[
{
"system":"http://snomed.info/sct",
"code":"226211001",
"display":"Pureed diet"
},
{
"system":"http://goodhealthhospital.org/diet-type-codes",
"code":"1010",
"display":"Pureed diet"
}
],
"text":"Pureed diet"
}
],
"schedule":[
{
"repeat":{
"boundsPeriod":{
"start":"2015-02-10"
},
"frequency":3,
"period":1,
"periodUnit":"d"
}
}
],
"texture":[
{
"modifier":{
"coding":[
{
"system":"http://snomed.info/sct",
"code":"228055009",
"display":"Liquidized food"
}
],
"text":"Pureed"
}
}
],
"fluidConsistencyType":[
{
"coding":[
{
"system":"http://snomed.info/sct",
"code":"439021000124105",
"display":"Dietary liquid consistency - nectar thick liquid"
}
],
"text":"Nectar thick liquids"
}
]
},
"supplement":[
{
"type":{
"coding":[
{
"system":"http://snomed.info/sct",
"code":"442971000124100",
"display":"Adult high energy formula"
},
{
"system":"http://goodhealthhospital.org/supplement-type-codes",
"code":"1040",
"display":"Adult high energy pudding"
}
],
"text":"Adult high energy pudding"
},
"productName":"Ensure Pudding 4 oz container",
"instruction":"Ensure Pudding at breakfast, lunch, supper"
}
]
}
},
{
"resource":{
"resourceType":"MedicationRequest",
"id":"smart-MedicationRequest-103",
"meta":{
"lastUpdated":"2018-04-30T13:25:40.845-04:00"
},
"text":{
"status":"generated",
"div":"<div xmlns=\"http://www.w3.org/1999/xhtml\">Amoxicillin 120 MG/ML / clavulanate potassium 8.58 MG/ML Oral Suspension (rxnorm: 617993)</div>"
},
"status":"draft",
"intent":"order",
"medicationCodeableConcept":{
"coding":[
{
"system":"http://www.nlm.nih.gov/research/umls/rxnorm",
"code":"617993",
"display":"Amoxicillin 120 MG/ML / clavulanate potassium 8.58 MG/ML Oral Suspension"
}
],
"text":"Amoxicillin 120 MG/ML / clavulanate potassium 8.58 MG/ML Oral Suspension"
},
"subject":{
"reference":"Patient/1288992"
},
"dosageInstruction":[
{
"text":"5 mL bid x 10 days",
"timing":{
"repeat":{
"boundsPeriod":{
"start":"2005-01-04"
},
"frequency":2,
"period":1,
"periodUnit":"d"
}
},
"doseQuantity":{
"value":5,
"unit":"mL",
"system":"http://unitsofmeasure.org",
"code":"mL"
}
}
],
"dispenseRequest":{
"numberOfRepeatsAllowed":1,
"quantity":{
"value":1,
"unit":"mL",
"system":"http://unitsofmeasure.org",
"code":"mL"
},
"expectedSupplyDuration":{
"value":10,
"unit":"days",
"system":"http://unitsofmeasure.org",
"code":"d"
}
}
}
}
]
}
}
}
```

### Example (DSTU2)

```json
"context":{
"userId":"Practitioner/123",
"patientId":"1288992",
"encounterId":"89284",
"selections":[ "NutritionOrder/nest-patient-1-NUTR1", "MedicationOrder/smart-MedicationOrder-103" ],
"draftOrders":{
"resourceType":"Bundle",
"entry":[
{
"resource":{
"resourceType":"NutritionOrder",
"id":"nest-patient-1-NUTR1",
"patient":{
"reference":"Patient/1288992"
},
"orderer":{
"display":"Dr Adam Careful"
},
"identifier":[
{
"system":"http://goodhealthhospital.org/nutrition-orders",
"value":"123"
}
],
"dateTime":"2014-09-17",
"status":"draft",
"oralDiet":{
"type":[
{
"coding":[
{
"system":"http://snomed.info/sct",
"code":"435801000124108",
"display":"Texture modified diet"
},
{
"system":"http://goodhealthhospital.org/diet-type-codes",
"code":"1010",
"display":"Texture modified diet"
}
],
"text":"Texture modified diet"
}
],
"schedule":[
{
"repeat":{
"boundsPeriod":{
"start":"2015-02-10"
},
"frequency":3,
"period":1,
"periodUnits":"d"
}
}
],
"texture":[
{
"modifier":{
"coding":[
{
"system":"http://snomed.info/sct",
"code":"228049004",
"display":"Chopped food"
}
],
"text":"Regular, Chopped Meat"
},
"foodType":{
"coding":[
{
"system":"http://snomed.info/sct",
"code":"22836000",
"display":"Vegetable"
}
],
"text":"Regular, Chopped Meat"
}
}
]
}
}
},
{
"resource":{
"resourceType":"MedicationOrder",
"id":"smart-MedicationOrder-103",
"status":"draft",
"patient":{
"reference":"Patient/1288992"
},
"medicationCodeableConcept":{
"coding":[
{
"system":"http://www.nlm.nih.gov/research/umls/rxnorm",
"code":"617993",
"display":"Amoxicillin 120 MG/ML / clavulanate potassium 8.58 MG/ML Oral Suspension"
}
],
"text":"Amoxicillin 120 MG/ML / clavulanate potassium 8.58 MG/ML Oral Suspension"
},
"dosageInstruction":[
{
"text":"5 mL bid x 10 days",
"timing":{
"repeat":{
"boundsPeriod":{
"start":"2005-01-04"
},
"frequency":2,
"period":1,
"periodUnits":"d"
}
},
"doseQuantity":{
"value":5,
"unit":"mL",
"system":"http://unitsofmeasure.org",
"code":"mL"
}
}
],
"dispenseRequest":{
"numberOfRepeatsAllowed":1,
"quantity":{
"value":1,
"unit":"mL",
"system":"http://unitsofmeasure.org",
"code":"mL"
},
"expectedSupplyDuration":{
"value":10,
"unit":"days",
"system":"http://unitsofmeasure.org",
"code":"d"
}
}
}
}
]
}
}
```

## Change Log

Version | Description
---- | ----
1.0 | Initial Release
2 changes: 2 additions & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ nav:
- 'patient-view 4' : 'hooks/patient-view.md'
- 'medication-prescribe 2' : 'hooks/medication-prescribe.md'
- 'order-review 3' : 'hooks/order-review.md'
- 'order-select 1' : 'hooks/order-select.md'

- Quick Start: 'quickstart.md'
- Best Practices: 'best-practices.md'
- Examples: 'examples.md'
Expand Down