From 5e70c732ee37b875e25e5946ea94bab19e15ad5c Mon Sep 17 00:00:00 2001 From: Kennan Keim <144141792+kckeim@users.noreply.github.com> Date: Mon, 18 Dec 2023 13:55:17 -0600 Subject: [PATCH] Updated Medication Order DSTU2 Resource (#1020) * 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 --- .../dstu2/medications/medication-order.md | 133 +++++++++--------- lib/resources/dstu2/medication_order.yaml | 30 ++-- 2 files changed, 84 insertions(+), 79 deletions(-) diff --git a/content/millennium/dstu2/medications/medication-order.md b/content/millennium/dstu2/medications/medication-order.md index 22583ca8d..ea446850c 100644 --- a/content/millennium/dstu2/medications/medication-order.md +++ b/content/millennium/dstu2/medications/medication-order.md @@ -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 @@ -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 @@ -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 @@ -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 diff --git a/lib/resources/dstu2/medication_order.yaml b/lib/resources/dstu2/medication_order.yaml index 334e1bed5..38b3f5678 100644 --- a/lib/resources/dstu2/medication_order.yaml +++ b/lib/resources/dstu2/medication_order.yaml @@ -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' @@ -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' @@ -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' @@ -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