Skip to content

MedicationRequest Profile

Canonical../StructureDefinition/nexus-emr-core-medicationrequest
Statusdraft · 1.26.0
BaseMedicationRequest (constraint)
SourceFSH · JSON

Defines the Nexus EMR FHIR profile for MedicationRequest resources, based on CA-Core constraints, for aggregating prescription data from multiple EMRs.

Invariants

Every rule in force on a conforming instance. This profile rows are stated here; inherited rows come from the base resource and are listed so that a constraint named on an element is findable. Invariant keys elsewhere on this page link into this table.

Key Source Severity On Rule
nexus-note-extension-not-where-native this profile error MedicationRequest The resource-note extension is not used on a resource that has a native note element -- that element is the home
extension('../StructureDefinition/nexus-emr-resource-note').empty()
dom-2 inherited error MedicationRequest If the resource is contained in another resource, it SHALL NOT contain nested Resources
contained.contained.empty()
dom-3 inherited 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 in (%resource.descendants().reference
dom-4 inherited 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 inherited error MedicationRequest If a resource is contained in another resource, it SHALL NOT have a security label
contained.meta.security.empty()
dom-6 inherited warning MedicationRequest A resource should have narrative for robust management
text.div.exists()
ele-1 inherited error MedicationRequest.meta All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
ext-1 inherited error MedicationRequest.meta.extension Must have either extensions or value[x], not both
extension.exists() != value.exists()
tim-1 inherited error MedicationRequest.dosageInstruction.timing.repeat if there's a duration, there needs to be duration units
duration.empty() or durationUnit.exists()
tim-10 inherited error MedicationRequest.dosageInstruction.timing.repeat If there's a timeOfDay, there cannot be a when, or vice versa
timeOfDay.empty() or when.empty()
tim-2 inherited error MedicationRequest.dosageInstruction.timing.repeat if there's a period, there needs to be period units
period.empty() or periodUnit.exists()
tim-4 inherited error MedicationRequest.dosageInstruction.timing.repeat duration SHALL be a non-negative value
duration.exists() implies duration >= 0
tim-5 inherited error MedicationRequest.dosageInstruction.timing.repeat period SHALL be a non-negative value
period.exists() implies period >= 0
tim-6 inherited error MedicationRequest.dosageInstruction.timing.repeat If there's a periodMax, there must be a period
periodMax.empty() or period.exists()
tim-7 inherited error MedicationRequest.dosageInstruction.timing.repeat If there's a durationMax, there must be a duration
durationMax.empty() or duration.exists()
tim-8 inherited error MedicationRequest.dosageInstruction.timing.repeat If there's a countMax, there must be a count
countMax.empty() or count.exists()
tim-9 inherited error MedicationRequest.dosageInstruction.timing.repeat If there's an offset, there must be a when (and not C, CM, CD, CV)
offset.empty() or (when.exists() and ((when in ('C'