Skip to content

Commit 26ce5ea

Browse files
authored
Merge branch 'master' into cdshooks-textual
2 parents 31c645c + 87aefaf commit 26ce5ea

File tree

2 files changed

+44
-34
lines changed

2 files changed

+44
-34
lines changed

docs/index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ decision support from within a clinician's workflow. The API supports:
1515
User activity inside the clinician's workflow triggers **CDS hooks** in real-time. For example:
1616

1717
* `patient-view` when opening a new patient record
18-
* `medication-prescribe` on authoring a new prescription
19-
* `order-review` on viewing pending orders for approval
18+
* `order-select` when selecting one or more orders to place for a patient
19+
* `order-sign` immediately before an order is signed
2020

2121
When a triggering activity occurs, the CDS Client notifies each CDS service registered for the activity. These services must then provide near-real-time feedback about the triggering event. Each service gets basic details about the clinical workflow
2222
context (via the `context` parameter of the hook) plus whatever

docs/specification/current.md

Lines changed: 42 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -318,54 +318,64 @@ The token name would be `{{context.patientId}}`. Again using our above condition
318318

319319
Only the first level fields in context may be considered for tokens.
320320

321-
For example, given the following context that contains amongst other things, a Patient FHIR resource:
321+
For example, given the following context that contains amongst other things, a MedicationRequest FHIR resource:
322322

323323
```json
324324
{
325325
"context": {
326326
"encounterId": "456",
327-
"patient": {
328-
"resourceType": "Patient",
329-
"id": "123",
330-
"active": true,
331-
"name": [
332-
{
333-
"use": "official",
334-
"family": "Watts",
335-
"given": [
336-
"Wade"
337-
]
327+
"draftOrders": {
328+
"resourceType": "Bundle",
329+
"entry": [ {
330+
"resource": {
331+
"resourceType": "MedicationRequest",
332+
"id": "123",
333+
"status": "draft",
334+
"intent": "order",
335+
"medicationCodeableConcept": {
336+
"coding": [ {
337+
"system": "http://www.nlm.nih.gov/research/umls/rxnorm",
338+
"code": "617993",
339+
"display": "Amoxicillin 120 MG/ML / clavulanate potassium 8.58 MG/ML Oral Suspension"
340+
}]},
341+
"subject": {
342+
"reference": "Patient/1288992"
343+
}
344+
}
338345
}
339-
],
340-
"gender": "male",
341-
"birthDate": "2024-08-12"
346+
]
342347
}
343348
}
344349
}
345350
```
346351

347-
Only the `encounterId` field in this example is eligible to be a prefetch token as it is a first level field and the datatype (string) can be placed into the FHIR query. The Patient.id value in the context is not eligible to be a prefetch token because it is not a first level field. If the hook creator intends for the Patient.id value to be available as a prefetch token, it must be made available as a first level field. Using the aforementioned example, we simply add a new `patientId` field:
352+
Only the `encounterId` field in this example is eligible to be a prefetch token as it is a first level field and the datatype (string) can be placed into the FHIR query. The MedicationRequest.id value in the context is not eligible to be a prefetch token because it is not a first level field. If the hook creator intends for the MedicationRequest.id value to be available as a prefetch token, it must be made available as a first level field. Using the aforementioned example, we simply add a new `medicationRequestId` field:
348353

349354
```json
350355
{
351356
"context": {
352-
"patientId": "123",
357+
"medicationRequestId": "123",
353358
"encounterId": "456",
354-
"patient": {
355-
"resourceType": "Patient",
356-
"id": "123",
357-
"active": true,
358-
"name": [
359-
{
360-
"use": "official",
361-
"family": "Watts",
362-
"given": [
363-
"Wade"
364-
]
359+
"draftOrders": {
360+
"resourceType": "Bundle",
361+
"entry": [ {
362+
"resource": {
363+
"resourceType": "MedicationRequest",
364+
"id": "123",
365+
"status": "draft",
366+
"intent": "order",
367+
"medicationCodeableConcept": {
368+
"coding": [ {
369+
"system": "http://www.nlm.nih.gov/research/umls/rxnorm",
370+
"code": "617993",
371+
"display": "Amoxicillin 120 MG/ML / clavulanate potassium 8.58 MG/ML Oral Suspension"
372+
}]},
373+
"subject": {
374+
"reference": "Patient/1288992"
375+
}
376+
}
365377
}
366-
],
367-
"gender": "male",
368-
"birthDate": "2024-08-12"
378+
]
369379
}
370380
}
371381
}
@@ -566,7 +576,7 @@ Field | Optionality | Type | Description
566576
`label` | REQUIRED | *string* | Human-readable label to display for this suggestion (e.g. the CDS Client might render this as the text on a button tied to this suggestion).
567577
`uuid` | OPTIONAL | *string* | Unique identifier, used for auditing and logging suggestions.
568578
`isRecommended` | OPTIONAL | *boolean* | When there are multiple suggestions, allows a service to indicate that a specific suggestion is recommended from all the available suggestions on the card. CDS Hooks clients may choose to influence their UI based on this value, such as pre-selecting, or highlighting recommended suggestions. Multiple suggestions MAY be recommended, if `card.selectionBehavior` is `any`.
569-
`actions` | OPTIONAL | *array* of **[Actions](#action)** | Array of objects, each defining a suggested action. Within a suggestion, all actions are logically AND'd together, such that a user selecting a suggestion selects all of the actions within it.
579+
`actions` | OPTIONAL | *array* of **[Actions](#action)** | Array of objects, each defining a suggested action. Within a suggestion, all actions are logically AND'd together, such that a user selecting a suggestion selects all of the actions within it. When a suggestion contains multiple actions, the actions SHOULD be processed as per FHIR's rules for processing [transactions](https://hl7.org/fhir/http.html#trules) with the CDS Client's `fhirServer` as the base url for the inferred full URL of the transaction bundle entries. (Specifically, deletes happen first, then creates, then updates).
570580

571581
##### Action
572582

0 commit comments

Comments
 (0)