profile-Medication
type: StructureDefinition
node role: treeRoot
id:
  v: profile-Medication
text:
  status:
    v: extensions
  div:
    v: Generated Narrative: StructureDefinition profile-Medication Name Flags Card. Type Description & Constraints<img src="[binary]" alt="doco" style="background-color: inherit"/> Medication 0..* Medication Definition of a Medication #xD; Slices for extension 0..* Extension Extension Slice: Unordered, Open by value:url #xD; extension:identifier 0..* Identifier R5: Business identifier for this medication (new) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Medication.identifier #xD; extension:totalVolume 0..1 Quantity R5: When the specified product code does not infer a package size, this is the specific amount of drug in the product (new) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Medication.totalVolume #xD; extension:batch 0..1 (Complex) R5: Details about packaged medications (new) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Medication.batch #xD; extension:definition 0..1 Reference(Cross-version Profile for R5.MedicationKnowledge for use in FHIR STU3(0.1.0) | Basic) R5: Knowledge about this medication (new) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Medication.definition #xD; status #xD; Slices for modifierExtension 0..* Slice: Unordered, Open by value:url #xD; modifierExtension:status 0..1 ?gen-e1? [CanonicalType[http://hl7.org/fhir/StructureDefinition/artifact-status]] R5: status URL: http://hl7.org/fhir/StructureDefinition/artifact-status #xD; manufacturer #xD; Slices for extension 0..* Extension Extension Slice: Unordered, Open by value:url #xD; extension:marketingAuthorizationHolder 0..1 ?gen-e1? [CanonicalType[http://hl7.org/fhir/StructureDefinition/alternate-reference]] R5: Organization that has authorization to market medication additional types URL: http://hl7.org/fhir/StructureDefinition/alternate-reference #xD; ingredient #xD; amount #xD; Slices for extension 0..* Extension Extension Slice: Unordered, Open by value:url #xD; extension:strength 0..1 CodeableConcept, Quantity R5: strength additional types…
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/structuredefinition-wg
    l: structuredefinition-wg
  value: Code
    v: fhir
extension:
  extension:
    url:
      v: packageId
      l: packageId
    value: Id
      v: hl7.fhir.uv.xver-r5.r3
  extension:
    url:
      v: version
      l: version
    value: String
      v: 0.1.0
  url:
    v: http://hl7.org/fhir/StructureDefinition/package-source
    l: package-source
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm
    l: structuredefinition-fmm
  value: Integer
    v: 0
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom
        l: structuredefinition-conformance-derivedFrom
      value: Uri
        v: http://hl7.org/fhir/uv/xver/ImplementationGuide/hl7.fhir.uv.xver-r5.r3
        l: hl7.fhir.uv.xver-r5.r3
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status
    l: structuredefinition-standards-status
  value: Code
    v: trial-use
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom
        l: structuredefinition-conformance-derivedFrom
      value: Uri
        v: http://hl7.org/fhir/uv/xver/ImplementationGuide/hl7.fhir.uv.xver-r5.r3
        l: hl7.fhir.uv.xver-r5.r3
url:
  v: http://hl7.org/fhir/5.0/StructureDefinition/profile-Medication
  l: profile-Medication
version:
  v: 0.1.0
name:
  v: Profile_R5_Medication_R3
title:
  v: Cross-version Profile for R5.Medication for use in FHIR STU3
status:
  v: active
experimental:
  v: false
date:
  v: 2026-03-17T16:05:13.0429835-05:00
publisher:
  v: FHIR Infrastructure
contact:
  name:
    v: FHIR Infrastructure
  telecom:
    system:
      v: url
    value:
      v: http://www.hl7.org/Special/committees/fiwg
description:
  v: This cross-version profile allows R5 Medication content to be represented via FHIR STU3 Medication resources.
jurisdiction:
  coding:
    system:
      v: http://unstats.un.org/unsd/methods/m49/m49.htm
      l: m49.htm
    code:
      v: 001
    display:
      v: World
fhir version:
  v: 3.0.2
mapping:
  identity:
    v: script10.6
  uri:
    v: http://ncpdp.org/SCRIPT10_6
    l: SCRIPT10 6
  name:
    v: Mapping to NCPDP SCRIPT 10.6
mapping:
  identity:
    v: rim
  uri:
    v: http://hl7.org/v3
    l: v3
  name:
    v: RIM Mapping
mapping:
  identity:
    v: w5
  uri:
    v: http://hl7.org/fhir/w5
    l: w5
  name:
    v: W5 Mapping
mapping:
  identity:
    v: v2
  uri:
    v: http://hl7.org/v2
    l: v2
  name:
    v: HL7 v2 Mapping
kind:
  v: resource
abstract:
  v: false
type:
  v: Medication
base definition:
  v: http://hl7.org/fhir/StructureDefinition/Medication
  l: Medication
derivation:
  v: constraint
snapshot:
  element:
    id:
      v: Medication
    path:
      v: Medication
    short:
      v: Definition of a Medication
    definition:
      v: This resource is primarily used for the identification and definition of a medication. It covers the ingredients and the packaging for a medication.
    min:
      v: 0
    max:
      v: *
    base:
      path:
        v: Medication
      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/DomainResource
        l: DomainResource
    constraint:
      key:
        v: dom-1
      severity:
        v: error
      human:
        v: If the resource is contained in another resource, it SHALL NOT contain any narrative
      expression:
        v: contained.text.empty()
      xpath:
        v: not(parent::f:contained and f:text)
      source:
        v: http://hl7.org/fhir/StructureDefinition/DomainResource
        l: DomainResource
    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/DomainResource
        l: DomainResource
    constraint:
      key:
        v: dom-3

v: error

v: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource

v: contained.where(('#'+id in %resource.descendants().reference).not()).empty()

v: not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))

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

identity:
  v: script10.6
map:
  v: NewRx/MedicationPrescribed -or- RxFill/MedicationDispensed -or- RxHistoryResponse/MedicationDispensed -or- RxHistoryResponse/MedicationPrescribed

identity:
  v: rim
map:
  v: ManufacturedProduct[classCode=ADMM]

identity:
  v: w5
map:
  v: clinical.medication

id:
  v: Medication.id
path:
  v: Medication.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:
  code:
    v: id
    l: id
is summary:
  v: true

id:
  v: Medication.meta
path:
  v: Medication.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 may 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
    l: Meta
is summary:
  v: true

id:
  v: Medication.implicitRules
path:
  v: Medication.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.
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. This element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Resource.implicitRules
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: uri
    l: uri
is modifier:
  v: true
is summary:
  v: true

id:
  v: Medication.language
path:
  v: Medication.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
    l: code
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet
      l: elementdefinition-maxValueSet
    value: Reference
      l: 3.0
      l: .2
      reference:
        v: http://hl7.org/fhir/ValueSet/all-languages|3.0.2
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: Language
  strength:
    v: extensible
  description:
    v: A human language.
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/languages|3.0.2

id:
  v: Medication.text
path:
  v: Medication.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 may 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 in formation 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
    l: Narrative
condition:
  v: dom-1
mapping:
  identity:
    v: rim
  map:
    v: Act.text?

id:
  v: Medication.contained
path:
  v: Medication.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.
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
    l: Resource
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Medication.extension
path:
  v: Medication.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  ordered:
    v: false
  rules:
    v: open
short:
  v: Extension
definition:
  v: An Extension
min:
  v: 0
max:
  v: *
base:
  path:
    v: DomainResource.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension

id:
  v: Medication.extension:identifier
path:
  v: Medication.extension
slice name:
  v: identifier
short:
  v: R5: Business identifier for this medication (new)
definition:
  v: R5: `Medication.identifier` (new:Identifier)
comment:
  v: Element `Medication.identifier` has a context of Medication based on following the parent source element upwards and mapping to `Medication`. Element `Medication.identifier` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). The serial number could be included as an identifier.
min:
  v: 0
max:
  v: *
base:
  path:
    v: DomainResource.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/5.0/StructureDefinition/extension-Medication.identifier|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Medication.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() | (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: 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
    l: Extension
is modifier:
  v: false

id:
  v: Medication.extension:totalVolume
path:
  v: Medication.extension
slice name:
  v: totalVolume
short:
  v: R5: When the specified product code does not infer a package size, this is the specific amount of drug in the product (new)
definition:
  v: R5: `Medication.totalVolume` (new:Quantity)
comment:
  v: Element `Medication.totalVolume` has a context of Medication based on following the parent source element upwards and mapping to `Medication`. Element `Medication.totalVolume` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: DomainResource.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/5.0/StructureDefinition/extension-Medication.totalVolume|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Medication.totalVolume
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() | (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: 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
    l: Extension
is modifier:
  v: false

id:
  v: Medication.extension:batch
path:
  v: Medication.extension
slice name:
  v: batch
short:
  v: R5: Details about packaged medications (new)
definition:
  v: R5: `Medication.batch` (new:BackboneElement)
comment:
  v: Element `Medication.batch` has a context of Medication based on following the parent source element upwards and mapping to `Medication`. Element `Medication.batch` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: DomainResource.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/5.0/StructureDefinition/extension-Medication.batch|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Medication.batch
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() | (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: 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
    l: Extension
is modifier:
  v: false

id:
  v: Medication.extension:definition
path:
  v: Medication.extension
slice name:
  v: definition
short:
  v: R5: Knowledge about this medication (new)
definition:
  v: R5: `Medication.definition` (new:Reference(MedicationKnowledge))
comment:
  v: Element `Medication.definition` has a context of Medication based on following the parent source element upwards and mapping to `Medication`. Element `Medication.definition` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: DomainResource.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/5.0/StructureDefinition/extension-Medication.definition|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Medication.definition
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() | (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: 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
    l: Extension
is modifier:
  v: false

id:
  v: Medication.modifierExtension
path:
  v: Medication.modifierExtension
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. Usually modifier elements provide negation or qualification. In order 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.
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.modifierExtension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
is modifier:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Medication.code
path:
  v: Medication.code
short:
  v: Codes that identify this medication
definition:
  v: A code (or set of codes) that specify this medication, or a textual description if no code is available. Usage note: This could be a standard medication code such as a code from RxNorm, SNOMED CT, IDMP etc. It could also be a national or local formulary code, optionally with translations to other code systems.
comment:
  v: Depending on the context of use, the code that was actually selected by the user (prescriber, dispenser, etc.) will have the coding.userSelected set to true. As described in the coding datatype: "A coding may be marked as a "userSelected" if a user selected the particular coded value in a user interface (e.g. the user selects an item in a pick-list). If a user selected coding exists, it is the preferred choice for performing translations etc.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Medication.code
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: CodeableConcept
    l: CodeableConcept
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: MedicationFormalRepresentation
  strength:
    v: example
  description:
    v: A coded concept that defines the type of a medication
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/medication-codes|3.0.2
mapping:
  identity:
    v: script10.6
  map:
    v: coding.code = //element(*,MedicationType)/DrugCoded/ProductCode coding.system = //element(*,MedicationType)/DrugCoded/ProductCodeQualifier coding.display = //element(*,MedicationType)/DrugDescription
mapping:
  identity:
    v: v2
  map:
    v: RXO-1.1-Requested Give Code.code / RXE-2.1-Give Code.code / RXD-2.1-Dispense/Give Code.code / RXG-4.1-Give Code.code /RXA-5.1-Administered Code.code / RXC-2.1 Component Code
mapping:
  identity:
    v: rim
  map:
    v: .code
mapping:
  identity:
    v: w5
  map:
    v: class

id:
  v: Medication.status
path:
  v: Medication.status
short:
  v: active | inactive | entered-in-error
definition:
  v: A code to indicate if the medication is in active use.
comment:
  v: This status is not intended to specify if a medication is part of a formulary.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Medication.status
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: code
    l: code
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: MedicationStatus
  strength:
    v: required
  description:
    v: A coded concept defining if the medication is in active use
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/medication-status|3.0.2
mapping:
  identity:
    v: rim
  map:
    v: .statusCode

id:
  v: Medication.status.id
path:
  v: Medication.status.id
representation:
  v: xmlAttr
short:
  v: xml:id (or equivalent in JSON)
definition:
  v: unique id for the element within a resource (for internal references)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string

id:
  v: Medication.status.extension
path:
  v: Medication.status.extension
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. In order 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.
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
    l: Extension

id:
  v: Medication.status.value
path:
  v: Medication.status.value
representation:
  v: xmlAttr
short:
  v: Primitive value for code
definition:
  v: Primitive value for code
min:
  v: 0
max:
  v: 1
base:
  path:
    v: string.value
  min:
    v: 0
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-regex
      l: structuredefinition-regex
    value: String
      v: [^\s]+([\s]?[^\s]+)*
  code:
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/structuredefinition-json-type
        l: structuredefinition-json-type
      value: String
        v: string
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/structuredefinition-xml-type
        l: structuredefinition-xml-type
      value: String
        v: xsd:token
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/structuredefinition-rdf-type
        l: structuredefinition-rdf-type
      value: String
        v: xsd:token

id:
  v: Medication.isBrand
path:
  v: Medication.isBrand
short:
  v: True if a brand
definition:
  v: Set to true if the item is attributable to a specific manufacturer.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Medication.isBrand
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: boolean
    l: boolean
is summary:
  v: true
mapping:
  identity:
    v: script10.6
  map:
    v: no mapping
mapping:
  identity:
    v: rim
  map:
    v: true if .player.scopingRole[typeCode=MANU] exists
mapping:
  identity:
    v: w5
  map:
    v: class

id:
  v: Medication.isOverTheCounter
path:
  v: Medication.isOverTheCounter
short:
  v: True if medication does not require a prescription
definition:
  v: Set to true if the medication can be obtained without an order from a prescriber.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Medication.isOverTheCounter
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: boolean
    l: boolean
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: NA
mapping:
  identity:
    v: w5
  map:
    v: class

id:
  v: Medication.manufacturer
path:
  v: Medication.manufacturer
short:
  v: Manufacturer of the item
definition:
  v: Describes the details of the manufacturer of the medication product. This is not intended to represent the distributor of a medication product.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Medication.manufacturer
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Reference
    l: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/Organization
    l: Organization
is summary:
  v: true
mapping:
  identity:
    v: script10.6
  map:
    v: no mapping
mapping:
  identity:
    v: v2
  map:
    v: RXD-20-Substance Manufacturer Name / RXG-21-Substance Manufacturer Name / RXA-17-Substance Manufacturer Name
mapping:
  identity:
    v: rim
  map:
    v: .player.scopingRole[typeCode=MANU].scoper
mapping:
  identity:
    v: w5
  map:
    v: who.actor

id:
  v: Medication.manufacturer.id
path:
  v: Medication.manufacturer.id
representation:
  v: xmlAttr
short:
  v: xml:id (or equivalent in JSON)
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:
  code:
    v: string
    l: string
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Medication.manufacturer.extension
path:
  v: Medication.manufacturer.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  ordered:
    v: false
  rules:
    v: open
short:
  v: Extension
definition:
  v: An Extension
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension

id:
  v: Medication.manufacturer.extension:marketingAuthorizationHolder
path:
  v: Medication.manufacturer.extension
slice name:
  v: marketingAuthorizationHolder
short:
  v: R5: Organization that has authorization to market medication additional types
definition:
  v: R5: `Medication.marketingAuthorizationHolder` additional types from child elements (display, identifier, reference, type)
comment:
  v: Element `Medication.marketingAuthorizationHolder` is mapped to FHIR STU3 element `Medication.manufacturer` as `SourceIsBroaderThanTarget`. The mappings for `Medication.marketingAuthorizationHolder` do not cover the following types based on type expansion: display, identifier, reference, type. The standard extension `alternate-reference` has been mapped as the representation of FHIR R5 element `Medication.marketingAuthorizationHolder` with unmapped reference targets: Organization.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/StructureDefinition/alternate-reference
    l: alternate-reference

id:
  v: Medication.manufacturer.reference
path:
  v: Medication.manufacturer.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
    l: string
condition:
  v: ref-1
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Medication.manufacturer.identifier
path:
  v: Medication.manufacturer.identifier
short:
  v: Logical reference, when literal reference is not known
definition:
  v: An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity 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.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Reference.identifier
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Identifier
    l: Identifier
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: .identifier

id:
  v: Medication.manufacturer.display
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable
    l: elementdefinition-translatable
  value: Boolean
    v: true
path:
  v: Medication.manufacturer.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
    l: string
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Medication.form
path:
  v: Medication.form
short:
  v: powder | tablets | capsule +
definition:
  v: Describes the form of the item. Powder; tablets; capsule.
comment:
  v: When Medication is referenced from MedicationRequest, this is the ordered form. When Medication is referenced within MedicationDispense, this is the dispensed form. When Medication is referenced within MedicationAdministration, this is administered form.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Medication.form
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: CodeableConcept
    l: CodeableConcept
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: MedicationForm
  strength:
    v: example
  description:
    v: A coded concept defining the form of a medication
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/medication-form-codes|3.0.2
mapping:
  identity:
    v: script10.6
  map:
    v: coding.code = //element(*,DrugCodedType)/FormCode coding.system = //element(*,DrugCodedType)/FormSourceCode
mapping:
  identity:
    v: v2
  map:
    v: RXO-5-Requested Dosage Form / RXE-6-Give Dosage Form / RXD-6-Actual Dosage Form / RXG-8-Give Dosage Form / RXA-8-Administered Dosage Form
mapping:
  identity:
    v: rim
  map:
    v: .formCode

id:
  v: Medication.ingredient
path:
  v: Medication.ingredient
short:
  v: Active or inactive ingredient
definition:
  v: Identifies a particular constituent of interest in the product.
comment:
  v: The ingredients need not be a complete list. If an ingredient is not specified, this does not indicate whether an ingredient is present or absent. If an ingredient is specified it does not mean that all ingredients are specified. It is possible to specify both inactive and active ingredients.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Medication.ingredient
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: BackboneElement
    l: BackboneElement
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() | (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
mapping:
  identity:
    v: rim
  map:
    v: .scopesRole[typeCode=INGR]

id:
  v: Medication.ingredient.id
path:
  v: Medication.ingredient.id
representation:
  v: xmlAttr
short:
  v: xml:id (or equivalent in JSON)
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:
  code:
    v: string
    l: string
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Medication.ingredient.extension
path:
  v: Medication.ingredient.extension
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. In order 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.
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
    l: Extension
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Medication.ingredient.modifierExtension
path:
  v: Medication.ingredient.modifierExtension
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 element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order 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.
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
alias:
  v: modifiers
min:
  v: 0
max:
  v: *
base:
  path:
    v: BackboneElement.modifierExtension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
is modifier:
  v: true
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Medication.ingredient.item[x]
path:
  v: Medication.ingredient.item[x]
short:
  v: The product contained
definition:
  v: The actual ingredient - either a substance (simple ingredient) or another medication.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Medication.ingredient.item[x]
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: CodeableConcept
    l: CodeableConcept
type:
  code:
    v: Reference
    l: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/Substance
    l: Substance
type:
  code:
    v: Reference
    l: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/Medication
    l: Medication
mapping:
  identity:
    v: script10.6
  map:
    v: coding.code = //element(*,MedicationType)/DrugCoded/ProductCode coding.system = //element(*,MedicationType)/DrugCoded/ProductCodeQualifier coding.display = //element(*,MedicationType)/DrugDescription
mapping:
  identity:
    v: v2
  map:
    v: RXC-2-Component Code if medication: RXO-1-Requested Give Code / RXE-2-Give Code / RXD-2-Dispense/Give Code / RXG-4-Give Code / RXA-5-Administered Code
mapping:
  identity:
    v: rim
  map:
    v: .player

id:
  v: Medication.ingredient.isActive
path:
  v: Medication.ingredient.isActive
short:
  v: Active ingredient indicator
definition:
  v: Indication of whether this ingredient affects the therapeutic action of the drug.
requirements:
  v: True indicates that the ingredient affects the therapeutic action of the drug (i.e. active). False indicates that the ingredient does not affect the therapeutic action of the drug (i.e. inactive).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Medication.ingredient.isActive
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: boolean
    l: boolean
mapping:
  identity:
    v: rim
  map:
    v: NA

id:
  v: Medication.ingredient.amount
path:
  v: Medication.ingredient.amount
short:
  v: Quantity of ingredient present
definition:
  v: Specifies how many (or how much) of the items there are in this Medication. For example, 250 mg per tablet. This is expressed as a ratio where the numerator is 250mg and the denominator is 1 tablet.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Medication.ingredient.amount
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Ratio
    l: Ratio
mapping:
  identity:
    v: script10.6
  map:
    v: //element(*,DrugCodedType)/Strength
mapping:
  identity:
    v: v2
  map:
    v: RXC-3-Component Amount & RXC-4-Component Units if medication: RXO-2-Requested Give Amount - Minimum & RXO-4-Requested Give Units / RXO-3-Requested Give Amount - Maximum & RXO-4-Requested Give Units / RXO-11-Requested Dispense Amount & RXO-12-Requested Dispense Units / RXE-3-Give Amount - Minimum & RXE-5-Give Units / RXE-4-Give Amount - Maximum & RXE-5-Give Units / RXE-10-Dispense Amount & RXE-10-Dispense Units
mapping:
  identity:
    v: rim
  map:
    v: .quantity

id:
  v: Medication.ingredient.amount.id
path:
  v: Medication.ingredient.amount.id
representation:
  v: xmlAttr
short:
  v: xml:id (or equivalent in JSON)
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:
  code:
    v: string
    l: string
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Medication.ingredient.amount.extension
path:
  v: Medication.ingredient.amount.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  ordered:
    v: false
  rules:
    v: open
short:
  v: Extension
definition:
  v: An Extension
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension

id:
  v: Medication.ingredient.amount.extension:strength
path:
  v: Medication.ingredient.amount.extension
slice name:
  v: strength
short:
  v: R5: strength additional types
definition:
  v: R5: `Medication.ingredient.strength[x]` additional types (CodeableConcept, Quantity)
comment:
  v: Element `Medication.ingredient.strength[x]` is mapped to FHIR STU3 element `Medication.ingredient.amount` as `SourceIsBroaderThanTarget`. The mappings for `Medication.ingredient.strength[x]` do not cover the following types: CodeableConcept, Quantity.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/5.0/StructureDefinition/extension-Medication.ingredient.strength|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Medication.ingredient.strength

id:
  v: Medication.ingredient.amount.numerator
path:
  v: Medication.ingredient.amount.numerator
short:
  v: Numerator value
definition:
  v: The value of the numerator.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Ratio.numerator
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Quantity
    l: Quantity
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: .numerator

id:
  v: Medication.ingredient.amount.denominator
path:
  v: Medication.ingredient.amount.denominator
short:
  v: Denominator value
definition:
  v: The value of the denominator.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Ratio.denominator
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Quantity
    l: Quantity
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: .denominator

id:
  v: Medication.package
path:
  v: Medication.package
short:
  v: Details about packaged medications
definition:
  v: Information that only applies to packages (not products).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Medication.package
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: BackboneElement
    l: BackboneElement
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() | (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
mapping:
  identity:
    v: script10.6
  map:
    v: no mapping
mapping:
  identity:
    v: rim
  map:
    v: .player[classCode=CONT]

id:
  v: Medication.package.id
path:
  v: Medication.package.id
representation:
  v: xmlAttr
short:
  v: xml:id (or equivalent in JSON)
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:
  code:
    v: string
    l: string
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Medication.package.extension
path:
  v: Medication.package.extension
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. In order 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.
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
    l: Extension
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Medication.package.modifierExtension
path:
  v: Medication.package.modifierExtension
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 element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order 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.
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
alias:
  v: modifiers
min:
  v: 0
max:
  v: *
base:
  path:
    v: BackboneElement.modifierExtension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
is modifier:
  v: true
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Medication.package.container
path:
  v: Medication.package.container
short:
  v: E.g. box, vial, blister-pack
definition:
  v: The kind of container that this package comes as.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Medication.package.container
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: CodeableConcept
    l: CodeableConcept
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: MedicationContainer
  strength:
    v: example
  description:
    v: A coded concept defining the kind of container a medication package is packaged in
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/medication-package-form|3.0.2
mapping:
  identity:
    v: script10.6
  map:
    v: no mapping
mapping:
  identity:
    v: rim
  map:
    v: .code

id:
  v: Medication.package.content
path:
  v: Medication.package.content
short:
  v: What is in the package
definition:
  v: A set of components that go to make up the described item.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Medication.package.content
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: BackboneElement
    l: BackboneElement
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() | (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
mapping:
  identity:
    v: script10.6
  map:
    v: no mapping
mapping:
  identity:
    v: rim
  map:
    v: .scopesRole[typeCode=CONT]

id:
  v: Medication.package.content.id
path:
  v: Medication.package.content.id
representation:
  v: xmlAttr
short:
  v: xml:id (or equivalent in JSON)
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:
  code:
    v: string
    l: string
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Medication.package.content.extension
path:
  v: Medication.package.content.extension
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. In order 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.
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
    l: Extension
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Medication.package.content.modifierExtension
path:
  v: Medication.package.content.modifierExtension
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 element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order 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.
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
alias:
  v: modifiers
min:
  v: 0
max:
  v: *
base:
  path:
    v: BackboneElement.modifierExtension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
is modifier:
  v: true
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Medication.package.content.item[x]
path:
  v: Medication.package.content.item[x]
short:
  v: The item in the package
definition:
  v: Identifies one of the items in the package.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Medication.package.content.item[x]
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: CodeableConcept
    l: CodeableConcept
type:
  code:
    v: Reference
    l: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/Medication
    l: Medication
mapping:
  identity:
    v: script10.6
  map:
    v: no mapping
mapping:
  identity:
    v: rim
  map:
    v: .player

id:
  v: Medication.package.content.amount
path:
  v: Medication.package.content.amount
short:
  v: Quantity present in the package
definition:
  v: The amount of the product that is in the package.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Medication.package.content.amount
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Quantity
    l: Quantity
  profile:
    v: http://hl7.org/fhir/StructureDefinition/SimpleQuantity
    l: SimpleQuantity
mapping:
  identity:
    v: script10.6
  map:
    v: no mapping
mapping:
  identity:
    v: rim
  map:
    v: .quantity

id:
  v: Medication.package.batch
path:
  v: Medication.package.batch
short:
  v: Identifies a single production run
definition:
  v: Information about a group of medication produced or packaged from one production run.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Medication.package.batch
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: BackboneElement
    l: BackboneElement
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() | (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
mapping:
  identity:
    v: script10.6
  map:
    v: no mapping
mapping:
  identity:
    v: rim
  map:
    v: participation[typeCode=CSM].role[classCode=INST].scopedRole.scoper[classCode=MMAT].id

id:
  v: Medication.package.batch.id
path:
  v: Medication.package.batch.id
representation:
  v: xmlAttr
short:
  v: xml:id (or equivalent in JSON)
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:
  code:
    v: string
    l: string
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Medication.package.batch.extension
path:
  v: Medication.package.batch.extension
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. In order 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.
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
    l: Extension
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Medication.package.batch.modifierExtension
path:
  v: Medication.package.batch.modifierExtension
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 element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order 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.
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
alias:
  v: modifiers
min:
  v: 0
max:
  v: *
base:
  path:
    v: BackboneElement.modifierExtension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
is modifier:
  v: true
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Medication.package.batch.lotNumber
path:
  v: Medication.package.batch.lotNumber
short:
  v: Identifier assigned to batch
definition:
  v: The assigned lot number of a batch of the specified product.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Medication.package.batch.lotNumber
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
mapping:
  identity:
    v: script10.6
  map:
    v: no mapping
mapping:
  identity:
    v: v2
  map:
    v: RXA-15 Substance Lot Number / RXG-19 Substance Lot Number
mapping:
  identity:
    v: rim
  map:
    v: .id

id:
  v: Medication.package.batch.expirationDate
path:
  v: Medication.package.batch.expirationDate
short:
  v: When batch will expire
definition:
  v: When this specific batch of product will expire.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Medication.package.batch.expirationDate
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: dateTime
    l: dateTime
mapping:
  identity:
    v: script10.6
  map:
    v: no mapping
mapping:
  identity:
    v: v2
  map:
    v: RXA-16 Substance Expiration Date / RXG-20 Substance Expiration Date
mapping:
  identity:
    v: rim
  map:
    v: participation[typeCode=CSM].role[classCode=INST].scopedRole.scoper[classCode=MMAT].expirationTime

id:
  v: Medication.image
path:
  v: Medication.image
short:
  v: Picture of the medication
definition:
  v: Photo(s) or graphic representation(s) of the medication.
requirements:
  v: Note that "image" is only applicable when the medication.code represents a physical item (e.g. Amoxil 250 mg capsule) and not an abstract item (e.g. amoxicillin 250 mg).
min:
  v: 0
max:
  v: *
base:
  path:
    v: Medication.image
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Attachment
    l: Attachment
mapping:
  identity:
    v: rim
  map:
    v: .participation[typeCode=SUBJ].role[classCode=MANU],source[classCode=OBS,moodCode=EVN,code="type of image"].value(ED.image)

element:
  id:
    v: Medication
  path:
    v: Medication
element:
  id:
    v: Medication.extension
  path:
    v: Medication.extension
  slicing:
    discriminator:
      type:
        v: value
      path:
        v: url
    ordered:
      v: false
    rules:
      v: open
  min:
    v: 0
  max:
    v: *
element:
  id:
    v: Medication.extension:identifier
  path:
    v: Medication.extension
  slice name:
    v: identifier
  short:
    v: R5: Business identifier for this medication (new)
  definition:
    v: R5: `Medication.identifier` (new:Identifier)
  comment:
    v: Element `Medication.identifier` has a context of Medication based on following the parent source element upwards and mapping to `Medication`. Element `Medication.identifier` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). The serial number could be included as an identifier.
  min:
    v: 0
  max:
    v: *
  base:
    path:
      v: DomainResource.extension
    min:
      v: 0
    max:
      v: *
  type:
    code:
      v: Extension
      l: Extension
    profile:
      v: http://hl7.org/fhir/5.0/StructureDefinition/extension-Medication.identifier|0.1.0
      l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Medication.identifier
element:
  id:
    v: Medication.extension:totalVolume
  path:
    v: Medication.extension
  slice name:
    v: totalVolume
  short:
    v: R5: When the specified product code does not infer a package size, this is the specific amount of drug in the product (new)
  definition:
    v: R5: `Medication.totalVolume` (new:Quantity)
  comment:
    v: Element `Medication.totalVolume` has a context of Medication based on following the parent source element upwards and mapping to `Medication`. Element `Medication.totalVolume` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
  min:
    v: 0
  max:
    v: 1
  base:
    path:
      v: DomainResource.extension
    min:
      v: 0
    max:
      v: *
  type:
    code:
      v: Extension
      l: Extension
    profile:
      v: http://hl7.org/fhir/5.0/StructureDefinition/extension-Medication.totalVolume|0.1.0
      l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Medication.totalVolume
element:
  id:
    v: Medication.extension:batch
  path:
    v: Medication.extension
  slice name:
    v: batch
  short:
    v: R5: Details about packaged medications (new)
  definition:
    v: R5: `Medication.batch` (new:BackboneElement)
  comment:
    v: Element `Medication.batch` has a context of Medication based on following the parent source element upwards and mapping to `Medication`. Element `Medication.batch` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
  min:
    v: 0
  max:
    v: 1
  base:
    path:
      v: DomainResource.extension
    min:
      v: 0
    max:
      v: *
  type:
    code:
      v: Extension
      l: Extension
    profile:
      v: http://hl7.org/fhir/5.0/StructureDefinition/extension-Medication.batch|0.1.0
      l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Medication.batch
element:
  id:
    v: Medication.extension:definition
  path:
    v: Medication.extension
  slice name:
    v: definition
  short:
    v: R5: Knowledge about this medication (new)
  definition:
    v: R5: `Medication.definition` (new:Reference(MedicationKnowledge))
  comment:
    v: Element `Medication.definition` has a context of Medication based on following the parent source element upwards and mapping to `Medication`. Element `Medication.definition` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
  min:
    v: 0
  max:
    v: 1
  base:
    path:
      v: DomainResource.extension
    min:
      v: 0
    max:
      v: *
  type:
    code:
      v: Extension
      l: Extension
    profile:
      v: http://hl7.org/fhir/5.0/StructureDefinition/extension-Medication.definition|0.1.0
      l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Medication.definition
element:
  id:
    v: Medication.status.modifierExtension
  path:
    v: Medication.status.modifierExtension
  slicing:
    discriminator:
      type:
        v: value
      path:
        v: url
    ordered:
      v: false
    rules:
      v: open
  min:
    v: 0
  max:
    v: *
element:
  id:
    v: Medication.status.modifierExtension:status
  path:
    v: Medication.status.modifierExtension
  slice name:
    v: status
  short:
    v: R5: status
  definition:
    v: R5: `Medication.status`
  comment:
    v: Element `Medication.status` is mapped to FHIR STU3 element `Medication.status` as `Equivalent`. An externally-defined extension that has been mapped as the representation of FHIR R5 element `Medication.status`: `http://hl7.org/fhir/StructureDefinition/artifact-status`. This status is intended to identify if the medication in a local system is in active use within a drug database or inventory. For example, a pharmacy system may create a new drug file record for a compounded product "ABC Hospital Special Cream" with an active status. At some point in the future, it may be determined that the drug record was created with an error and the status is changed to "entered in error". This status is not intended to specify if a medication is part of a particular formulary. It is possible that the drug record may be referenced by multiple formularies or catalogues and each of those entries would have a separate status.
  min:
    v: 0
  max:
    v: 1
  base:
    path:
      v: DomainResource.extension
    min:
      v: 0
    max:
      v: *
  type:
    code:
      v: Extension
      l: Extension
    profile:
      v: http://hl7.org/fhir/StructureDefinition/artifact-status
      l: artifact-status
element:
  id:
    v: Medication.manufacturer.extension

v: Medication.manufacturer.extension

discriminator:
  type:
    v: value
  path:
    v: url
ordered:
  v: false
rules:
  v: open

v: 0

v: *

id:
  v: Medication.manufacturer.extension:marketingAuthorizationHolder
path:
  v: Medication.manufacturer.extension
slice name:
  v: marketingAuthorizationHolder
short:
  v: R5: Organization that has authorization to market medication additional types
definition:
  v: R5: `Medication.marketingAuthorizationHolder` additional types from child elements (display, identifier, reference, type)
comment:
  v: Element `Medication.marketingAuthorizationHolder` is mapped to FHIR STU3 element `Medication.manufacturer` as `SourceIsBroaderThanTarget`. The mappings for `Medication.marketingAuthorizationHolder` do not cover the following types based on type expansion: display, identifier, reference, type. The standard extension `alternate-reference` has been mapped as the representation of FHIR R5 element `Medication.marketingAuthorizationHolder` with unmapped reference targets: Organization.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: DomainResource.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/StructureDefinition/alternate-reference
    l: alternate-reference

id:
  v: Medication.ingredient.amount.extension
path:
  v: Medication.ingredient.amount.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  ordered:
    v: false
  rules:
    v: open
min:
  v: 0
max:
  v: *

id:
  v: Medication.ingredient.amount.extension:strength
path:
  v: Medication.ingredient.amount.extension
slice name:
  v: strength
short:
  v: R5: strength additional types
definition:
  v: R5: `Medication.ingredient.strength[x]` additional types (CodeableConcept, Quantity)
comment:
  v: Element `Medication.ingredient.strength[x]` is mapped to FHIR STU3 element `Medication.ingredient.amount` as `SourceIsBroaderThanTarget`. The mappings for `Medication.ingredient.strength[x]` do not cover the following types: CodeableConcept, Quantity.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: DomainResource.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/5.0/StructureDefinition/extension-Medication.ingredient.strength|0.1.0
    l: http://hl7.org/fhir/5.0/StructureDefinition/extension-Medication.ingredient.strength