Skip to content
This repository has been archived by the owner on May 7, 2024. It is now read-only.

Commit

Permalink
Updated Medication Order DSTU2 Resource (#1020)
Browse files Browse the repository at this point in the history
* Updated Medication Order DSTU2 Resource

- Uppercasing and punctuation adds throughout document
- Many links to HL7.org updated to use https
  - Also fixed dead links for ICD terminologies
- Updated Overview Paragraph
- Consolidated Disclaimer + Errors & Outcomes links
- Clarified Custom Extension
- Updated Parameter Table + Implementation Notes to match current standards, and behavior of the API

* Examples for parameters updated

* PRODOC-203606: Style edits.

* Added line about the StructureDefinition Resource

---------

Co-authored-by: Deitrich, Casey <[email protected]>
  • Loading branch information
kckeim and Deitrich, Casey authored Dec 18, 2023
1 parent 47c9701 commit 5e70c73
Show file tree
Hide file tree
Showing 2 changed files with 84 additions and 79 deletions.
133 changes: 69 additions & 64 deletions content/millennium/dstu2/medications/medication-order.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,32 +9,38 @@ title: MedicationOrder | DSTU 2 API

## Overview

The Medication Order resource provides orders for all medications along with administration instructions for a patient in both the inpatient and outpatient setting (orders/prescriptions filled by a pharmacy and discharge medication orders). This resource does NOT include historical or home medications documented or reported to have been taken by patient, significant other or another provider.
The MedicationOrder resource provides orders for all medications with administration instructions for a patient in both the inpatient and outpatient settings (orders or prescriptions filled by a pharmacy and discharge medication orders). This resource does not include historical or home medications documented or reported to have been taken by the patient, significant other, or another provider.

If the Medication Order represents a prescription (something the patient takes at home), the start, stop, and other data may not be a representation of when the medication was taken. For example, the system may not know if the patient ever filled or took the prescribed medication, or when the prescription was filled.
If the medication order represents a prescription the patient takes at home, then the start, stop, and other information may not be a representation of when the medication was taken. For example, the system may not know if the patient ever filled or took the prescribed medication, or when the prescription was filled.

The following fields are returned if valued:

* [Medication order id](http://hl7.org/fhir/dstu2/resource-definitions.html#Resource.id){:target="_blank"}
* [Date/Time order written](http://hl7.org/fhir/DSTU2/medicationorder-definitions.html#MedicationOrder.dateWritten){:target="_blank"}
* [Status](http://hl7.org/fhir/DSTU2/medicationorder-definitions.html#MedicationOrder.status){:target="_blank"}
* [Date/Time order stopped or to stop](http://hl7.org/fhir/DSTU2/medicationorder-definitions.html#MedicationOrder.dateEnded){:target="_blank"}
* [Patient](http://hl7.org/fhir/DSTU2/medicationorder-definitions.html#MedicationOrder.patient){:target="_blank"}
* [Prescriber](http://hl7.org/fhir/DSTU2/medicationorder-definitions.html#MedicationOrder.prescriber){:target="_blank"}
* [Patient encounter](http://hl7.org/fhir/DSTU2/medicationorder-definitions.html#MedicationOrder.encounter){:target="_blank"}
* [Medication](http://hl7.org/fhir/DSTU2/medicationorder-definitions.html#MedicationOrder.medication_x_){:target="_blank"}
* [Medication order ID](https://hl7.org/fhir/dstu2/resource-definitions.html#Resource.id){:target="_blank"}
* [Date/Time order written](https://hl7.org/fhir/DSTU2/medicationorder-definitions.html#MedicationOrder.dateWritten){:target="_blank"}
* [Status](https://hl7.org/fhir/DSTU2/medicationorder-definitions.html#MedicationOrder.status){:target="_blank"}
* [Date/Time order stopped or to stop](https://hl7.org/fhir/DSTU2/medicationorder-definitions.html#MedicationOrder.dateEnded){:target="_blank"}
* [Patient](https://hl7.org/fhir/DSTU2/medicationorder-definitions.html#MedicationOrder.patient){:target="_blank"}
* [Prescriber](http:s//hl7.org/fhir/DSTU2/medicationorder-definitions.html#MedicationOrder.prescriber){:target="_blank"}
* [Patient encounter](https://hl7.org/fhir/DSTU2/medicationorder-definitions.html#MedicationOrder.encounter){:target="_blank"}
* [Medication](https://hl7.org/fhir/DSTU2/medicationorder-definitions.html#MedicationOrder.medication_x_){:target="_blank"}
* Details of medication taken:
* [Dosage Instructions:](http://hl7.org/fhir/DSTU2/medicationorder-definitions.html#MedicationOrder.dosageInstruction){:target="_blank"}
* [Dosage Instructions:](https://hl7.org/fhir/DSTU2/medicationorder-definitions.html#MedicationOrder.dosageInstruction){:target="_blank"}
* [Patient friendly dosage display](#custom-extensions){:target="_blank"}
* [Additional instructions](http://hl7.org/fhir/DSTU2/medicationorder-definitions.html#MedicationOrder.dosageInstruction.additionalInstructions){:target="_blank"}
* [Time period and frequency](http://hl7.org/fhir/DSTU2/medicationorder-definitions.html#MedicationOrder.dosageInstruction.timing){:target="_blank"}
* [As needed (such as PRN for pain)](http://hl7.org/fhir/DSTU2/medicationorder-definitions.html#MedicationOrder.dosageInstruction.asNeeded_x_){:target="_blank"}
* [Route](http://hl7.org/fhir/DSTU2/medicationorder-definitions.html#MedicationOrder.dosageInstruction.route){:target="_blank"}
* [Dosage](http://hl7.org/fhir/DSTU2/medicationorder-definitions.html#MedicationOrder.dosageInstruction.dose_x_){:target="_blank"}
* [Additional instructions](https://hl7.org/fhir/DSTU2/medicationorder-definitions.html#MedicationOrder.dosageInstruction.additionalInstructions){:target="_blank"}
* [Time period and frequency](https://hl7.org/fhir/DSTU2/medicationorder-definitions.html#MedicationOrder.dosageInstruction.timing){:target="_blank"}
* [As needed (such as PRN for pain)](https://hl7.org/fhir/DSTU2/medicationorder-definitions.html#MedicationOrder.dosageInstruction.asNeeded_x_){:target="_blank"}
* [Route](https://hl7.org/fhir/DSTU2/medicationorder-definitions.html#MedicationOrder.dosageInstruction.route){:target="_blank"}
* [Dosage](https://hl7.org/fhir/DSTU2/medicationorder-definitions.html#MedicationOrder.dosageInstruction.dose_x_){:target="_blank"}
* Dispensing details:
* [Validity period](http://hl7.org/fhir/DSTU2/medicationorder-definitions.html#MedicationOrder.dispenseRequest.validityPeriod){:target="_blank"}
* [Number of refills](http://hl7.org/fhir/DSTU2/medicationorder-definitions.html#MedicationOrder.dispenseRequest.numberOfRepeatsAllowed){:target="_blank"}
* [Amount of medication to supply/dispense](http://hl7.org/fhir/DSTU2/medicationorder-definitions.html#MedicationOrder.dispenseRequest.quantity){:target="_blank"}
* [Validity period](https://hl7.org/fhir/DSTU2/medicationorder-definitions.html#MedicationOrder.dispenseRequest.validityPeriod){:target="_blank"}
* [Number of refills](https://hl7.org/fhir/DSTU2/medicationorder-definitions.html#MedicationOrder.dispenseRequest.numberOfRepeatsAllowed){:target="_blank"}
* [Amount of medication to supply/dispense](https://hl7.org/fhir/DSTU2/medicationorder-definitions.html#MedicationOrder.dispenseRequest.quantity){:target="_blank"}

<%= disclaimer %>

### Errors

The common [errors] and [OperationOutcomes] may be returned.

## Terminology Bindings

Expand All @@ -52,43 +58,52 @@ The following fields are returned if valued:

All URLs for custom extensions are defined as `https://fhir-ehr.cerner.com/dstu2/StructureDefinition/{id}`

For more information, see the StructureDefinition resource.

ID | Value\[x] Type | Description
----------------------------|----------------|-------------------------------------------------------------------------------------------
`patient-friendly-display` | [`string`] | The display that can be used for this field when producing a view suitable for a patient.
----------------------------|----------------|------------------------------------------------------------------------------------------------------------------------------------------------
`patient-friendly-display` | [`string`] | Extension to MedicationRequest.dosageInstruction. The display name that can be used for this field when producing a view suitable for a patient.


## Search

Search for MedicationOrders that meet supplied query parameters:
Search for medication orders that meet supplied query parameters.

GET /MedicationOrder?:parameters

_Implementation Notes_

* MedicationOrder may have a reference to a [contained] Medication when the Medication cannot be represented by a CodeableConcept because it contains a unique combination of ingredients. Medications in the system always exist within the context of a MedicationOrder and cannot be be referenced independently.

### Authorization Types

<%= authorization_types(provider: true, patient: true, system: true) %>

### Parameters

Name | Required? | Type | Description
------------------------|-----------|---------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
`_id` | Y or `patient` | [`token`] | The logical resource id associated with the resource.
`patient` | Y or `_id` | [`reference`] | The identity of a patient to list orders for. Example: `12345`
`status` | N | [`token`] | The status of the medication order, may be a list separated by commas. Example: `active,draft`
`-timing-boundsPeriod` | N | [`date`] | The date-time which should fall within the [period] the medication should be given to the patient. Must be prefixed by 'ge'. Example: `ge2014-05-19T20:54:02.000Z`
`_lastUpdated` | N | [`date`] | An explicit or implied date-time range within which the most recent clinically relevant update was made to the medication. Must be prefixed by 'ge' or 'le'. Example: `ge2014-05-19T20:54:02.000Z`
[`_count`] | N | [`number`] | The maximum number of results to include in a page. Example: `50`

Notes:

* The `-timing-boundsPeriod` and `_lastUpdated` parameters may not be provided at the same time.

* The `_lastUpdated` parameter must have a time, may be provided up to two times, and must use the `ge` or `le` prefixes. When provided twice, the lower value must have the `ge` prefix and the higher value must have the `le` prefix.

* Searching with the `_lastUpdated` parameter will only detect changes to fields that affect the clinical meaning of the order. An example of the types of changes that won't be caught by this query are changes that would affect the version, but not the FHIR content.
Name | Required? | Type | Description
------------------------|---------------|---------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
`_id` | Conditionally | [`token`] | The logical resource ID associated with the resource. It may be a list separated by commas. This parameter is required if the `patient` parameter is not used. Example: `_id=1234`
`patient` | Conditionally | [`reference`] | The specific patient to return orders for. This parameter is required if the `_id` parameter is not used. Example: `patient=5678`
`status` | No | [`token`] | The [status] of the medication order. It may be a list separated by commas. Example: `status=active,draft`
`-timing-boundsPeriod` | No | [`date`] | The date and time that should fall within the [period] when the medication should be given to the patient. This parameter cannot be provided at the same time as the `_lastUpdated` parameter. Example: `-timing-boundsPeriod=ge2014-05-19T20:54:02.000Z`
`_lastUpdated` | No | [`date`] | An explicit or implied date and time range within which the most recent clinically relevant update was made to the medication. This parameter cannot be provided at the same time as the `-timing-boundsPeriod` parameter. Example: `_lastUpdated=ge2014-05-19T20:54:02.000Z`
[`_count`] | No | [`number`] | The maximum number of results to include on a page. Example: `_count=50`

_Notes_

* MedicationOrder.medication may be a reference to a [contained] medication when the medication cannot be represented by a [CodeableConcept] because it contains a unique combination of ingredients. Medications in the system always exist in the context of a medication order and cannot be referenced independently.
* When searching with the `_id` parameter:
* It must not be provided with any other parameters.
* When searching with the `-timing-boundsPeriod` parameter:
* It must be provided with a `ge` prefix to imply the date range for the medication orders search.
* The time component is optional.
* Example: `-timing-boundsPeriod=ge2014-05-19T20:54:02.000Z`
* When searching with the `_lastUpdated` parameter:
* The time component is required.
* For a single `_lastUpdated` occurence:
* It must be provided with a `le` or `ge` prefix to imply the date range for the medication orders search.
* Example: `_lastUpdated=ge2014-05-19T20:54:02.000Z`
* For two `_lastUpdated` occurences:
* It must be provided with the `le` and `ge` prefixes to search for medication orders within the given upper and lower timestamps, respectively.
* Example: `_lastUpdated=ge2014-05-19T20:54:02.000Z&_lastUpdated=le2014-05-20T12:00:00.000Z`
* It only detects changes that affect the clinical meaning of the order. An example of changes that are not caught by this query are changes that would affect the version, but not the FHIR content.

### Headers

Expand All @@ -105,15 +120,9 @@ Notes:
<%= headers status: 200 %>
<%= json(:dstu2_medication_order_bundle) %>

<%= disclaimer %>

### Errors

The common [errors] and [OperationOutcomes] may be returned.

## Retrieve by id
## Retrieve by ID

List an individual MedicationOrder by its id:
List an individual medication order by its ID.

GET /MedicationOrder/:id

Expand All @@ -136,20 +145,16 @@ List an individual MedicationOrder by its id:
<%= headers status: 200 %>
<%= json(:dstu2_medication_order_entry) %>

<%= disclaimer %>

### Errors

The common [errors] and [OperationOutcomes] may be returned.

[`reference`]: http://hl7.org/fhir/dstu2/search.html#reference
[`token`]: http://hl7.org/fhir/dstu2/search.html#token
[`date`]: http://hl7.org/fhir/dstu2/search.html#date
[period]: http://hl7.org/fhir/DSTU2/MedicationOrder-definitions.html#MedicationOrder.dosageInstruction.timing
[`_count`]: http://hl7.org/fhir/dstu2/search.html#count
[`number`]: http://hl7.org/fhir/dstu2/search.html#number
[contained]: http://hl7.org/fhir/DSTU2/references.html#contained
[`reference`]: https://hl7.org/fhir/dstu2/search.html#reference
[`token`]: https://hl7.org/fhir/dstu2/search.html#token
[`date`]: https://hl7.org/fhir/dstu2/search.html#date
[period]: https://hl7.org/fhir/DSTU2/MedicationOrder-definitions.html#MedicationOrder.dosageInstruction.timing
[`_count`]: https://hl7.org/fhir/dstu2/search.html#count
[`number`]: https://hl7.org/fhir/dstu2/search.html#number
[contained]: https://hl7.org/fhir/DSTU2/references.html#contained
[Patient friendly display]: #custom-extensions
[`string`]: http://hl7.org/fhir/DSTU2/datatypes.html#string
[`string`]: https://hl7.org/fhir/DSTU2/datatypes.html#string
[errors]: ../../#client-errors
[OperationOutcomes]: ../../#operation-outcomes
[CodeableConcept]: https://hl7.org/fhir/DSTU2/datatypes.html#codeableconcept
[status]: https://www.hl7.org/fhir/dstu2/valueset-medication-order-status.html
30 changes: 15 additions & 15 deletions lib/resources/dstu2/medication_order.yaml
Original file line number Diff line number Diff line change
@@ -1,25 +1,25 @@
---
name: MedicationOrder
field_name_base_url: http://hl7.org/fhir/DSTU2/medicationorder-definitions.html#MedicationOrder
field_name_base_url: https://hl7.org/fhir/DSTU2/medicationorder-definitions.html#MedicationOrder
fields:

- name: reasonCodeableConcept
required: 'No'
type: CodeableConcept
description: The reason or indication for writing the prescription.
url: http://hl7.org/fhir/DSTU2/medicationorder-definitions.html#MedicationOrder.reason_x_
url: https://hl7.org/fhir/DSTU2/medicationorder-definitions.html#MedicationOrder.reason_x_
binding:
description: The reason or indication for writing the prescription.
terminology:
- display: SNOMED CT
system: http://snomed.info/sct
info_link: http://hl7.org/fhir/dstu2/snomedct.html
info_link: https://hl7.org/fhir/dstu2/snomedct.html
- display: ICD-9-CM
system: http://hl7.org/fhir/sid/icd-9-cm
info_link: http://hl7.org/fhir/icd.html
info_link: https://terminology.hl7.org/ICD.html#icd-9-variants
- display: ICD-10-CM
system: http://hl7.org/fhir/sid/icd-10-cm
info_link: http://hl7.org/fhir/icd.html
info_link: https://terminology.hl7.org/CodeSystem-icd10CM.html

- name: medicationCodeableConcept
required: 'Yes'
Expand All @@ -31,7 +31,7 @@ fields:
terminology:
- display: RxNorm
system: http://www.nlm.nih.gov/research/umls/rxnorm
info_link: http://hl7.org/fhir/dstu2/rxnorm.html
info_link: https://hl7.org/fhir/dstu2/rxnorm.html

- name: dosageInstruction
required: 'No'
Expand All @@ -57,42 +57,42 @@ fields:
required: 'No'
type: CodeableConcept
description: A code for the timing pattern.
url: http://hl7.org/fhir/DSTU2/datatypes-definitions.html#Timing.code
url: https://hl7.org/fhir/DSTU2/datatypes-definitions.html#Timing.code
binding:
description: Code for a known / defined timing pattern.
terminology:
- display: TimingAbbreviation
system: http://hl7.org/fhir/timing-abbreviation
info_link: http://hl7.org/fhir/dstu2/valueset-timing-abbreviation.html
info_link: https://hl7.org/fhir/dstu2/valueset-timing-abbreviation.html
- display: SNOMED CT
system: http://snomed.info/sct
info_link: http://hl7.org/fhir/dstu2/snomedct.html
info_link: https://hl7.org/fhir/dstu2/snomedct.html

- name: asNeeded[x]
required: 'No'
type: boolean | CodeableConcept
description: >
Indicates whether the Medication is only taken when needed or the preconditions for taking the medication.
url: http://hl7.org/fhir/DSTU2/medicationstatement-definitions.html#MedicationStatement.dosage.asNeeded_x_
url: https://hl7.org/fhir/DSTU2/medicationstatement-definitions.html#MedicationStatement.dosage.asNeeded_x_
binding:
description: >
Indicates whether the Medication is only taken when needed or the preconditions for taking the medication.
terminology:
- display: SNOMED CT
system: http://snomed.info/sct
info_link: http://hl7.org/fhir/dstu2/snomedct.html
info_link: https://hl7.org/fhir/dstu2/snomedct.html

- name: siteCodeableConcept
required: 'No'
type: CodeableConcept
description: The anatomic site where the medication first enters the body.
url: http://hl7.org/fhir/DSTU2/medicationorder-definitions.html#MedicationOrder.dosageInstruction.site_x_
url: https://hl7.org/fhir/DSTU2/medicationorder-definitions.html#MedicationOrder.dosageInstruction.site_x_
binding:
description: The anatomic site where the medication first enters the body.
terminology:
- display: SNOMED CT
system: http://snomed.info/sct
info_link: http://hl7.org/fhir/dstu2/snomedct.html
info_link: https://hl7.org/fhir/dstu2/snomedct.html

- name: route
required: 'No'
Expand All @@ -106,7 +106,7 @@ fields:
terminology:
- display: SNOMED CT
system: http://snomed.info/sct
info_link: http://hl7.org/fhir/dstu2/snomedct.html
info_link: https://hl7.org/fhir/dstu2/snomedct.html
- display: NCI Metathesaurus
system: http://ncimeta.nci.nih.gov
info_link: http://hl7.org/fhir/dstu2/ncimeta.html
info_link: https://hl7.org/fhir/dstu2/ncimeta.html

0 comments on commit 5e70c73

Please sign in to comment.