SIL HIE Implementation Guide
0.1.0 - sil-hie-active

SIL HIE Implementation Guide, published by Kathurima Kimathi. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/savannahghi/hie-fhir-ig-profile/ and changes regularly. See the Directory of published versions

Resource Profile: HIE MedicationRequest

Official URL: https://nshr.dha.go.ke/fhir/StructureDefinition/hie-medicationrequest Version: 0.1.0
Active as of 2025-11-25 Computable Name: HIEMedicationRequest

R4B MedicationRequest constrained for HIE ordering and e-prescribing. Focus on status, intent, medication, subject, timing, requester, reasons, dosage, dispense, substitution, and coverage.

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicationRequest 0..* MedicationRequest Ordering of medication for patient or group
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier 0..* Identifier External ids for this request
.... use ?!Σ 1..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
.... type Σ 1..1 HIECodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible)
.... system Σ 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value SΣ 1..1 string The value that is unique
Example General: 123456
.... assigner SΣ 0..1 HIEReference(HIE Organization) Organization that issued id (may be just text)
... status ?!SΣ 1..1 code active | on-hold | cancelled | completed | entered-in-error | stopped | draft | unknown
Binding: medicationrequest Status (required): A coded concept specifying the state of the prescribing event. Describes the lifecycle of the prescription.
... intent ?!SΣ 1..1 code proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
Binding: medicationRequest Intent (required): The kind of medication order.
... category S 1..* HIECodeableConcept Type of medication usage
Binding: medicationRequest Category Codes (example): A coded concept identifying the category of medication request. For example, where the medication is to be consumed or administered, or the type of medication treatment.
... priority SΣ 1..1 code routine | urgent | asap | stat
Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.
... doNotPerform ?!Σ 0..1 boolean True if request is prohibiting action
... Slices for medication[x] SΣ 1..1 Medication to be taken
Slice: Unordered, Closed by type:$this
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying substance or product that can be ordered.
.... medicationCodeableConcept CodeableConcept
.... medicationReference Reference(Medication)
.... medication[x]:medicationCodeableConcept Σ 0..1 HIECodeableConcept Medication to be taken
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying substance or product that can be ordered.
.... medication[x]:medicationReference Σ 0..1 HIEReference(Medication) Medication to be taken
... subject SΣ 1..1 HIEReference(HIE Patient) Who or group medication request is for
... encounter 1..1 HIEReference(HIE Encounter) Encounter created as part of encounter/admission/stay
... supportingInformation 0..* HIEReference(Resource) Information to support ordering of the medication
... authoredOn SΣ 1..1 dateTime When request was initially authored
... requester SΣ 1..1 HIEReference(HIE Practitioner | HIE PractitionerRole | HIE Organization | HIE Patient | RelatedPerson | Device) Who/What requested the Request
... performer 1..1 HIEReference(HIE Practitioner | HIE PractitionerRole | HIE Organization | HIE Patient | Device | RelatedPerson | CareTeam) Intended performer of administration
... performerType Σ 0..1 HIECodeableConcept Desired kind of performer of the medication administration
Binding: ProcedurePerformerRoleCodes (example): Identifies the type of individual that is desired to administer the medication.
... recorder 1..1 HIEReference(HIE Practitioner | HIE PractitionerRole) Person who entered the request
... reasonCode 0..* HIECodeableConcept Reason or indication for ordering or not ordering the medication
Binding: Condition/Problem/DiagnosisCodes (example): A coded concept indicating why the medication was ordered.
... reasonReference 0..* HIEReference(HIE Condition | HIE Observation) Condition or observation that supports why the prescription is being written
... basedOn Σ 0..* HIEReference(CarePlan | HIE MedicationRequest | HIE ServiceRequest | ImmunizationRecommendation) What request fulfills
... courseOfTherapyType 0..1 HIECodeableConcept Overall pattern of medication administration
Binding: medicationRequest Course of Therapy Codes (example): Identifies the overall pattern of medication administratio.
... insurance 0..* HIEReference(Coverage | HIE ClaimResponse) Associated insurance coverage
... note 0..* HIEAnnotation Information about the prescription
... dosageInstruction S 1..* Dosage How the medication should be taken
... dispenseRequest S 1..1 BackboneElement Medication supply authorization
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... performer 0..1 HIEReference(HIE Organization) Intended dispenser
... priorPrescription 0..1 HIEReference(HIE MedicationRequest) An order/prescription that is being replaced
... detectedIssue 0..* HIEReference(DetectedIssue) Clinical Issue with action
... eventHistory 0..* HIEReference(Provenance) A list of events of interest in the lifecycle

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
MedicationRequest.identifier.​use Base required IdentifierUse 📦4.3.0 FHIR Std.
MedicationRequest.identifier.​type Base extensible IdentifierType 📦4.3.0 FHIR Std.
MedicationRequest.status Base required medicationrequest Status 📍4.3.0 FHIR Std.
MedicationRequest.intent Base required medicationRequest Intent 📍4.3.0 FHIR Std.
MedicationRequest.category Base example medicationRequest Category Codes 📍4.3.0 FHIR Std.
MedicationRequest.priority Base required RequestPriority 📍4.3.0 FHIR Std.
MedicationRequest.medication[x] Base example SNOMED CT Medication Codes 📍4.3.0 FHIR Std.
MedicationRequest.medication[x]:medicationCodeableConcept Base example SNOMED CT Medication Codes 📍4.3.0 FHIR Std.
MedicationRequest.performerType Base example Procedure Performer Role Codes 📍4.3.0 FHIR Std.
MedicationRequest.reasonCode Base example Condition/Problem/Diagnosis Codes 📍4.3.0 FHIR Std.
MedicationRequest.courseOfTherapyType Base example medicationRequest Course of Therapy Codes 📍4.3.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error MedicationRequest If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error 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.exists() and ('#'+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(uri) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error 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-5 error MedicationRequest If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice MedicationRequest A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from MedicationRequest

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicationRequest 0..* MedicationRequest Ordering of medication for patient or group
... identifier
.... use 1..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
.... type 1..1 HIECodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible)
.... system 1..1 uri The namespace for the identifier value
.... value S 1..1 string The value that is unique
.... assigner S 0..1 HIEReference(HIE Organization) Organization that issued id (may be just text)
... status S 1..1 code active | on-hold | cancelled | completed | entered-in-error | stopped | draft | unknown
... intent S 1..1 code proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
... priority S 1..1 code routine | urgent | asap | stat
... Slices for medication[x] S 1..1 CodeableConcept, Reference(Medication) Medication to be taken
Slice: Unordered, Open by type:$this
.... medication[x]:medicationCodeableConcept 0..1 HIECodeableConcept Medication to be taken
.... medication[x]:medicationReference 0..1 HIEReference(Medication) Medication to be taken
... subject S 1..1 HIEReference(HIE Patient) Who or group medication request is for
... encounter 1..1 HIEReference(HIE Encounter) Encounter created as part of encounter/admission/stay
... supportingInformation 0..* HIEReference(Resource) Information to support ordering of the medication
... authoredOn S 1..1 dateTime When request was initially authored
... requester S 1..1 HIEReference(HIE Practitioner | HIE PractitionerRole | HIE Organization | HIE Patient | RelatedPerson | Device) Who/What requested the Request
... performer 1..1 HIEReference(HIE Practitioner | HIE PractitionerRole | HIE Organization | HIE Patient | Device | RelatedPerson | CareTeam) Intended performer of administration
... performerType 0..1 HIECodeableConcept Desired kind of performer of the medication administration
... recorder 1..1 HIEReference(HIE Practitioner | HIE PractitionerRole) Person who entered the request
... reasonCode 0..* HIECodeableConcept Reason or indication for ordering or not ordering the medication
... reasonReference 0..* HIEReference(HIE Condition | HIE Observation) Condition or observation that supports why the prescription is being written
... basedOn 0..* HIEReference(CarePlan | HIE MedicationRequest | HIE ServiceRequest | ImmunizationRecommendation) What request fulfills
... courseOfTherapyType 0..1 HIECodeableConcept Overall pattern of medication administration
... insurance 0..* HIEReference(Coverage | HIE ClaimResponse) Associated insurance coverage
... note 0..* HIEAnnotation Information about the prescription
... dosageInstruction S 1..* Dosage How the medication should be taken
... dispenseRequest S 1..1 BackboneElement Medication supply authorization
.... performer 0..1 HIEReference(HIE Organization) Intended dispenser
... substitution
.... Slices for allowed[x] 1..1 boolean, CodeableConcept Whether substitution is allowed or not
Slice: Unordered, Open by type:$this
..... allowed[x]:allowedCodeableConcept 0..1 HIECodeableConcept Whether substitution is allowed or not
.... reason 0..1 HIECodeableConcept Why should (not) substitution be made
... priorPrescription 0..1 HIEReference(HIE MedicationRequest) An order/prescription that is being replaced
... detectedIssue 0..* HIEReference(DetectedIssue) Clinical Issue with action
... eventHistory 0..* HIEReference(Provenance) A list of events of interest in the lifecycle

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
MedicationRequest.identifier.​use Base required IdentifierUse 📦4.3.0 FHIR Std.
MedicationRequest.identifier.​type Base extensible IdentifierType 📦4.3.0 FHIR Std.
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicationRequest 0..* MedicationRequest Ordering of medication for patient or group
... 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): IETF language tag
Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
Constraints: dom-r4b
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier 0..* Identifier External ids for this request
.... id 0..1 id Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ 1..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
.... type Σ 1..1 HIECodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible)
.... system Σ 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value SΣ 1..1 string The value that is unique
Example General: 123456
.... period Σ 0..1 Period Time period when id is/was valid for use
.... assigner SΣ 0..1 HIEReference(HIE Organization) Organization that issued id (may be just text)
... status ?!SΣ 1..1 code active | on-hold | cancelled | completed | entered-in-error | stopped | draft | unknown
Binding: medicationrequest Status (required): A coded concept specifying the state of the prescribing event. Describes the lifecycle of the prescription.
... statusReason 0..1 CodeableConcept Reason for current status
Binding: medicationRequest Status Reason Codes (example): Identifies the reasons for a given status.
... intent ?!SΣ 1..1 code proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
Binding: medicationRequest Intent (required): The kind of medication order.
... category S 1..* HIECodeableConcept Type of medication usage
Binding: medicationRequest Category Codes (example): A coded concept identifying the category of medication request. For example, where the medication is to be consumed or administered, or the type of medication treatment.
... priority SΣ 1..1 code routine | urgent | asap | stat
Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.
... doNotPerform ?!Σ 0..1 boolean True if request is prohibiting action
... reported[x] Σ 0..1 Reported rather than primary record
.... reportedBoolean boolean
.... reportedReference Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Organization)
... Slices for medication[x] SΣ 1..1 Medication to be taken
Slice: Unordered, Closed by type:$this
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying substance or product that can be ordered.
.... medicationCodeableConcept CodeableConcept
.... medicationReference Reference(Medication)
.... medication[x]:medicationCodeableConcept Σ 0..1 HIECodeableConcept Medication to be taken
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying substance or product that can be ordered.
.... medication[x]:medicationReference Σ 0..1 HIEReference(Medication) Medication to be taken
... subject SΣ 1..1 HIEReference(HIE Patient) Who or group medication request is for
... encounter 1..1 HIEReference(HIE Encounter) Encounter created as part of encounter/admission/stay
... supportingInformation 0..* HIEReference(Resource) Information to support ordering of the medication
... authoredOn SΣ 1..1 dateTime When request was initially authored
... requester SΣ 1..1 HIEReference(HIE Practitioner | HIE PractitionerRole | HIE Organization | HIE Patient | RelatedPerson | Device) Who/What requested the Request
... performer 1..1 HIEReference(HIE Practitioner | HIE PractitionerRole | HIE Organization | HIE Patient | Device | RelatedPerson | CareTeam) Intended performer of administration
... performerType Σ 0..1 HIECodeableConcept Desired kind of performer of the medication administration
Binding: ProcedurePerformerRoleCodes (example): Identifies the type of individual that is desired to administer the medication.
... recorder 1..1 HIEReference(HIE Practitioner | HIE PractitionerRole) Person who entered the request
... reasonCode 0..* HIECodeableConcept Reason or indication for ordering or not ordering the medication
Binding: Condition/Problem/DiagnosisCodes (example): A coded concept indicating why the medication was ordered.
... reasonReference 0..* HIEReference(HIE Condition | HIE Observation) 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..* HIEReference(CarePlan | HIE MedicationRequest | HIE ServiceRequest | ImmunizationRecommendation) What request fulfills
... groupIdentifier Σ 0..1 Identifier Composite request this is part of
... courseOfTherapyType 0..1 HIECodeableConcept Overall pattern of medication administration
Binding: medicationRequest Course of Therapy Codes (example): Identifies the overall pattern of medication administratio.
... insurance 0..* HIEReference(Coverage | HIE ClaimResponse) Associated insurance coverage
... note 0..* HIEAnnotation Information about the prescription
... dosageInstruction S 1..* Dosage How the medication should be taken
... dispenseRequest S 1..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 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(4.3.0) 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(4.3.0) Amount of medication to supply per dispense
.... expectedSupplyDuration 0..1 Duration Number of days supply per dispense
.... performer 0..1 HIEReference(HIE Organization) Intended dispenser
... substitution 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
.... Slices for allowed[x] 1..1 Whether substitution is allowed or not
Slice: Unordered, Open by type:$this
Binding: ActSubstanceAdminSubstitutionCode (example): Identifies the type of substitution allowed.
..... allowedBoolean boolean
..... allowedCodeableConcept CodeableConcept
..... allowed[x]:allowedCodeableConcept 0..1 HIECodeableConcept Whether substitution is allowed or not
Binding: ActSubstanceAdminSubstitutionCode (example): Identifies the type of substitution allowed.
.... reason 0..1 HIECodeableConcept Why should (not) substitution be made
Binding: SubstanceAdminSubstitutionReason (example): SubstanceAdminSubstitutionReason
... priorPrescription 0..1 HIEReference(HIE MedicationRequest) An order/prescription that is being replaced
... detectedIssue 0..* HIEReference(DetectedIssue) Clinical Issue with action
... eventHistory 0..* HIEReference(Provenance) A list of events of interest in the lifecycle

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
MedicationRequest.language Base preferred Common Languages 📍4.3.0 FHIR Std.
MedicationRequest.identifier.​use Base required IdentifierUse 📦4.3.0 FHIR Std.
MedicationRequest.identifier.​type Base extensible IdentifierType 📦4.3.0 FHIR Std.
MedicationRequest.status Base required medicationrequest Status 📍4.3.0 FHIR Std.
MedicationRequest.statusReason Base example medicationRequest Status Reason Codes 📍4.3.0 FHIR Std.
MedicationRequest.intent Base required medicationRequest Intent 📍4.3.0 FHIR Std.
MedicationRequest.category Base example medicationRequest Category Codes 📍4.3.0 FHIR Std.
MedicationRequest.priority Base required RequestPriority 📍4.3.0 FHIR Std.
MedicationRequest.medication[x] Base example SNOMED CT Medication Codes 📍4.3.0 FHIR Std.
MedicationRequest.medication[x]:medicationCodeableConcept Base example SNOMED CT Medication Codes 📍4.3.0 FHIR Std.
MedicationRequest.performerType Base example Procedure Performer Role Codes 📍4.3.0 FHIR Std.
MedicationRequest.reasonCode Base example Condition/Problem/Diagnosis Codes 📍4.3.0 FHIR Std.
MedicationRequest.courseOfTherapyType Base example medicationRequest Course of Therapy Codes 📍4.3.0 FHIR Std.
MedicationRequest.substitution.​allowed[x] Base example ActSubstanceAdminSubstitutionCode 📦3.0.0 THO v7.0
MedicationRequest.substitution.​allowed[x]:allowedCodeableConcept Base example ActSubstanceAdminSubstitutionCode 📦3.0.0 THO v7.0
MedicationRequest.substitution.​reason Base example SubstanceAdminSubstitutionReason 📦3.0.0 THO v7.0

Constraints

Id Grade Path(s) Description Expression
dom-2 error MedicationRequest If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error 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.exists() and ('#'+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(uri) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error 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-5 error MedicationRequest If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice MedicationRequest A resource should have narrative for robust management text.`div`.exists()
dom-r4b warning MedicationRequest.contained Containing new R4B resources within R4 resources may cause interoperability issues if instances are shared with R4 systems ($this is Citation or $this is Evidence or $this is EvidenceReport or $this is EvidenceVariable or $this is MedicinalProductDefinition or $this is PackagedProductDefinition or $this is AdministrableProductDefinition or $this is Ingredient or $this is ClinicalUseDefinition or $this is RegulatedAuthorization or $this is SubstanceDefinition or $this is SubscriptionStatus or $this is SubscriptionTopic) implies (%resource is Citation or %resource is Evidence or %resource is EvidenceReport or %resource is EvidenceVariable or %resource is MedicinalProductDefinition or %resource is PackagedProductDefinition or %resource is AdministrableProductDefinition or %resource is Ingredient or %resource is ClinicalUseDefinition or %resource is RegulatedAuthorization or %resource is SubstanceDefinition or %resource is SubscriptionStatus or %resource is SubscriptionTopic)
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from MedicationRequest

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicationRequest 0..* MedicationRequest Ordering of medication for patient or group
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier 0..* Identifier External ids for this request
.... use ?!Σ 1..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
.... type Σ 1..1 HIECodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible)
.... system Σ 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value SΣ 1..1 string The value that is unique
Example General: 123456
.... assigner SΣ 0..1 HIEReference(HIE Organization) Organization that issued id (may be just text)
... status ?!SΣ 1..1 code active | on-hold | cancelled | completed | entered-in-error | stopped | draft | unknown
Binding: medicationrequest Status (required): A coded concept specifying the state of the prescribing event. Describes the lifecycle of the prescription.
... intent ?!SΣ 1..1 code proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
Binding: medicationRequest Intent (required): The kind of medication order.
... category S 1..* HIECodeableConcept Type of medication usage
Binding: medicationRequest Category Codes (example): A coded concept identifying the category of medication request. For example, where the medication is to be consumed or administered, or the type of medication treatment.
... priority SΣ 1..1 code routine | urgent | asap | stat
Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.
... doNotPerform ?!Σ 0..1 boolean True if request is prohibiting action
... Slices for medication[x] SΣ 1..1 Medication to be taken
Slice: Unordered, Closed by type:$this
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying substance or product that can be ordered.
.... medicationCodeableConcept CodeableConcept
.... medicationReference Reference(Medication)
.... medication[x]:medicationCodeableConcept Σ 0..1 HIECodeableConcept Medication to be taken
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying substance or product that can be ordered.
.... medication[x]:medicationReference Σ 0..1 HIEReference(Medication) Medication to be taken
... subject SΣ 1..1 HIEReference(HIE Patient) Who or group medication request is for
... encounter 1..1 HIEReference(HIE Encounter) Encounter created as part of encounter/admission/stay
... supportingInformation 0..* HIEReference(Resource) Information to support ordering of the medication
... authoredOn SΣ 1..1 dateTime When request was initially authored
... requester SΣ 1..1 HIEReference(HIE Practitioner | HIE PractitionerRole | HIE Organization | HIE Patient | RelatedPerson | Device) Who/What requested the Request
... performer 1..1 HIEReference(HIE Practitioner | HIE PractitionerRole | HIE Organization | HIE Patient | Device | RelatedPerson | CareTeam) Intended performer of administration
... performerType Σ 0..1 HIECodeableConcept Desired kind of performer of the medication administration
Binding: ProcedurePerformerRoleCodes (example): Identifies the type of individual that is desired to administer the medication.
... recorder 1..1 HIEReference(HIE Practitioner | HIE PractitionerRole) Person who entered the request
... reasonCode 0..* HIECodeableConcept Reason or indication for ordering or not ordering the medication
Binding: Condition/Problem/DiagnosisCodes (example): A coded concept indicating why the medication was ordered.
... reasonReference 0..* HIEReference(HIE Condition | HIE Observation) Condition or observation that supports why the prescription is being written
... basedOn Σ 0..* HIEReference(CarePlan | HIE MedicationRequest | HIE ServiceRequest | ImmunizationRecommendation) What request fulfills
... courseOfTherapyType 0..1 HIECodeableConcept Overall pattern of medication administration
Binding: medicationRequest Course of Therapy Codes (example): Identifies the overall pattern of medication administratio.
... insurance 0..* HIEReference(Coverage | HIE ClaimResponse) Associated insurance coverage
... note 0..* HIEAnnotation Information about the prescription
... dosageInstruction S 1..* Dosage How the medication should be taken
... dispenseRequest S 1..1 BackboneElement Medication supply authorization
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... performer 0..1 HIEReference(HIE Organization) Intended dispenser
... priorPrescription 0..1 HIEReference(HIE MedicationRequest) An order/prescription that is being replaced
... detectedIssue 0..* HIEReference(DetectedIssue) Clinical Issue with action
... eventHistory 0..* HIEReference(Provenance) A list of events of interest in the lifecycle

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
MedicationRequest.identifier.​use Base required IdentifierUse 📦4.3.0 FHIR Std.
MedicationRequest.identifier.​type Base extensible IdentifierType 📦4.3.0 FHIR Std.
MedicationRequest.status Base required medicationrequest Status 📍4.3.0 FHIR Std.
MedicationRequest.intent Base required medicationRequest Intent 📍4.3.0 FHIR Std.
MedicationRequest.category Base example medicationRequest Category Codes 📍4.3.0 FHIR Std.
MedicationRequest.priority Base required RequestPriority 📍4.3.0 FHIR Std.
MedicationRequest.medication[x] Base example SNOMED CT Medication Codes 📍4.3.0 FHIR Std.
MedicationRequest.medication[x]:medicationCodeableConcept Base example SNOMED CT Medication Codes 📍4.3.0 FHIR Std.
MedicationRequest.performerType Base example Procedure Performer Role Codes 📍4.3.0 FHIR Std.
MedicationRequest.reasonCode Base example Condition/Problem/Diagnosis Codes 📍4.3.0 FHIR Std.
MedicationRequest.courseOfTherapyType Base example medicationRequest Course of Therapy Codes 📍4.3.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error MedicationRequest If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error 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.exists() and ('#'+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(uri) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error 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-5 error MedicationRequest If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice MedicationRequest A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

Differential View

This structure is derived from MedicationRequest

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicationRequest 0..* MedicationRequest Ordering of medication for patient or group
... identifier
.... use 1..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
.... type 1..1 HIECodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible)
.... system 1..1 uri The namespace for the identifier value
.... value S 1..1 string The value that is unique
.... assigner S 0..1 HIEReference(HIE Organization) Organization that issued id (may be just text)
... status S 1..1 code active | on-hold | cancelled | completed | entered-in-error | stopped | draft | unknown
... intent S 1..1 code proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
... priority S 1..1 code routine | urgent | asap | stat
... Slices for medication[x] S 1..1 CodeableConcept, Reference(Medication) Medication to be taken
Slice: Unordered, Open by type:$this
.... medication[x]:medicationCodeableConcept 0..1 HIECodeableConcept Medication to be taken
.... medication[x]:medicationReference 0..1 HIEReference(Medication) Medication to be taken
... subject S 1..1 HIEReference(HIE Patient) Who or group medication request is for
... encounter 1..1 HIEReference(HIE Encounter) Encounter created as part of encounter/admission/stay
... supportingInformation 0..* HIEReference(Resource) Information to support ordering of the medication
... authoredOn S 1..1 dateTime When request was initially authored
... requester S 1..1 HIEReference(HIE Practitioner | HIE PractitionerRole | HIE Organization | HIE Patient | RelatedPerson | Device) Who/What requested the Request
... performer 1..1 HIEReference(HIE Practitioner | HIE PractitionerRole | HIE Organization | HIE Patient | Device | RelatedPerson | CareTeam) Intended performer of administration
... performerType 0..1 HIECodeableConcept Desired kind of performer of the medication administration
... recorder 1..1 HIEReference(HIE Practitioner | HIE PractitionerRole) Person who entered the request
... reasonCode 0..* HIECodeableConcept Reason or indication for ordering or not ordering the medication
... reasonReference 0..* HIEReference(HIE Condition | HIE Observation) Condition or observation that supports why the prescription is being written
... basedOn 0..* HIEReference(CarePlan | HIE MedicationRequest | HIE ServiceRequest | ImmunizationRecommendation) What request fulfills
... courseOfTherapyType 0..1 HIECodeableConcept Overall pattern of medication administration
... insurance 0..* HIEReference(Coverage | HIE ClaimResponse) Associated insurance coverage
... note 0..* HIEAnnotation Information about the prescription
... dosageInstruction S 1..* Dosage How the medication should be taken
... dispenseRequest S 1..1 BackboneElement Medication supply authorization
.... performer 0..1 HIEReference(HIE Organization) Intended dispenser
... substitution
.... Slices for allowed[x] 1..1 boolean, CodeableConcept Whether substitution is allowed or not
Slice: Unordered, Open by type:$this
..... allowed[x]:allowedCodeableConcept 0..1 HIECodeableConcept Whether substitution is allowed or not
.... reason 0..1 HIECodeableConcept Why should (not) substitution be made
... priorPrescription 0..1 HIEReference(HIE MedicationRequest) An order/prescription that is being replaced
... detectedIssue 0..* HIEReference(DetectedIssue) Clinical Issue with action
... eventHistory 0..* HIEReference(Provenance) A list of events of interest in the lifecycle

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
MedicationRequest.identifier.​use Base required IdentifierUse 📦4.3.0 FHIR Std.
MedicationRequest.identifier.​type Base extensible IdentifierType 📦4.3.0 FHIR Std.

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicationRequest 0..* MedicationRequest Ordering of medication for patient or group
... 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): IETF language tag
Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
Constraints: dom-r4b
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier 0..* Identifier External ids for this request
.... id 0..1 id Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ 1..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
.... type Σ 1..1 HIECodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible)
.... system Σ 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value SΣ 1..1 string The value that is unique
Example General: 123456
.... period Σ 0..1 Period Time period when id is/was valid for use
.... assigner SΣ 0..1 HIEReference(HIE Organization) Organization that issued id (may be just text)
... status ?!SΣ 1..1 code active | on-hold | cancelled | completed | entered-in-error | stopped | draft | unknown
Binding: medicationrequest Status (required): A coded concept specifying the state of the prescribing event. Describes the lifecycle of the prescription.
... statusReason 0..1 CodeableConcept Reason for current status
Binding: medicationRequest Status Reason Codes (example): Identifies the reasons for a given status.
... intent ?!SΣ 1..1 code proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
Binding: medicationRequest Intent (required): The kind of medication order.
... category S 1..* HIECodeableConcept Type of medication usage
Binding: medicationRequest Category Codes (example): A coded concept identifying the category of medication request. For example, where the medication is to be consumed or administered, or the type of medication treatment.
... priority SΣ 1..1 code routine | urgent | asap | stat
Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.
... doNotPerform ?!Σ 0..1 boolean True if request is prohibiting action
... reported[x] Σ 0..1 Reported rather than primary record
.... reportedBoolean boolean
.... reportedReference Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Organization)
... Slices for medication[x] SΣ 1..1 Medication to be taken
Slice: Unordered, Closed by type:$this
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying substance or product that can be ordered.
.... medicationCodeableConcept CodeableConcept
.... medicationReference Reference(Medication)
.... medication[x]:medicationCodeableConcept Σ 0..1 HIECodeableConcept Medication to be taken
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying substance or product that can be ordered.
.... medication[x]:medicationReference Σ 0..1 HIEReference(Medication) Medication to be taken
... subject SΣ 1..1 HIEReference(HIE Patient) Who or group medication request is for
... encounter 1..1 HIEReference(HIE Encounter) Encounter created as part of encounter/admission/stay
... supportingInformation 0..* HIEReference(Resource) Information to support ordering of the medication
... authoredOn SΣ 1..1 dateTime When request was initially authored
... requester SΣ 1..1 HIEReference(HIE Practitioner | HIE PractitionerRole | HIE Organization | HIE Patient | RelatedPerson | Device) Who/What requested the Request
... performer 1..1 HIEReference(HIE Practitioner | HIE PractitionerRole | HIE Organization | HIE Patient | Device | RelatedPerson | CareTeam) Intended performer of administration
... performerType Σ 0..1 HIECodeableConcept Desired kind of performer of the medication administration
Binding: ProcedurePerformerRoleCodes (example): Identifies the type of individual that is desired to administer the medication.
... recorder 1..1 HIEReference(HIE Practitioner | HIE PractitionerRole) Person who entered the request
... reasonCode 0..* HIECodeableConcept Reason or indication for ordering or not ordering the medication
Binding: Condition/Problem/DiagnosisCodes (example): A coded concept indicating why the medication was ordered.
... reasonReference 0..* HIEReference(HIE Condition | HIE Observation) 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..* HIEReference(CarePlan | HIE MedicationRequest | HIE ServiceRequest | ImmunizationRecommendation) What request fulfills
... groupIdentifier Σ 0..1 Identifier Composite request this is part of
... courseOfTherapyType 0..1 HIECodeableConcept Overall pattern of medication administration
Binding: medicationRequest Course of Therapy Codes (example): Identifies the overall pattern of medication administratio.
... insurance 0..* HIEReference(Coverage | HIE ClaimResponse) Associated insurance coverage
... note 0..* HIEAnnotation Information about the prescription
... dosageInstruction S 1..* Dosage How the medication should be taken
... dispenseRequest S 1..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 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(4.3.0) 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(4.3.0) Amount of medication to supply per dispense
.... expectedSupplyDuration 0..1 Duration Number of days supply per dispense
.... performer 0..1 HIEReference(HIE Organization) Intended dispenser
... substitution 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
.... Slices for allowed[x] 1..1 Whether substitution is allowed or not
Slice: Unordered, Open by type:$this
Binding: ActSubstanceAdminSubstitutionCode (example): Identifies the type of substitution allowed.
..... allowedBoolean boolean
..... allowedCodeableConcept CodeableConcept
..... allowed[x]:allowedCodeableConcept 0..1 HIECodeableConcept Whether substitution is allowed or not
Binding: ActSubstanceAdminSubstitutionCode (example): Identifies the type of substitution allowed.
.... reason 0..1 HIECodeableConcept Why should (not) substitution be made
Binding: SubstanceAdminSubstitutionReason (example): SubstanceAdminSubstitutionReason
... priorPrescription 0..1 HIEReference(HIE MedicationRequest) An order/prescription that is being replaced
... detectedIssue 0..* HIEReference(DetectedIssue) Clinical Issue with action
... eventHistory 0..* HIEReference(Provenance) A list of events of interest in the lifecycle

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
MedicationRequest.language Base preferred Common Languages 📍4.3.0 FHIR Std.
MedicationRequest.identifier.​use Base required IdentifierUse 📦4.3.0 FHIR Std.
MedicationRequest.identifier.​type Base extensible IdentifierType 📦4.3.0 FHIR Std.
MedicationRequest.status Base required medicationrequest Status 📍4.3.0 FHIR Std.
MedicationRequest.statusReason Base example medicationRequest Status Reason Codes 📍4.3.0 FHIR Std.
MedicationRequest.intent Base required medicationRequest Intent 📍4.3.0 FHIR Std.
MedicationRequest.category Base example medicationRequest Category Codes 📍4.3.0 FHIR Std.
MedicationRequest.priority Base required RequestPriority 📍4.3.0 FHIR Std.
MedicationRequest.medication[x] Base example SNOMED CT Medication Codes 📍4.3.0 FHIR Std.
MedicationRequest.medication[x]:medicationCodeableConcept Base example SNOMED CT Medication Codes 📍4.3.0 FHIR Std.
MedicationRequest.performerType Base example Procedure Performer Role Codes 📍4.3.0 FHIR Std.
MedicationRequest.reasonCode Base example Condition/Problem/Diagnosis Codes 📍4.3.0 FHIR Std.
MedicationRequest.courseOfTherapyType Base example medicationRequest Course of Therapy Codes 📍4.3.0 FHIR Std.
MedicationRequest.substitution.​allowed[x] Base example ActSubstanceAdminSubstitutionCode 📦3.0.0 THO v7.0
MedicationRequest.substitution.​allowed[x]:allowedCodeableConcept Base example ActSubstanceAdminSubstitutionCode 📦3.0.0 THO v7.0
MedicationRequest.substitution.​reason Base example SubstanceAdminSubstitutionReason 📦3.0.0 THO v7.0

Constraints

Id Grade Path(s) Description Expression
dom-2 error MedicationRequest If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error 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.exists() and ('#'+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(uri) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error 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-5 error MedicationRequest If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice MedicationRequest A resource should have narrative for robust management text.`div`.exists()
dom-r4b warning MedicationRequest.contained Containing new R4B resources within R4 resources may cause interoperability issues if instances are shared with R4 systems ($this is Citation or $this is Evidence or $this is EvidenceReport or $this is EvidenceVariable or $this is MedicinalProductDefinition or $this is PackagedProductDefinition or $this is AdministrableProductDefinition or $this is Ingredient or $this is ClinicalUseDefinition or $this is RegulatedAuthorization or $this is SubstanceDefinition or $this is SubscriptionStatus or $this is SubscriptionTopic) implies (%resource is Citation or %resource is Evidence or %resource is EvidenceReport or %resource is EvidenceVariable or %resource is MedicinalProductDefinition or %resource is PackagedProductDefinition or %resource is AdministrableProductDefinition or %resource is Ingredient or %resource is ClinicalUseDefinition or %resource is RegulatedAuthorization or %resource is SubstanceDefinition or %resource is SubscriptionStatus or %resource is SubscriptionTopic)
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from MedicationRequest

 

Other representations of profile: CSV, Excel, Schematron