0.3.0 - Second STU ballot

This page is part of a downloaded copy of this specification. This page is part of the Da Vinci Coverage Requirements Discovery (CRD) FHIR IG (v0.3.0: STU 1 Ballot 2) based on FHIR R4. . For a full list of available versions, see the Directory of published versions

## StructureDefinition: MedicationRequestR4

The official URL for this profile is:

    http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-medicationrequest-r4

### Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

- Text Summary
- Differential Table
- Snapshot Table
- All

This structure is derived from US Core Medication Request Profile

Summary

Mandatory: 5 elements
Must-Support: 14 elements
Fixed Value: 1 element
Prohibited: 1 element

Structures

This structure refers to these other structures:

- http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-patient-r4
- http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-encounter-r4
- http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-practitioner-r4
- http://hl7.org/fhir/us/core/StructureDefinition/us-core-condition
- http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-medicationrequest-r4
- http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-coverage-r4

This structure is derived from US Core Medication Request Profile

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
MedicationRequest |  | 0..* |  |
identifier | S | 0..* | Identifier |
status | S | 1..1 | code | Fixed Value: draft
statusReason |  | 0..1 | CodeableConcept |
intent |  | 1..1 | code |
category |  | 0..* | CodeableConcept |
priority |  | 0..1 | code |
doNotPerform |  | 0..0 |  |
medication[x] | S | 1..1 | CodeableConcept, Reference(US Core Medication Profile) |
subject | S | 1..1 | Reference(PatientR4) |
encounter |  | 0..1 | Reference(EncounterR4) |
supportingInformation |  | 0..* | Reference(Resource) |
authoredOn | S | 1..1 | dateTime |
requester | S | 1..1 | Reference(PractitionerR4 | US Core PractitionerRole Profile) |
performer | S | 0..1 | Reference(PractitionerR4 | US Core PractitionerRole Profile) |
recorder |  | 0..1 | Reference(Practitioner | PractitionerRole) |
reasonCode | S | 0..* | CodeableConcept |
reasonReference | S | 0..* | Reference(US Core Condition Profile | US Core Result Observation Profile) |
instantiatesCanonical |  | 0..* | canonical() |
instantiatesUri |  | 0..* | uri |
basedOn |  | 0..* | Reference(MedicationRequestR4 | ServiceRequestR4) |
groupIdentifier |  | 0..1 | Identifier |
courseOfTherapyType |  | 0..1 | CodeableConcept |
insurance | S | 0..* | Reference(CoverageR4) |
note |  | 0..* | Annotation |
dosageInstruction | S | 0..* | Dosage |
dispenseRequest | S | 0..1 | BackboneElement |
substitution | S | 0..1 | BackboneElement |
priorPrescription | S | 0..1 | Reference(MedicationRequestR4) |
detectedIssue |  | 0..* | Reference(DetectedIssue) |
eventHistory |  | 0..* | Reference(Provenance) |
Documentation for this format

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
MedicationRequest | I | 0..* |  | US Core Medication Request Profile
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred) Max Binding: AllLanguages
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation
contained |  | 0..* | Resource | Contained, inline Resources
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | S | 0..* | Identifier | External ids for this request
status | ?!S Σ | 1..1 | code | active | on-hold | cancelled | completed | entered-in-error | stopped | draft | unknown Binding: medicationrequest Status (required) Fixed Value: draft
statusReason |  | 0..1 | CodeableConcept | Reason for current status Binding: medicationRequest Status Reason Codes (example)
intent | ?!Σ | 1..1 | code | proposal | plan | order | original-order | instance-order | option Binding: medicationRequest Intent (required)
category |  | 0..* | CodeableConcept | Type of medication usage Binding: medicationRequest Category Codes (example)
priority | Σ | 0..1 | code | routine | urgent | asap | stat Binding: RequestPriority (required)
reported[x] | Σ | 0..1 | boolean, Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Organization) | Reported rather than primary record
medication[x] | S Σ | 1..1 | CodeableConcept, Reference(US Core Medication Profile) | Medication to be taken Binding: Medication Clinical Drug (RxNorm) (extensible)
subject | S Σ | 1..1 | Reference(PatientR4) | Who or group medication request is for
encounter |  | 0..1 | Reference(EncounterR4) | Encounter created as part of encounter/admission/stay
supportingInformation |  | 0..* | Reference(Resource) | Information to support ordering of the medication
authoredOn | S Σ | 1..1 | dateTime | When request was initially authored
requester | S Σ | 1..1 | Reference(PractitionerR4 | US Core PractitionerRole Profile) | Who/What requested the Request
performer | S | 0..1 | Reference(PractitionerR4 | US Core PractitionerRole Profile) | Intended performer of administration
performerType | Σ | 0..1 | CodeableConcept | Desired kind of performer of the medication administration Binding: ProcedurePerformerRoleCodes (example)
recorder |  | 0..1 | Reference(Practitioner | PractitionerRole) | Person who entered the request
reasonCode | S | 0..* | CodeableConcept | Reason or indication for ordering or not ordering the medication Binding: Condition/Problem/DiagnosisCodes (example)
reasonReference | S | 0..* | Reference(US Core Condition Profile | US Core Result Observation Profile) | Condition or observation that supports why the prescription is being written
instantiatesCanonical | Σ | 0..* | canonical() | Instantiates FHIR protocol or definition
instantiatesUri | Σ | 0..* | uri | Instantiates external protocol or definition
basedOn | Σ | 0..* | Reference(MedicationRequestR4 | ServiceRequestR4) | What request fulfills
groupIdentifier | Σ | 0..1 | Identifier | Composite request this is part of
courseOfTherapyType |  | 0..1 | CodeableConcept | Overall pattern of medication administration Binding: medicationRequest Course of Therapy Codes (example)
insurance | S | 0..* | Reference(CoverageR4) | Associated insurance coverage
note |  | 0..* | Annotation | Information about the prescription
dosageInstruction | S | 0..* | Dosage | How the medication should be taken
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
sequence | Σ | 0..1 | integer | The order of the dosage instructions
text | S Σ | 0..1 | string | Free text dosage instructions e.g. SIG
additionalInstruction | Σ | 0..* | CodeableConcept | Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness" Binding: SNOMEDCTAdditionalDosageInstructions (example)
patientInstruction | Σ | 0..1 | string | Patient or consumer oriented instructions
timing | Σ | 0..1 | Timing | When medication should be administered
asNeeded[x] | Σ | 0..1 | boolean, CodeableConcept | Take "as needed" (for x) Binding: SNOMEDCTMedicationAsNeededReasonCodes (example)
site | Σ | 0..1 | CodeableConcept | Body site to administer to Binding: SNOMEDCTAnatomicalStructureForAdministrationSiteCodes (example)
route | Σ | 0..1 | CodeableConcept | How drug should enter body Binding: SNOMEDCTRouteCodes (example)
method | Σ | 0..1 | CodeableConcept | Technique for administering medication Binding: SNOMEDCTAdministrationMethodCodes (example)
doseAndRate | Σ I | 0..* | Element | Amount of medication administered
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
type | Σ | 0..1 | CodeableConcept | The kind of dose or rate specified Binding: DoseAndRateType (example)
dose[x] | Σ | 0..1 | Range, SimpleQuantity | Amount of medication per dose
rate[x] | Σ | 0..1 | Ratio, Range, SimpleQuantity | Amount of medication per unit of time
maxDosePerPeriod | Σ | 0..1 | Ratio | Upper limit on medication per unit of time
maxDosePerAdministration | Σ | 0..1 | SimpleQuantity | Upper limit on medication per administration
maxDosePerLifetime | Σ | 0..1 | SimpleQuantity | Upper limit on medication per lifetime of the patient
dispenseRequest | S I | 0..1 | BackboneElement | Medication supply authorization
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
initialFill | I | 0..1 | BackboneElement | First fill details
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
quantity |  | 0..1 | SimpleQuantity | First fill quantity
duration |  | 0..1 | Duration | First fill duration
dispenseInterval |  | 0..1 | Duration | Minimum period of time between dispenses
validityPeriod |  | 0..1 | Period | Time period supply is authorized for
numberOfRepeatsAllowed |  | 0..1 | unsignedInt | Number of refills authorized
quantity |  | 0..1 | SimpleQuantity | Amount of medication to supply per dispense
expectedSupplyDuration |  | 0..1 | Duration | Number of days supply per dispense
performer |  | 0..1 | Reference(Organization) | Intended dispenser
substitution | S I | 0..1 | BackboneElement | Any restrictions on medication substitution
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
allowed[x] |  | 1..1 | boolean, CodeableConcept | Whether substitution is allowed or not Binding: V3 Value SetActSubstanceAdminSubstitutionCode (example)
reason |  | 0..1 | CodeableConcept | Why should (not) substitution be made Binding: V3 Value SetSubstanceAdminSubstitutionReason (example)
priorPrescription | S | 0..1 | Reference(MedicationRequestR4) | An order/prescription that is being replaced
detectedIssue |  | 0..* | Reference(DetectedIssue) | Clinical Issue with action
eventHistory |  | 0..* | Reference(Provenance) | A list of events of interest in the lifecycle
Documentation for this format

This structure is derived from US Core Medication Request Profile

Summary

Mandatory: 5 elements
Must-Support: 14 elements
Fixed Value: 1 element
Prohibited: 1 element

Structures

This structure refers to these other structures:

- http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-patient-r4
- http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-encounter-r4
- http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-practitioner-r4
- http://hl7.org/fhir/us/core/StructureDefinition/us-core-condition
- http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-medicationrequest-r4
- http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-coverage-r4

Differential View

This structure is derived from US Core Medication Request Profile

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
MedicationRequest |  | 0..* |  |
identifier | S | 0..* | Identifier |
status | S | 1..1 | code | Fixed Value: draft
statusReason |  | 0..1 | CodeableConcept |
intent |  | 1..1 | code |
category |  | 0..* | CodeableConcept |
priority |  | 0..1 | code |
doNotPerform |  | 0..0 |  |
medication[x] | S | 1..1 | CodeableConcept, Reference(US Core Medication Profile) |
subject | S | 1..1 | Reference(PatientR4) |
encounter |  | 0..1 | Reference(EncounterR4) |
supportingInformation |  | 0..* | Reference(Resource) |
authoredOn | S | 1..1 | dateTime |
requester | S | 1..1 | Reference(PractitionerR4 | US Core PractitionerRole Profile) |
performer | S | 0..1 | Reference(PractitionerR4 | US Core PractitionerRole Profile) |
recorder |  | 0..1 | Reference(Practitioner | PractitionerRole) |
reasonCode | S | 0..* | CodeableConcept |
reasonReference | S | 0..* | Reference(US Core Condition Profile | US Core Result Observation Profile) |
instantiatesCanonical |  | 0..* | canonical() |
instantiatesUri |  | 0..* | uri |
basedOn |  | 0..* | Reference(MedicationRequestR4 | ServiceRequestR4) |
groupIdentifier |  | 0..1 | Identifier |
courseOfTherapyType |  | 0..1 | CodeableConcept |
insurance | S | 0..* | Reference(CoverageR4) |
note |  | 0..* | Annotation |
dosageInstruction | S | 0..* | Dosage |
dispenseRequest | S | 0..1 | BackboneElement |
substitution | S | 0..1 | BackboneElement |
priorPrescription | S | 0..1 | Reference(MedicationRequestR4) |
detectedIssue |  | 0..* | Reference(DetectedIssue) |
eventHistory |  | 0..* | Reference(Provenance) |
Documentation for this format

Snapshot View

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
MedicationRequest | I | 0..* |  | US Core Medication Request Profile
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred) Max Binding: AllLanguages
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation
contained |  | 0..* | Resource | Contained, inline Resources
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | S | 0..* | Identifier | External ids for this request
status | ?!S Σ | 1..1 | code | active | on-hold | cancelled | completed | entered-in-error | stopped | draft | unknown Binding: medicationrequest Status (required) Fixed Value: draft
statusReason |  | 0..1 | CodeableConcept | Reason for current status Binding: medicationRequest Status Reason Codes (example)
intent | ?!Σ | 1..1 | code | proposal | plan | order | original-order | instance-order | option Binding: medicationRequest Intent (required)
category |  | 0..* | CodeableConcept | Type of medication usage Binding: medicationRequest Category Codes (example)
priority | Σ | 0..1 | code | routine | urgent | asap | stat Binding: RequestPriority (required)
reported[x] | Σ | 0..1 | boolean, Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Organization) | Reported rather than primary record
medication[x] | S Σ | 1..1 | CodeableConcept, Reference(US Core Medication Profile) | Medication to be taken Binding: Medication Clinical Drug (RxNorm) (extensible)
subject | S Σ | 1..1 | Reference(PatientR4) | Who or group medication request is for
encounter |  | 0..1 | Reference(EncounterR4) | Encounter created as part of encounter/admission/stay
supportingInformation |  | 0..* | Reference(Resource) | Information to support ordering of the medication
authoredOn | S Σ | 1..1 | dateTime | When request was initially authored
requester | S Σ | 1..1 | Reference(PractitionerR4 | US Core PractitionerRole Profile) | Who/What requested the Request
performer | S | 0..1 | Reference(PractitionerR4 | US Core PractitionerRole Profile) | Intended performer of administration
performerType | Σ | 0..1 | CodeableConcept | Desired kind of performer of the medication administration Binding: ProcedurePerformerRoleCodes (example)
recorder |  | 0..1 | Reference(Practitioner | PractitionerRole) | Person who entered the request
reasonCode | S | 0..* | CodeableConcept | Reason or indication for ordering or not ordering the medication Binding: Condition/Problem/DiagnosisCodes (example)
reasonReference | S | 0..* | Reference(US Core Condition Profile | US Core Result Observation Profile) | Condition or observation that supports why the prescription is being written
instantiatesCanonical | Σ | 0..* | canonical() | Instantiates FHIR protocol or definition
instantiatesUri | Σ | 0..* | uri | Instantiates external protocol or definition
basedOn | Σ | 0..* | Reference(MedicationRequestR4 | ServiceRequestR4) | What request fulfills
groupIdentifier | Σ | 0..1 | Identifier | Composite request this is part of
courseOfTherapyType |  | 0..1 | CodeableConcept | Overall pattern of medication administration Binding: medicationRequest Course of Therapy Codes (example)
insurance | S | 0..* | Reference(CoverageR4) | Associated insurance coverage
note |  | 0..* | Annotation | Information about the prescription
dosageInstruction | S | 0..* | Dosage | How the medication should be taken
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
sequence | Σ | 0..1 | integer | The order of the dosage instructions
text | S Σ | 0..1 | string | Free text dosage instructions e.g. SIG
additionalInstruction | Σ | 0..* | CodeableConcept | Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness" Binding: SNOMEDCTAdditionalDosageInstructions (example)
patientInstruction | Σ | 0..1 | string | Patient or consumer oriented instructions
timing | Σ | 0..1 | Timing | When medication should be administered
asNeeded[x] | Σ | 0..1 | boolean, CodeableConcept | Take "as needed" (for x) Binding: SNOMEDCTMedicationAsNeededReasonCodes (example)
site | Σ | 0..1 | CodeableConcept | Body site to administer to Binding: SNOMEDCTAnatomicalStructureForAdministrationSiteCodes (example)
route | Σ | 0..1 | CodeableConcept | How drug should enter body Binding: SNOMEDCTRouteCodes (example)
method | Σ | 0..1 | CodeableConcept | Technique for administering medication Binding: SNOMEDCTAdministrationMethodCodes (example)
doseAndRate | Σ I | 0..* | Element | Amount of medication administered
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
type | Σ | 0..1 | CodeableConcept | The kind of dose or rate specified Binding: DoseAndRateType (example)
dose[x] | Σ | 0..1 | Range, SimpleQuantity | Amount of medication per dose
rate[x] | Σ | 0..1 | Ratio, Range, SimpleQuantity | Amount of medication per unit of time
maxDosePerPeriod | Σ | 0..1 | Ratio | Upper limit on medication per unit of time
maxDosePerAdministration | Σ | 0..1 | SimpleQuantity | Upper limit on medication per administration
maxDosePerLifetime | Σ | 0..1 | SimpleQuantity | Upper limit on medication per lifetime of the patient
dispenseRequest | S I | 0..1 | BackboneElement | Medication supply authorization
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
initialFill | I | 0..1 | BackboneElement | First fill details
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
quantity |  | 0..1 | SimpleQuantity | First fill quantity
duration |  | 0..1 | Duration | First fill duration
dispenseInterval |  | 0..1 | Duration | Minimum period of time between dispenses
validityPeriod |  | 0..1 | Period | Time period supply is authorized for
numberOfRepeatsAllowed |  | 0..1 | unsignedInt | Number of refills authorized
quantity |  | 0..1 | SimpleQuantity | Amount of medication to supply per dispense
expectedSupplyDuration |  | 0..1 | Duration | Number of days supply per dispense
performer |  | 0..1 | Reference(Organization) | Intended dispenser
substitution | S I | 0..1 | BackboneElement | Any restrictions on medication substitution
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
allowed[x] |  | 1..1 | boolean, CodeableConcept | Whether substitution is allowed or not Binding: V3 Value SetActSubstanceAdminSubstitutionCode (example)
reason |  | 0..1 | CodeableConcept | Why should (not) substitution be made Binding: V3 Value SetSubstanceAdminSubstitutionReason (example)
priorPrescription | S | 0..1 | Reference(MedicationRequestR4) | An order/prescription that is being replaced
detectedIssue |  | 0..* | Reference(DetectedIssue) | Clinical Issue with action
eventHistory |  | 0..* | Reference(Provenance) | A list of events of interest in the lifecycle
Documentation for this format

Other representations of profile: Schematron

### Terminology Bindings

Path | Conformance | ValueSet / Code
MedicationRequest.status | required | Fixed Value: draft
MedicationRequest.medication[x] | extensible | Medication_Clinical_Drug_RxNorm
MedicationRequest.reasonCode | example | Condition/Problem/DiagnosisCodes

### Constraints

Id | Path | Details | Requirements
dom-2 | MedicationRequest | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() |
dom-4 | MedicationRequest | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() |
dom-3 | MedicationRequest | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() |
dom-6 | MedicationRequest | A resource should have narrative for robust management : text.div.exists() |
dom-5 | MedicationRequest | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() |
ele-1 | MedicationRequest.dosageInstruction.doseAndRate | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | MedicationRequest.dispenseRequest | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | MedicationRequest.dispenseRequest.initialFill | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ele-1 | MedicationRequest.substitution | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |