CH EMED EPR
2.0.0-ci-build - ci-build Switzerland flag

CH EMED EPR, published by CARA. This guide is not an authorized publication; it is the continuous build for version 2.0.0-ci-build built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/CARA-ch/ch-emed-epr/ and changes regularly. See the Directory of published versions

Resource Profile: PRE MedicationRequest

Official URL: http://fhir.ch/ig/ch-emed-epr/StructureDefinition/ch-emed-epr-medicationrequest Version: 2.0.0-ci-build
Draft as of 2024-12-20 Computable Name: CHEMEDEPRMedicationRequest

Copyright/Legal: CC0-1.0

Definition of the medication request for the medication prescription document

Usage:

Formal Views of Profile Content

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

This structure is derived from CHEMEDMedicationRequest

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationRequest C 0..* CHEMEDMedicationRequest CH EMED MedicationRequest (PRE)
split-dosage-instruction-unit-must-match-base-dosage-instruction: The unit for doseAndRate of different dosages (split dosage) belonging to the same statement/request/dispense must match.
... meta
.... extension D 0..* Extension ✕ This element is not supported
.... versionId D 0..1 id ✕ This element is not supported
.... lastUpdated D 0..1 instant ✕ This element is not supported
.... source D 0..1 uri ✕ This element is not supported
.... security D 0..* Coding ✕ This element is not supported
.... tag D 0..* Coding ✕ This element is not supported
... implicitRules 0..0
... extension 1..* Extension Extension
... Slices for extension Content/Rules for all slices
.... extension:treatmentplan 1..1 CHEMEDExtTreatmentPlan A reference to the MedicationStatement that introduced this medication
... modifierExtension 0..0
... status 1..1 code active | on-hold | cancelled | completed | entered-in-error | stopped | draft | unknown
Required Pattern: active
... statusReason D 0..1 CodeableConcept ✕ This element is not supported
... intent 1..1 code proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
Required Pattern: order
... category D 0..* CodeableConcept ✕ This element is not supported
... priority D 0..1 code ✕ This element is not supported
... doNotPerform 0..0
... reported[x] D 0..1 boolean, Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Organization) ✕ This element is not supported
... medication[x] 1..1 Reference(CH Core Medication) Medication to be taken
... Slices for medication[x] Content/Rules for all slices
.... medication[x]:medicationReference 0..1 Reference(CH EMED EPR Medication) {c} Reference to the contained medication
... subject 1..1 Reference(CH EMED EPR Patient) {r, b} Patient
... encounter D 0..1 Reference(Encounter) ✕ This element is not supported
... supportingInformation D 0..0
... requester 1..1 Reference(CH EMED EPR PractitionerRole) The author of the medical decision, see also 'Guidance - Authorship'
... performer D 0..1 Reference(Practitioner | PractitionerRole | Organization | Patient | Device | RelatedPerson | CareTeam) ✕ This element is not supported
... performerType D 0..1 CodeableConcept ✕ This element is not supported
... reasonCode 0..* CodeableConcept The treatment reason(s) as text, and optionally coded
.... extension D 0..* Extension ✕ This element is not supported
.... text 1..1 string Plain text representation of the treatment reason(s)
... reasonReference D 0..* Reference(Condition | Observation) ✕ This element is not supported
... instantiatesCanonical D 0..* canonical() ✕ This element is not supported
... instantiatesUri D 0..* uri ✕ This element is not supported
... basedOn D 0..* Reference(CarePlan | MedicationRequest | ServiceRequest | ImmunizationRecommendation) ✕ This element is not supported
... groupIdentifier D 0..1 Identifier ✕ This element is not supported
... courseOfTherapyType D 0..1 CodeableConcept ✕ This element is not supported
... insurance D 0..* Reference(Coverage | ClaimResponse) ✕ This element is not supported
... note
.... id D 0..1 string ✕ This element is not supported
.... extension D 0..* Extension ✕ This element is not supported
.... author[x] D 0..1 Reference(Practitioner | Patient | RelatedPerson | Organization), string ✕ The note author is ignored, as it cannot be different than the document and/or entry's author
.... time D 0..1 dateTime ✕ This element is not supported
.... text 1..1 markdown The annotation text content (as raw text, no markdown allowed).
... Slices for dosageInstruction Content/Rules for all slices
.... dosageInstruction:baseEntry 1..1 CHEMEDEPRDosageMedicationRequest CH EMED Dosage (MedicationRequest)
.... dosageInstruction:additionalEntry 0..* CHEMEDEPRDosageSplit CH EMED Dosage Split (MedicationStatement / MedicationDispense / MedicationRequest)
... dispenseRequest
.... modifierExtension 0..0
.... initialFill D 0..1 BackboneElement ✕ This element is not supported
..... modifierExtension 0..0
..... quantity 0..1 CHEMEDEPRAmountQuantity A fixed quantity (no comparator)
.... dispenseInterval D 0..1 Duration ✕ This element is not supported
.... quantity 0..1 CHEMEDEPRAmountQuantity A fixed quantity (no comparator)
.... expectedSupplyDuration D 0..1 Duration ✕ This element is not supported
.... performer D 0..1 Reference(Organization) ✕ This element is not supported
... substitution 0..1 BackboneElement If absent, substitution is assumed allowed. If present, the value is fixed to none (not allowed).
.... modifierExtension 0..0
.... Slices for allowed[x] Content/Rules for all slices
..... allowed[x]:allowedCodeableConcept 0..1 CodeableConcept Whether substitution is allowed or not
Binding: Substance Administration Substitution Codes (required)
...... coding 0..* Coding Code defined by a terminology system
Required Pattern: At least the following
....... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-substanceAdminSubstitution
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: N
....... display 1..1 string Representation defined by the system
Fixed Value: none
.... reason D 0..1 CodeableConcept ✕ This element is not supported
... priorPrescription D 0..1 Reference(MedicationRequest) ✕ This element is not supported
... detectedIssue D 0..* Reference(DetectedIssue) ✕ This element is not supported
... eventHistory D 0..* Reference(Provenance) ✕ This element is not supported

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
MedicationRequest.substitution.allowed[x]:allowedCodeableConceptrequiredCHEMEDEprActSubstanceAdminSubstitutionCode
http://fhir.ch/ig/ch-emed-epr/ValueSet/ch-emed-epr-substance-admin-substitution-code
from this IG

Constraints

IdGradePath(s)DetailsRequirements
split-dosage-instruction-unit-must-match-base-dosage-instructionerrorMedicationRequestThe unit for doseAndRate of different dosages (split dosage) belonging to the same statement/request/dispense must match.
: (dosageInstruction.count() > 1) implies dosageInstruction.doseAndRate.dose.ofType(Quantity).code.union(dosageInstruction.doseAndRate.dose.ofType(Range).low.code).union(dosageInstruction.doseAndRate.dose.ofType(Range).high.code).count() = 1
NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationRequest C 0..* CHEMEDMedicationRequest CH EMED MedicationRequest (PRE)
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-3: 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
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
dom-6: A resource should have narrative for robust management
ch-dosage-medreq: If one dosage element is present, it should not have a sequence number. If more than one dosage element is present, the base entry has the sequence number 1.
split-dosage-instruction-unit-must-match-base-dosage-instruction: The unit for doseAndRate of different dosages (split dosage) belonging to the same statement/request/dispense must match.
... contained 1..* Resource Contained, inline Resources
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... treatmentplan 1..1 (Complex) A reference to the MedicationStatement that introduced this medication
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-treatmentplan
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... identifier 1..1 Identifier MedicationRequest Identifier
ele-1: All FHIR elements must have a @value or children
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .


ele-1: All FHIR elements must have a @value or children
.... system Σ 1..1 uri The namespace for the identifier value
ele-1: All FHIR elements must have a @value or children
Fixed Value: urn:ietf:rfc:3986
.... value Σ 1..1 string Identifier value as UUID
ele-1: All FHIR elements must have a @value or children
Example General: 123456
Example CH EMED: urn:uuid:daa8cd41-34a1-4a9c-9a6d-cd3f850142e9
... status ?!Σ 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.


ele-1: All FHIR elements must have a @value or children
Required Pattern: active
... statusReason D 0..1 CodeableConcept ✕ This element is not supported
Binding: medicationRequest Status Reason Codes (example): Identifies the reasons for a given status.


ele-1: All FHIR elements must have a @value or children
... intent ?!Σ 1..1 code proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
Binding: medicationRequest Intent (required): The kind of medication order.


ele-1: All FHIR elements must have a @value or children
Required Pattern: order
... category D 0..* CodeableConcept ✕ This element is not supported
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.


ele-1: All FHIR elements must have a @value or children
... priority ΣD 0..1 code ✕ This element is not supported
Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.


ele-1: All FHIR elements must have a @value or children
... reported[x] ΣD 0..1 ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
.... reportedBoolean boolean
.... reportedReference Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Organization)
... Slices for medication[x] Σ 1..1 Reference(CH Core Medication) Medication to be taken
Slice: Unordered, Closed by type:$this
ele-1: All FHIR elements must have a @value or children
.... medication[x]:medicationReference Σ 0..1 Reference(CH EMED EPR Medication) {c} Reference to the contained medication
ele-1: All FHIR elements must have a @value or children
... subject Σ 1..1 Reference(CH EMED EPR Patient) {r, b} Patient
ele-1: All FHIR elements must have a @value or children
.... reference ΣC 1..1 string Literal reference, Relative, internal or absolute URL
ele-1: All FHIR elements must have a @value or children
... encounter D 0..1 Reference(Encounter) ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
... authoredOn Σ 1..1 dateTime When request was initially authored
ele-1: All FHIR elements must have a @value or children
... requester Σ 1..1 Reference(CH EMED EPR PractitionerRole) The author of the medical decision, see also 'Guidance - Authorship'
ele-1: All FHIR elements must have a @value or children
.... reference ΣC 1..1 string Literal reference, Relative, internal or absolute URL
ele-1: All FHIR elements must have a @value or children
... performer D 0..1 Reference(Practitioner | PractitionerRole | Organization | Patient | Device | RelatedPerson | CareTeam) ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
... performerType ΣD 0..1 CodeableConcept ✕ This element is not supported
Binding: ProcedurePerformerRoleCodes (example): Identifies the type of individual that is desired to administer the medication.


ele-1: All FHIR elements must have a @value or children
... reasonCode 0..* CodeableConcept The treatment reason(s) as text, and optionally coded
Binding: Condition/Problem/DiagnosisCodes (example): A coded concept indicating why the medication was ordered.


ele-1: All FHIR elements must have a @value or children
.... extension D 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... text Σ 1..1 string Plain text representation of the treatment reason(s)
ele-1: All FHIR elements must have a @value or children
... reasonReference D 0..* Reference(Condition | Observation) ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
... instantiatesCanonical ΣD 0..* canonical() ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
... instantiatesUri ΣD 0..* uri ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
... basedOn ΣD 0..* Reference(CarePlan | MedicationRequest | ServiceRequest | ImmunizationRecommendation) ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
... groupIdentifier ΣD 0..1 Identifier ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
... courseOfTherapyType D 0..1 CodeableConcept ✕ This element is not supported
Binding: medicationRequest Course of Therapy Codes (example): Identifies the overall pattern of medication administratio.


ele-1: All FHIR elements must have a @value or children
... insurance D 0..* Reference(Coverage | ClaimResponse) ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
... Slices for dosageInstruction 1..* CHCoreDosage How the medication should be taken
Slice: Unordered, Closed by profile:$this
ele-1: All FHIR elements must have a @value or children
.... dosageInstruction:baseEntry C 1..1 CHEMEDEPRDosageMedicationRequest CH EMED Dosage (MedicationRequest)
ele-1: All FHIR elements must have a @value or children
ch-dosage-4: For split dosage timing event and dose/rate are required
ch-dosage-3: Patient instruction/free text dosage instruction, or timing and dose/rate has to be specified
base-dosage-text: It is a strong recommendation that the base dosage should contain the whole dosage information as narrative, including the information from split dosage elements.
.... dosageInstruction:additionalEntry 0..* CHEMEDEPRDosageSplit CH EMED Dosage Split (MedicationStatement / MedicationDispense / MedicationRequest)
ele-1: All FHIR elements must have a @value or children
... substitution 0..1 BackboneElement If absent, substitution is assumed allowed. If present, the value is fixed to none (not allowed).
ele-1: All FHIR elements must have a @value or children
.... Slices for allowed[x] 1..1 CodeableConcept Whether substitution is allowed or not
Slice: Unordered, Closed by type:$this
Binding: ActSubstanceAdminSubstitutionCode (example): Identifies the type of substitution allowed.


ele-1: All FHIR elements must have a @value or children
..... allowed[x]:allowedCodeableConcept 0..1 CodeableConcept Whether substitution is allowed or not
Binding: Substance Administration Substitution Codes (required)
ele-1: All FHIR elements must have a @value or children
...... coding Σ 0..* Coding Code defined by a terminology system
ele-1: All FHIR elements must have a @value or children

Required Pattern: At least the following
....... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-substanceAdminSubstitution
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: N
....... display 1..1 string Representation defined by the system
Fixed Value: none
.... reason D 0..1 CodeableConcept ✕ This element is not supported
Binding: SubstanceAdminSubstitutionReason (example): A coded concept describing the reason that a different medication should (or should not) be substituted from what was prescribed.


ele-1: All FHIR elements must have a @value or children
... priorPrescription D 0..1 Reference(MedicationRequest) ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
... detectedIssue D 0..* Reference(DetectedIssue) ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
... eventHistory D 0..* Reference(Provenance) ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
MedicationRequest.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
MedicationRequest.statusrequiredPattern: active
http://hl7.org/fhir/ValueSet/medicationrequest-status|4.0.1
from the FHIR Standard
MedicationRequest.statusReasonexamplemedicationRequest Status Reason Codes
http://hl7.org/fhir/ValueSet/medicationrequest-status-reason
from the FHIR Standard
MedicationRequest.intentrequiredPattern: order
http://hl7.org/fhir/ValueSet/medicationrequest-intent|4.0.1
from the FHIR Standard
MedicationRequest.categoryexamplemedicationRequest Category Codes
http://hl7.org/fhir/ValueSet/medicationrequest-category
from the FHIR Standard
MedicationRequest.priorityrequiredRequestPriority
http://hl7.org/fhir/ValueSet/request-priority|4.0.1
from the FHIR Standard
MedicationRequest.performerTypeexampleProcedurePerformerRoleCodes
http://hl7.org/fhir/ValueSet/performer-role
from the FHIR Standard
MedicationRequest.reasonCodeexampleCondition/Problem/DiagnosisCodes
http://hl7.org/fhir/ValueSet/condition-code
from the FHIR Standard
MedicationRequest.courseOfTherapyTypeexamplemedicationRequest Course of Therapy Codes
http://hl7.org/fhir/ValueSet/medicationrequest-course-of-therapy
from the FHIR Standard
MedicationRequest.substitution.allowed[x]exampleActSubstanceAdminSubstitutionCode
http://terminology.hl7.org/ValueSet/v3-ActSubstanceAdminSubstitutionCode
MedicationRequest.substitution.allowed[x]:allowedCodeableConceptrequiredCHEMEDEprActSubstanceAdminSubstitutionCode
http://fhir.ch/ig/ch-emed-epr/ValueSet/ch-emed-epr-substance-admin-substitution-code
from this IG
MedicationRequest.substitution.reasonexampleSubstanceAdminSubstitutionReason
http://terminology.hl7.org/ValueSet/v3-SubstanceAdminSubstitutionReason

Constraints

IdGradePath(s)DetailsRequirements
base-dosage-textwarningMedicationRequest.dosageInstruction:baseEntryIt is a strong recommendation that the base dosage should contain the whole dosage information as narrative, including the information from split dosage elements.
: text.exists() and text.trim().length() > 0
ch-dosage-3errorMedicationRequest.dosageInstruction:baseEntryPatient instruction/free text dosage instruction, or timing and dose/rate has to be specified
: patientInstruction.exists() or (timing.exists() and doseAndRate.exists())
ch-dosage-4errorMedicationRequest.dosageInstruction:baseEntryFor split dosage timing event and dose/rate are required
: sequence.exists() implies (timing.repeat.when.exists() and doseAndRate.dose.exists())
ch-dosage-medreqerrorMedicationRequestIf one dosage element is present, it should not have a sequence number. If more than one dosage element is present, the base entry has the sequence number 1.
: (dosageInstruction.count() > 1 implies dosageInstruction.where($this.conformsTo('http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-dosage-medicationrequest') and sequence = 1).exists()) and (dosageInstruction.count() = 1 implies dosageInstruction.single().sequence.exists().not())
dom-2errorMedicationRequestIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorMedicationRequestIf 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-4errorMedicationRequestIf 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-5errorMedicationRequestIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceMedicationRequestA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
split-dosage-instruction-unit-must-match-base-dosage-instructionerrorMedicationRequestThe unit for doseAndRate of different dosages (split dosage) belonging to the same statement/request/dispense must match.
: (dosageInstruction.count() > 1) implies dosageInstruction.doseAndRate.dose.ofType(Quantity).code.union(dosageInstruction.doseAndRate.dose.ofType(Range).low.code).union(dosageInstruction.doseAndRate.dose.ofType(Range).high.code).count() = 1
NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationRequest C 0..* CHEMEDMedicationRequest CH EMED MedicationRequest (PRE)
ch-dosage-medreq: If one dosage element is present, it should not have a sequence number. If more than one dosage element is present, the base entry has the sequence number 1.
split-dosage-instruction-unit-must-match-base-dosage-instruction: The unit for doseAndRate of different dosages (split dosage) belonging to the same statement/request/dispense must match.
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
.... id 0..1 string Unique id for inter-element referencing
.... extension D 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
.... versionId ΣD 0..1 id ✕ This element is not supported
.... lastUpdated ΣD 0..1 instant ✕ This element is not supported
.... source ΣD 0..1 uri ✕ This element is not supported
.... profile Σ 0..* canonical(StructureDefinition) Profiles this resource claims to conform to
.... security ΣD 0..* Coding ✕ This element is not supported
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.


.... tag ΣD 0..* Coding ✕ This element is not supported
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".


... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 1..* Resource Contained, inline Resources
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... treatmentplan 1..1 (Complex) A reference to the MedicationStatement that introduced this medication
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-treatmentplan
... identifier 1..1 Identifier MedicationRequest Identifier
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

.... type Σ 0..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

.... system Σ 1..1 uri The namespace for the identifier value
Fixed Value: urn:ietf:rfc:3986
.... value Σ 1..1 string Identifier value as UUID
Example General: 123456
Example CH EMED: urn:uuid:daa8cd41-34a1-4a9c-9a6d-cd3f850142e9
.... period Σ 0..1 Period Time period when id is/was valid for use
.... assigner Σ 0..1 Reference(Organization) Organization that issued id (may be just text)
... status ?!Σ 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.


Required Pattern: active
... statusReason D 0..1 CodeableConcept ✕ This element is not supported
Binding: medicationRequest Status Reason Codes (example): Identifies the reasons for a given status.

... intent ?!Σ 1..1 code proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
Binding: medicationRequest Intent (required): The kind of medication order.


Required Pattern: order
... category D 0..* CodeableConcept ✕ This element is not supported
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 ΣD 0..1 code ✕ This element is not supported
Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.

... reported[x] ΣD 0..1 ✕ This element is not supported
.... reportedBoolean boolean
.... reportedReference Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Organization)
... Slices for medication[x] Σ 1..1 Reference(CH Core Medication) Medication to be taken
Slice: Unordered, Closed by type:$this
.... medication[x]:medicationReference Σ 0..1 Reference(CH EMED EPR Medication) {c} Reference to the contained medication
... subject Σ 1..1 Reference(CH EMED EPR Patient) {r, b} Patient
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC 1..1 string Literal reference, Relative, internal or absolute URL
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
.... display Σ 0..1 string Text alternative for the resource
... encounter D 0..1 Reference(Encounter) ✕ This element is not supported
... authoredOn Σ 1..1 dateTime When request was initially authored
... requester Σ 1..1 Reference(CH EMED EPR PractitionerRole) The author of the medical decision, see also 'Guidance - Authorship'
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC 1..1 string Literal reference, Relative, internal or absolute URL
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
.... display Σ 0..1 string Text alternative for the resource
... performer D 0..1 Reference(Practitioner | PractitionerRole | Organization | Patient | Device | RelatedPerson | CareTeam) ✕ This element is not supported
... performerType ΣD 0..1 CodeableConcept ✕ This element is not supported
Binding: ProcedurePerformerRoleCodes (example): Identifies the type of individual that is desired to administer the medication.

... recorder 0..1 Reference(Practitioner | PractitionerRole) Person who entered the request
... reasonCode 0..* CodeableConcept The treatment reason(s) as text, and optionally coded
Binding: Condition/Problem/DiagnosisCodes (example): A coded concept indicating why the medication was ordered.


.... id 0..1 string Unique id for inter-element referencing
.... extension D 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
.... coding Σ 0..* Coding Code defined by a terminology system
.... text Σ 1..1 string Plain text representation of the treatment reason(s)
... reasonReference D 0..* Reference(Condition | Observation) ✕ This element is not supported
... instantiatesCanonical ΣD 0..* canonical() ✕ This element is not supported
... instantiatesUri ΣD 0..* uri ✕ This element is not supported
... basedOn ΣD 0..* Reference(CarePlan | MedicationRequest | ServiceRequest | ImmunizationRecommendation) ✕ This element is not supported
... groupIdentifier ΣD 0..1 Identifier ✕ This element is not supported
... courseOfTherapyType D 0..1 CodeableConcept ✕ This element is not supported
Binding: medicationRequest Course of Therapy Codes (example): Identifies the overall pattern of medication administratio.

... insurance D 0..* Reference(Coverage | ClaimResponse) ✕ This element is not supported
... note 0..* Annotation Information about the prescription
.... id D 0..1 string ✕ This element is not supported
.... extension D 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
.... author[x] ΣD 0..1 ✕ The note author is ignored, as it cannot be different than the document and/or entry's author
..... authorReference Reference(Practitioner | Patient | RelatedPerson | Organization)
..... authorString string
.... time ΣD 0..1 dateTime ✕ This element is not supported
.... text Σ 1..1 markdown The annotation text content (as raw text, no markdown allowed).
... Slices for dosageInstruction 1..* CHCoreDosage How the medication should be taken
Slice: Unordered, Closed by profile:$this
.... dosageInstruction:baseEntry C 1..1 CHEMEDEPRDosageMedicationRequest CH EMED Dosage (MedicationRequest)
ch-dosage-4: For split dosage timing event and dose/rate are required
ch-dosage-3: Patient instruction/free text dosage instruction, or timing and dose/rate has to be specified
base-dosage-text: It is a strong recommendation that the base dosage should contain the whole dosage information as narrative, including the information from split dosage elements.
.... dosageInstruction:additionalEntry 0..* CHEMEDEPRDosageSplit CH EMED Dosage Split (MedicationStatement / MedicationDispense / MedicationRequest)
... dispenseRequest 0..1 BackboneElement Medication supply authorization
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... initialFill D 0..1 BackboneElement ✕ This element is not supported
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... quantity C 0..1 CHEMEDEPRAmountQuantity A fixed quantity (no comparator)
qty-3: If a code for the unit is present, the system SHALL also be present
sqty-1: The comparator is not used on a SimpleQuantity
..... duration 0..1 Duration First fill duration
.... dispenseInterval D 0..1 Duration ✕ This element is not supported
.... validityPeriod 0..1 Period Period of validity of the prescription
.... numberOfRepeatsAllowed 0..1 unsignedInt Repeated supply per medication (without initial dispense)
.... quantity C 0..1 CHEMEDEPRAmountQuantity A fixed quantity (no comparator)
qty-3: If a code for the unit is present, the system SHALL also be present
sqty-1: The comparator is not used on a SimpleQuantity
.... expectedSupplyDuration D 0..1 Duration ✕ This element is not supported
.... performer D 0..1 Reference(Organization) ✕ This element is not supported
... substitution 0..1 BackboneElement If absent, substitution is assumed allowed. If present, the value is fixed to none (not allowed).
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... Slices for allowed[x] 1..1 CodeableConcept Whether substitution is allowed or not
Slice: Unordered, Closed by type:$this
Binding: ActSubstanceAdminSubstitutionCode (example): Identifies the type of substitution allowed.

..... allowed[x]:allowedCodeableConcept 0..1 CodeableConcept Whether substitution is allowed or not
Binding: Substance Administration Substitution Codes (required)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... coding Σ 0..* Coding Code defined by a terminology system

Required Pattern: At least the following
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
....... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-substanceAdminSubstitution
....... version 0..1 string Version of the system - if relevant
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: N
....... display 1..1 string Representation defined by the system
Fixed Value: none
....... userSelected 0..1 boolean If this coding was chosen directly by the user
...... text Σ 0..1 string Plain text representation of the concept
.... reason D 0..1 CodeableConcept ✕ This element is not supported
Binding: SubstanceAdminSubstitutionReason (example): A coded concept describing the reason that a different medication should (or should not) be substituted from what was prescribed.

... priorPrescription D 0..1 Reference(MedicationRequest) ✕ This element is not supported
... detectedIssue D 0..* Reference(DetectedIssue) ✕ This element is not supported
... eventHistory D 0..* Reference(Provenance) ✕ This element is not supported

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
MedicationRequest.meta.securityextensibleAll Security Labels
http://hl7.org/fhir/ValueSet/security-labels
from the FHIR Standard
MedicationRequest.meta.tagexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags
from the FHIR Standard
MedicationRequest.languagepreferredCommonLanguages
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding
MedicationRequest.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
MedicationRequest.identifier.typeextensibleIdentifier Type Codes
http://hl7.org/fhir/ValueSet/identifier-type
from the FHIR Standard
MedicationRequest.statusrequiredPattern: active
http://hl7.org/fhir/ValueSet/medicationrequest-status|4.0.1
from the FHIR Standard
MedicationRequest.statusReasonexamplemedicationRequest Status Reason Codes
http://hl7.org/fhir/ValueSet/medicationrequest-status-reason
from the FHIR Standard
MedicationRequest.intentrequiredPattern: order
http://hl7.org/fhir/ValueSet/medicationrequest-intent|4.0.1
from the FHIR Standard
MedicationRequest.categoryexamplemedicationRequest Category Codes
http://hl7.org/fhir/ValueSet/medicationrequest-category
from the FHIR Standard
MedicationRequest.priorityrequiredRequestPriority
http://hl7.org/fhir/ValueSet/request-priority|4.0.1
from the FHIR Standard
MedicationRequest.subject.typeextensibleResourceType
http://hl7.org/fhir/ValueSet/resource-types
from the FHIR Standard
MedicationRequest.requester.typeextensibleResourceType
http://hl7.org/fhir/ValueSet/resource-types
from the FHIR Standard
MedicationRequest.performerTypeexampleProcedurePerformerRoleCodes
http://hl7.org/fhir/ValueSet/performer-role
from the FHIR Standard
MedicationRequest.reasonCodeexampleCondition/Problem/DiagnosisCodes
http://hl7.org/fhir/ValueSet/condition-code
from the FHIR Standard
MedicationRequest.courseOfTherapyTypeexamplemedicationRequest Course of Therapy Codes
http://hl7.org/fhir/ValueSet/medicationrequest-course-of-therapy
from the FHIR Standard
MedicationRequest.substitution.allowed[x]exampleActSubstanceAdminSubstitutionCode
http://terminology.hl7.org/ValueSet/v3-ActSubstanceAdminSubstitutionCode
MedicationRequest.substitution.allowed[x]:allowedCodeableConceptrequiredCHEMEDEprActSubstanceAdminSubstitutionCode
http://fhir.ch/ig/ch-emed-epr/ValueSet/ch-emed-epr-substance-admin-substitution-code
from this IG
MedicationRequest.substitution.reasonexampleSubstanceAdminSubstitutionReason
http://terminology.hl7.org/ValueSet/v3-SubstanceAdminSubstitutionReason

Constraints

IdGradePath(s)DetailsRequirements
base-dosage-textwarningMedicationRequest.dosageInstruction:baseEntryIt is a strong recommendation that the base dosage should contain the whole dosage information as narrative, including the information from split dosage elements.
: text.exists() and text.trim().length() > 0
ch-dosage-3errorMedicationRequest.dosageInstruction:baseEntryPatient instruction/free text dosage instruction, or timing and dose/rate has to be specified
: patientInstruction.exists() or (timing.exists() and doseAndRate.exists())
ch-dosage-4errorMedicationRequest.dosageInstruction:baseEntryFor split dosage timing event and dose/rate are required
: sequence.exists() implies (timing.repeat.when.exists() and doseAndRate.dose.exists())
ch-dosage-medreqerrorMedicationRequestIf one dosage element is present, it should not have a sequence number. If more than one dosage element is present, the base entry has the sequence number 1.
: (dosageInstruction.count() > 1 implies dosageInstruction.where($this.conformsTo('http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-dosage-medicationrequest') and sequence = 1).exists()) and (dosageInstruction.count() = 1 implies dosageInstruction.single().sequence.exists().not())
dom-2errorMedicationRequestIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorMedicationRequestIf 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-4errorMedicationRequestIf 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-5errorMedicationRequestIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceMedicationRequestA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
qty-3errorMedicationRequest.dispenseRequest.initialFill.quantity, MedicationRequest.dispenseRequest.quantityIf a code for the unit is present, the system SHALL also be present
: code.empty() or system.exists()
split-dosage-instruction-unit-must-match-base-dosage-instructionerrorMedicationRequestThe unit for doseAndRate of different dosages (split dosage) belonging to the same statement/request/dispense must match.
: (dosageInstruction.count() > 1) implies dosageInstruction.doseAndRate.dose.ofType(Quantity).code.union(dosageInstruction.doseAndRate.dose.ofType(Range).low.code).union(dosageInstruction.doseAndRate.dose.ofType(Range).high.code).count() = 1
sqty-1errorMedicationRequest.dispenseRequest.initialFill.quantity, MedicationRequest.dispenseRequest.quantityThe comparator is not used on a SimpleQuantity
: comparator.empty()

Differential View

This structure is derived from CHEMEDMedicationRequest

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationRequest C 0..* CHEMEDMedicationRequest CH EMED MedicationRequest (PRE)
split-dosage-instruction-unit-must-match-base-dosage-instruction: The unit for doseAndRate of different dosages (split dosage) belonging to the same statement/request/dispense must match.
... meta
.... extension D 0..* Extension ✕ This element is not supported
.... versionId D 0..1 id ✕ This element is not supported
.... lastUpdated D 0..1 instant ✕ This element is not supported
.... source D 0..1 uri ✕ This element is not supported
.... security D 0..* Coding ✕ This element is not supported
.... tag D 0..* Coding ✕ This element is not supported
... implicitRules 0..0
... extension 1..* Extension Extension
... Slices for extension Content/Rules for all slices
.... extension:treatmentplan 1..1 CHEMEDExtTreatmentPlan A reference to the MedicationStatement that introduced this medication
... modifierExtension 0..0
... status 1..1 code active | on-hold | cancelled | completed | entered-in-error | stopped | draft | unknown
Required Pattern: active
... statusReason D 0..1 CodeableConcept ✕ This element is not supported
... intent 1..1 code proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
Required Pattern: order
... category D 0..* CodeableConcept ✕ This element is not supported
... priority D 0..1 code ✕ This element is not supported
... doNotPerform 0..0
... reported[x] D 0..1 boolean, Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Organization) ✕ This element is not supported
... medication[x] 1..1 Reference(CH Core Medication) Medication to be taken
... Slices for medication[x] Content/Rules for all slices
.... medication[x]:medicationReference 0..1 Reference(CH EMED EPR Medication) {c} Reference to the contained medication
... subject 1..1 Reference(CH EMED EPR Patient) {r, b} Patient
... encounter D 0..1 Reference(Encounter) ✕ This element is not supported
... supportingInformation D 0..0
... requester 1..1 Reference(CH EMED EPR PractitionerRole) The author of the medical decision, see also 'Guidance - Authorship'
... performer D 0..1 Reference(Practitioner | PractitionerRole | Organization | Patient | Device | RelatedPerson | CareTeam) ✕ This element is not supported
... performerType D 0..1 CodeableConcept ✕ This element is not supported
... reasonCode 0..* CodeableConcept The treatment reason(s) as text, and optionally coded
.... extension D 0..* Extension ✕ This element is not supported
.... text 1..1 string Plain text representation of the treatment reason(s)
... reasonReference D 0..* Reference(Condition | Observation) ✕ This element is not supported
... instantiatesCanonical D 0..* canonical() ✕ This element is not supported
... instantiatesUri D 0..* uri ✕ This element is not supported
... basedOn D 0..* Reference(CarePlan | MedicationRequest | ServiceRequest | ImmunizationRecommendation) ✕ This element is not supported
... groupIdentifier D 0..1 Identifier ✕ This element is not supported
... courseOfTherapyType D 0..1 CodeableConcept ✕ This element is not supported
... insurance D 0..* Reference(Coverage | ClaimResponse) ✕ This element is not supported
... note
.... id D 0..1 string ✕ This element is not supported
.... extension D 0..* Extension ✕ This element is not supported
.... author[x] D 0..1 Reference(Practitioner | Patient | RelatedPerson | Organization), string ✕ The note author is ignored, as it cannot be different than the document and/or entry's author
.... time D 0..1 dateTime ✕ This element is not supported
.... text 1..1 markdown The annotation text content (as raw text, no markdown allowed).
... Slices for dosageInstruction Content/Rules for all slices
.... dosageInstruction:baseEntry 1..1 CHEMEDEPRDosageMedicationRequest CH EMED Dosage (MedicationRequest)
.... dosageInstruction:additionalEntry 0..* CHEMEDEPRDosageSplit CH EMED Dosage Split (MedicationStatement / MedicationDispense / MedicationRequest)
... dispenseRequest
.... modifierExtension 0..0
.... initialFill D 0..1 BackboneElement ✕ This element is not supported
..... modifierExtension 0..0
..... quantity 0..1 CHEMEDEPRAmountQuantity A fixed quantity (no comparator)
.... dispenseInterval D 0..1 Duration ✕ This element is not supported
.... quantity 0..1 CHEMEDEPRAmountQuantity A fixed quantity (no comparator)
.... expectedSupplyDuration D 0..1 Duration ✕ This element is not supported
.... performer D 0..1 Reference(Organization) ✕ This element is not supported
... substitution 0..1 BackboneElement If absent, substitution is assumed allowed. If present, the value is fixed to none (not allowed).
.... modifierExtension 0..0
.... Slices for allowed[x] Content/Rules for all slices
..... allowed[x]:allowedCodeableConcept 0..1 CodeableConcept Whether substitution is allowed or not
Binding: Substance Administration Substitution Codes (required)
...... coding 0..* Coding Code defined by a terminology system
Required Pattern: At least the following
....... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-substanceAdminSubstitution
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: N
....... display 1..1 string Representation defined by the system
Fixed Value: none
.... reason D 0..1 CodeableConcept ✕ This element is not supported
... priorPrescription D 0..1 Reference(MedicationRequest) ✕ This element is not supported
... detectedIssue D 0..* Reference(DetectedIssue) ✕ This element is not supported
... eventHistory D 0..* Reference(Provenance) ✕ This element is not supported

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
MedicationRequest.substitution.allowed[x]:allowedCodeableConceptrequiredCHEMEDEprActSubstanceAdminSubstitutionCode
http://fhir.ch/ig/ch-emed-epr/ValueSet/ch-emed-epr-substance-admin-substitution-code
from this IG

Constraints

IdGradePath(s)DetailsRequirements
split-dosage-instruction-unit-must-match-base-dosage-instructionerrorMedicationRequestThe unit for doseAndRate of different dosages (split dosage) belonging to the same statement/request/dispense must match.
: (dosageInstruction.count() > 1) implies dosageInstruction.doseAndRate.dose.ofType(Quantity).code.union(dosageInstruction.doseAndRate.dose.ofType(Range).low.code).union(dosageInstruction.doseAndRate.dose.ofType(Range).high.code).count() = 1

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationRequest C 0..* CHEMEDMedicationRequest CH EMED MedicationRequest (PRE)
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-3: 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
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
dom-6: A resource should have narrative for robust management
ch-dosage-medreq: If one dosage element is present, it should not have a sequence number. If more than one dosage element is present, the base entry has the sequence number 1.
split-dosage-instruction-unit-must-match-base-dosage-instruction: The unit for doseAndRate of different dosages (split dosage) belonging to the same statement/request/dispense must match.
... contained 1..* Resource Contained, inline Resources
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... treatmentplan 1..1 (Complex) A reference to the MedicationStatement that introduced this medication
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-treatmentplan
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... identifier 1..1 Identifier MedicationRequest Identifier
ele-1: All FHIR elements must have a @value or children
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .


ele-1: All FHIR elements must have a @value or children
.... system Σ 1..1 uri The namespace for the identifier value
ele-1: All FHIR elements must have a @value or children
Fixed Value: urn:ietf:rfc:3986
.... value Σ 1..1 string Identifier value as UUID
ele-1: All FHIR elements must have a @value or children
Example General: 123456
Example CH EMED: urn:uuid:daa8cd41-34a1-4a9c-9a6d-cd3f850142e9
... status ?!Σ 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.


ele-1: All FHIR elements must have a @value or children
Required Pattern: active
... statusReason D 0..1 CodeableConcept ✕ This element is not supported
Binding: medicationRequest Status Reason Codes (example): Identifies the reasons for a given status.


ele-1: All FHIR elements must have a @value or children
... intent ?!Σ 1..1 code proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
Binding: medicationRequest Intent (required): The kind of medication order.


ele-1: All FHIR elements must have a @value or children
Required Pattern: order
... category D 0..* CodeableConcept ✕ This element is not supported
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.


ele-1: All FHIR elements must have a @value or children
... priority ΣD 0..1 code ✕ This element is not supported
Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.


ele-1: All FHIR elements must have a @value or children
... reported[x] ΣD 0..1 ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
.... reportedBoolean boolean
.... reportedReference Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Organization)
... Slices for medication[x] Σ 1..1 Reference(CH Core Medication) Medication to be taken
Slice: Unordered, Closed by type:$this
ele-1: All FHIR elements must have a @value or children
.... medication[x]:medicationReference Σ 0..1 Reference(CH EMED EPR Medication) {c} Reference to the contained medication
ele-1: All FHIR elements must have a @value or children
... subject Σ 1..1 Reference(CH EMED EPR Patient) {r, b} Patient
ele-1: All FHIR elements must have a @value or children
.... reference ΣC 1..1 string Literal reference, Relative, internal or absolute URL
ele-1: All FHIR elements must have a @value or children
... encounter D 0..1 Reference(Encounter) ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
... authoredOn Σ 1..1 dateTime When request was initially authored
ele-1: All FHIR elements must have a @value or children
... requester Σ 1..1 Reference(CH EMED EPR PractitionerRole) The author of the medical decision, see also 'Guidance - Authorship'
ele-1: All FHIR elements must have a @value or children
.... reference ΣC 1..1 string Literal reference, Relative, internal or absolute URL
ele-1: All FHIR elements must have a @value or children
... performer D 0..1 Reference(Practitioner | PractitionerRole | Organization | Patient | Device | RelatedPerson | CareTeam) ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
... performerType ΣD 0..1 CodeableConcept ✕ This element is not supported
Binding: ProcedurePerformerRoleCodes (example): Identifies the type of individual that is desired to administer the medication.


ele-1: All FHIR elements must have a @value or children
... reasonCode 0..* CodeableConcept The treatment reason(s) as text, and optionally coded
Binding: Condition/Problem/DiagnosisCodes (example): A coded concept indicating why the medication was ordered.


ele-1: All FHIR elements must have a @value or children
.... extension D 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... text Σ 1..1 string Plain text representation of the treatment reason(s)
ele-1: All FHIR elements must have a @value or children
... reasonReference D 0..* Reference(Condition | Observation) ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
... instantiatesCanonical ΣD 0..* canonical() ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
... instantiatesUri ΣD 0..* uri ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
... basedOn ΣD 0..* Reference(CarePlan | MedicationRequest | ServiceRequest | ImmunizationRecommendation) ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
... groupIdentifier ΣD 0..1 Identifier ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
... courseOfTherapyType D 0..1 CodeableConcept ✕ This element is not supported
Binding: medicationRequest Course of Therapy Codes (example): Identifies the overall pattern of medication administratio.


ele-1: All FHIR elements must have a @value or children
... insurance D 0..* Reference(Coverage | ClaimResponse) ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
... Slices for dosageInstruction 1..* CHCoreDosage How the medication should be taken
Slice: Unordered, Closed by profile:$this
ele-1: All FHIR elements must have a @value or children
.... dosageInstruction:baseEntry C 1..1 CHEMEDEPRDosageMedicationRequest CH EMED Dosage (MedicationRequest)
ele-1: All FHIR elements must have a @value or children
ch-dosage-4: For split dosage timing event and dose/rate are required
ch-dosage-3: Patient instruction/free text dosage instruction, or timing and dose/rate has to be specified
base-dosage-text: It is a strong recommendation that the base dosage should contain the whole dosage information as narrative, including the information from split dosage elements.
.... dosageInstruction:additionalEntry 0..* CHEMEDEPRDosageSplit CH EMED Dosage Split (MedicationStatement / MedicationDispense / MedicationRequest)
ele-1: All FHIR elements must have a @value or children
... substitution 0..1 BackboneElement If absent, substitution is assumed allowed. If present, the value is fixed to none (not allowed).
ele-1: All FHIR elements must have a @value or children
.... Slices for allowed[x] 1..1 CodeableConcept Whether substitution is allowed or not
Slice: Unordered, Closed by type:$this
Binding: ActSubstanceAdminSubstitutionCode (example): Identifies the type of substitution allowed.


ele-1: All FHIR elements must have a @value or children
..... allowed[x]:allowedCodeableConcept 0..1 CodeableConcept Whether substitution is allowed or not
Binding: Substance Administration Substitution Codes (required)
ele-1: All FHIR elements must have a @value or children
...... coding Σ 0..* Coding Code defined by a terminology system
ele-1: All FHIR elements must have a @value or children

Required Pattern: At least the following
....... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-substanceAdminSubstitution
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: N
....... display 1..1 string Representation defined by the system
Fixed Value: none
.... reason D 0..1 CodeableConcept ✕ This element is not supported
Binding: SubstanceAdminSubstitutionReason (example): A coded concept describing the reason that a different medication should (or should not) be substituted from what was prescribed.


ele-1: All FHIR elements must have a @value or children
... priorPrescription D 0..1 Reference(MedicationRequest) ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
... detectedIssue D 0..* Reference(DetectedIssue) ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
... eventHistory D 0..* Reference(Provenance) ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
MedicationRequest.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
MedicationRequest.statusrequiredPattern: active
http://hl7.org/fhir/ValueSet/medicationrequest-status|4.0.1
from the FHIR Standard
MedicationRequest.statusReasonexamplemedicationRequest Status Reason Codes
http://hl7.org/fhir/ValueSet/medicationrequest-status-reason
from the FHIR Standard
MedicationRequest.intentrequiredPattern: order
http://hl7.org/fhir/ValueSet/medicationrequest-intent|4.0.1
from the FHIR Standard
MedicationRequest.categoryexamplemedicationRequest Category Codes
http://hl7.org/fhir/ValueSet/medicationrequest-category
from the FHIR Standard
MedicationRequest.priorityrequiredRequestPriority
http://hl7.org/fhir/ValueSet/request-priority|4.0.1
from the FHIR Standard
MedicationRequest.performerTypeexampleProcedurePerformerRoleCodes
http://hl7.org/fhir/ValueSet/performer-role
from the FHIR Standard
MedicationRequest.reasonCodeexampleCondition/Problem/DiagnosisCodes
http://hl7.org/fhir/ValueSet/condition-code
from the FHIR Standard
MedicationRequest.courseOfTherapyTypeexamplemedicationRequest Course of Therapy Codes
http://hl7.org/fhir/ValueSet/medicationrequest-course-of-therapy
from the FHIR Standard
MedicationRequest.substitution.allowed[x]exampleActSubstanceAdminSubstitutionCode
http://terminology.hl7.org/ValueSet/v3-ActSubstanceAdminSubstitutionCode
MedicationRequest.substitution.allowed[x]:allowedCodeableConceptrequiredCHEMEDEprActSubstanceAdminSubstitutionCode
http://fhir.ch/ig/ch-emed-epr/ValueSet/ch-emed-epr-substance-admin-substitution-code
from this IG
MedicationRequest.substitution.reasonexampleSubstanceAdminSubstitutionReason
http://terminology.hl7.org/ValueSet/v3-SubstanceAdminSubstitutionReason

Constraints

IdGradePath(s)DetailsRequirements
base-dosage-textwarningMedicationRequest.dosageInstruction:baseEntryIt is a strong recommendation that the base dosage should contain the whole dosage information as narrative, including the information from split dosage elements.
: text.exists() and text.trim().length() > 0
ch-dosage-3errorMedicationRequest.dosageInstruction:baseEntryPatient instruction/free text dosage instruction, or timing and dose/rate has to be specified
: patientInstruction.exists() or (timing.exists() and doseAndRate.exists())
ch-dosage-4errorMedicationRequest.dosageInstruction:baseEntryFor split dosage timing event and dose/rate are required
: sequence.exists() implies (timing.repeat.when.exists() and doseAndRate.dose.exists())
ch-dosage-medreqerrorMedicationRequestIf one dosage element is present, it should not have a sequence number. If more than one dosage element is present, the base entry has the sequence number 1.
: (dosageInstruction.count() > 1 implies dosageInstruction.where($this.conformsTo('http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-dosage-medicationrequest') and sequence = 1).exists()) and (dosageInstruction.count() = 1 implies dosageInstruction.single().sequence.exists().not())
dom-2errorMedicationRequestIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorMedicationRequestIf 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-4errorMedicationRequestIf 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-5errorMedicationRequestIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceMedicationRequestA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
split-dosage-instruction-unit-must-match-base-dosage-instructionerrorMedicationRequestThe unit for doseAndRate of different dosages (split dosage) belonging to the same statement/request/dispense must match.
: (dosageInstruction.count() > 1) implies dosageInstruction.doseAndRate.dose.ofType(Quantity).code.union(dosageInstruction.doseAndRate.dose.ofType(Range).low.code).union(dosageInstruction.doseAndRate.dose.ofType(Range).high.code).count() = 1

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationRequest C 0..* CHEMEDMedicationRequest CH EMED MedicationRequest (PRE)
ch-dosage-medreq: If one dosage element is present, it should not have a sequence number. If more than one dosage element is present, the base entry has the sequence number 1.
split-dosage-instruction-unit-must-match-base-dosage-instruction: The unit for doseAndRate of different dosages (split dosage) belonging to the same statement/request/dispense must match.
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
.... id 0..1 string Unique id for inter-element referencing
.... extension D 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
.... versionId ΣD 0..1 id ✕ This element is not supported
.... lastUpdated ΣD 0..1 instant ✕ This element is not supported
.... source ΣD 0..1 uri ✕ This element is not supported
.... profile Σ 0..* canonical(StructureDefinition) Profiles this resource claims to conform to
.... security ΣD 0..* Coding ✕ This element is not supported
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.


.... tag ΣD 0..* Coding ✕ This element is not supported
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".


... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 1..* Resource Contained, inline Resources
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... treatmentplan 1..1 (Complex) A reference to the MedicationStatement that introduced this medication
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-treatmentplan
... identifier 1..1 Identifier MedicationRequest Identifier
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

.... type Σ 0..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

.... system Σ 1..1 uri The namespace for the identifier value
Fixed Value: urn:ietf:rfc:3986
.... value Σ 1..1 string Identifier value as UUID
Example General: 123456
Example CH EMED: urn:uuid:daa8cd41-34a1-4a9c-9a6d-cd3f850142e9
.... period Σ 0..1 Period Time period when id is/was valid for use
.... assigner Σ 0..1 Reference(Organization) Organization that issued id (may be just text)
... status ?!Σ 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.


Required Pattern: active
... statusReason D 0..1 CodeableConcept ✕ This element is not supported
Binding: medicationRequest Status Reason Codes (example): Identifies the reasons for a given status.

... intent ?!Σ 1..1 code proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
Binding: medicationRequest Intent (required): The kind of medication order.


Required Pattern: order
... category D 0..* CodeableConcept ✕ This element is not supported
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 ΣD 0..1 code ✕ This element is not supported
Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.

... reported[x] ΣD 0..1 ✕ This element is not supported
.... reportedBoolean boolean
.... reportedReference Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Organization)
... Slices for medication[x] Σ 1..1 Reference(CH Core Medication) Medication to be taken
Slice: Unordered, Closed by type:$this
.... medication[x]:medicationReference Σ 0..1 Reference(CH EMED EPR Medication) {c} Reference to the contained medication
... subject Σ 1..1 Reference(CH EMED EPR Patient) {r, b} Patient
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC 1..1 string Literal reference, Relative, internal or absolute URL
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
.... display Σ 0..1 string Text alternative for the resource
... encounter D 0..1 Reference(Encounter) ✕ This element is not supported
... authoredOn Σ 1..1 dateTime When request was initially authored
... requester Σ 1..1 Reference(CH EMED EPR PractitionerRole) The author of the medical decision, see also 'Guidance - Authorship'
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC 1..1 string Literal reference, Relative, internal or absolute URL
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
.... display Σ 0..1 string Text alternative for the resource
... performer D 0..1 Reference(Practitioner | PractitionerRole | Organization | Patient | Device | RelatedPerson | CareTeam) ✕ This element is not supported
... performerType ΣD 0..1 CodeableConcept ✕ This element is not supported
Binding: ProcedurePerformerRoleCodes (example): Identifies the type of individual that is desired to administer the medication.

... recorder 0..1 Reference(Practitioner | PractitionerRole) Person who entered the request
... reasonCode 0..* CodeableConcept The treatment reason(s) as text, and optionally coded
Binding: Condition/Problem/DiagnosisCodes (example): A coded concept indicating why the medication was ordered.


.... id 0..1 string Unique id for inter-element referencing
.... extension D 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
.... coding Σ 0..* Coding Code defined by a terminology system
.... text Σ 1..1 string Plain text representation of the treatment reason(s)
... reasonReference D 0..* Reference(Condition | Observation) ✕ This element is not supported
... instantiatesCanonical ΣD 0..* canonical() ✕ This element is not supported
... instantiatesUri ΣD 0..* uri ✕ This element is not supported
... basedOn ΣD 0..* Reference(CarePlan | MedicationRequest | ServiceRequest | ImmunizationRecommendation) ✕ This element is not supported
... groupIdentifier ΣD 0..1 Identifier ✕ This element is not supported
... courseOfTherapyType D 0..1 CodeableConcept ✕ This element is not supported
Binding: medicationRequest Course of Therapy Codes (example): Identifies the overall pattern of medication administratio.

... insurance D 0..* Reference(Coverage | ClaimResponse) ✕ This element is not supported
... note 0..* Annotation Information about the prescription
.... id D 0..1 string ✕ This element is not supported
.... extension D 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
.... author[x] ΣD 0..1 ✕ The note author is ignored, as it cannot be different than the document and/or entry's author
..... authorReference Reference(Practitioner | Patient | RelatedPerson | Organization)
..... authorString string
.... time ΣD 0..1 dateTime ✕ This element is not supported
.... text Σ 1..1 markdown The annotation text content (as raw text, no markdown allowed).
... Slices for dosageInstruction 1..* CHCoreDosage How the medication should be taken
Slice: Unordered, Closed by profile:$this
.... dosageInstruction:baseEntry C 1..1 CHEMEDEPRDosageMedicationRequest CH EMED Dosage (MedicationRequest)
ch-dosage-4: For split dosage timing event and dose/rate are required
ch-dosage-3: Patient instruction/free text dosage instruction, or timing and dose/rate has to be specified
base-dosage-text: It is a strong recommendation that the base dosage should contain the whole dosage information as narrative, including the information from split dosage elements.
.... dosageInstruction:additionalEntry 0..* CHEMEDEPRDosageSplit CH EMED Dosage Split (MedicationStatement / MedicationDispense / MedicationRequest)
... dispenseRequest 0..1 BackboneElement Medication supply authorization
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... initialFill D 0..1 BackboneElement ✕ This element is not supported
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... quantity C 0..1 CHEMEDEPRAmountQuantity A fixed quantity (no comparator)
qty-3: If a code for the unit is present, the system SHALL also be present
sqty-1: The comparator is not used on a SimpleQuantity
..... duration 0..1 Duration First fill duration
.... dispenseInterval D 0..1 Duration ✕ This element is not supported
.... validityPeriod 0..1 Period Period of validity of the prescription
.... numberOfRepeatsAllowed 0..1 unsignedInt Repeated supply per medication (without initial dispense)
.... quantity C 0..1 CHEMEDEPRAmountQuantity A fixed quantity (no comparator)
qty-3: If a code for the unit is present, the system SHALL also be present
sqty-1: The comparator is not used on a SimpleQuantity
.... expectedSupplyDuration D 0..1 Duration ✕ This element is not supported
.... performer D 0..1 Reference(Organization) ✕ This element is not supported
... substitution 0..1 BackboneElement If absent, substitution is assumed allowed. If present, the value is fixed to none (not allowed).
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... Slices for allowed[x] 1..1 CodeableConcept Whether substitution is allowed or not
Slice: Unordered, Closed by type:$this
Binding: ActSubstanceAdminSubstitutionCode (example): Identifies the type of substitution allowed.

..... allowed[x]:allowedCodeableConcept 0..1 CodeableConcept Whether substitution is allowed or not
Binding: Substance Administration Substitution Codes (required)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... coding Σ 0..* Coding Code defined by a terminology system

Required Pattern: At least the following
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
....... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-substanceAdminSubstitution
....... version 0..1 string Version of the system - if relevant
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: N
....... display 1..1 string Representation defined by the system
Fixed Value: none
....... userSelected 0..1 boolean If this coding was chosen directly by the user
...... text Σ 0..1 string Plain text representation of the concept
.... reason D 0..1 CodeableConcept ✕ This element is not supported
Binding: SubstanceAdminSubstitutionReason (example): A coded concept describing the reason that a different medication should (or should not) be substituted from what was prescribed.

... priorPrescription D 0..1 Reference(MedicationRequest) ✕ This element is not supported
... detectedIssue D 0..* Reference(DetectedIssue) ✕ This element is not supported
... eventHistory D 0..* Reference(Provenance) ✕ This element is not supported

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
MedicationRequest.meta.securityextensibleAll Security Labels
http://hl7.org/fhir/ValueSet/security-labels
from the FHIR Standard
MedicationRequest.meta.tagexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags
from the FHIR Standard
MedicationRequest.languagepreferredCommonLanguages
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding
MedicationRequest.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
MedicationRequest.identifier.typeextensibleIdentifier Type Codes
http://hl7.org/fhir/ValueSet/identifier-type
from the FHIR Standard
MedicationRequest.statusrequiredPattern: active
http://hl7.org/fhir/ValueSet/medicationrequest-status|4.0.1
from the FHIR Standard
MedicationRequest.statusReasonexamplemedicationRequest Status Reason Codes
http://hl7.org/fhir/ValueSet/medicationrequest-status-reason
from the FHIR Standard
MedicationRequest.intentrequiredPattern: order
http://hl7.org/fhir/ValueSet/medicationrequest-intent|4.0.1
from the FHIR Standard
MedicationRequest.categoryexamplemedicationRequest Category Codes
http://hl7.org/fhir/ValueSet/medicationrequest-category
from the FHIR Standard
MedicationRequest.priorityrequiredRequestPriority
http://hl7.org/fhir/ValueSet/request-priority|4.0.1
from the FHIR Standard
MedicationRequest.subject.typeextensibleResourceType
http://hl7.org/fhir/ValueSet/resource-types
from the FHIR Standard
MedicationRequest.requester.typeextensibleResourceType
http://hl7.org/fhir/ValueSet/resource-types
from the FHIR Standard
MedicationRequest.performerTypeexampleProcedurePerformerRoleCodes
http://hl7.org/fhir/ValueSet/performer-role
from the FHIR Standard
MedicationRequest.reasonCodeexampleCondition/Problem/DiagnosisCodes
http://hl7.org/fhir/ValueSet/condition-code
from the FHIR Standard
MedicationRequest.courseOfTherapyTypeexamplemedicationRequest Course of Therapy Codes
http://hl7.org/fhir/ValueSet/medicationrequest-course-of-therapy
from the FHIR Standard
MedicationRequest.substitution.allowed[x]exampleActSubstanceAdminSubstitutionCode
http://terminology.hl7.org/ValueSet/v3-ActSubstanceAdminSubstitutionCode
MedicationRequest.substitution.allowed[x]:allowedCodeableConceptrequiredCHEMEDEprActSubstanceAdminSubstitutionCode
http://fhir.ch/ig/ch-emed-epr/ValueSet/ch-emed-epr-substance-admin-substitution-code
from this IG
MedicationRequest.substitution.reasonexampleSubstanceAdminSubstitutionReason
http://terminology.hl7.org/ValueSet/v3-SubstanceAdminSubstitutionReason

Constraints

IdGradePath(s)DetailsRequirements
base-dosage-textwarningMedicationRequest.dosageInstruction:baseEntryIt is a strong recommendation that the base dosage should contain the whole dosage information as narrative, including the information from split dosage elements.
: text.exists() and text.trim().length() > 0
ch-dosage-3errorMedicationRequest.dosageInstruction:baseEntryPatient instruction/free text dosage instruction, or timing and dose/rate has to be specified
: patientInstruction.exists() or (timing.exists() and doseAndRate.exists())
ch-dosage-4errorMedicationRequest.dosageInstruction:baseEntryFor split dosage timing event and dose/rate are required
: sequence.exists() implies (timing.repeat.when.exists() and doseAndRate.dose.exists())
ch-dosage-medreqerrorMedicationRequestIf one dosage element is present, it should not have a sequence number. If more than one dosage element is present, the base entry has the sequence number 1.
: (dosageInstruction.count() > 1 implies dosageInstruction.where($this.conformsTo('http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-dosage-medicationrequest') and sequence = 1).exists()) and (dosageInstruction.count() = 1 implies dosageInstruction.single().sequence.exists().not())
dom-2errorMedicationRequestIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorMedicationRequestIf 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-4errorMedicationRequestIf 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-5errorMedicationRequestIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceMedicationRequestA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
qty-3errorMedicationRequest.dispenseRequest.initialFill.quantity, MedicationRequest.dispenseRequest.quantityIf a code for the unit is present, the system SHALL also be present
: code.empty() or system.exists()
split-dosage-instruction-unit-must-match-base-dosage-instructionerrorMedicationRequestThe unit for doseAndRate of different dosages (split dosage) belonging to the same statement/request/dispense must match.
: (dosageInstruction.count() > 1) implies dosageInstruction.doseAndRate.dose.ofType(Quantity).code.union(dosageInstruction.doseAndRate.dose.ofType(Range).low.code).union(dosageInstruction.doseAndRate.dose.ofType(Range).high.code).count() = 1
sqty-1errorMedicationRequest.dispenseRequest.initialFill.quantity, MedicationRequest.dispenseRequest.quantityThe comparator is not used on a SimpleQuantity
: comparator.empty()

 

Other representations of profile: CSV, Excel, Schematron