epa-medication-dispense
type: StructureDefinition
node role: treeRoot
id:
  v: epa-medication-dispense
text:
  status:
    v: extensions
  div: Generated Narrative: StructureDefinition epa-medication-dispense Name Flags Card. Type Description & Constraints<img src="[binary]" alt="doco" style="background-color: inherit"/> MedicationDispense 0..* MedicationDispense Dispensing a medication to a named patient #xD; meta S 0..1 Meta Metadata about the resource #xD; versionId S 0..1 id Version specific identifier #xD; lastUpdated S 0..1 instant When the resource version last changed #xD; Slices for extension Content/Rules for all slices #xD; extension:rxPrescriptionProcessIdentifier 0..1 RxPrescriptionProcessIdentifier Extension URL: https://gematik.de/fhir/epa-medication/StructureDefinition/rx-prescription-process-identifier-extension #xD; Slices for identifier 0..* Identifier External identifier Slice: Unordered, Open by pattern:$this #xD; identifier:RxOriginatorProcessIdentifier 0..1 RxOriginatorProcessIdentifier External identifier Required Pattern: At least the following #xD; system 1..1 uri The namespace for the identifier value Fixed Value: https://gematik.de/fhir/epa-medication/sid/rx-originator-process-identifier #xD; status S 1..1 code Status of medication dispense #xD; category S 0..1 CodeableConcept Fehlender oder nicht vorhandener Wert weist auf eine Abgabe mit Verschreibung hin. Binding: TI Medication Dispense Category ValueSet (required): Definiert den Kontext einer Abgabe: mit oder ohne ärztliche Verschreibung. #xD; medication[x] S 1..1 Reference(Medication) What medication was supplied #xD; subject S 1..1 Reference(Patient) Who the dispense is for #xD; identifier S 1..1 IdentifierKvid10(1.5.4) Logical reference, when literal reference is not known #xD; performer S 1..1 BackboneElement Who performed event #xD; actor 1..1 Reference(Organization | PractitionerRole) Individual who was performing #xD; authorizingPrescription #xD; reference S 1..1 string Literal reference, Relative, internal or absolute URL #xD; whenHandedOver S 1..1 dateTime When product was given out #xD; dosageInstruction S 0..* Dosa…
url:
  v: https://gematik.de/fhir/epa-medication/StructureDefinition/epa-medication-dispense
version:
  v: 1.2.0-ballot.2
name:
  v: EPAMedicationDispense
title:
  v: EPA MedicationDispense
status:
  v: draft
experimental:
  v: false
date:
  v: 2025-09-02
publisher:
  v: gematik GmbH
contact:
  name:
    v: gematik GmbH
  telecom:
    system:
      v: url
    value:
      v: https://www.gematik.de
  telecom:
    system:
      v: email
    value:
      v: patientteam [ at ] gematik.de
description:
  v: Defines the medication dispense resource for the Medication Service in the ePA system.
jurisdiction:
  coding:
    system:
      v: urn:iso:std:iso:3166
    code:
      v: DE
fhir version:
  v: 4.0.1
mapping:
  identity:
    v: workflow
  uri:
    v: http://hl7.org/fhir/workflow
  name:
    v: Workflow Pattern
mapping:
  identity:
    v: rim
  uri:
    v: http://hl7.org/v3
  name:
    v: RIM Mapping
mapping:
  identity:
    v: w5
  uri:
    v: http://hl7.org/fhir/fivews
  name:
    v: FiveWs Pattern Mapping
mapping:
  identity:
    v: rx-dispense-rmim
  uri:
    v: http://www.hl7.org/v3/PORX_RM020070UV
  name:
    v: V3 Pharmacy Dispense RMIM
mapping:
  identity:
    v: v2
  uri:
    v: http://hl7.org/v2
  name:
    v: HL7 v2 Mapping
kind:
  v: resource
abstract:
  v: false
type:
  v: MedicationDispense
base definition:
  v: http://hl7.org/fhir/StructureDefinition/MedicationDispense
  link: http://hl7.org/fhir/StructureDefinition/MedicationDispense
derivation:
  v: constraint
snapshot:
  extension:
    url:
      v: http://hl7.org/fhir/tools/StructureDefinition/snapshot-base-version
    value: string
      v: 4.0.1
  element:
    id:
      v: MedicationDispense
    path:
      v: MedicationDispense
    short:
      v: Dispensing a medication to a named patient
    definition:
      v: Indicates that a medication product is to be or has been dispensed for a named person/patient. This includes a description of the medication product (supply) provided and the instructions for administering the medication. The medication dispense is the result of a pharmacy system responding to a medication order.
    min:
      v: 0
    max:
      v: *
    base:
      path:
        v: MedicationDispense
      min:
        v: 0
      max:
        v: *
    constraint:
      key:
        v: dom-2
      severity:
        v: error
      human:
        v: If the resource is contained in another resource, it SHALL NOT contain nested Resources
      expression:
        v: contained.contained.empty()
      xpath:
        v: not(parent::f:contained and f:contained)
      source:
        v: http://hl7.org/fhir/StructureDefinition/MedicationDispense
        link: http://hl7.org/fhir/StructureDefinition/MedicationDispense
    constraint:
      key:
        v: dom-3
      severity:
        v: error
      human:
        v: 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
      expression:
        v: 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()
      xpath:
        v: not(exists(for $id in f:contained/*/f:id/@value return $contained[not(parent::*/descendant::f:reference/@value=concat('#', $contained/*/id/@value) or descendant::f:reference[@value='#'])]))
      source:
        v: http://hl7.org/fhir/StructureDefinition/MedicationDispense
        link: http://hl7.org/fhir/StructureDefinition/MedicationDispense
    constraint:
      key:
        v: dom-4
      severity:
        v: error
      human:
        v: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
      expression:
        v: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
      xpath:
        v: not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))
      source:
        v: http://hl7.org/fhir/StructureDefinition/MedicationDispense
        link: http://hl7.org/fhir/StructureDefinition/MedicationDispense
    constraint:
      key:
        v: dom-5
      severity:
        v: error
      human:
        v: If a resource is contained in another resource, it SHALL NOT have a security label
      expression:
        v: contained.meta.security.empty()
      xpath:
        v: not(exists(f:contained/*/f:meta/f:security))
      source:
        v: http://hl7.org/fhir/StructureDefinition/MedicationDispense
        link: http://hl7.org/fhir/StructureDefinition/MedicationDispense
    constraint:
      extension:
        value: boolean
      extension:
        value: markdown
      key:
        v: dom-6
      severity:
        v: warning
      human:
        v: A resource should have narrative for robust management
      expression:
        v: text.`div`.exists()
      xpath:
        v: exists(f:text/h:div)
      source:
        v: http://hl7.org/fhir/StructureDefinition/MedicationDispense
        link: http://hl7.org/fhir/StructureDefinition/MedicationDispense
    constraint:
      key:
        v: mdd-1
      severity:
        v: error
      human:
        v: whenHandedOver cannot be before whenPrepared
      expression:
        v: whenHandedOver.empty() or whenPrepared.empty() or whenHandedOver >= whenPrepared
      xpath:
        v: not(exists(f:whenHandedOver/@value)) or not(exists(f:whenPrepared/@value)) or ( f:whenHandedOver/@value >= f:whenPrepared/@value)

boolean
v: true

markdown
v: When a resource has no narrative, only systems that fully understand the data can display the resource to a human safely. Including a human readable representation in the resource makes for a much more robust eco-system and cheaper handling of resources by intermediary systems. Some ecosystems restrict distribution of resources to only those systems that do fully understand the resources, and as a consequence implementers may believe that the narrative is superfluous. However experience shows that such eco-systems often open up to new participants over time.

v: false

v: false

identity:
  v: rim
map:
  v: Entity. Role, or Act

identity:
  v: workflow
map:
  v: Event

identity:
  v: rim
map:
  v: Supply[moodCode=EVN]

id:
  v: MedicationDispense.id
path:
  v: MedicationDispense.id
short:
  v: Logical id of this artifact
definition:
  v: The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
comment:
  v: The only time that a resource does not have an id is when it is being submitted to the server using a create operation.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Resource.id
  min:
    v: 0
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
    value: url
      v: id
  code:
    v: http://hl7.org/fhirpath/System.String
is modifier:
  v: false
is summary:
  v: true

id:
  v: MedicationDispense.meta
path:
  v: MedicationDispense.meta
short:
  v: Metadata about the resource
definition:
  v: The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Resource.meta
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Meta
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
must support:
  v: true
is modifier:
  v: false
is summary:
  v: true

id:
  v: MedicationDispense.meta.id
path:
  v: MedicationDispense.meta.id
representation:
  v: xmlAttr
short:
  v: Unique id for inter-element referencing
definition:
  v: Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
    value: url
      v: string
  code:
    v: http://hl7.org/fhirpath/System.String
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: MedicationDispense.meta.extension
path:
  v: MedicationDispense.meta.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  rules:
    v: open
short:
  v: Additional content defined by implementations
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    link: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: MedicationDispense.meta.versionId
path:
  v: MedicationDispense.meta.versionId
short:
  v: Version specific identifier
definition:
  v: The version specific identifier, as it appears in the version portion of the URL. This value changes when the resource is created, updated, or deleted.
comment:
  v: The server assigns this value, and ignores what the client specifies, except in the case that the server is imposing version integrity on updates/deletes.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Meta.versionId
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: id
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
must support:
  v: true
is modifier:
  v: false
is summary:
  v: true

id:
  v: MedicationDispense.meta.lastUpdated
path:
  v: MedicationDispense.meta.lastUpdated
short:
  v: When the resource version last changed
definition:
  v: When the resource last changed - e.g. when the version changed.
comment:
  v: This value is always populated except when the resource is first being created. The server / resource manager sets this value; what a client provides is irrelevant. This is equivalent to the HTTP Last-Modified and SHOULD have the same value on a [read](http://hl7.org/fhir/R4/http.html#read) interaction.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Meta.lastUpdated
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: instant
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
must support:
  v: true
is modifier:
  v: false
is summary:
  v: true

id:
  v: MedicationDispense.meta.source
path:
  v: MedicationDispense.meta.source
short:
  v: Identifies where the resource comes from
definition:
  v: A uri that identifies the source system of the resource. This provides a minimal amount of [Provenance](http://hl7.org/fhir/R4/provenance.html#) information that can be used to track or differentiate the source of information in the resource. The source may identify another FHIR server, document, message, database, etc.
comment:
  v: In the provenance resource, this corresponds to Provenance.entity.what[x]. The exact use of the source (and the implied Provenance.entity.role) is left to implementer discretion. Only one nominated source is allowed; for additional provenance details, a full Provenance resource should be used. This element can be used to indicate where the current master source of a resource that has a canonical URL if the resource is no longer hosted at the canonical URL.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Meta.source
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: uri
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
is modifier:
  v: false
is summary:
  v: true

id:
  v: MedicationDispense.meta.profile
path:
  v: MedicationDispense.meta.profile
short:
  v: Profiles this resource claims to conform to
definition:
  v: A list of profiles (references to [StructureDefinition](http://hl7.org/fhir/R4/structuredefinition.html#) resources) that this resource claims to conform to. The URL is a reference to [StructureDefinition.url](http://hl7.org/fhir/R4/structuredefinition-definitions.html#StructureDefinition.url).
comment:
  v: It is up to the server and/or other infrastructure of policy to determine whether/how these claims are verified and/or updated over time. The list of profile URLs is a set.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Meta.profile
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: canonical
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/StructureDefinition
    link: http://hl7.org/fhir/StructureDefinition/StructureDefinition
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
is modifier:
  v: false
is summary:
  v: true

id:
  v: MedicationDispense.meta.security
path:
  v: MedicationDispense.meta.security
short:
  v: Security Labels applied to this resource
definition:
  v: Security labels applied to this resource. These tags connect specific resources to the overall security policy and infrastructure.
comment:
  v: The security labels can be updated without changing the stated version of the resource. The list of security labels is a set. Uniqueness is based the system/code, and version and display are ignored.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Meta.security
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Coding
condition:
  v: ele-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
is modifier:
  v: false
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
    value: string
      v: SecurityLabels
  strength:
    v: extensible
  description:
    v: Security Labels from the Healthcare Privacy and Security Classification System.
  value set:
    v: http://hl7.org/fhir/ValueSet/security-labels
    link: http://hl7.org/fhir/ValueSet/security-labels
mapping:
  identity:
    v: rim
  map:
    v: n/a
mapping:
  identity:
    v: v2
  map:
    v: CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
mapping:
  identity:
    v: rim
  map:
    v: CV
mapping:
  identity:
    v: orim
  map:
    v: fhir:Coding rdfs:subClassOf dt:CDCoding

id:
  v: MedicationDispense.meta.tag
path:
  v: MedicationDispense.meta.tag
short:
  v: Tags applied to this resource
definition:
  v: Tags applied to this resource. Tags are intended to be used to identify and relate resources to process and workflow, and applications are not required to consider the tags when interpreting the meaning of a resource.
comment:
  v: The tags can be updated without changing the stated version of the resource. The list of tags is a set. Uniqueness is based the system/code, and version and display are ignored.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Meta.tag
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Coding
condition:
  v: ele-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
is modifier:
  v: false
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
    value: string
      v: Tags
  strength:
    v: example
  description:
    v: Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".
  value set:
    v: http://hl7.org/fhir/ValueSet/common-tags
    link: http://hl7.org/fhir/ValueSet/common-tags
mapping:
  identity:
    v: rim
  map:
    v: n/a
mapping:
  identity:
    v: v2
  map:
    v: CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
mapping:
  identity:
    v: rim
  map:
    v: CV
mapping:
  identity:
    v: orim
  map:
    v: fhir:Coding rdfs:subClassOf dt:CDCoding

id:
  v: MedicationDispense.implicitRules
path:
  v: MedicationDispense.implicitRules
short:
  v: A set of rules under which this content was created
definition:
  v: A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
comment:
  v: Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Resource.implicitRules
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: uri
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
is modifier:
  v: true
is modifier reason:
  v: This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation
is summary:
  v: true

id:
  v: MedicationDispense.language
path:
  v: MedicationDispense.language
short:
  v: Language of the resource content
definition:
  v: The base language in which the resource is written.
comment:
  v: Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Resource.language
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: code
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
is modifier:
  v: false
is summary:
  v: false
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet
    value: canonical
      v: http://hl7.org/fhir/ValueSet/all-languages
      link: http://hl7.org/fhir/ValueSet/all-languages
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
    value: string
      v: Language
  strength:
    v: preferred
  description:
    v: A human language.
  value set:
    v: http://hl7.org/fhir/ValueSet/languages
    link: http://hl7.org/fhir/ValueSet/languages

id:
  v: MedicationDispense.text
path:
  v: MedicationDispense.text
short:
  v: Text summary of the resource, for human interpretation
definition:
  v: A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
comment:
  v: Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later.
alias:
  v: narrative
alias:
  v: html
alias:
  v: xhtml
alias:
  v: display
min:
  v: 0
max:
  v: 1
base:
  path:
    v: DomainResource.text
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Narrative
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: Act.text?

id:
  v: MedicationDispense.contained
path:
  v: MedicationDispense.contained
short:
  v: Contained, inline Resources
definition:
  v: These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
comment:
  v: This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.
alias:
  v: inline resources
alias:
  v: anonymous resources
alias:
  v: contained resources
min:
  v: 0
max:
  v: *
base:
  path:
    v: DomainResource.contained
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Resource
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: MedicationDispense.extension
path:
  v: MedicationDispense.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  rules:
    v: open
short:
  v: Additional content defined by implementations
definition:
  v: May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: DomainResource.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    link: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: MedicationDispense.extension:rxPrescriptionProcessIdentifier
path:
  v: MedicationDispense.extension
slice name:
  v: rxPrescriptionProcessIdentifier
short:
  v: Extension
definition:
  v: This extension is used to track medication prescription transactions between the E-Rezept-Fachdienst and the ePA. The RxPrescriptionProcessIdentifier is generated by the ePA Medication Service and consists of the PrescriptionId and the authoredOn date of the operation parameters request. It ensures consistent referencing and management of medication-related resources across different systems.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: DomainResource.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
  profile:
    v: https://gematik.de/fhir/epa-medication/StructureDefinition/rx-prescription-process-identifier-extension
    link: https://gematik.de/fhir/epa-medication/StructureDefinition/rx-prescription-process-identifier-extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    link: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: false
is summary:
  v: false

id:
  v: MedicationDispense.modifierExtension
path:
  v: MedicationDispense.modifierExtension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  rules:
    v: open
short:
  v: Extensions that cannot be ignored
definition:
  v: May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
requirements:
  v: Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: DomainResource.modifierExtension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    link: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: true
is modifier reason:
  v: Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: MedicationDispense.identifier
path:
  v: MedicationDispense.identifier
slicing:
  discriminator:
    type:
      v: pattern
    path:
      v: $this
  ordered:
    v: false
  rules:
    v: open
short:
  v: External identifier
definition:
  v: Identifiers associated with this Medication Dispense that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate. They are business identifiers assigned to this resource by the performer or other systems and remain constant as the resource is updated and propagates from server to server.
comment:
  v: This is a business identifier, not a resource identifier.
min:
  v: 0
max:
  v: *
base:
  path:
    v: MedicationDispense.identifier
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Identifier
condition:
  v: ele-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
is modifier:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a
mapping:
  identity:
    v: v2
  map:
    v: CX / EI (occasionally, more often EI maps to a resource id or a URL)
mapping:
  identity:
    v: rim
  map:
    v: II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]
mapping:
  identity:
    v: servd
  map:
    v: Identifier
mapping:
  identity:
    v: workflow
  map:
    v: Event.identifier
mapping:
  identity:
    v: w5
  map:
    v: FiveWs.identifier
mapping:
  identity:
    v: rim
  map:
    v: .id
mapping:
  identity:
    v: rx-dispense-rmim
  map:
    v: CombinedMedicationDispense.id

id:
  v: MedicationDispense.identifier:RxOriginatorProcessIdentifier
path:
  v: MedicationDispense.identifier
slice name:
  v: RxOriginatorProcessIdentifier
short:
  v: External identifier
definition:
  v: Identifiers associated with this Medication Dispense that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate. They are business identifiers assigned to this resource by the performer or other systems and remain constant as the resource is updated and propagates from server to server.
comment:
  v: This is a business identifier, not a resource identifier.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: MedicationDispense.identifier
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Identifier
  profile:
    v: https://gematik.de/fhir/epa-medication/StructureDefinition/rx-originator-process-identifier
    link: https://gematik.de/fhir/epa-medication/StructureDefinition/rx-originator-process-identifier
pattern: Identifier
  system:
    v: https://gematik.de/fhir/epa-medication/sid/rx-originator-process-identifier
condition:
  v: ele-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
is modifier:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a
mapping:
  identity:
    v: v2
  map:
    v: CX / EI (occasionally, more often EI maps to a resource id or a URL)
mapping:
  identity:
    v: rim
  map:
    v: II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]
mapping:
  identity:
    v: servd
  map:
    v: Identifier
mapping:
  identity:
    v: workflow
  map:
    v: Event.identifier
mapping:
  identity:
    v: w5
  map:
    v: FiveWs.identifier
mapping:
  identity:
    v: rim
  map:
    v: .id
mapping:
  identity:
    v: rx-dispense-rmim
  map:
    v: CombinedMedicationDispense.id

id:
  v: MedicationDispense.partOf
path:
  v: MedicationDispense.partOf
short:
  v: Event that dispense is part of
definition:
  v: The procedure that trigger the dispense.
comment:
  v: References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.
min:
  v: 0
max:
  v: *
base:
  path:
    v: MedicationDispense.partOf
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/Procedure
    link: http://hl7.org/fhir/StructureDefinition/Procedure
condition:
  v: ele-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ref-1
  severity:
    v: error
  human:
    v: SHALL have a contained resource if a local reference is provided
  expression:
    v: reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
  xpath:
    v: not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Reference
    link: http://hl7.org/fhir/StructureDefinition/Reference
is modifier:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a
mapping:
  identity:
    v: rim
  map:
    v: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
mapping:
  identity:
    v: workflow
  map:
    v: Event.partOf
mapping:
  identity:
    v: rim
  map:
    v: .outboundRelationship[typeCode=COMP]/target[classCode=PROC,moodCode=EVN]

id:
  v: MedicationDispense.status
path:
  v: MedicationDispense.status
short:
  v: Status of medication dispense
definition:
  v: A code specifying the state of the set of dispense events.
comment:
  v: This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: MedicationDispense.status
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: code
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
must support:
  v: true
is modifier:
  v: true
is modifier reason:
  v: This element is labelled as a modifier because it is a status element that contains status entered-in-error which means that the resource should not be treated as valid
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
    value: string
      v: MedicationDispenseStatus
  strength:
    v: required
  description:
    v: A coded concept specifying the state of the dispense event.
  value set:
    v: http://hl7.org/fhir/ValueSet/medicationdispense-status|4.0.1
    link: 4.0
    link: .1
mapping:
  identity:
    v: workflow
  map:
    v: Event.status
mapping:
  identity:
    v: w5
  map:
    v: FiveWs.status
mapping:
  identity:
    v: rim
  map:
    v: .statusCode
mapping:
  identity:
    v: rx-dispense-rmim
  map:
    v: CombinedMedicationDispense.SupplyEvent.statusCode

id:
  v: MedicationDispense.statusReason[x]
path:
  v: MedicationDispense.statusReason[x]
short:
  v: Why a dispense was not performed
definition:
  v: Indicates the reason why a dispense was not performed.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: MedicationDispense.statusReason[x]
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: CodeableConcept
type:
  code:
    v: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/DetectedIssue
    link: http://hl7.org/fhir/StructureDefinition/DetectedIssue
condition:
  v: ele-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
is modifier:
  v: false
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
    value: string
      v: MedicationDispenseStatusReason
  strength:
    v: example
  description:
    v: A code describing why a dispense was not performed.
  value set:
    v: http://hl7.org/fhir/ValueSet/medicationdispense-status-reason
    link: http://hl7.org/fhir/ValueSet/medicationdispense-status-reason
mapping:
  identity:
    v: rim
  map:
    v: n/a
mapping:
  identity:
    v: workflow
  map:
    v: Event.statusReason
mapping:
  identity:
    v: rim
  map:
    v: .outboundRelationship[typeCode=RSON]/target[classCode=OBS,moodCode=EVN, code="not done reason"].value

id:
  v: MedicationDispense.category
path:
  v: MedicationDispense.category
short:
  v: Fehlender oder nicht vorhandener Wert weist auf eine Abgabe mit Verschreibung hin.
definition:
  v: Indicates the type of medication dispense (for example, where the medication is expected to be consumed or administered (i.e. inpatient or outpatient)).
comment:
  v: The category can be used to include where the medication is expected to be consumed or other types of dispenses. Invariants can be used to bind to different value sets when profiling to bind.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: MedicationDispense.category
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: CodeableConcept
condition:
  v: ele-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
must support:
  v: true
is modifier:
  v: false
binding:
  strength:
    v: required
  description:
    v: Definiert den Kontext einer Abgabe: mit oder ohne ärztliche Verschreibung.
  value set:
    v: https://gematik.de/fhir/terminology/ValueSet/ti-medication-dispense-category-vs
    link: https://gematik.de/fhir/terminology/ValueSet/ti-medication-dispense-category-vs
mapping:
  identity:
    v: rim
  map:
    v: n/a
mapping:
  identity:
    v: v2
  map:
    v: CE/CNE/CWE
mapping:
  identity:
    v: rim
  map:
    v: CD
mapping:
  identity:
    v: orim
  map:
    v: fhir:CodeableConcept rdfs:subClassOf dt:CD
mapping:
  identity:
    v: rim
  map:
    v: .inboundRelationship[typeCode=COMP].source[classCode=OBS, moodCode=EVN, code="type of medication dispense"].value

id:
  v: MedicationDispense.medication[x]
path:
  v: MedicationDispense.medication[x]
short:
  v: What medication was supplied
definition:
  v: Identifies the medication being administered. This is either a link to a resource representing the details of the medication or a simple attribute carrying a code that identifies the medication from a known list of medications.
comment:
  v: If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of the medication resource is recommended. For example, if you require form or lot number, then you must reference the Medication resource.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: MedicationDispense.medication[x]
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/Medication
    link: http://hl7.org/fhir/StructureDefinition/Medication
condition:
  v: ele-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
must support:
  v: true
is modifier:
  v: false
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: n/a
mapping:
  identity:
    v: workflow
  map:
    v: Event.code
mapping:
  identity:
    v: w5
  map:
    v: FiveWs.what[x]
mapping:
  identity:
    v: v2
  map:
    v: RXD-2-Dispense/Give Code
mapping:
  identity:
    v: rim
  map:
    v: .participation[typeCode=PRD].role
mapping:
  identity:
    v: rx-dispense-rmim
  map:
    v: CombinedMedicationRequest.component1.AdministrationRequest.consumable

id:
  v: MedicationDispense.subject
path:
  v: MedicationDispense.subject
short:
  v: Who the dispense is for
definition:
  v: A link to a resource representing the person or the group to whom the medication will be given.
comment:
  v: SubstanceAdministration->subject->Patient.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: MedicationDispense.subject
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/Patient
    link: http://hl7.org/fhir/StructureDefinition/Patient
condition:
  v: ele-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ref-1
  severity:
    v: error
  human:
    v: SHALL have a contained resource if a local reference is provided
  expression:
    v: reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
  xpath:
    v: not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Reference
    link: http://hl7.org/fhir/StructureDefinition/Reference
must support:
  v: true
is modifier:
  v: false
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: n/a
mapping:
  identity:
    v: rim
  map:
    v: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
mapping:
  identity:
    v: workflow
  map:
    v: Event.subject
mapping:
  identity:
    v: w5
  map:
    v: FiveWs.subject[x]
mapping:
  identity:
    v: v2
  map:
    v: PID-3-Patient ID List
mapping:
  identity:
    v: rim
  map:
    v: .participation[typeCode=SBJ].role[classCode=PAT]
mapping:
  identity:
    v: w5
  map:
    v: FiveWs.subject

id:
  v: MedicationDispense.subject.id
path:
  v: MedicationDispense.subject.id
representation:
  v: xmlAttr
short:
  v: Unique id for inter-element referencing
definition:
  v: Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
    value: url
      v: string
  code:
    v: http://hl7.org/fhirpath/System.String
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: MedicationDispense.subject.extension
path:
  v: MedicationDispense.subject.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  rules:
    v: open
short:
  v: Additional content defined by implementations
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    link: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: MedicationDispense.subject.reference
path:
  v: MedicationDispense.subject.reference
short:
  v: Literal reference, Relative, internal or absolute URL
definition:
  v: A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.
comment:
  v: Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure "/[type]/[id]" then it should be assumed that the reference is to a FHIR RESTful server.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Reference.reference
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
condition:
  v: ref-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
is modifier:
  v: false
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: MedicationDispense.subject.type
path:
  v: MedicationDispense.subject.type
short:
  v: Type the reference refers to (e.g. "Patient")
definition:
  v: The expected type of the target of the reference. If both Reference.type and Reference.reference are populated and Reference.reference is a FHIR URL, both SHALL be consistent. The type is the Canonical URL of Resource Definition that is the type this reference refers to. References are URLs that are relative to http://hl7.org/fhir/StructureDefinition/ e.g. "Patient" is a reference to http://hl7.org/fhir/StructureDefinition/Patient. Absolute URLs are only allowed for logical models (and can only be used in references in logical models, not resources).
comment:
  v: This element is used to indicate the type of the target of the reference. This may be used which ever of the other elements are populated (or not). In some cases, the type of the target may be determined by inspection of the reference (e.g. a RESTful URL) or by resolving the target of the reference; if both the type and a reference is provided, the reference SHALL resolve to a resource of the same type as that specified.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Reference.type
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: uri
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
is modifier:
  v: false
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
    value: string
      v: FHIRResourceTypeExt
  strength:
    v: extensible
  description:
    v: Aa resource (or, for logical models, the URI of the logical model).
  value set:
    v: http://hl7.org/fhir/ValueSet/resource-types
    link: http://hl7.org/fhir/ValueSet/resource-types
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: MedicationDispense.subject.identifier
path:
  v: MedicationDispense.subject.identifier
short:
  v: Logical reference, when literal reference is not known
definition:
  v: An identifier for the target resource. This is used when there is no way to reference the other resource directly, either because the entity it represents is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.
comment:
  v: When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. When both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference Applications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it. Reference is intended to point to a structure that can potentially be expressed as a FHIR resource, though there is no need for it to exist as an actual FHIR resource instance - except in as much as an application wishes to actual find the target of the reference. The content referred to be the identifier must meet the logical constraints implied by any limitations on what resource types are permitted for the reference. For example, it would not be legitimate to send the identifier for a drug prescription if the type were Reference(Observation|DiagnosticReport). One of the use-cases for Reference.identifier is the situation where no FHIR representation exists (where the type is Reference (Any).
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Reference.identifier
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Identifier
  profile:
    v: http://fhir.de/StructureDefinition/identifier-kvid-10
    link: http://fhir.de/StructureDefinition/identifier-kvid-10
condition:
  v: ele-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
must support:
  v: true
is modifier:
  v: false
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: n/a
mapping:
  identity:
    v: v2
  map:
    v: CX / EI (occasionally, more often EI maps to a resource id or a URL)
mapping:
  identity:
    v: rim
  map:
    v: II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]
mapping:
  identity:
    v: servd
  map:
    v: Identifier
mapping:
  identity:
    v: rim
  map:
    v: .identifier

id:
  v: MedicationDispense.subject.display
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable
  value: boolean
    v: true
path:
  v: MedicationDispense.subject.display
short:
  v: Text alternative for the resource
definition:
  v: Plain text narrative that identifies the resource in addition to the resource reference.
comment:
  v: This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Reference.display
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
is modifier:
  v: false
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: MedicationDispense.context
path:
  v: MedicationDispense.context
short:
  v: Encounter / Episode associated with event
definition:
  v: The encounter or episode of care that establishes the context for this event.
comment:
  v: References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: MedicationDispense.context
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/Encounter
    link: http://hl7.org/fhir/StructureDefinition/Encounter
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/EpisodeOfCare
    link: http://hl7.org/fhir/StructureDefinition/EpisodeOfCare
condition:
  v: ele-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ref-1
  severity:
    v: error
  human:
    v: SHALL have a contained resource if a local reference is provided
  expression:
    v: reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
  xpath:
    v: not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Reference
    link: http://hl7.org/fhir/StructureDefinition/Reference
is modifier:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a
mapping:
  identity:
    v: rim
  map:
    v: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
mapping:
  identity:
    v: workflow
  map:
    v: Event.context
mapping:
  identity:
    v: rim
  map:
    v: .inboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN, code="type of encounter or episode"]

id:
  v: MedicationDispense.supportingInformation
path:
  v: MedicationDispense.supportingInformation
short:
  v: Information that supports the dispensing of the medication
definition:
  v: Additional information that supports the medication being dispensed.
comment:
  v: References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.
min:
  v: 0
max:
  v: *
base:
  path:
    v: MedicationDispense.supportingInformation
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/Resource
    link: http://hl7.org/fhir/StructureDefinition/Resource
condition:
  v: ele-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ref-1
  severity:
    v: error
  human:
    v: SHALL have a contained resource if a local reference is provided
  expression:
    v: reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
  xpath:
    v: not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Reference
    link: http://hl7.org/fhir/StructureDefinition/Reference
is modifier:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a
mapping:
  identity:
    v: rim
  map:
    v: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
mapping:
  identity:
    v: w5
  map:
    v: FiveWs.context
mapping:
  identity:
    v: rim
  map:
    v: .outboundRelationship[typeCode=PERT].target[A_SupportingClinicalStatement CMET minimal with many different choices of classCodes(ORG, ENC, PROC, SPLY, SBADM, OBS) and each of the act class codes draws from one or more of the following moodCodes (EVN, DEF, INT PRMS, RQO, PRP, APT, ARQ, GOL)]

id:
  v: MedicationDispense.performer
path:
  v: MedicationDispense.performer
short:
  v: Who performed event
definition:
  v: Indicates who or what performed the event.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: MedicationDispense.performer
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: BackboneElement
condition:
  v: ele-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
must support:
  v: true
is modifier:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a
mapping:
  identity:
    v: workflow
  map:
    v: Event.performer
mapping:
  identity:
    v: rim
  map:
    v: .participation[typeCode=PRF]

id:
  v: MedicationDispense.performer.id
path:
  v: MedicationDispense.performer.id
representation:
  v: xmlAttr
short:
  v: Unique id for inter-element referencing
definition:
  v: Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
    value: url
      v: string
  code:
    v: http://hl7.org/fhirpath/System.String
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: MedicationDispense.performer.extension
path:
  v: MedicationDispense.performer.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  rules:
    v: open
short:
  v: Additional content defined by implementations
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    link: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: MedicationDispense.performer.modifierExtension
path:
  v: MedicationDispense.performer.modifierExtension
short:
  v: Extensions that cannot be ignored even if unrecognized
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
requirements:
  v: Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).
alias:
  v: extensions
alias:
  v: user content
alias:
  v: modifiers
min:
  v: 0
max:
  v: *
base:
  path:
    v: BackboneElement.modifierExtension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    link: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: true
is modifier reason:
  v: Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: MedicationDispense.performer.function
path:
  v: MedicationDispense.performer.function
short:
  v: Who performed the dispense and what they did
definition:
  v: Distinguishes the type of performer in the dispense. For example, date enterer, packager, final checker.
comment:
  v: Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.
requirements:
  v: Allows disambiguation of the types of involvement of different performers.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: MedicationDispense.performer.function
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: CodeableConcept
condition:
  v: ele-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
is modifier:
  v: false
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
    value: string
      v: MedicationDispensePerformerFunction
  strength:
    v: example
  description:
    v: A code describing the role an individual played in dispensing a medication.
  value set:
    v: http://hl7.org/fhir/ValueSet/medicationdispense-performer-function
    link: http://hl7.org/fhir/ValueSet/medicationdispense-performer-function
mapping:
  identity:
    v: rim
  map:
    v: n/a
mapping:
  identity:
    v: v2
  map:
    v: CE/CNE/CWE
mapping:
  identity:
    v: rim
  map:
    v: CD
mapping:
  identity:
    v: orim
  map:
    v: fhir:CodeableConcept rdfs:subClassOf dt:CD
mapping:
  identity:
    v: rim
  map:
    v: participation[typeCode=PRF].functionCode

id:
  v: MedicationDispense.performer.actor
path:
  v: MedicationDispense.performer.actor
short:
  v: Individual who was performing
definition:
  v: The device, practitioner, etc. who performed the action. It should be assumed that the actor is the dispenser of the medication.
comment:
  v: References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: MedicationDispense.performer.actor
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/Organization
    link: http://hl7.org/fhir/StructureDefinition/Organization
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/PractitionerRole
    link: http://hl7.org/fhir/StructureDefinition/PractitionerRole
condition:
  v: ele-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ref-1
  severity:
    v: error
  human:
    v: SHALL have a contained resource if a local reference is provided
  expression:
    v: reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
  xpath:
    v: not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Reference
    link: http://hl7.org/fhir/StructureDefinition/Reference
is modifier:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a
mapping:
  identity:
    v: rim
  map:
    v: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
mapping:
  identity:
    v: workflow
  map:
    v: Event.performer.actor
mapping:
  identity:
    v: rim
  map:
    v: .role

id:
  v: MedicationDispense.location
path:
  v: MedicationDispense.location
short:
  v: Where the dispense occurred
definition:
  v: The principal physical location where the dispense was performed.
comment:
  v: References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: MedicationDispense.location
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/Location
    link: http://hl7.org/fhir/StructureDefinition/Location
condition:
  v: ele-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ref-1
  severity:
    v: error
  human:
    v: SHALL have a contained resource if a local reference is provided
  expression:
    v: reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
  xpath:
    v: not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Reference
    link: http://hl7.org/fhir/StructureDefinition/Reference
is modifier:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a
mapping:
  identity:
    v: rim
  map:
    v: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
mapping:
  identity:
    v: rim
  map:
    v: .participation[typeCode=LOC].role

id:
  v: MedicationDispense.authorizingPrescription
path:
  v: MedicationDispense.authorizingPrescription
short:
  v: Medication order that authorizes the dispense
definition:
  v: Indicates the medication order that is being dispensed against.
comment:
  v: Maps to basedOn in Event logical model.
min:
  v: 0
max:
  v: *
base:
  path:
    v: MedicationDispense.authorizingPrescription
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/MedicationRequest
    link: http://hl7.org/fhir/StructureDefinition/MedicationRequest
condition:
  v: ele-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ref-1
  severity:
    v: error
  human:
    v: SHALL have a contained resource if a local reference is provided
  expression:
    v: reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
  xpath:
    v: not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Reference
    link: http://hl7.org/fhir/StructureDefinition/Reference
is modifier:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a
mapping:
  identity:
    v: rim
  map:
    v: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
mapping:
  identity:
    v: workflow
  map:
    v: Event.basedOn
mapping:
  identity:
    v: v2
  map:
    v: ORC-2 Placer Order Number
mapping:
  identity:
    v: rim
  map:
    v: .outboundRelationship[typeCode=FLFS].target[moodCode=RQO]
mapping:
  identity:
    v: rx-dispense-rmim
  map:
    v: CombinedMedicationDispense.inFulfillmentOf

id:
  v: MedicationDispense.authorizingPrescription.id
path:
  v: MedicationDispense.authorizingPrescription.id
representation:
  v: xmlAttr
short:
  v: Unique id for inter-element referencing
definition:
  v: Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
    value: url
      v: string
  code:
    v: http://hl7.org/fhirpath/System.String
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: MedicationDispense.authorizingPrescription.extension
path:
  v: MedicationDispense.authorizingPrescription.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  rules:
    v: open
short:
  v: Additional content defined by implementations
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    link: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: MedicationDispense.authorizingPrescription.reference
path:
  v: MedicationDispense.authorizingPrescription.reference
short:
  v: Literal reference, Relative, internal or absolute URL
definition:
  v: A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.
comment:
  v: Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure "/[type]/[id]" then it should be assumed that the reference is to a FHIR RESTful server.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Reference.reference
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
condition:
  v: ref-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
must support:
  v: true
is modifier:
  v: false
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: MedicationDispense.authorizingPrescription.type
path:
  v: MedicationDispense.authorizingPrescription.type
short:
  v: Type the reference refers to (e.g. "Patient")
definition:
  v: The expected type of the target of the reference. If both Reference.type and Reference.reference are populated and Reference.reference is a FHIR URL, both SHALL be consistent. The type is the Canonical URL of Resource Definition that is the type this reference refers to. References are URLs that are relative to http://hl7.org/fhir/StructureDefinition/ e.g. "Patient" is a reference to http://hl7.org/fhir/StructureDefinition/Patient. Absolute URLs are only allowed for logical models (and can only be used in references in logical models, not resources).
comment:
  v: This element is used to indicate the type of the target of the reference. This may be used which ever of the other elements are populated (or not). In some cases, the type of the target may be determined by inspection of the reference (e.g. a RESTful URL) or by resolving the target of the reference; if both the type and a reference is provided, the reference SHALL resolve to a resource of the same type as that specified.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Reference.type
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: uri
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
is modifier:
  v: false
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
    value: string
      v: FHIRResourceTypeExt
  strength:
    v: extensible
  description:
    v: Aa resource (or, for logical models, the URI of the logical model).
  value set:
    v: http://hl7.org/fhir/ValueSet/resource-types
    link: http://hl7.org/fhir/ValueSet/resource-types
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: MedicationDispense.authorizingPrescription.identifier
path:
  v: MedicationDispense.authorizingPrescription.identifier
short:
  v: Logical reference, when literal reference is not known
definition:
  v: An identifier for the target resource. This is used when there is no way to reference the other resource directly, either because the entity it represents is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.
comment:
  v: When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. When both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference Applications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it. Reference is intended to point to a structure that can potentially be expressed as a FHIR resource, though there is no need for it to exist as an actual FHIR resource instance - except in as much as an application wishes to actual find the target of the reference. The content referred to be the identifier must meet the logical constraints implied by any limitations on what resource types are permitted for the reference. For example, it would not be legitimate to send the identifier for a drug prescription if the type were Reference(Observation|DiagnosticReport). One of the use-cases for Reference.identifier is the situation where no FHIR representation exists (where the type is Reference (Any).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Reference.identifier
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Identifier
condition:
  v: ele-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
is modifier:
  v: false
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: n/a
mapping:
  identity:
    v: v2
  map:
    v: CX / EI (occasionally, more often EI maps to a resource id or a URL)
mapping:
  identity:
    v: rim
  map:
    v: II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]
mapping:
  identity:
    v: servd
  map:
    v: Identifier
mapping:
  identity:
    v: rim
  map:
    v: .identifier

id:
  v: MedicationDispense.authorizingPrescription.display
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable
  value: boolean
    v: true
path:
  v: MedicationDispense.authorizingPrescription.display
short:
  v: Text alternative for the resource
definition:
  v: Plain text narrative that identifies the resource in addition to the resource reference.
comment:
  v: This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Reference.display
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
is modifier:
  v: false
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: MedicationDispense.type
path:
  v: MedicationDispense.type
short:
  v: Trial fill, partial fill, emergency fill, etc.
definition:
  v: Indicates the type of dispensing event that is performed. For example, Trial Fill, Completion of Trial, Partial Fill, Emergency Fill, Samples, etc.
comment:
  v: Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: MedicationDispense.type
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: CodeableConcept
condition:
  v: ele-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
is modifier:
  v: false
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
    value: string
      v: MedicationDispenseType
  strength:
    v: example
  description:
    v: Indicates the type of dispensing event that is performed. For example, Trial Fill, Completion of Trial, Partial Fill, Emergency Fill, Samples, etc.
  value set:
    v: http://terminology.hl7.org/ValueSet/v3-ActPharmacySupplyType
    link: http://terminology.hl7.org/ValueSet/v3-ActPharmacySupplyType
mapping:
  identity:
    v: rim
  map:
    v: n/a
mapping:
  identity:
    v: v2
  map:
    v: CE/CNE/CWE
mapping:
  identity:
    v: rim
  map:
    v: CD
mapping:
  identity:
    v: orim
  map:
    v: fhir:CodeableConcept rdfs:subClassOf dt:CD
mapping:
  identity:
    v: v2
  map:
    v: RXD-33-Dispense Type
mapping:
  identity:
    v: rim
  map:
    v: .code
mapping:
  identity:
    v: rx-dispense-rmim
  map:
    v: CombinedMedicationDispense.SupplyEvent.code

id:
  v: MedicationDispense.quantity
path:
  v: MedicationDispense.quantity
short:
  v: Amount dispensed
definition:
  v: The amount of medication that has been dispensed. Includes unit of measure.
comment:
  v: The context of use may frequently define what kind of quantity this is and therefore what kind of units can be used. The context of use may also restrict the values for the comparator.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: MedicationDispense.quantity
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Quantity
  profile:
    v: http://hl7.org/fhir/StructureDefinition/SimpleQuantity
    link: http://hl7.org/fhir/StructureDefinition/SimpleQuantity
condition:
  v: ele-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: qty-3
  severity:
    v: error
  human:
    v: If a code for the unit is present, the system SHALL also be present
  expression:
    v: code.empty() or system.exists()
  xpath:
    v: not(exists(f:code)) or exists(f:system)
  source:
    v: http://hl7.org/fhir/StructureDefinition/Quantity
    link: http://hl7.org/fhir/StructureDefinition/Quantity
constraint:
  key:
    v: sqty-1
  severity:
    v: error
  human:
    v: The comparator is not used on a SimpleQuantity
  expression:
    v: comparator.empty()
  xpath:
    v: not(exists(f:comparator))
  source:
    v: http://hl7.org/fhir/StructureDefinition/SimpleQuantity
    link: http://hl7.org/fhir/StructureDefinition/SimpleQuantity
is modifier:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a
mapping:
  identity:
    v: v2
  map:
    v: SN (see also Range) or CQ
mapping:
  identity:
    v: rim
  map:
    v: PQ, IVL<PQ>, MO, CO, depending on the values
mapping:
  identity:
    v: v2
  map:
    v: RXD-4-Actual Dispense Amount / RXD-5.1-Actual Dispense Units.code / RXD-5.3-Actual Dispense Units.name of coding system
mapping:
  identity:
    v: rim
  map:
    v: .quantity
mapping:
  identity:
    v: rx-dispense-rmim
  map:
    v: CombinedMedicationDispense.SupplyEvent.quantity

id:
  v: MedicationDispense.daysSupply
path:
  v: MedicationDispense.daysSupply
short:
  v: Amount of medication expressed as a timing amount
definition:
  v: The amount of medication expressed as a timing amount.
comment:
  v: The context of use may frequently define what kind of quantity this is and therefore what kind of units can be used. The context of use may also restrict the values for the comparator.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: MedicationDispense.daysSupply
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Quantity
  profile:
    v: http://hl7.org/fhir/StructureDefinition/SimpleQuantity
    link: http://hl7.org/fhir/StructureDefinition/SimpleQuantity
condition:
  v: ele-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: qty-3
  severity:
    v: error
  human:
    v: If a code for the unit is present, the system SHALL also be present
  expression:
    v: code.empty() or system.exists()
  xpath:
    v: not(exists(f:code)) or exists(f:system)
  source:
    v: http://hl7.org/fhir/StructureDefinition/Quantity
    link: http://hl7.org/fhir/StructureDefinition/Quantity
constraint:
  key:
    v: sqty-1
  severity:
    v: error
  human:
    v: The comparator is not used on a SimpleQuantity
  expression:
    v: comparator.empty()
  xpath:
    v: not(exists(f:comparator))
  source:
    v: http://hl7.org/fhir/StructureDefinition/SimpleQuantity
    link: http://hl7.org/fhir/StructureDefinition/SimpleQuantity
is modifier:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a
mapping:
  identity:
    v: v2
  map:
    v: SN (see also Range) or CQ
mapping:
  identity:
    v: rim
  map:
    v: PQ, IVL<PQ>, MO, CO, depending on the values
mapping:
  identity:
    v: v2
  map:
    v: TQ1.6 Timing/Quantity Segment Service Duration. Prior to v2.5, ORC.7.3 Common Order Segment / Quantity/Timing / Duration component. This is a formatted string, first character for the time unit (e.g., D=days), followed by the value. For example, “D14” represents “14 days supply” From v2.5 on, TQ1.6 Timing/Quantity Segment / Service Duration. This is a CQ data type (<Quantity (NM)> ^ <Units (CWE)>), thus for days supply, assuming the unit of measure is “days”, the numeric value is TQ1.6.1 (…|14^ For backwards compatibility, ORC.7 was permitted through v2.6. Both forms (field and segment) may be present in v2.5, v2.5.1, and v2.6
mapping:
  identity:
    v: rim
  map:
    v: effectiveUseTime

id:
  v: MedicationDispense.whenPrepared
path:
  v: MedicationDispense.whenPrepared
short:
  v: When product was packaged and reviewed
definition:
  v: The time when the dispensed product was packaged and reviewed.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: MedicationDispense.whenPrepared
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: dateTime
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
is modifier:
  v: false
is summary:
  v: true
mapping:
  identity:
    v: v2
  map:
    v: RXD-3-Date/Time Dispensed
mapping:
  identity:
    v: rim
  map:
    v: .effectiveTime[xmi:type=IVL_TS].low
mapping:
  identity:
    v: rx-dispense-rmim
  map:
    v: CombinedMedicationDispense.SupplyEvent.effectiveTime

id:
  v: MedicationDispense.whenHandedOver
path:
  v: MedicationDispense.whenHandedOver
short:
  v: When product was given out
definition:
  v: The time the dispensed product was provided to the patient or their representative.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: MedicationDispense.whenHandedOver
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: dateTime
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
must support:
  v: true
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: workflow
  map:
    v: Event.occurrence[x]
mapping:
  identity:
    v: v2
  map:
    v: RXD-3-Date/Time Dispensed
mapping:
  identity:
    v: rim
  map:
    v: .effectiveTime[xmi:type=IVL_TS].high
mapping:
  identity:
    v: rx-dispense-rmim
  map:
    v: CombinedMedicationDispense.SupplyEvent.effectiveTime

id:
  v: MedicationDispense.destination
path:
  v: MedicationDispense.destination
short:
  v: Where the medication was sent
definition:
  v: Identification of the facility/location where the medication was shipped to, as part of the dispense event.
comment:
  v: References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: MedicationDispense.destination
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/Location
    link: http://hl7.org/fhir/StructureDefinition/Location
condition:
  v: ele-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ref-1
  severity:
    v: error
  human:
    v: SHALL have a contained resource if a local reference is provided
  expression:
    v: reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
  xpath:
    v: not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Reference
    link: http://hl7.org/fhir/StructureDefinition/Reference
is modifier:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a
mapping:
  identity:
    v: rim
  map:
    v: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
mapping:
  identity:
    v: v2
  map:
    v: RXD-13 Dispense-to Location; RXD-30 Dispense to Pharmacy; RXD-31 Dispense to Pharmacy Address
mapping:
  identity:
    v: rim
  map:
    v: .participation[typeCode=DST].role
mapping:
  identity:
    v: rx-dispense-rmim
  map:
    v: CombinedMedicationDispense.SupplyEvent.destination

id:
  v: MedicationDispense.receiver
path:
  v: MedicationDispense.receiver
short:
  v: Who collected the medication
definition:
  v: Identifies the person who picked up the medication. This will usually be a patient or their caregiver, but some cases exist where it can be a healthcare professional.
comment:
  v: References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.
min:
  v: 0
max:
  v: *
base:
  path:
    v: MedicationDispense.receiver
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/Patient
    link: http://hl7.org/fhir/StructureDefinition/Patient
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/Practitioner
    link: http://hl7.org/fhir/StructureDefinition/Practitioner
condition:
  v: ele-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ref-1
  severity:
    v: error
  human:
    v: SHALL have a contained resource if a local reference is provided
  expression:
    v: reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
  xpath:
    v: not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Reference
    link: http://hl7.org/fhir/StructureDefinition/Reference
is modifier:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a
mapping:
  identity:
    v: rim
  map:
    v: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
mapping:
  identity:
    v: rim
  map:
    v: .participation[typeCode=RCV].role
mapping:
  identity:
    v: rx-dispense-rmim
  map:
    v: CombinedMedicationDispense.SupplyEvent.receiver

id:
  v: MedicationDispense.note
path:
  v: MedicationDispense.note
short:
  v: Information about the dispense
definition:
  v: Extra information about the dispense that could not be conveyed in the other attributes.
comment:
  v: For systems that do not have structured annotations, they can simply communicate a single annotation with no author or time. This element may need to be included in narrative because of the potential for modifying information. *Annotations SHOULD NOT* be used to communicate "modifying" information that could be computable. (This is a SHOULD because enforcing user behavior is nearly impossible).
min:
  v: 0
max:
  v: *
base:
  path:
    v: MedicationDispense.note
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Annotation
condition:
  v: ele-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
is modifier:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a
mapping:
  identity:
    v: v2
  map:
    v: N/A
mapping:
  identity:
    v: rim
  map:
    v: Act
mapping:
  identity:
    v: workflow
  map:
    v: Event.note
mapping:
  identity:
    v: v2
  map:
    v: RXD-9 Dispense Notes
mapping:
  identity:
    v: rim
  map:
    v: .inboundRelationship[typeCode=SUBJ]/source[classCode=ACT,moodCode=EVN]

id:
  v: MedicationDispense.dosageInstruction
path:
  v: MedicationDispense.dosageInstruction
short:
  v: Hier werden Informationen zur Dosierung angegeben.
definition:
  v: Hier werden Informationen zur Dosierung angegeben.
comment:
  v: When the dose or rate is intended to change over the entire administration period (e.g. Tapering dose prescriptions), multiple instances of dosage instructions will need to be supplied to convey the different doses/rates. The pharmacist reviews the medication order prior to dispense and updates the dosageInstruction based on the actual product being dispensed.
min:
  v: 0
max:
  v: *
base:
  path:
    v: MedicationDispense.dosageInstruction
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Dosage
  profile:
    v: http://ig.fhir.de/igs/medication/StructureDefinition/DosageDgMP
    link: http://ig.fhir.de/igs/medication/StructureDefinition/DosageDgMP
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
must support:
  v: true
is modifier:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a
mapping:
  identity:
    v: rim
  map:
    v: .outboundRelationship[typeCode=COMP].target[classCode=SBADM, moodCode=INT]

id:
  v: MedicationDispense.substitution
path:
  v: MedicationDispense.substitution
short:
  v: Whether a substitution was performed on the dispense
definition:
  v: Indicates whether or not substitution was made as part of the dispense. In some cases, substitution will be expected but does not happen, in other cases substitution is not expected but does happen. This block explains what substitution did or did not happen and why. If nothing is specified, substitution was not done.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: MedicationDispense.substitution
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: BackboneElement
condition:
  v: ele-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
must support:
  v: true
is modifier:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a
mapping:
  identity:
    v: rim
  map:
    v: .outboundRelationship[typeCode=COMP].target[classCode=SUBST, moodCode=EVN]
mapping:
  identity:
    v: rx-dispense-rmim
  map:
    v: CombinedMedicationDispense.substitutionMade

id:
  v: MedicationDispense.substitution.id
path:
  v: MedicationDispense.substitution.id
representation:
  v: xmlAttr
short:
  v: Unique id for inter-element referencing
definition:
  v: Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
    value: url
      v: string
  code:
    v: http://hl7.org/fhirpath/System.String
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: MedicationDispense.substitution.extension
path:
  v: MedicationDispense.substitution.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  rules:
    v: open
short:
  v: Additional content defined by implementations
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    link: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: MedicationDispense.substitution.modifierExtension
path:
  v: MedicationDispense.substitution.modifierExtension
short:
  v: Extensions that cannot be ignored even if unrecognized
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
requirements:
  v: Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).
alias:
  v: extensions
alias:
  v: user content
alias:
  v: modifiers
min:
  v: 0
max:
  v: *
base:
  path:
    v: BackboneElement.modifierExtension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    link: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: true
is modifier reason:
  v: Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: MedicationDispense.substitution.wasSubstituted
path:
  v: MedicationDispense.substitution.wasSubstituted
short:
  v: Whether a substitution was or was not performed on the dispense
definition:
  v: True if the dispenser dispensed a different drug or product from what was prescribed.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: MedicationDispense.substitution.wasSubstituted
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: boolean
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: .actionNegationInd

id:
  v: MedicationDispense.substitution.type
path:
  v: MedicationDispense.substitution.type
short:
  v: Code signifying whether a different drug was dispensed from what was prescribed
definition:
  v: A code signifying whether a different drug was dispensed from what was prescribed.
comment:
  v: Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: MedicationDispense.substitution.type
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: CodeableConcept
condition:
  v: ele-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
is modifier:
  v: false
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
    value: string
      v: MedicationIntendedSubstitutionType
  strength:
    v: example
  description:
    v: A coded concept describing whether a different medicinal product may be dispensed other than the product as specified exactly in the prescription.
  value set:
    v: http://terminology.hl7.org/ValueSet/v3-ActSubstanceAdminSubstitutionCode
    link: http://terminology.hl7.org/ValueSet/v3-ActSubstanceAdminSubstitutionCode
mapping:
  identity:
    v: rim
  map:
    v: n/a
mapping:
  identity:
    v: v2
  map:
    v: CE/CNE/CWE
mapping:
  identity:
    v: rim
  map:
    v: CD
mapping:
  identity:
    v: orim
  map:
    v: fhir:CodeableConcept rdfs:subClassOf dt:CD
mapping:
  identity:
    v: v2
  map:
    v: RXO-9-Allow Substitutions / RXE-9-Substitution Status
mapping:
  identity:
    v: rim
  map:
    v: .code
mapping:
  identity:
    v: rx-dispense-rmim
  map:
    v: CombinedMedicationDispense.substitutionMade.code

id:
  v: MedicationDispense.substitution.reason
path:
  v: MedicationDispense.substitution.reason
short:
  v: Why was substitution made
definition:
  v: Indicates the reason for the substitution (or lack of substitution) from what was prescribed.
comment:
  v: Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.
min:
  v: 0
max:
  v: *
base:
  path:
    v: MedicationDispense.substitution.reason
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: CodeableConcept
condition:
  v: ele-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
is modifier:
  v: false
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
    value: string
      v: MedicationIntendedSubstitutionReason
  strength:
    v: example
  description:
    v: A coded concept describing the reason that a different medication should (or should not) be substituted from what was prescribed.
  value set:
    v: http://terminology.hl7.org/ValueSet/v3-SubstanceAdminSubstitutionReason
    link: http://terminology.hl7.org/ValueSet/v3-SubstanceAdminSubstitutionReason
mapping:
  identity:
    v: rim
  map:
    v: n/a
mapping:
  identity:
    v: v2
  map:
    v: CE/CNE/CWE
mapping:
  identity:
    v: rim
  map:
    v: CD
mapping:
  identity:
    v: orim
  map:
    v: fhir:CodeableConcept rdfs:subClassOf dt:CD
mapping:
  identity:
    v: rim
  map:
    v: .reasonCode
mapping:
  identity:
    v: rx-dispense-rmim
  map:
    v: CombinedMedicationDispense.substitutionMade.reasonCode

id:
  v: MedicationDispense.substitution.responsibleParty
path:
  v: MedicationDispense.substitution.responsibleParty
short:
  v: Who is responsible for the substitution
definition:
  v: The person or organization that has primary responsibility for the substitution.
comment:
  v: References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.
min:
  v: 0
max:
  v: *
base:
  path:
    v: MedicationDispense.substitution.responsibleParty
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/Practitioner
    link: http://hl7.org/fhir/StructureDefinition/Practitioner
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/PractitionerRole
    link: http://hl7.org/fhir/StructureDefinition/PractitionerRole
condition:
  v: ele-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ref-1
  severity:
    v: error
  human:
    v: SHALL have a contained resource if a local reference is provided
  expression:
    v: reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
  xpath:
    v: not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Reference
    link: http://hl7.org/fhir/StructureDefinition/Reference
is modifier:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a
mapping:
  identity:
    v: rim
  map:
    v: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
mapping:
  identity:
    v: rim
  map:
    v: .participation[typeCode=PFM].role[classCode=ASSIGN]
mapping:
  identity:
    v: rx-dispense-rmim
  map:
    v: CombinedMedicationDispense.substitutionMade.ResponsibleParty

id:
  v: MedicationDispense.detectedIssue
path:
  v: MedicationDispense.detectedIssue
short:
  v: Clinical issue with action
definition:
  v: Indicates an actual or potential clinical issue with or between one or more active or proposed clinical actions for a patient; e.g. drug-drug interaction, duplicate therapy, dosage alert etc.
comment:
  v: This element can include a detected issue that has been identified either by a decision support system or by a clinician and may include information on the steps that were taken to address the issue.
alias:
  v: Contraindication
alias:
  v: Drug Utilization Review (DUR)
alias:
  v: Alert
min:
  v: 0
max:
  v: *
base:
  path:
    v: MedicationDispense.detectedIssue
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/DetectedIssue
    link: http://hl7.org/fhir/StructureDefinition/DetectedIssue
condition:
  v: ele-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ref-1
  severity:
    v: error
  human:
    v: SHALL have a contained resource if a local reference is provided
  expression:
    v: reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
  xpath:
    v: not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Reference
    link: http://hl7.org/fhir/StructureDefinition/Reference
is modifier:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a
mapping:
  identity:
    v: rim
  map:
    v: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
mapping:
  identity:
    v: rim
  map:
    v: .inboundRelationship[typeCode=SUBJ]/source[classCode=ALRT,moodCode=EVN].value

id:
  v: MedicationDispense.eventHistory
path:
  v: MedicationDispense.eventHistory
short:
  v: A list of relevant lifecycle events
definition:
  v: A summary of the events of interest that have occurred, such as when the dispense was verified.
comment:
  v: This might not include provenances for all versions of the request – only those deemed “relevant” or important. This SHALL NOT include the Provenance associated with this current version of the resource. (If that provenance is deemed to be a “relevant” change, it will need to be added as part of a later update. Until then, it can be queried directly as the Provenance that points to this version using _revinclude All Provenances should have some historical version of this Request as their subject.).
min:
  v: 0
max:
  v: *
base:
  path:
    v: MedicationDispense.eventHistory
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/Provenance
    link: http://hl7.org/fhir/StructureDefinition/Provenance
condition:
  v: ele-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ref-1
  severity:
    v: error
  human:
    v: SHALL have a contained resource if a local reference is provided
  expression:
    v: reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
  xpath:
    v: not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Reference
    link: http://hl7.org/fhir/StructureDefinition/Reference
is modifier:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a
mapping:
  identity:
    v: rim
  map:
    v: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
mapping:
  identity:
    v: rim
  map:
    v: .inboundRelationship(typeCode=SUBJ].source[classCode=CACT, moodCode=EVN]

element:
  id:
    v: MedicationDispense
  path:
    v: MedicationDispense
element:
  id:
    v: MedicationDispense.meta
  path:
    v: MedicationDispense.meta
  must support:
    v: true
element:
  id:
    v: MedicationDispense.meta.versionId
  path:
    v: MedicationDispense.meta.versionId
  must support:
    v: true
element:
  id:
    v: MedicationDispense.meta.lastUpdated
  path:
    v: MedicationDispense.meta.lastUpdated
  must support:
    v: true
element:
  id:
    v: MedicationDispense.extension:rxPrescriptionProcessIdentifier
  path:
    v: MedicationDispense.extension
  slice name:
    v: rxPrescriptionProcessIdentifier
  min:
    v: 0
  max:
    v: 1
  type:
    code:
      v: Extension
    profile:
      v: https://gematik.de/fhir/epa-medication/StructureDefinition/rx-prescription-process-identifier-extension
      link: https://gematik.de/fhir/epa-medication/StructureDefinition/rx-prescription-process-identifier-extension
element:
  id:
    v: MedicationDispense.identifier
  path:
    v: MedicationDispense.identifier
  slicing:
    discriminator:
      type:
        v: pattern
      path:
        v: $this
    ordered:
      v: false
    rules:
      v: open
element:
  id:
    v: MedicationDispense.identifier:RxOriginatorProcessIdentifier
  path:
    v: MedicationDispense.identifier
  slice name:
    v: RxOriginatorProcessIdentifier
  min:
    v: 0
  max:
    v: 1
  type:
    code:
      v: Identifier
    profile:
      v: https://gematik.de/fhir/epa-medication/StructureDefinition/rx-originator-process-identifier
      link: https://gematik.de/fhir/epa-medication/StructureDefinition/rx-originator-process-identifier
  pattern: Identifier
    system:
      v: https://gematik.de/fhir/epa-medication/sid/rx-originator-process-identifier
element:
  id:
    v: MedicationDispense.status
  path:
    v: MedicationDispense.status
  short:
    v: Status of medication dispense
  must support:
    v: true
element:
  id:
    v: MedicationDispense.category
  path:
    v: MedicationDispense.category
  short:
    v: Fehlender oder nicht vorhandener Wert weist auf eine Abgabe mit Verschreibung hin.
  must support:
    v: true
  binding:
    strength:
      v: required
    description:
      v: Definiert den Kontext einer Abgabe: mit oder ohne ärztliche Verschreibung.
    value set:
      v: https://gematik.de/fhir/terminology/ValueSet/ti-medication-dispense-category-vs
      link: https://gematik.de/fhir/terminology/ValueSet/ti-medication-dispense-category-vs
element:
  id:
    v: MedicationDispense.medication[x]
  path:
    v: MedicationDispense.medication[x]
  type:
    code:
      v: Reference
    target profile:
      v: http://hl7.org/fhir/StructureDefinition/Medication
      link: http://hl7.org/fhir/StructureDefinition/Medication
  must support:
    v: true
element:
  id:
    v: MedicationDispense.subject
  path:
    v: MedicationDispense.subject
  min:
    v: 1
  type:
    code:
      v: Reference
    target profile:
      v: http://hl7.org/fhir/StructureDefinition/Patient
      link: http://hl7.org/fhir/StructureDefinition/Patient
  must support:
    v: true
element:
  id:
    v: MedicationDispense.subject.identifier
  path:
    v: MedicationDispense.subject.identifier
  min:
    v: 1
  type:
    code:
      v: Identifier
    profile:
      v: http://fhir.de/StructureDefinition/identifier-kvid-10
      link: http://fhir.de/StructureDefinition/identifier-kvid-10
  must support:
    v: true
element:
  id:
    v: MedicationDispense.performer
  path:
    v: MedicationDispense.performer
  min:
    v: 1
  max:
    v: 1
  must support:
    v: true
element:
  id:
    v: MedicationDispense.performer.actor
  path:
    v: MedicationDispense.performer.actor
  type:
    code:
      v: Reference
    target profile:
      v: http://hl7.org/fhir/StructureDefinition/Organization
      link: http://hl7.org/fhir/StructureDefinition/Organization
    target profile:
      v: http://hl7.org/fhir/StructureDefinition/PractitionerRole
      link: http://hl7.org/fhir/StructureDefinition/PractitionerRole
element:
  id:
    v: MedicationDispense.authorizingPrescription.reference
  path:
    v: MedicationDispense.authorizingPrescription.reference
  min:
    v: 1
  must support:
    v: true
element:
  id:
    v: MedicationDispense.whenHandedOver
  path:
    v: MedicationDispense.whenHandedOver
  min:
    v: 1
  must support:
    v: true
element:
  id:
    v: MedicationDispense.dosageInstruction
  path:
    v: MedicationDispense.dosageInstruction
  short:
    v: Hier werden Informationen zur Dosierung angegeben.
  definition:
    v: Hier werden Informationen zur Dosierung angegeben.
  type:
    code:
      v: Dosage

v: true

id:
  v: MedicationDispense.substitution
path:
  v: MedicationDispense.substitution
must support:
  v: true