GP Connect Data Model | FHIR STU3 Representation

This version is in draft and is currently being migrated from the GP Connect Access Record: Structured specification

Profile: CareConnect-GPC-Medication-1

idΣ0..1id
id0..1string
extensionI0..*Extension
versionIdΣ0..1id
lastUpdatedΣ0..1instant
profileΣ1..*uri
securityΣ0..*CodingBinding
tagΣ0..*Coding
implicitRulesΣ ?!0..1uri
language0..1codeBinding
textI0..1Narrative
contained0..*Resource
extensionI0..*Extension
modifierExtension?! I0..*Extension
id0..1string
extensionI0..*Extension
id0..1string
snomedCTDescriptionIDI0..1Extension(Complex)
systemΣ1..1uri
versionΣ0..0string
codeΣ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
statusΣ0..1codeBinding
isBrandΣ0..1boolean
isOverTheCounterΣ0..1boolean
manufacturerΣ I0..1Reference(CareConnect-GPC-Organization-1)
id0..1string
extensionI0..*Extension
id0..1string
snomedCTDescriptionIDI0..1Extension(Complex)
systemΣ1..1uri
versionΣ0..0string
codeΣ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
itemCodeableConceptCodeableConcept
itemReferenceReference(Substance | CareConnect-GPC-Medication-1)
isActive0..1boolean
amountI0..1Ratio
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
container0..1CodeableConcept
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
itemCodeableConceptCodeableConcept
itemReferenceReference(CareConnect-GPC-Medication-1)
amountI0..1SimpleQuantity
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
lotNumber0..1string
expirationDate0..1dateTime
imageI0..*Attachment
Medication
DefinitionThis resource is primarily used for the identification and definition of a medication. It covers the ingredients and the packaging for a medication.
Cardinality0...*
Invariants
  • dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
    contained.contained.empty()
  • dom-1: If the resource is contained in another resource, it SHALL NOT contain any narrative
    contained.text.empty()
  • dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
    contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
  • dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
    contained.where(('#'+id in %resource.descendants().reference).not()).empty()
Mappings
  • rim: Entity. Role, or Act
  • script10.6: NewRx/MedicationPrescribed -or- RxFill/MedicationDispensed -or- RxHistoryResponse/MedicationDispensed -or- RxHistoryResponse/MedicationPrescribed
  • rim: ManufacturedProduct[classCode=ADMM]
  • w5: clinical.medication
Medication.id
DefinitionThe logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
Cardinality0...1
Typeid
SummaryTrue
Comments

The only time that a resource does not have an id is when it is being submitted to the server using a create operation.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
Medication.meta
DefinitionThe 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.
Cardinality0...1
TypeMeta
SummaryTrue
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: N/A
Medication.meta.id
Definitionunique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Cardinality0...1
Typestring
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
Medication.meta.extension
DefinitionMay 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.
Cardinality0...*
TypeExtension
Aliasextensions, user content
Comments

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.

SlicingUnordered, Open, by url(Value)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Medication.meta.versionId
DefinitionThe version specific identifier, as it appears in the version portion of the URL. This values changes when the resource is created, updated, or deleted.
Cardinality0...1
Typeid
SummaryTrue
Comments

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.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
Medication.meta.lastUpdated
DefinitionWhen the resource last changed - e.g. when the version changed.
Cardinality0...1
Typeinstant
SummaryTrue
Comments

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.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
Medication.meta.profile
DefinitionA list of profiles (references to [StructureDefinition](structuredefinition.html#) resources) that this resource claims to conform to. The URL is a reference to [StructureDefinition.url]().
Cardinality1...*
Typeuri
SummaryTrue
Comments

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.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
Medication.meta.security
DefinitionSecurity labels applied to this resource. These tags connect specific resources to the overall security policy and infrastructure.
Cardinality0...*
TypeCoding
Binding
Security Labels from the Healthcare Privacy and Security Classification System.
All Security Labels (extensible)
SummaryTrue
Comments

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.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim: CV
  • orim: fhir:Coding rdfs:subClassOf dt:CDCoding
Medication.meta.tag
DefinitionTags 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.
Cardinality0...*
TypeCoding
Binding
Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones"
Common Tags (example)
SummaryTrue
Comments

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.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim: CV
  • orim: fhir:Coding rdfs:subClassOf dt:CDCoding
Medication.implicitRules
DefinitionA reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.
Cardinality0...1
Typeuri
ModifierTrue
SummaryTrue
Comments

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.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
Medication.language
DefinitionThe base language in which the resource is written.
Cardinality0...1
Typecode
Binding
A human language.
Common Languages (extensible)
Comments

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).

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
Medication.text
DefinitionA 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.
Cardinality0...1
TypeNarrative
Aliasnarrative, html, xhtml, display
Comments

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.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: N/A
  • rim: Act.text?
Medication.contained
DefinitionThese 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.
Cardinality0...*
TypeResource
Aliasinline resources, anonymous resources, contained resources
Comments

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.

Mappings
  • rim: Entity. Role, or Act
  • rim: N/A
Medication.extension
DefinitionMay 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.
Cardinality0...*
TypeExtension
Aliasextensions, user content
Comments

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.

SlicingUnordered, Open, by url(Value)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Medication.modifierExtension
DefinitionMay 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.
Cardinality0...*
TypeExtension
ModifierTrue
Aliasextensions, user content
Comments

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.

SlicingUnordered, Open, by url(Value)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Medication.code
DefinitionA 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.
Cardinality1...1
TypeCodeableConcept
Binding
A code from the SNOMED Clinical Terminology UK coding system that describes a medication from the VTM/VMP/VMPP/AMP/AMPP subsets from the dm+d terminology
Care Connect Medication Code (required)
SummaryTrue
Comments

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.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • script10.6: coding.code = //element(*,MedicationType)/DrugCoded/ProductCode coding.system = //element(*,MedicationType)/DrugCoded/ProductCodeQualifier coding.display = //element(*,MedicationType)/DrugDescription
  • v2: 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
  • rim: .code
  • w5: class
Medication.code.id
Definitionunique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Cardinality0...1
Typestring
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
Medication.code.extension
DefinitionMay 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.
Cardinality0...*
TypeExtension
Aliasextensions, user content
Comments

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.

SlicingUnordered, Open, by url(Value)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Medication.code.coding
DefinitionA reference to a code defined by a terminology system.
Cardinality0...*
TypeCoding
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim: CV
  • orim: fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2: C*E.1-8, C*E.10-22
  • rim: union(., ./translation)
  • orim: fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
Medication.code.coding.id
Definitionunique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Cardinality0...1
Typestring
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
Medication.code.coding.extension
DefinitionMay 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.
Cardinality0...*
TypeExtension
Aliasextensions, user content
Comments

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.

SlicingUnordered, Open, by url(Value)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Medication.code.coding.extension:snomedCTDescriptionID
DefinitionThe SNOMED CT Description ID for the display.
Cardinality0...1
TypeExtension(Complex)
Aliasextensions, user content
Comments

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.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Medication.code.coding.system
DefinitionThe identification of the code system that defines the meaning of the symbol in the code.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: C*E.3
  • rim: ./codeSystem
  • orim: fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem
Medication.code.coding.version
DefinitionThe version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.
Cardinality0...0
Typestring
SummaryTrue
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: C*E.7
  • rim: ./codeSystemVersion
  • orim: fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion
Medication.code.coding.code
DefinitionA symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).
Cardinality1...1
Typecode
SummaryTrue
Requirements

Need to refer to a particular code in the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: C*E.1
  • rim: ./code
  • orim: fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code
Medication.code.coding.display
DefinitionA representation of the meaning of the code in the system, following the rules of the system.
Cardinality0...1
Typestring
SummaryTrue
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: C*E.2 - but note this is not well followed
  • rim: CV.displayName
  • orim: fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName
Medication.code.coding.userSelected
DefinitionIndicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).
Cardinality0...1
Typeboolean
SummaryTrue
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: Sometimes implied by being first
  • rim: CD.codingRationale
  • orim: fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [ fhir:source "true"; fhir:target dt:CDCoding.codingRationale\#O ]
Medication.code.text
DefinitionA human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.
Cardinality0...1
Typestring
SummaryTrue
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: C*E.9. But note many systems use C*E.2 for this
  • rim: ./originalText[mediaType/code="text/plain"]/data
  • orim: fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText
Medication.status
DefinitionA code to indicate if the medication is in active use.
Cardinality0...1
Typecode
Binding
A coded concept defining if the medication is in active use
MedicationStatus (required)
SummaryTrue
Comments

This status is not intended to specify if a medication is part of a formulary.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: .statusCode
Medication.isBrand
DefinitionSet to true if the item is attributable to a specific manufacturer.
Cardinality0...1
Typeboolean
SummaryTrue
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • script10.6: no mapping
  • rim: true if .player.scopingRole[typeCode=MANU] exists
  • w5: class
Medication.isOverTheCounter
DefinitionSet to true if the medication can be obtained without an order from a prescriber.
Cardinality0...1
Typeboolean
SummaryTrue
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: NA
  • w5: class
Medication.manufacturer
DefinitionDescribes the details of the manufacturer of the medication product. This is not intended to represent the distributor of a medication product.
Cardinality0...1
TypeReference(CareConnect-GPC-Organization-1)
SummaryTrue
Comments

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.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • script10.6: no mapping
  • v2: RXD-20-Substance Manufacturer Name / RXG-21-Substance Manufacturer Name / RXA-17-Substance Manufacturer Name
  • rim: .player.scopingRole[typeCode=MANU].scoper
  • w5: who.actor
Medication.form
DefinitionDescribes the form of the item. Powder; tablets; capsule.
Cardinality0...1
TypeCodeableConcept
Binding
A code from the SNOMED Clinical Terminology UK coding system that describes a medication dose form
Care Connect Medication Form (required)
Comments

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.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • script10.6: coding.code = //element(*,DrugCodedType)/FormCode coding.system = //element(*,DrugCodedType)/FormSourceCode
  • v2: 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
  • rim: .formCode
Medication.form.id
Definitionunique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Cardinality0...1
Typestring
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
Medication.form.extension
DefinitionMay 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.
Cardinality0...*
TypeExtension
Aliasextensions, user content
Comments

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.

SlicingUnordered, Open, by url(Value)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Medication.form.coding
DefinitionA reference to a code defined by a terminology system.
Cardinality0...*
TypeCoding
SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim: CV
  • orim: fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2: C*E.1-8, C*E.10-22
  • rim: union(., ./translation)
  • orim: fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
Medication.form.coding.id
Definitionunique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Cardinality0...1
Typestring
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
Medication.form.coding.extension
DefinitionMay 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.
Cardinality0...*
TypeExtension
Aliasextensions, user content
Comments

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.

SlicingUnordered, Open, by url(Value)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Medication.form.coding.extension:snomedCTDescriptionID
DefinitionThe SNOMED CT Description ID for the display.
Cardinality0...1
TypeExtension(Complex)
Aliasextensions, user content
Comments

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.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Medication.form.coding.system
DefinitionThe identification of the code system that defines the meaning of the symbol in the code.
Cardinality1...1
Typeuri
SummaryTrue
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: C*E.3
  • rim: ./codeSystem
  • orim: fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem
Medication.form.coding.version
DefinitionThe version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.
Cardinality0...0
Typestring
SummaryTrue
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: C*E.7
  • rim: ./codeSystemVersion
  • orim: fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion
Medication.form.coding.code
DefinitionA symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).
Cardinality1...1
Typecode
SummaryTrue
Requirements

Need to refer to a particular code in the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: C*E.1
  • rim: ./code
  • orim: fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code
Medication.form.coding.display
DefinitionA representation of the meaning of the code in the system, following the rules of the system.
Cardinality0...1
Typestring
SummaryTrue
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: C*E.2 - but note this is not well followed
  • rim: CV.displayName
  • orim: fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName
Medication.form.coding.userSelected
DefinitionIndicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).
Cardinality0...1
Typeboolean
SummaryTrue
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: Sometimes implied by being first
  • rim: CD.codingRationale
  • orim: fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [ fhir:source "true"; fhir:target dt:CDCoding.codingRationale\#O ]
Medication.form.text
DefinitionA human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.
Cardinality0...1
Typestring
SummaryTrue
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: C*E.9. But note many systems use C*E.2 for this
  • rim: ./originalText[mediaType/code="text/plain"]/data
  • orim: fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText
Medication.ingredient
DefinitionIdentifies a particular constituent of interest in the product.
Cardinality0...*
TypeBackboneElement
Comments

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.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: .scopesRole[typeCode=INGR]
Medication.ingredient.id
Definitionunique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Cardinality0...1
Typestring
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
Medication.ingredient.extension
DefinitionMay 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.
Cardinality0...*
TypeExtension
Aliasextensions, user content
Comments

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.

SlicingUnordered, Open, by url(Value)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Medication.ingredient.modifierExtension
DefinitionMay 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.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
Comments

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.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Medication.ingredient.item[x]
DefinitionThe actual ingredient - either a substance (simple ingredient) or another medication.
Cardinality1...1
TypeReference(Substance | CareConnect-GPC-Medication-1), CodeableConcept
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • script10.6: coding.code = //element(*,MedicationType)/DrugCoded/ProductCode coding.system = //element(*,MedicationType)/DrugCoded/ProductCodeQualifier coding.display = //element(*,MedicationType)/DrugDescription
  • v2: 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
  • rim: .player
Medication.ingredient.isActive
DefinitionIndication of whether this ingredient affects the therapeutic action of the drug.
Cardinality0...1
Typeboolean
Requirements

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).

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: NA
Medication.ingredient.amount
DefinitionSpecifies 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.
Cardinality0...1
TypeRatio
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • rat-1: Numerator and denominator SHALL both be present, or both are absent. If both are absent, there SHALL be some extension present
    (numerator.empty() xor denominator.exists()) and (numerator.exists() or extension.exists())
Mappings
  • rim: n/a
  • v2: N/A
  • rim: RTO
  • script10.6: //element(*,DrugCodedType)/Strength
  • v2: 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
  • rim: .quantity
Medication.package
DefinitionInformation that only applies to packages (not products).
Cardinality0...1
TypeBackboneElement
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • script10.6: no mapping
  • rim: .player[classCode=CONT]
Medication.package.id
Definitionunique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Cardinality0...1
Typestring
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
Medication.package.extension
DefinitionMay 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.
Cardinality0...*
TypeExtension
Aliasextensions, user content
Comments

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.

SlicingUnordered, Open, by url(Value)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Medication.package.modifierExtension
DefinitionMay 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.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
Comments

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.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Medication.package.container
DefinitionThe kind of container that this package comes as.
Cardinality0...1
TypeCodeableConcept
Binding
A coded concept defining the kind of container a medication package is packaged in
MedicationContainer (example)
Comments

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.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • script10.6: no mapping
  • rim: .code
Medication.package.content
DefinitionA set of components that go to make up the described item.
Cardinality0...*
TypeBackboneElement
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • script10.6: no mapping
  • rim: .scopesRole[typeCode=CONT]
Medication.package.content.id
Definitionunique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Cardinality0...1
Typestring
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
Medication.package.content.extension
DefinitionMay 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.
Cardinality0...*
TypeExtension
Aliasextensions, user content
Comments

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.

SlicingUnordered, Open, by url(Value)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Medication.package.content.modifierExtension
DefinitionMay 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.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
Comments

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.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Medication.package.content.item[x]
DefinitionIdentifies one of the items in the package.
Cardinality1...1
TypeReference(CareConnect-GPC-Medication-1), CodeableConcept
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • script10.6: no mapping
  • rim: .player
Medication.package.content.amount
DefinitionThe amount of the product that is in the package.
Cardinality0...1
TypeSimpleQuantity
Comments

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.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • qty-3: If a code for the unit is present, the system SHALL also be present
    code.empty() or system.exists()
  • sqty-1: The comparator is not used on a SimpleQuantity
    comparator.empty()
Mappings
  • rim: n/a
  • v2: SN (see also Range) or CQ
  • rim: PQ, IVL<PQ>, MO, CO, depending on the values
  • script10.6: no mapping
  • rim: .quantity
Medication.package.batch
DefinitionInformation about a group of medication produced or packaged from one production run.
Cardinality0...*
TypeBackboneElement
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • script10.6: no mapping
  • rim: participation[typeCode=CSM].role[classCode=INST].scopedRole.scoper[classCode=MMAT].id
Medication.package.batch.id
Definitionunique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Cardinality0...1
Typestring
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
Medication.package.batch.extension
DefinitionMay 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.
Cardinality0...*
TypeExtension
Aliasextensions, user content
Comments

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.

SlicingUnordered, Open, by url(Value)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Medication.package.batch.modifierExtension
DefinitionMay 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.
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
Comments

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.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Medication.package.batch.lotNumber
DefinitionThe assigned lot number of a batch of the specified product.
Cardinality0...1
Typestring
Comments

Note that FHIR strings may not exceed 1MB in size

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • script10.6: no mapping
  • v2: RXA-15 Substance Lot Number / RXG-19 Substance Lot Number
  • rim: .id
Medication.package.batch.expirationDate
DefinitionWhen this specific batch of product will expire.
Cardinality0...1
TypedateTime
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • script10.6: no mapping
  • v2: RXA-16 Substance Expiration Date / RXG-20 Substance Expiration Date
  • rim: participation[typeCode=CSM].role[classCode=INST].scopedRole.scoper[classCode=MMAT].expirationTime
Medication.image
DefinitionPhoto(s) or graphic representation(s) of the medication.
Cardinality0...*
TypeAttachment
Requirements

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).

Comments

When providing a summary view (for example with Observation.value[x]) Attachment should be represented with a brief display text such as "Attachment".

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
  • att-1: It the Attachment has data, it SHALL have a contentType
    data.empty() or contentType.exists()
Mappings
  • rim: n/a
  • v2: ED/RP
  • rim: ED
  • rim: .participation[typeCode=SUBJ].role[classCode=MANU],source[classCode=OBS,moodCode=EVN,code="type of image"].value(ED.image)
<StructureDefinition xmlns="http://hl7.org/fhir">
    <meta>
        <lastUpdated value="2018-05-18T14:36:23.951+01:00" />
    </meta>
    <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-wg">
        <valueCode value="phx" />
    </extension>
    <url value="https://fhir.nhs.uk/STU3/StructureDefinition/CareConnect-GPC-Medication-1" />
    <version value="1.2.0" />
    <name value="CareConnect-GPC-Medication-1" />
    <status value="active" />
    <date value="2019-11-04" />
    <publisher value="HL7 UK" />
    <description value="This Medication Resource is primarily used for the identification and definition of a medication." />
    <copyright value="Copyright &#169; 2019 HL7 UK\n\nLicensed under the Apache License, Version 2.0 (the &quot;License&quot;); you may not use this file except in compliance with the License. You may obtain a copy of the License at\n\nhttp://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under the License is distributed on an &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.\n\nHL7&#174; FHIR&#174; standard Copyright &#169; 2011+ HL7\n\nThe HL7&#174; FHIR&#174; standard is used under the FHIR license. You may obtain a copy of the FHIR license at\n\nhttps://www.hl7.org/fhir/license.html" />
    <fhirVersion value="3.0.1" />
    <kind value="resource" />
    <abstract value="false" />
    <type value="Medication" />
    <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Medication" />
    <derivation value="constraint" />
    <snapshot>
        <element id="Medication">
            <path value="Medication" />
            <short value="Definition of a Medication" />
            <definition value="This resource is primarily used for the identification and definition of a medication. It covers the ingredients and the packaging for a medication." />
            <min value="0" />
            <max value="*" />
            <base>
                <path value="Resource" />
                <min value="0" />
                <max value="*" />
            </base>
            <constraint>
                <key value="dom-2" />
                <severity value="error" />
                <human value="If the resource is contained in another resource, it SHALL NOT contain nested Resources" />
                <expression value="contained.contained.empty()" />
                <xpath value="not(parent::f:contained and f:contained)" />
            </constraint>
            <constraint>
                <key value="dom-1" />
                <severity value="error" />
                <human value="If the resource is contained in another resource, it SHALL NOT contain any narrative" />
                <expression value="contained.text.empty()" />
                <xpath value="not(parent::f:contained and f:text)" />
            </constraint>
            <constraint>
                <key value="dom-4" />
                <severity value="error" />
                <human value="If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated" />
                <expression value="contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()" />
                <xpath value="not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))" />
            </constraint>
            <constraint>
                <key value="dom-3" />
                <severity value="error" />
                <human value="If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource" />
                <expression value="contained.where((&#39;#&#39;+id in %resource.descendants().reference).not()).empty()" />
                <xpath value="not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat(&#39;#&#39;, $id))]))" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="Entity. Role, or Act" />
            </mapping>
            <mapping>
                <identity value="script10.6" />
                <map value="NewRx/MedicationPrescribed\n-or-\nRxFill/MedicationDispensed\n-or-\nRxHistoryResponse/MedicationDispensed\n-or-\nRxHistoryResponse/MedicationPrescribed" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="ManufacturedProduct[classCode=ADMM]" />
            </mapping>
            <mapping>
                <identity value="w5" />
                <map value="clinical.medication" />
            </mapping>
        </element>
        <element id="Medication.id">
            <path value="Medication.id" />
            <short value="Logical id of this artifact" />
            <definition value="The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes." />
            <comment value="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 value="0" />
            <max value="1" />
            <base>
                <path value="Resource.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="id" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Medication.meta">
            <path value="Medication.meta" />
            <short value="Metadata about the resource" />
            <definition value="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 value="0" />
            <max value="1" />
            <base>
                <path value="Resource.meta" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="Meta" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Medication.meta.id">
            <path value="Medication.meta.id" />
            <representation value="xmlAttr" />
            <short value="xml:id (or equivalent in JSON)" />
            <definition value="unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Medication.meta.extension">
            <path value="Medication.meta.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="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 value="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 value="extensions" />
            <alias value="user content" />
            <min value="0" />
            <max value="*" />
            <base>
                <path value="Element.extension" />
                <min value="0" />
                <max value="*" />
            </base>
            <type>
                <code value="Extension" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Medication.meta.versionId">
            <path value="Medication.meta.versionId" />
            <short value="Version specific identifier" />
            <definition value="The version specific identifier, as it appears in the version portion of the URL. This values changes when the resource is created, updated, or deleted." />
            <comment value="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 value="0" />
            <max value="1" />
            <base>
                <path value="Meta.versionId" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="id" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Medication.meta.lastUpdated">
            <path value="Medication.meta.lastUpdated" />
            <short value="When the resource version last changed" />
            <definition value="When the resource last changed - e.g. when the version changed." />
            <comment value="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." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Meta.lastUpdated" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="instant" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Medication.meta.profile">
            <path value="Medication.meta.profile" />
            <short value="Profiles this resource claims to conform to" />
            <definition value="A list of profiles (references to [StructureDefinition](structuredefinition.html#) resources) that this resource claims to conform to. The URL is a reference to [StructureDefinition.url]()." />
            <comment value="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 value="1" />
            <max value="*" />
            <base>
                <path value="Meta.profile" />
                <min value="0" />
                <max value="*" />
            </base>
            <type>
                <code value="uri" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Medication.meta.security">
            <path value="Medication.meta.security" />
            <short value="Security Labels applied to this resource" />
            <definition value="Security labels applied to this resource. These tags connect specific resources to the overall security policy and infrastructure." />
            <comment value="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 value="0" />
            <max value="*" />
            <base>
                <path value="Meta.security" />
                <min value="0" />
                <max value="*" />
            </base>
            <type>
                <code value="Coding" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <binding>
                <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
                    <valueString value="SecurityLabels" />
                </extension>
                <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding">
                    <valueBoolean value="true" />
                </extension>
                <strength value="extensible" />
                <description value="Security Labels from the Healthcare Privacy and Security Classification System." />
                <valueSetReference>
                    <reference value="http://hl7.org/fhir/ValueSet/security-labels" />
                </valueSetReference>
            </binding>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="CE/CNE/CWE subset one of the sets of component 1-3 or 4-6" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CV" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding rdfs:subClassOf dt:CDCoding" />
            </mapping>
        </element>
        <element id="Medication.meta.security.id">
            <path value="Medication.meta.security.id" />
            <representation value="xmlAttr" />
            <short value="xml:id (or equivalent in JSON)" />
            <definition value="unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Medication.meta.security.extension">
            <path value="Medication.meta.security.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="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 value="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 value="extensions" />
            <alias value="user content" />
            <min value="0" />
            <max value="*" />
            <base>
                <path value="Element.extension" />
                <min value="0" />
                <max value="*" />
            </base>
            <type>
                <code value="Extension" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Medication.meta.security.system">
            <path value="Medication.meta.security.system" />
            <short value="Identity of the terminology system" />
            <definition value="The identification of the code system that defines the meaning of the symbol in the code." />
            <comment value="The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...).  OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7&#39;s list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously." />
            <requirements value="Need to be unambiguous about the source of the definition of the symbol." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.system" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="uri" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.3" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./codeSystem" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem" />
            </mapping>
        </element>
        <element id="Medication.meta.security.version">
            <path value="Medication.meta.security.version" />
            <short value="Version of the system - if relevant" />
            <definition value="The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged." />
            <comment value="Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.version" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.7" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./codeSystemVersion" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion" />
            </mapping>
        </element>
        <element id="Medication.meta.security.code">
            <path value="Medication.meta.security.code" />
            <short value="Symbol in syntax defined by the system" />
            <definition value="A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination)." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <requirements value="Need to refer to a particular code in the system." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.code" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="code" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.1" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./code" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code" />
            </mapping>
        </element>
        <element id="Medication.meta.security.display">
            <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
                <valueBoolean value="true" />
            </extension>
            <path value="Medication.meta.security.display" />
            <short value="Representation defined by the system" />
            <definition value="A representation of the meaning of the code in the system, following the rules of the system." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <requirements value="Need to be able to carry a human-readable meaning of the code for readers that do not know  the system." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.display" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.2 - but note this is not well followed" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CV.displayName" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName" />
            </mapping>
        </element>
        <element id="Medication.meta.security.userSelected">
            <path value="Medication.meta.security.userSelected" />
            <short value="If this coding was chosen directly by the user" />
            <definition value="Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays)." />
            <comment value="Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly &#39;directly chosen&#39; implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely." />
            <requirements value="This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.userSelected" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="boolean" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="Sometimes implied by being first" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CD.codingRationale" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map;   fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [     fhir:source &quot;true&quot;;     fhir:target dt:CDCoding.codingRationale\#O   ]" />
            </mapping>
        </element>
        <element id="Medication.meta.tag">
            <path value="Medication.meta.tag" />
            <short value="Tags applied to this resource" />
            <definition value="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 value="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 value="0" />
            <max value="*" />
            <base>
                <path value="Meta.tag" />
                <min value="0" />
                <max value="*" />
            </base>
            <type>
                <code value="Coding" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <binding>
                <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
                    <valueString value="Tags" />
                </extension>
                <strength value="example" />
                <description value="Codes that represent various types of tags, commonly workflow-related; e.g. &quot;Needs review by Dr. Jones&quot;" />
                <valueSetReference>
                    <reference value="http://hl7.org/fhir/ValueSet/common-tags" />
                </valueSetReference>
            </binding>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="CE/CNE/CWE subset one of the sets of component 1-3 or 4-6" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CV" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding rdfs:subClassOf dt:CDCoding" />
            </mapping>
        </element>
        <element id="Medication.meta.tag.id">
            <path value="Medication.meta.tag.id" />
            <representation value="xmlAttr" />
            <short value="xml:id (or equivalent in JSON)" />
            <definition value="unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Medication.meta.tag.extension">
            <path value="Medication.meta.tag.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="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 value="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 value="extensions" />
            <alias value="user content" />
            <min value="0" />
            <max value="*" />
            <base>
                <path value="Element.extension" />
                <min value="0" />
                <max value="*" />
            </base>
            <type>
                <code value="Extension" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Medication.meta.tag.system">
            <path value="Medication.meta.tag.system" />
            <short value="Identity of the terminology system" />
            <definition value="The identification of the code system that defines the meaning of the symbol in the code." />
            <comment value="The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...).  OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7&#39;s list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously." />
            <requirements value="Need to be unambiguous about the source of the definition of the symbol." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.system" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="uri" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.3" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./codeSystem" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem" />
            </mapping>
        </element>
        <element id="Medication.meta.tag.version">
            <path value="Medication.meta.tag.version" />
            <short value="Version of the system - if relevant" />
            <definition value="The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged." />
            <comment value="Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.version" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.7" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./codeSystemVersion" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion" />
            </mapping>
        </element>
        <element id="Medication.meta.tag.code">
            <path value="Medication.meta.tag.code" />
            <short value="Symbol in syntax defined by the system" />
            <definition value="A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination)." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <requirements value="Need to refer to a particular code in the system." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.code" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="code" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.1" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./code" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code" />
            </mapping>
        </element>
        <element id="Medication.meta.tag.display">
            <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
                <valueBoolean value="true" />
            </extension>
            <path value="Medication.meta.tag.display" />
            <short value="Representation defined by the system" />
            <definition value="A representation of the meaning of the code in the system, following the rules of the system." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <requirements value="Need to be able to carry a human-readable meaning of the code for readers that do not know  the system." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.display" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.2 - but note this is not well followed" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CV.displayName" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName" />
            </mapping>
        </element>
        <element id="Medication.meta.tag.userSelected">
            <path value="Medication.meta.tag.userSelected" />
            <short value="If this coding was chosen directly by the user" />
            <definition value="Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays)." />
            <comment value="Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly &#39;directly chosen&#39; implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely." />
            <requirements value="This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.userSelected" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="boolean" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="Sometimes implied by being first" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CD.codingRationale" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map;   fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [     fhir:source &quot;true&quot;;     fhir:target dt:CDCoding.codingRationale\#O   ]" />
            </mapping>
        </element>
        <element id="Medication.implicitRules">
            <path value="Medication.implicitRules" />
            <short value="A set of rules under which this content was created" />
            <definition value="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 value="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. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it&#39;s meaning or interpretation." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Resource.implicitRules" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="uri" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isModifier value="true" />
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Medication.language">
            <path value="Medication.language" />
            <short value="Language of the resource content" />
            <definition value="The base language in which the resource is written." />
            <comment value="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 value="0" />
            <max value="1" />
            <base>
                <path value="Resource.language" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="code" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <binding>
                <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet">
                    <valueReference>
                        <reference value="http://hl7.org/fhir/ValueSet/all-languages" />
                    </valueReference>
                </extension>
                <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
                    <valueString value="Language" />
                </extension>
                <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding">
                    <valueBoolean value="true" />
                </extension>
                <strength value="extensible" />
                <description value="A human language." />
                <valueSetReference>
                    <reference value="http://hl7.org/fhir/ValueSet/languages" />
                </valueSetReference>
            </binding>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Medication.text">
            <path value="Medication.text" />
            <short value="Text summary of the resource, for human interpretation" />
            <definition value="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 &quot;clinically safe&quot; 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 value="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 &quot;text blob&quot; or where text is additionally entered raw or narrated and encoded in formation is added later." />
            <alias value="narrative" />
            <alias value="html" />
            <alias value="xhtml" />
            <alias value="display" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="DomainResource.text" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="Narrative" />
            </type>
            <condition value="ele-1" />
            <condition value="dom-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="Act.text?" />
            </mapping>
        </element>
        <element id="Medication.contained">
            <path value="Medication.contained" />
            <short value="Contained, inline Resources" />
            <definition value="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 value="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 value="inline resources" />
            <alias value="anonymous resources" />
            <alias value="contained resources" />
            <min value="0" />
            <max value="*" />
            <base>
                <path value="DomainResource.contained" />
                <min value="0" />
                <max value="*" />
            </base>
            <type>
                <code value="Resource" />
            </type>
            <mapping>
                <identity value="rim" />
                <map value="Entity. Role, or Act" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Medication.extension">
            <path value="Medication.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="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 value="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 value="extensions" />
            <alias value="user content" />
            <min value="0" />
            <max value="*" />
            <base>
                <path value="DomainResource.extension" />
                <min value="0" />
                <max value="*" />
            </base>
            <type>
                <code value="Extension" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Medication.modifierExtension">
            <path value="Medication.modifierExtension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Extensions that cannot be ignored" />
            <definition value="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 value="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 value="extensions" />
            <alias value="user content" />
            <min value="0" />
            <max value="*" />
            <base>
                <path value="DomainResource.modifierExtension" />
                <min value="0" />
                <max value="*" />
            </base>
            <type>
                <code value="Extension" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <isModifier value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Medication.code">
            <path value="Medication.code" />
            <short value="Codes that identify this medication" />
            <definition value="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 value="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: &quot;A coding may be marked as a &quot;userSelected&quot; 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 value="1" />
            <max value="1" />
            <base>
                <path value="Medication.code" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="CodeableConcept" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <binding>
                <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
                    <valueString value="MedicationFormalRepresentation" />
                </extension>
                <strength value="required" />
                <description value="A code from the SNOMED Clinical Terminology UK coding system that describes a medication from the VTM/VMP/VMPP/AMP/AMPP subsets from the dm+d terminology" />
                <valueSetReference>
                    <reference value="https://fhir.nhs.uk/STU3/ValueSet/CareConnect-MedicationCode-1" />
                </valueSetReference>
            </binding>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="CE/CNE/CWE" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CD" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:CodeableConcept rdfs:subClassOf dt:CD" />
            </mapping>
            <mapping>
                <identity value="script10.6" />
                <map value="coding.code = //element(*,MedicationType)/DrugCoded/ProductCode\n\ncoding.system = //element(*,MedicationType)/DrugCoded/ProductCodeQualifier\n\ncoding.display = //element(*,MedicationType)/DrugDescription" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="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>
            <mapping>
                <identity value="rim" />
                <map value=".code" />
            </mapping>
            <mapping>
                <identity value="w5" />
                <map value="class" />
            </mapping>
        </element>
        <element id="Medication.code.id">
            <path value="Medication.code.id" />
            <representation value="xmlAttr" />
            <short value="xml:id (or equivalent in JSON)" />
            <definition value="unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Medication.code.extension">
            <path value="Medication.code.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="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 value="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 value="extensions" />
            <alias value="user content" />
            <min value="0" />
            <max value="*" />
            <base>
                <path value="Element.extension" />
                <min value="0" />
                <max value="*" />
            </base>
            <type>
                <code value="Extension" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Medication.code.coding">
            <path value="Medication.code.coding" />
            <short value="Code defined by a terminology system" />
            <definition value="A reference to a code defined by a terminology system." />
            <comment value="Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.  Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true." />
            <requirements value="Allows for translations and alternate encodings within a code system.  Also supports communication of the same instance to systems requiring different encodings." />
            <min value="0" />
            <max value="*" />
            <base>
                <path value="CodeableConcept.coding" />
                <min value="0" />
                <max value="*" />
            </base>
            <type>
                <code value="Coding" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="CE/CNE/CWE subset one of the sets of component 1-3 or 4-6" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CV" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding rdfs:subClassOf dt:CDCoding" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.1-8, C*E.10-22" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="union(., ./translation)" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding" />
            </mapping>
        </element>
        <element id="Medication.code.coding.id">
            <path value="Medication.code.coding.id" />
            <representation value="xmlAttr" />
            <short value="xml:id (or equivalent in JSON)" />
            <definition value="unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Medication.code.coding.extension">
            <path value="Medication.code.coding.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="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 value="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 value="extensions" />
            <alias value="user content" />
            <min value="0" />
            <max value="*" />
            <base>
                <path value="Element.extension" />
                <min value="0" />
                <max value="*" />
            </base>
            <type>
                <code value="Extension" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Medication.code.coding.extension:snomedCTDescriptionID">
            <path value="Medication.code.coding.extension" />
            <sliceName value="snomedCTDescriptionID" />
            <short value="The SNOMED CT Description ID for the display" />
            <definition value="The SNOMED CT Description ID for the display." />
            <comment value="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 value="extensions" />
            <alias value="user content" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.extension" />
                <min value="0" />
                <max value="*" />
            </base>
            <type>
                <code value="Extension" />
                <profile value="https://fhir.nhs.uk/STU3/StructureDefinition/Extension-coding-sctdescid" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Medication.code.coding.system">
            <path value="Medication.code.coding.system" />
            <short value="Identity of the terminology system" />
            <definition value="The identification of the code system that defines the meaning of the symbol in the code." />
            <comment value="The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...).  OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7&#39;s list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously." />
            <requirements value="Need to be unambiguous about the source of the definition of the symbol." />
            <min value="1" />
            <max value="1" />
            <base>
                <path value="Coding.system" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="uri" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.3" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./codeSystem" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem" />
            </mapping>
        </element>
        <element id="Medication.code.coding.version">
            <path value="Medication.code.coding.version" />
            <short value="Version of the system - if relevant" />
            <definition value="The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged." />
            <comment value="Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date." />
            <min value="0" />
            <max value="0" />
            <base>
                <path value="Coding.version" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.7" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./codeSystemVersion" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion" />
            </mapping>
        </element>
        <element id="Medication.code.coding.code">
            <path value="Medication.code.coding.code" />
            <short value="Symbol in syntax defined by the system" />
            <definition value="A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination)." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <requirements value="Need to refer to a particular code in the system." />
            <min value="1" />
            <max value="1" />
            <base>
                <path value="Coding.code" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="code" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.1" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./code" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code" />
            </mapping>
        </element>
        <element id="Medication.code.coding.display">
            <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
                <valueBoolean value="true" />
            </extension>
            <path value="Medication.code.coding.display" />
            <short value="Representation defined by the system" />
            <definition value="A representation of the meaning of the code in the system, following the rules of the system." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <requirements value="Need to be able to carry a human-readable meaning of the code for readers that do not know  the system." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.display" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.2 - but note this is not well followed" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CV.displayName" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName" />
            </mapping>
        </element>
        <element id="Medication.code.coding.userSelected">
            <path value="Medication.code.coding.userSelected" />
            <short value="If this coding was chosen directly by the user" />
            <definition value="Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays)." />
            <comment value="Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly &#39;directly chosen&#39; implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely." />
            <requirements value="This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.userSelected" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="boolean" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="Sometimes implied by being first" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CD.codingRationale" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map;   fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [     fhir:source &quot;true&quot;;     fhir:target dt:CDCoding.codingRationale\#O   ]" />
            </mapping>
        </element>
        <element id="Medication.code.text">
            <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
                <valueBoolean value="true" />
            </extension>
            <path value="Medication.code.text" />
            <short value="Plain text representation of the concept" />
            <definition value="A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user." />
            <comment value="Very often the text is the same as a displayName of one of the codings." />
            <requirements value="The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="CodeableConcept.text" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.9. But note many systems use C*E.2 for this" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./originalText[mediaType/code=&quot;text/plain&quot;]/data" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText" />
            </mapping>
        </element>
        <element id="Medication.status">
            <path value="Medication.status" />
            <short value="active | inactive | entered-in-error" />
            <definition value="A code to indicate if the medication is in active use." />
            <comment value="This status is not intended to specify if a medication is part of a formulary." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Medication.status" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="code" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <binding>
                <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
                    <valueString value="MedicationStatus" />
                </extension>
                <strength value="required" />
                <description value="A coded concept defining if the medication is in active use" />
                <valueSetReference>
                    <reference value="http://hl7.org/fhir/ValueSet/medication-status" />
                </valueSetReference>
            </binding>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value=".statusCode" />
            </mapping>
        </element>
        <element id="Medication.isBrand">
            <path value="Medication.isBrand" />
            <short value="True if a brand" />
            <definition value="Set to true if the item is attributable to a specific manufacturer." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Medication.isBrand" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="boolean" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="script10.6" />
                <map value="no mapping" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="true if .player.scopingRole[typeCode=MANU] exists" />
            </mapping>
            <mapping>
                <identity value="w5" />
                <map value="class" />
            </mapping>
        </element>
        <element id="Medication.isOverTheCounter">
            <path value="Medication.isOverTheCounter" />
            <short value="True if medication does not require a prescription" />
            <definition value="Set to true if the medication can be obtained without an order from a prescriber." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Medication.isOverTheCounter" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="boolean" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="NA" />
            </mapping>
            <mapping>
                <identity value="w5" />
                <map value="class" />
            </mapping>
        </element>
        <element id="Medication.manufacturer">
            <path value="Medication.manufacturer" />
            <short value="Manufacturer of the item" />
            <definition value="Describes the details of the manufacturer of the medication product.  This is not intended to represent the distributor of a medication product." />
            <comment value="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 value="0" />
            <max value="1" />
            <base>
                <path value="Medication.manufacturer" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="Reference" />
                <targetProfile value="https://fhir.nhs.uk/STU3/StructureDefinition/CareConnect-GPC-Organization-1" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ref-1" />
                <severity value="error" />
                <human value="SHALL have a contained resource if a local reference is provided" />
                <expression value="reference.startsWith(&#39;#&#39;).not() or (reference.substring(1).trace(&#39;url&#39;) in %resource.contained.id.trace(&#39;ids&#39;))" />
                <xpath value="not(starts-with(f:reference/@value, &#39;#&#39;)) 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, &#39;#&#39;)]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, &#39;#&#39;)])" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="The target of a resource reference is a RIM entry point (Act, Role, or Entity)" />
            </mapping>
            <mapping>
                <identity value="script10.6" />
                <map value="no mapping" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="RXD-20-Substance Manufacturer Name / RXG-21-Substance Manufacturer Name / RXA-17-Substance Manufacturer Name" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value=".player.scopingRole[typeCode=MANU].scoper" />
            </mapping>
            <mapping>
                <identity value="w5" />
                <map value="who.actor" />
            </mapping>
        </element>
        <element id="Medication.manufacturer.id">
            <path value="Medication.manufacturer.id" />
            <representation value="xmlAttr" />
            <short value="xml:id (or equivalent in JSON)" />
            <definition value="unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Medication.manufacturer.extension">
            <path value="Medication.manufacturer.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="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 value="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 value="extensions" />
            <alias value="user content" />
            <min value="0" />
            <max value="*" />
            <base>
                <path value="Element.extension" />
                <min value="0" />
                <max value="*" />
            </base>
            <type>
                <code value="Extension" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Medication.manufacturer.reference">
            <path value="Medication.manufacturer.reference" />
            <short value="Literal reference, Relative, internal or absolute URL" />
            <definition value="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 &#39;#&#39;) refer to contained resources." />
            <comment value="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 &quot;/[type]/[id]&quot; then it should be assumed that the reference is to a FHIR RESTful server." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Reference.reference" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <condition value="ref-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Medication.manufacturer.identifier">
            <path value="Medication.manufacturer.identifier" />
            <short value="Logical reference, when literal reference is not known" />
            <definition value="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 value="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. \n\nWhen 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\n\nApplications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Reference.identifier" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="Identifier" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="CX / EI (occasionally, more often EI maps to a resource id or a URL)" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. 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>
            <mapping>
                <identity value="servd" />
                <map value="Identifier" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value=".identifier" />
            </mapping>
        </element>
        <element id="Medication.manufacturer.display">
            <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
                <valueBoolean value="true" />
            </extension>
            <path value="Medication.manufacturer.display" />
            <short value="Text alternative for the resource" />
            <definition value="Plain text narrative that identifies the resource in addition to the resource reference." />
            <comment value="This is generally not the same as the Resource.text of the referenced resource.  The purpose is to identify what&#39;s being referenced, not to fully describe it." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Reference.display" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Medication.form">
            <path value="Medication.form" />
            <short value="Codes that describe a medication dose form" />
            <definition value="Describes the form of the item.  Powder; tablets; capsule." />
            <comment value="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 value="0" />
            <max value="1" />
            <base>
                <path value="Medication.form" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="CodeableConcept" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <binding>
                <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
                    <valueString value="MedicationForm" />
                </extension>
                <strength value="required" />
                <description value="A code from the SNOMED Clinical Terminology UK coding system that describes a medication dose form" />
                <valueSetReference>
                    <reference value="https://fhir.nhs.uk/STU3/ValueSet/CareConnect-MedicationForm-1" />
                </valueSetReference>
            </binding>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="CE/CNE/CWE" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CD" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:CodeableConcept rdfs:subClassOf dt:CD" />
            </mapping>
            <mapping>
                <identity value="script10.6" />
                <map value="coding.code =  //element(*,DrugCodedType)/FormCode\n\ncoding.system = //element(*,DrugCodedType)/FormSourceCode" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="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>
            <mapping>
                <identity value="rim" />
                <map value=".formCode" />
            </mapping>
        </element>
        <element id="Medication.form.id">
            <path value="Medication.form.id" />
            <representation value="xmlAttr" />
            <short value="xml:id (or equivalent in JSON)" />
            <definition value="unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Medication.form.extension">
            <path value="Medication.form.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="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 value="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 value="extensions" />
            <alias value="user content" />
            <min value="0" />
            <max value="*" />
            <base>
                <path value="Element.extension" />
                <min value="0" />
                <max value="*" />
            </base>
            <type>
                <code value="Extension" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Medication.form.coding">
            <path value="Medication.form.coding" />
            <short value="Code defined by a terminology system" />
            <definition value="A reference to a code defined by a terminology system." />
            <comment value="Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.  Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true." />
            <requirements value="Allows for translations and alternate encodings within a code system.  Also supports communication of the same instance to systems requiring different encodings." />
            <min value="0" />
            <max value="*" />
            <base>
                <path value="CodeableConcept.coding" />
                <min value="0" />
                <max value="*" />
            </base>
            <type>
                <code value="Coding" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="CE/CNE/CWE subset one of the sets of component 1-3 or 4-6" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CV" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding rdfs:subClassOf dt:CDCoding" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.1-8, C*E.10-22" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="union(., ./translation)" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding" />
            </mapping>
        </element>
        <element id="Medication.form.coding.id">
            <path value="Medication.form.coding.id" />
            <representation value="xmlAttr" />
            <short value="xml:id (or equivalent in JSON)" />
            <definition value="unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Medication.form.coding.extension">
            <path value="Medication.form.coding.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="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 value="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 value="extensions" />
            <alias value="user content" />
            <min value="0" />
            <max value="*" />
            <base>
                <path value="Element.extension" />
                <min value="0" />
                <max value="*" />
            </base>
            <type>
                <code value="Extension" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Medication.form.coding.extension:snomedCTDescriptionID">
            <path value="Medication.form.coding.extension" />
            <sliceName value="snomedCTDescriptionID" />
            <short value="The SNOMED CT Description ID for the display" />
            <definition value="The SNOMED CT Description ID for the display." />
            <comment value="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 value="extensions" />
            <alias value="user content" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.extension" />
                <min value="0" />
                <max value="*" />
            </base>
            <type>
                <code value="Extension" />
                <profile value="https://fhir.nhs.uk/STU3/StructureDefinition/Extension-coding-sctdescid" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Medication.form.coding.system">
            <path value="Medication.form.coding.system" />
            <short value="Identity of the terminology system" />
            <definition value="The identification of the code system that defines the meaning of the symbol in the code." />
            <comment value="The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...).  OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7&#39;s list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously." />
            <requirements value="Need to be unambiguous about the source of the definition of the symbol." />
            <min value="1" />
            <max value="1" />
            <base>
                <path value="Coding.system" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="uri" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.3" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./codeSystem" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem" />
            </mapping>
        </element>
        <element id="Medication.form.coding.version">
            <path value="Medication.form.coding.version" />
            <short value="Version of the system - if relevant" />
            <definition value="The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged." />
            <comment value="Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date." />
            <min value="0" />
            <max value="0" />
            <base>
                <path value="Coding.version" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.7" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./codeSystemVersion" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion" />
            </mapping>
        </element>
        <element id="Medication.form.coding.code">
            <path value="Medication.form.coding.code" />
            <short value="Symbol in syntax defined by the system" />
            <definition value="A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination)." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <requirements value="Need to refer to a particular code in the system." />
            <min value="1" />
            <max value="1" />
            <base>
                <path value="Coding.code" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="code" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.1" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./code" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code" />
            </mapping>
        </element>
        <element id="Medication.form.coding.display">
            <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
                <valueBoolean value="true" />
            </extension>
            <path value="Medication.form.coding.display" />
            <short value="Representation defined by the system" />
            <definition value="A representation of the meaning of the code in the system, following the rules of the system." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <requirements value="Need to be able to carry a human-readable meaning of the code for readers that do not know  the system." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.display" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.2 - but note this is not well followed" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CV.displayName" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName" />
            </mapping>
        </element>
        <element id="Medication.form.coding.userSelected">
            <path value="Medication.form.coding.userSelected" />
            <short value="If this coding was chosen directly by the user" />
            <definition value="Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays)." />
            <comment value="Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly &#39;directly chosen&#39; implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely." />
            <requirements value="This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.userSelected" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="boolean" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="Sometimes implied by being first" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CD.codingRationale" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map;   fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [     fhir:source &quot;true&quot;;     fhir:target dt:CDCoding.codingRationale\#O   ]" />
            </mapping>
        </element>
        <element id="Medication.form.text">
            <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
                <valueBoolean value="true" />
            </extension>
            <path value="Medication.form.text" />
            <short value="Plain text representation of the concept" />
            <definition value="A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user." />
            <comment value="Very often the text is the same as a displayName of one of the codings." />
            <requirements value="The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="CodeableConcept.text" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.9. But note many systems use C*E.2 for this" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./originalText[mediaType/code=&quot;text/plain&quot;]/data" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText" />
            </mapping>
        </element>
        <element id="Medication.ingredient">
            <path value="Medication.ingredient" />
            <short value="Active or inactive ingredient" />
            <definition value="Identifies a particular constituent of interest in the product." />
            <comment value="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 value="0" />
            <max value="*" />
            <base>
                <path value="Medication.ingredient" />
                <min value="0" />
                <max value="*" />
            </base>
            <type>
                <code value="BackboneElement" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value=".scopesRole[typeCode=INGR]" />
            </mapping>
        </element>
        <element id="Medication.ingredient.id">
            <path value="Medication.ingredient.id" />
            <representation value="xmlAttr" />
            <short value="xml:id (or equivalent in JSON)" />
            <definition value="unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Medication.ingredient.extension">
            <path value="Medication.ingredient.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="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 value="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 value="extensions" />
            <alias value="user content" />
            <min value="0" />
            <max value="*" />
            <base>
                <path value="Element.extension" />
                <min value="0" />
                <max value="*" />
            </base>
            <type>
                <code value="Extension" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Medication.ingredient.modifierExtension">
            <path value="Medication.ingredient.modifierExtension" />
            <short value="Extensions that cannot be ignored" />
            <definition value="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 value="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 value="extensions" />
            <alias value="user content" />
            <alias value="modifiers" />
            <min value="0" />
            <max value="*" />
            <base>
                <path value="BackboneElement.modifierExtension" />
                <min value="0" />
                <max value="*" />
            </base>
            <type>
                <code value="Extension" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <isModifier value="true" />
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Medication.ingredient.item[x]">
            <path value="Medication.ingredient.item[x]" />
            <short value="The product contained" />
            <definition value="The actual ingredient - either a substance (simple ingredient) or another medication." />
            <comment value="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 value="1" />
            <max value="1" />
            <base>
                <path value="Medication.ingredient.item[x]" />
                <min value="1" />
                <max value="1" />
            </base>
            <type>
                <code value="CodeableConcept" />
            </type>
            <type>
                <code value="Reference" />
                <targetProfile value="http://hl7.org/fhir/StructureDefinition/Substance" />
            </type>
            <type>
                <code value="Reference" />
                <targetProfile value="https://fhir.nhs.uk/STU3/StructureDefinition/CareConnect-GPC-Medication-1" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="CE/CNE/CWE" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CD" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:CodeableConcept rdfs:subClassOf dt:CD" />
            </mapping>
            <mapping>
                <identity value="script10.6" />
                <map value="coding.code = //element(*,MedicationType)/DrugCoded/ProductCode\n\ncoding.system = //element(*,MedicationType)/DrugCoded/ProductCodeQualifier\n\ncoding.display = //element(*,MedicationType)/DrugDescription" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="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>
            <mapping>
                <identity value="rim" />
                <map value=".player" />
            </mapping>
        </element>
        <element id="Medication.ingredient.isActive">
            <path value="Medication.ingredient.isActive" />
            <short value="Active ingredient indicator" />
            <definition value="Indication of whether this&#160;ingredient affects&#160;the therapeutic action of the drug." />
            <requirements value="True indicates that the ingredient affects the therapeutic action of the drug (i.e. active). \nFalse indicates that the ingredient does not affect the therapeutic action of the drug (i.e. inactive)." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Medication.ingredient.isActive" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="boolean" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="NA" />
            </mapping>
        </element>
        <element id="Medication.ingredient.amount">
            <path value="Medication.ingredient.amount" />
            <short value="Quantity of ingredient present" />
            <definition value="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 value="0" />
            <max value="1" />
            <base>
                <path value="Medication.ingredient.amount" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="Ratio" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="rat-1" />
                <severity value="error" />
                <human value="Numerator and denominator SHALL both be present, or both are absent. If both are absent, there SHALL be some extension present" />
                <expression value="(numerator.empty() xor denominator.exists()) and (numerator.exists() or extension.exists())" />
                <xpath value="(count(f:numerator) = count(f:denominator)) and ((count(f:numerator) &gt; 0) or (count(f:extension) &gt; 0))" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="N/A" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="RTO" />
            </mapping>
            <mapping>
                <identity value="script10.6" />
                <map value="//element(*,DrugCodedType)/Strength" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="RXC-3-Component Amount &amp; RXC-4-Component Units  if medication: RXO-2-Requested Give Amount - Minimum &amp; RXO-4-Requested Give Units / RXO-3-Requested Give Amount - Maximum &amp; RXO-4-Requested Give Units / RXO-11-Requested Dispense Amount &amp; RXO-12-Requested Dispense Units / RXE-3-Give Amount - Minimum &amp; RXE-5-Give Units / RXE-4-Give Amount - Maximum &amp; RXE-5-Give Units / RXE-10-Dispense Amount &amp; RXE-10-Dispense Units" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value=".quantity" />
            </mapping>
        </element>
        <element id="Medication.ingredient.amount.id">
            <path value="Medication.ingredient.amount.id" />
            <representation value="xmlAttr" />
            <short value="xml:id (or equivalent in JSON)" />
            <definition value="unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Medication.ingredient.amount.extension">
            <path value="Medication.ingredient.amount.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="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 value="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 value="extensions" />
            <alias value="user content" />
            <min value="0" />
            <max value="*" />
            <base>
                <path value="Element.extension" />
                <min value="0" />
                <max value="*" />
            </base>
            <type>
                <code value="Extension" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Medication.ingredient.amount.numerator">
            <path value="Medication.ingredient.amount.numerator" />
            <short value="Numerator value" />
            <definition value="The value of the numerator." />
            <comment value="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 value="0" />
            <max value="1" />
            <base>
                <path value="Ratio.numerator" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="Quantity" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="qty-3" />
                <severity value="error" />
                <human value="If a code for the unit is present, the system SHALL also be present" />
                <expression value="code.empty() or system.exists()" />
                <xpath value="not(exists(f:code)) or exists(f:system)" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="SN (see also Range) or CQ" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="PQ, IVL&lt;PQ&gt;, MO, CO, depending on the values" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value=".numerator" />
            </mapping>
        </element>
        <element id="Medication.ingredient.amount.numerator.id">
            <path value="Medication.ingredient.amount.numerator.id" />
            <representation value="xmlAttr" />
            <short value="xml:id (or equivalent in JSON)" />
            <definition value="unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Medication.ingredient.amount.numerator.extension">
            <path value="Medication.ingredient.amount.numerator.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="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 value="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 value="extensions" />
            <alias value="user content" />
            <min value="0" />
            <max value="*" />
            <base>
                <path value="Element.extension" />
                <min value="0" />
                <max value="*" />
            </base>
            <type>
                <code value="Extension" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Medication.ingredient.amount.numerator.value">
            <path value="Medication.ingredient.amount.numerator.value" />
            <short value="Numerical value (with implicit precision)" />
            <definition value="The value of the measured amount. The value includes an implicit precision in the presentation of the value." />
            <comment value="The implicit precision in the value should always be honored. Monetary values have their own rules for handling precision (refer to standard accounting text books)." />
            <requirements value="Precision is handled implicitly in almost all cases of measurement." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Quantity.value" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="decimal" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="SN.2  / CQ - N/A" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="PQ.value, CO.value, MO.value, IVL.high or IVL.low depending on the value" />
            </mapping>
        </element>
        <element id="Medication.ingredient.amount.numerator.comparator">
            <path value="Medication.ingredient.amount.numerator.comparator" />
            <short value="&lt; | &lt;= | &gt;= | &gt; - how to understand the value" />
            <definition value="How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues; e.g. if the comparator is &quot;&lt;&quot; , then the real value is &lt; stated value." />
            <comment value="This is labeled as &quot;Is Modifier&quot; because the comparator modifies the interpretation of the value significantly. If there is no comparator, then there is no modification of the value." />
            <requirements value="Need a framework for handling measures where the value is &lt;5ug/L or &gt;400mg/L due to the limitations of measuring methodology." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Quantity.comparator" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="code" />
            </type>
            <meaningWhenMissing value="If there is no comparator, then there is no modification of the value" />
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isModifier value="true" />
            <isSummary value="true" />
            <binding>
                <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
                    <valueString value="QuantityComparator" />
                </extension>
                <strength value="required" />
                <description value="How the Quantity should be understood and represented." />
                <valueSetReference>
                    <reference value="http://hl7.org/fhir/ValueSet/quantity-comparator" />
                </valueSetReference>
            </binding>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="SN.1  / CQ.1" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="IVL properties" />
            </mapping>
        </element>
        <element id="Medication.ingredient.amount.numerator.unit">
            <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
                <valueBoolean value="true" />
            </extension>
            <path value="Medication.ingredient.amount.numerator.unit" />
            <short value="Unit representation" />
            <definition value="A human-readable form of the unit." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <requirements value="There are many representations for units of measure and in many contexts, particular representations are fixed and required. I.e. mcg for micrograms." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Quantity.unit" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="(see OBX.6 etc.) / CQ.2" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="PQ.unit" />
            </mapping>
        </element>
        <element id="Medication.ingredient.amount.numerator.system">
            <path value="Medication.ingredient.amount.numerator.system" />
            <short value="System that defines coded unit form" />
            <definition value="The identification of the system that provides the coded form of the unit." />
            <comment value="see http://en.wikipedia.org/wiki/Uniform_resource_identifier" />
            <requirements value="Need to know the system that defines the coded form of the unit." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Quantity.system" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="uri" />
            </type>
            <condition value="ele-1" />
            <condition value="qty-3" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="(see OBX.6 etc.) / CQ.2" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CO.codeSystem, PQ.translation.codeSystem" />
            </mapping>
        </element>
        <element id="Medication.ingredient.amount.numerator.code">
            <path value="Medication.ingredient.amount.numerator.code" />
            <short value="Coded form of the unit" />
            <definition value="A computer processable form of the unit in some unit representation system." />
            <comment value="The preferred system is UCUM, but SNOMED CT can also be used (for customary units) or ISO 4217 for currency.  The context of use may additionally require a code from a particular system." />
            <requirements value="Need a computable form of the unit that is fixed across all forms. UCUM provides this for quantities, but SNOMED CT provides many units of interest." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Quantity.code" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="code" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="(see OBX.6 etc.) / CQ.2" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="PQ.code, MO.currency, PQ.translation.code" />
            </mapping>
        </element>
        <element id="Medication.ingredient.amount.denominator">
            <path value="Medication.ingredient.amount.denominator" />
            <short value="Denominator value" />
            <definition value="The value of the denominator." />
            <comment value="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 value="0" />
            <max value="1" />
            <base>
                <path value="Ratio.denominator" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="Quantity" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="qty-3" />
                <severity value="error" />
                <human value="If a code for the unit is present, the system SHALL also be present" />
                <expression value="code.empty() or system.exists()" />
                <xpath value="not(exists(f:code)) or exists(f:system)" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="SN (see also Range) or CQ" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="PQ, IVL&lt;PQ&gt;, MO, CO, depending on the values" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value=".denominator" />
            </mapping>
        </element>
        <element id="Medication.ingredient.amount.denominator.id">
            <path value="Medication.ingredient.amount.denominator.id" />
            <representation value="xmlAttr" />
            <short value="xml:id (or equivalent in JSON)" />
            <definition value="unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Medication.ingredient.amount.denominator.extension">
            <path value="Medication.ingredient.amount.denominator.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="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 value="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 value="extensions" />
            <alias value="user content" />
            <min value="0" />
            <max value="*" />
            <base>
                <path value="Element.extension" />
                <min value="0" />
                <max value="*" />
            </base>
            <type>
                <code value="Extension" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Medication.ingredient.amount.denominator.value">
            <path value="Medication.ingredient.amount.denominator.value" />
            <short value="Numerical value (with implicit precision)" />
            <definition value="The value of the measured amount. The value includes an implicit precision in the presentation of the value." />
            <comment value="The implicit precision in the value should always be honored. Monetary values have their own rules for handling precision (refer to standard accounting text books)." />
            <requirements value="Precision is handled implicitly in almost all cases of measurement." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Quantity.value" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="decimal" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="SN.2  / CQ - N/A" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="PQ.value, CO.value, MO.value, IVL.high or IVL.low depending on the value" />
            </mapping>
        </element>
        <element id="Medication.ingredient.amount.denominator.comparator">
            <path value="Medication.ingredient.amount.denominator.comparator" />
            <short value="&lt; | &lt;= | &gt;= | &gt; - how to understand the value" />
            <definition value="How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues; e.g. if the comparator is &quot;&lt;&quot; , then the real value is &lt; stated value." />
            <comment value="This is labeled as &quot;Is Modifier&quot; because the comparator modifies the interpretation of the value significantly. If there is no comparator, then there is no modification of the value." />
            <requirements value="Need a framework for handling measures where the value is &lt;5ug/L or &gt;400mg/L due to the limitations of measuring methodology." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Quantity.comparator" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="code" />
            </type>
            <meaningWhenMissing value="If there is no comparator, then there is no modification of the value" />
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isModifier value="true" />
            <isSummary value="true" />
            <binding>
                <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
                    <valueString value="QuantityComparator" />
                </extension>
                <strength value="required" />
                <description value="How the Quantity should be understood and represented." />
                <valueSetReference>
                    <reference value="http://hl7.org/fhir/ValueSet/quantity-comparator" />
                </valueSetReference>
            </binding>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="SN.1  / CQ.1" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="IVL properties" />
            </mapping>
        </element>
        <element id="Medication.ingredient.amount.denominator.unit">
            <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
                <valueBoolean value="true" />
            </extension>
            <path value="Medication.ingredient.amount.denominator.unit" />
            <short value="Unit representation" />
            <definition value="A human-readable form of the unit." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <requirements value="There are many representations for units of measure and in many contexts, particular representations are fixed and required. I.e. mcg for micrograms." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Quantity.unit" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="(see OBX.6 etc.) / CQ.2" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="PQ.unit" />
            </mapping>
        </element>
        <element id="Medication.ingredient.amount.denominator.system">
            <path value="Medication.ingredient.amount.denominator.system" />
            <short value="System that defines coded unit form" />
            <definition value="The identification of the system that provides the coded form of the unit." />
            <comment value="see http://en.wikipedia.org/wiki/Uniform_resource_identifier" />
            <requirements value="Need to know the system that defines the coded form of the unit." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Quantity.system" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="uri" />
            </type>
            <condition value="ele-1" />
            <condition value="qty-3" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="(see OBX.6 etc.) / CQ.2" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CO.codeSystem, PQ.translation.codeSystem" />
            </mapping>
        </element>
        <element id="Medication.ingredient.amount.denominator.code">
            <path value="Medication.ingredient.amount.denominator.code" />
            <short value="Coded form of the unit" />
            <definition value="A computer processable form of the unit in some unit representation system." />
            <comment value="The preferred system is UCUM, but SNOMED CT can also be used (for customary units) or ISO 4217 for currency.  The context of use may additionally require a code from a particular system." />
            <requirements value="Need a computable form of the unit that is fixed across all forms. UCUM provides this for quantities, but SNOMED CT provides many units of interest." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Quantity.code" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="code" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="(see OBX.6 etc.) / CQ.2" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="PQ.code, MO.currency, PQ.translation.code" />
            </mapping>
        </element>
        <element id="Medication.package">
            <path value="Medication.package" />
            <short value="Details about packaged medications" />
            <definition value="Information that only applies to packages (not products)." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Medication.package" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="BackboneElement" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="script10.6" />
                <map value="no mapping" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value=".player[classCode=CONT]" />
            </mapping>
        </element>
        <element id="Medication.package.id">
            <path value="Medication.package.id" />
            <representation value="xmlAttr" />
            <short value="xml:id (or equivalent in JSON)" />
            <definition value="unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Medication.package.extension">
            <path value="Medication.package.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="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 value="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 value="extensions" />
            <alias value="user content" />
            <min value="0" />
            <max value="*" />
            <base>
                <path value="Element.extension" />
                <min value="0" />
                <max value="*" />
            </base>
            <type>
                <code value="Extension" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Medication.package.modifierExtension">
            <path value="Medication.package.modifierExtension" />
            <short value="Extensions that cannot be ignored" />
            <definition value="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 value="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 value="extensions" />
            <alias value="user content" />
            <alias value="modifiers" />
            <min value="0" />
            <max value="*" />
            <base>
                <path value="BackboneElement.modifierExtension" />
                <min value="0" />
                <max value="*" />
            </base>
            <type>
                <code value="Extension" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <isModifier value="true" />
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Medication.package.container">
            <path value="Medication.package.container" />
            <short value="E.g. box, vial, blister-pack" />
            <definition value="The kind of container that this package comes as." />
            <comment value="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 value="0" />
            <max value="1" />
            <base>
                <path value="Medication.package.container" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="CodeableConcept" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <binding>
                <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
                    <valueString value="MedicationContainer" />
                </extension>
                <strength value="example" />
                <description value="A coded concept defining the kind of container a medication package is packaged in" />
                <valueSetReference>
                    <reference value="http://hl7.org/fhir/ValueSet/medication-package-form" />
                </valueSetReference>
            </binding>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="CE/CNE/CWE" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CD" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:CodeableConcept rdfs:subClassOf dt:CD" />
            </mapping>
            <mapping>
                <identity value="script10.6" />
                <map value="no mapping" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value=".code" />
            </mapping>
        </element>
        <element id="Medication.package.container.id">
            <path value="Medication.package.container.id" />
            <representation value="xmlAttr" />
            <short value="xml:id (or equivalent in JSON)" />
            <definition value="unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Medication.package.container.extension">
            <path value="Medication.package.container.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="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 value="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 value="extensions" />
            <alias value="user content" />
            <min value="0" />
            <max value="*" />
            <base>
                <path value="Element.extension" />
                <min value="0" />
                <max value="*" />
            </base>
            <type>
                <code value="Extension" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Medication.package.container.coding">
            <path value="Medication.package.container.coding" />
            <short value="Code defined by a terminology system" />
            <definition value="A reference to a code defined by a terminology system." />
            <comment value="Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.  Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true." />
            <requirements value="Allows for translations and alternate encodings within a code system.  Also supports communication of the same instance to systems requiring different encodings." />
            <min value="0" />
            <max value="*" />
            <base>
                <path value="CodeableConcept.coding" />
                <min value="0" />
                <max value="*" />
            </base>
            <type>
                <code value="Coding" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="CE/CNE/CWE subset one of the sets of component 1-3 or 4-6" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CV" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding rdfs:subClassOf dt:CDCoding" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.1-8, C*E.10-22" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="union(., ./translation)" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding" />
            </mapping>
        </element>
        <element id="Medication.package.container.coding.id">
            <path value="Medication.package.container.coding.id" />
            <representation value="xmlAttr" />
            <short value="xml:id (or equivalent in JSON)" />
            <definition value="unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Medication.package.container.coding.extension">
            <path value="Medication.package.container.coding.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="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 value="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 value="extensions" />
            <alias value="user content" />
            <min value="0" />
            <max value="*" />
            <base>
                <path value="Element.extension" />
                <min value="0" />
                <max value="*" />
            </base>
            <type>
                <code value="Extension" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Medication.package.container.coding.system">
            <path value="Medication.package.container.coding.system" />
            <short value="Identity of the terminology system" />
            <definition value="The identification of the code system that defines the meaning of the symbol in the code." />
            <comment value="The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...).  OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7&#39;s list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously." />
            <requirements value="Need to be unambiguous about the source of the definition of the symbol." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.system" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="uri" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.3" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./codeSystem" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem" />
            </mapping>
        </element>
        <element id="Medication.package.container.coding.version">
            <path value="Medication.package.container.coding.version" />
            <short value="Version of the system - if relevant" />
            <definition value="The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged." />
            <comment value="Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.version" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.7" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./codeSystemVersion" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion" />
            </mapping>
        </element>
        <element id="Medication.package.container.coding.code">
            <path value="Medication.package.container.coding.code" />
            <short value="Symbol in syntax defined by the system" />
            <definition value="A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination)." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <requirements value="Need to refer to a particular code in the system." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.code" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="code" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.1" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./code" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code" />
            </mapping>
        </element>
        <element id="Medication.package.container.coding.display">
            <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
                <valueBoolean value="true" />
            </extension>
            <path value="Medication.package.container.coding.display" />
            <short value="Representation defined by the system" />
            <definition value="A representation of the meaning of the code in the system, following the rules of the system." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <requirements value="Need to be able to carry a human-readable meaning of the code for readers that do not know  the system." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.display" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.2 - but note this is not well followed" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CV.displayName" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName" />
            </mapping>
        </element>
        <element id="Medication.package.container.coding.userSelected">
            <path value="Medication.package.container.coding.userSelected" />
            <short value="If this coding was chosen directly by the user" />
            <definition value="Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays)." />
            <comment value="Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly &#39;directly chosen&#39; implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely." />
            <requirements value="This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Coding.userSelected" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="boolean" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="Sometimes implied by being first" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CD.codingRationale" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map;   fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [     fhir:source &quot;true&quot;;     fhir:target dt:CDCoding.codingRationale\#O   ]" />
            </mapping>
        </element>
        <element id="Medication.package.container.text">
            <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
                <valueBoolean value="true" />
            </extension>
            <path value="Medication.package.container.text" />
            <short value="Plain text representation of the concept" />
            <definition value="A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user." />
            <comment value="Very often the text is the same as a displayName of one of the codings." />
            <requirements value="The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="CodeableConcept.text" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="C*E.9. But note many systems use C*E.2 for this" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./originalText[mediaType/code=&quot;text/plain&quot;]/data" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText" />
            </mapping>
        </element>
        <element id="Medication.package.content">
            <path value="Medication.package.content" />
            <short value="What is  in the package" />
            <definition value="A set of components that go to make up the described item." />
            <min value="0" />
            <max value="*" />
            <base>
                <path value="Medication.package.content" />
                <min value="0" />
                <max value="*" />
            </base>
            <type>
                <code value="BackboneElement" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="script10.6" />
                <map value="no mapping" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value=".scopesRole[typeCode=CONT]" />
            </mapping>
        </element>
        <element id="Medication.package.content.id">
            <path value="Medication.package.content.id" />
            <representation value="xmlAttr" />
            <short value="xml:id (or equivalent in JSON)" />
            <definition value="unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Medication.package.content.extension">
            <path value="Medication.package.content.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="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 value="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 value="extensions" />
            <alias value="user content" />
            <min value="0" />
            <max value="*" />
            <base>
                <path value="Element.extension" />
                <min value="0" />
                <max value="*" />
            </base>
            <type>
                <code value="Extension" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Medication.package.content.modifierExtension">
            <path value="Medication.package.content.modifierExtension" />
            <short value="Extensions that cannot be ignored" />
            <definition value="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 value="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 value="extensions" />
            <alias value="user content" />
            <alias value="modifiers" />
            <min value="0" />
            <max value="*" />
            <base>
                <path value="BackboneElement.modifierExtension" />
                <min value="0" />
                <max value="*" />
            </base>
            <type>
                <code value="Extension" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <isModifier value="true" />
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Medication.package.content.item[x]">
            <path value="Medication.package.content.item[x]" />
            <short value="The item in the package" />
            <definition value="Identifies one of the items in the package." />
            <comment value="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 value="1" />
            <max value="1" />
            <base>
                <path value="Medication.package.content.item[x]" />
                <min value="1" />
                <max value="1" />
            </base>
            <type>
                <code value="CodeableConcept" />
            </type>
            <type>
                <code value="Reference" />
                <targetProfile value="https://fhir.nhs.uk/STU3/StructureDefinition/CareConnect-GPC-Medication-1" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="CE/CNE/CWE" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CD" />
            </mapping>
            <mapping>
                <identity value="orim" />
                <map value="fhir:CodeableConcept rdfs:subClassOf dt:CD" />
            </mapping>
            <mapping>
                <identity value="script10.6" />
                <map value="no mapping" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value=".player" />
            </mapping>
        </element>
        <element id="Medication.package.content.amount">
            <path value="Medication.package.content.amount" />
            <short value="Quantity present in the package" />
            <definition value="The amount of the product that is in the package." />
            <comment value="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 value="0" />
            <max value="1" />
            <base>
                <path value="Medication.package.content.amount" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="Quantity" />
                <profile value="http://hl7.org/fhir/StructureDefinition/SimpleQuantity" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="qty-3" />
                <severity value="error" />
                <human value="If a code for the unit is present, the system SHALL also be present" />
                <expression value="code.empty() or system.exists()" />
                <xpath value="not(exists(f:code)) or exists(f:system)" />
            </constraint>
            <constraint>
                <key value="sqty-1" />
                <severity value="error" />
                <human value="The comparator is not used on a SimpleQuantity" />
                <expression value="comparator.empty()" />
                <xpath value="not(exists(f:comparator))" />
            </constraint>
            <isModifier value="false" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="SN (see also Range) or CQ" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="PQ, IVL&lt;PQ&gt;, MO, CO, depending on the values" />
            </mapping>
            <mapping>
                <identity value="script10.6" />
                <map value="no mapping" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value=".quantity" />
            </mapping>
        </element>
        <element id="Medication.package.content.amount.id">
            <path value="Medication.package.content.amount.id" />
            <representation value="xmlAttr" />
            <short value="xml:id (or equivalent in JSON)" />
            <definition value="unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Medication.package.content.amount.extension">
            <path value="Medication.package.content.amount.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="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 value="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 value="extensions" />
            <alias value="user content" />
            <min value="0" />
            <max value="*" />
            <base>
                <path value="Element.extension" />
                <min value="0" />
                <max value="*" />
            </base>
            <type>
                <code value="Extension" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Medication.package.content.amount.value">
            <path value="Medication.package.content.amount.value" />
            <short value="Numerical value (with implicit precision)" />
            <definition value="The value of the measured amount. The value includes an implicit precision in the presentation of the value." />
            <comment value="The implicit precision in the value should always be honored. Monetary values have their own rules for handling precision (refer to standard accounting text books)." />
            <requirements value="Precision is handled implicitly in almost all cases of measurement." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Quantity.value" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="decimal" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="SN.2  / CQ - N/A" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="PQ.value, CO.value, MO.value, IVL.high or IVL.low depending on the value" />
            </mapping>
        </element>
        <element id="Medication.package.content.amount.comparator">
            <path value="Medication.package.content.amount.comparator" />
            <short value="&lt; | &lt;= | &gt;= | &gt; - how to understand the value" />
            <definition value="Not allowed to be used in this context" />
            <comment value="This is labeled as &quot;Is Modifier&quot; because the comparator modifies the interpretation of the value significantly. If there is no comparator, then there is no modification of the value." />
            <requirements value="Need a framework for handling measures where the value is &lt;5ug/L or &gt;400mg/L due to the limitations of measuring methodology." />
            <min value="0" />
            <max value="0" />
            <base>
                <path value="Quantity.comparator" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="code" />
            </type>
            <meaningWhenMissing value="If there is no comparator, then there is no modification of the value" />
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isModifier value="true" />
            <isSummary value="true" />
            <binding>
                <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
                    <valueString value="QuantityComparator" />
                </extension>
                <strength value="required" />
                <description value="How the Quantity should be understood and represented." />
                <valueSetReference>
                    <reference value="http://hl7.org/fhir/ValueSet/quantity-comparator" />
                </valueSetReference>
            </binding>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="SN.1  / CQ.1" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="IVL properties" />
            </mapping>
        </element>
        <element id="Medication.package.content.amount.unit">
            <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
                <valueBoolean value="true" />
            </extension>
            <path value="Medication.package.content.amount.unit" />
            <short value="Unit representation" />
            <definition value="A human-readable form of the unit." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <requirements value="There are many representations for units of measure and in many contexts, particular representations are fixed and required. I.e. mcg for micrograms." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Quantity.unit" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="(see OBX.6 etc.) / CQ.2" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="PQ.unit" />
            </mapping>
        </element>
        <element id="Medication.package.content.amount.system">
            <path value="Medication.package.content.amount.system" />
            <short value="System that defines coded unit form" />
            <definition value="The identification of the system that provides the coded form of the unit." />
            <comment value="see http://en.wikipedia.org/wiki/Uniform_resource_identifier" />
            <requirements value="Need to know the system that defines the coded form of the unit." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Quantity.system" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="uri" />
            </type>
            <condition value="ele-1" />
            <condition value="qty-3" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="(see OBX.6 etc.) / CQ.2" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="CO.codeSystem, PQ.translation.codeSystem" />
            </mapping>
        </element>
        <element id="Medication.package.content.amount.code">
            <path value="Medication.package.content.amount.code" />
            <short value="Coded form of the unit" />
            <definition value="A computer processable form of the unit in some unit representation system." />
            <comment value="The preferred system is UCUM, but SNOMED CT can also be used (for customary units) or ISO 4217 for currency.  The context of use may additionally require a code from a particular system." />
            <requirements value="Need a computable form of the unit that is fixed across all forms. UCUM provides this for quantities, but SNOMED CT provides many units of interest." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Quantity.code" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="code" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="(see OBX.6 etc.) / CQ.2" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="PQ.code, MO.currency, PQ.translation.code" />
            </mapping>
        </element>
        <element id="Medication.package.batch">
            <path value="Medication.package.batch" />
            <short value="Identifies a single production run" />
            <definition value="Information about a group of medication produced or packaged from one production run." />
            <min value="0" />
            <max value="*" />
            <base>
                <path value="Medication.package.batch" />
                <min value="0" />
                <max value="*" />
            </base>
            <type>
                <code value="BackboneElement" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="script10.6" />
                <map value="no mapping" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="participation[typeCode=CSM].role[classCode=INST].scopedRole.scoper[classCode=MMAT].id" />
            </mapping>
        </element>
        <element id="Medication.package.batch.id">
            <path value="Medication.package.batch.id" />
            <representation value="xmlAttr" />
            <short value="xml:id (or equivalent in JSON)" />
            <definition value="unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Medication.package.batch.extension">
            <path value="Medication.package.batch.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="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 value="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 value="extensions" />
            <alias value="user content" />
            <min value="0" />
            <max value="*" />
            <base>
                <path value="Element.extension" />
                <min value="0" />
                <max value="*" />
            </base>
            <type>
                <code value="Extension" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Medication.package.batch.modifierExtension">
            <path value="Medication.package.batch.modifierExtension" />
            <short value="Extensions that cannot be ignored" />
            <definition value="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 value="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 value="extensions" />
            <alias value="user content" />
            <alias value="modifiers" />
            <min value="0" />
            <max value="*" />
            <base>
                <path value="BackboneElement.modifierExtension" />
                <min value="0" />
                <max value="*" />
            </base>
            <type>
                <code value="Extension" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <isModifier value="true" />
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Medication.package.batch.lotNumber">
            <path value="Medication.package.batch.lotNumber" />
            <short value="Identifier assigned to batch" />
            <definition value="The assigned lot number of a batch of the specified product." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Medication.package.batch.lotNumber" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="script10.6" />
                <map value="no mapping" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="RXA-15 Substance Lot Number / RXG-19 Substance Lot Number" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value=".id" />
            </mapping>
        </element>
        <element id="Medication.package.batch.expirationDate">
            <path value="Medication.package.batch.expirationDate" />
            <short value="When batch will expire" />
            <definition value="When this specific batch of product will expire." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Medication.package.batch.expirationDate" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="dateTime" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="script10.6" />
                <map value="no mapping" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="RXA-16 Substance Expiration Date / RXG-20 Substance Expiration Date" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="participation[typeCode=CSM].role[classCode=INST].scopedRole.scoper[classCode=MMAT].expirationTime" />
            </mapping>
        </element>
        <element id="Medication.image">
            <path value="Medication.image" />
            <short value="Picture of the medication" />
            <definition value="Photo(s) or graphic representation(s) of the medication." />
            <comment value="When providing a summary view (for example with Observation.value[x]) Attachment should be represented with a brief display text such as &quot;Attachment&quot;." />
            <requirements value="Note that &quot;image&quot; 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 value="0" />
            <max value="*" />
            <base>
                <path value="Medication.image" />
                <min value="0" />
                <max value="*" />
            </base>
            <type>
                <code value="Attachment" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="att-1" />
                <severity value="error" />
                <human value="It the Attachment has data, it SHALL have a contentType" />
                <expression value="data.empty() or contentType.exists()" />
                <xpath value="not(exists(f:data)) or exists(f:contentType)" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="ED/RP" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="ED" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value=".participation[typeCode=SUBJ].role[classCode=MANU],source[classCode=OBS,moodCode=EVN,code=&quot;type of image&quot;].value(ED.image)" />
            </mapping>
        </element>
        <element id="Medication.image.id">
            <path value="Medication.image.id" />
            <representation value="xmlAttr" />
            <short value="xml:id (or equivalent in JSON)" />
            <definition value="unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Element.id" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
        </element>
        <element id="Medication.image.extension">
            <path value="Medication.image.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <description value="Extensions are always sliced by (at least) url" />
                <rules value="open" />
            </slicing>
            <short value="Additional Content defined by implementations" />
            <definition value="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 value="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 value="extensions" />
            <alias value="user content" />
            <min value="0" />
            <max value="*" />
            <base>
                <path value="Element.extension" />
                <min value="0" />
                <max value="*" />
            </base>
            <type>
                <code value="Extension" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <constraint>
                <key value="ext-1" />
                <severity value="error" />
                <human value="Must have either extensions or value[x], not both" />
                <expression value="extension.exists() != value.exists()" />
                <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), &#39;value&#39;)])" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A" />
            </mapping>
        </element>
        <element id="Medication.image.contentType">
            <path value="Medication.image.contentType" />
            <short value="Mime type of the content, with charset etc." />
            <definition value="Identifies the type of the data in the attachment and allows a method to be chosen to interpret or render the data. Includes mime type parameters such as charset where appropriate." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <requirements value="Processors of the data need to be able to know how to interpret the data." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Attachment.contentType" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="code" />
            </type>
            <example>
                <label value="General" />
                <valueCode value="text/plain; charset=UTF-8, image/png" />
            </example>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <binding>
                <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
                    <valueString value="MimeType" />
                </extension>
                <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding">
                    <valueBoolean value="true" />
                </extension>
                <strength value="required" />
                <description value="The mime type of an attachment. Any valid mime type is allowed." />
                <valueSetUri value="http://www.rfc-editor.org/bcp/bcp13.txt" />
            </binding>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="ED.2+ED.3/RP.2+RP.3. Note conversion may be needed if old style values are being used" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./mediaType, ./charset" />
            </mapping>
        </element>
        <element id="Medication.image.language">
            <path value="Medication.image.language" />
            <short value="Human language of the content (BCP-47)" />
            <definition value="The human language of the content. The value can be any valid value according to BCP 47." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <requirements value="Users need to be able to choose between the languages in a set of attachments." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Attachment.language" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="code" />
            </type>
            <example>
                <label value="General" />
                <valueCode value="en-AU" />
            </example>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <binding>
                <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet">
                    <valueReference>
                        <reference value="http://hl7.org/fhir/ValueSet/all-languages" />
                    </valueReference>
                </extension>
                <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
                    <valueString value="Language" />
                </extension>
                <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding">
                    <valueBoolean value="true" />
                </extension>
                <strength value="extensible" />
                <description value="A human language." />
                <valueSetReference>
                    <reference value="http://hl7.org/fhir/ValueSet/languages" />
                </valueSetReference>
            </binding>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./language" />
            </mapping>
        </element>
        <element id="Medication.image.data">
            <path value="Medication.image.data" />
            <short value="Data inline, base64ed" />
            <definition value="The actual data of the attachment - a sequence of bytes. In XML, represented using base64." />
            <comment value="The base64-encoded data SHALL be expressed in the same character set as the base resource XML or JSON." />
            <requirements value="The data needs to able to be transmitted inline." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Attachment.data" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="base64Binary" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="ED.5" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./data" />
            </mapping>
        </element>
        <element id="Medication.image.url">
            <path value="Medication.image.url" />
            <short value="Uri where the data can be found" />
            <definition value="An alternative location where the data can be accessed." />
            <comment value="If both data and url are provided, the url SHALL point to the same content as the data contains. Urls may be relative references or may reference transient locations such as a wrapping envelope using cid: though this has ramifications for using signatures. Relative URLs are interpreted relative to the service url, like a resource reference, rather than relative to the resource itself. If a URL is provided, it SHALL resolve to actual data." />
            <requirements value="The data needs to be transmitted by reference." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Attachment.url" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="uri" />
            </type>
            <example>
                <label value="General" />
                <valueUri value="http://www.acme.com/logo-small.png" />
            </example>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="v2" />
                <map value="RP.1+RP.2 - if they refer to a URL (see v2.6)" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./reference/literal" />
            </mapping>
        </element>
        <element id="Medication.image.size">
            <path value="Medication.image.size" />
            <short value="Number of bytes of content (if url provided)" />
            <definition value="The number of bytes of data that make up this attachment (before base64 encoding, if that is done)." />
            <comment value="The number of bytes is redundant if the data is provided as a base64binary, but is useful if the data is provided as a url reference." />
            <requirements value="Representing the size allows applications to determine whether they should fetch the content automatically in advance, or refuse to fetch it at all." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Attachment.size" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="unsignedInt" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A (needs data type R3 proposal)" />
            </mapping>
        </element>
        <element id="Medication.image.hash">
            <path value="Medication.image.hash" />
            <short value="Hash of the data (sha-1, base64ed)" />
            <definition value="The calculated hash of the data using SHA-1. Represented using base64." />
            <comment value="The hash is calculated on the data prior to base64 encoding, if the data is based64 encoded." />
            <requirements value="Included so that applications can verify that the contents of a location have not changed and so that a signature of the content can implicitly sign the content of an image without having to include the data in the instance or reference the url in the signature." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Attachment.hash" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="base64Binary" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value=".integrityCheck[parent::ED/integrityCheckAlgorithm=&quot;SHA-1&quot;]" />
            </mapping>
        </element>
        <element id="Medication.image.title">
            <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
                <valueBoolean value="true" />
            </extension>
            <path value="Medication.image.title" />
            <short value="Label to display in place of the data" />
            <definition value="A label or set of text to display in place of the data." />
            <comment value="Note that FHIR strings may not exceed 1MB in size" />
            <requirements value="Applications need a label to display to a human user in place of the actual data if the data cannot be rendered or perceived by the viewer." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Attachment.title" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="string" />
            </type>
            <example>
                <label value="General" />
                <valueString value="Official Corporate Logo" />
            </example>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="./title/data" />
            </mapping>
        </element>
        <element id="Medication.image.creation">
            <path value="Medication.image.creation" />
            <short value="Date attachment was first created" />
            <definition value="The date that the attachment was first created." />
            <requirements value="This is often tracked as an integrity issue for use of the attachment." />
            <min value="0" />
            <max value="1" />
            <base>
                <path value="Attachment.creation" />
                <min value="0" />
                <max value="1" />
            </base>
            <type>
                <code value="dateTime" />
            </type>
            <condition value="ele-1" />
            <constraint>
                <key value="ele-1" />
                <severity value="error" />
                <human value="All FHIR elements must have a @value or children" />
                <expression value="hasValue() | (children().count() &gt; id.count())" />
                <xpath value="@value|f:*|h:div" />
            </constraint>
            <isSummary value="true" />
            <mapping>
                <identity value="rim" />
                <map value="n/a" />
            </mapping>
            <mapping>
                <identity value="rim" />
                <map value="N/A (needs data type R3 proposal)" />
            </mapping>
        </element>
    </snapshot>
    <differential>
        <element id="Medication.meta.profile">
            <path value="Medication.meta.profile" />
            <min value="1" />
        </element>
        <element id="Medication.code">
            <path value="Medication.code" />
            <min value="1" />
            <binding>
                <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
                    <valueString value="MedicationFormalRepresentation" />
                </extension>
                <strength value="required" />
                <description value="A code from the SNOMED Clinical Terminology UK coding system that describes a medication from the VTM/VMP/VMPP/AMP/AMPP subsets from the dm+d terminology" />
                <valueSetReference>
                    <reference value="https://fhir.nhs.uk/STU3/ValueSet/CareConnect-MedicationCode-1" />
                </valueSetReference>
            </binding>
        </element>
        <element id="Medication.code.coding.extension">
            <path value="Medication.code.coding.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <rules value="open" />
            </slicing>
        </element>
        <element id="Medication.code.coding.extension:snomedCTDescriptionID">
            <path value="Medication.code.coding.extension" />
            <sliceName value="snomedCTDescriptionID" />
            <type>
                <code value="Extension" />
                <profile value="https://fhir.nhs.uk/STU3/StructureDefinition/Extension-coding-sctdescid" />
            </type>
        </element>
        <element id="Medication.code.coding.system">
            <path value="Medication.code.coding.system" />
            <min value="1" />
        </element>
        <element id="Medication.code.coding.version">
            <path value="Medication.code.coding.version" />
            <max value="0" />
        </element>
        <element id="Medication.code.coding.code">
            <path value="Medication.code.coding.code" />
            <min value="1" />
        </element>
        <element id="Medication.manufacturer">
            <path value="Medication.manufacturer" />
            <type>
                <code value="Reference" />
                <targetProfile value="https://fhir.nhs.uk/STU3/StructureDefinition/CareConnect-GPC-Organization-1" />
            </type>
        </element>
        <element id="Medication.form">
            <path value="Medication.form" />
            <short value="Codes that describe a medication dose form" />
            <binding>
                <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
                    <valueString value="MedicationForm" />
                </extension>
                <strength value="required" />
                <description value="A code from the SNOMED Clinical Terminology UK coding system that describes a medication dose form" />
                <valueSetReference>
                    <reference value="https://fhir.nhs.uk/STU3/ValueSet/CareConnect-MedicationForm-1" />
                </valueSetReference>
            </binding>
        </element>
        <element id="Medication.form.coding.extension">
            <path value="Medication.form.coding.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <rules value="open" />
            </slicing>
        </element>
        <element id="Medication.form.coding.extension:snomedCTDescriptionID">
            <path value="Medication.form.coding.extension" />
            <sliceName value="snomedCTDescriptionID" />
            <type>
                <code value="Extension" />
                <profile value="https://fhir.nhs.uk/STU3/StructureDefinition/Extension-coding-sctdescid" />
            </type>
        </element>
        <element id="Medication.form.coding.system">
            <path value="Medication.form.coding.system" />
            <min value="1" />
        </element>
        <element id="Medication.form.coding.version">
            <path value="Medication.form.coding.version" />
            <max value="0" />
        </element>
        <element id="Medication.form.coding.code">
            <path value="Medication.form.coding.code" />
            <min value="1" />
        </element>
        <element id="Medication.ingredient.item[x]">
            <path value="Medication.ingredient.item[x]" />
            <type>
                <code value="CodeableConcept" />
            </type>
            <type>
                <code value="Reference" />
                <targetProfile value="http://hl7.org/fhir/StructureDefinition/Substance" />
            </type>
            <type>
                <code value="Reference" />
                <targetProfile value="https://fhir.nhs.uk/STU3/StructureDefinition/CareConnect-GPC-Medication-1" />
            </type>
        </element>
        <element id="Medication.package.content.item[x]">
            <path value="Medication.package.content.item[x]" />
            <type>
                <code value="CodeableConcept" />
            </type>
            <type>
                <code value="Reference" />
                <targetProfile value="https://fhir.nhs.uk/STU3/StructureDefinition/CareConnect-GPC-Medication-1" />
            </type>
        </element>
    </differential>
</StructureDefinition>
{
    "resourceType": "StructureDefinition",
    "meta": {
        "lastUpdated": "2018-05-18T14:36:23.951+01:00"
    },
    "extension":  [
        {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
            "valueCode": "phx"
        }
    ],
    "url": "https://fhir.nhs.uk/STU3/StructureDefinition/CareConnect-GPC-Medication-1",
    "version": "1.2.0",
    "name": "CareConnect-GPC-Medication-1",
    "status": "active",
    "date": "2019-11-04",
    "publisher": "HL7 UK",
    "description": "This Medication Resource is primarily used for the identification and definition of a medication.",
    "copyright": "Copyright © 2019 HL7 UK\n\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License. You may obtain a copy of the License at\n\nhttp://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.\n\nHL7® FHIR® standard Copyright © 2011+ HL7\n\nThe HL7® FHIR® standard is used under the FHIR license. You may obtain a copy of the FHIR license at\n\nhttps://www.hl7.org/fhir/license.html",
    "fhirVersion": "3.0.1",
    "kind": "resource",
    "abstract": false,
    "type": "Medication",
    "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Medication",
    "derivation": "constraint",
    "snapshot": {
        "element":  [
            {
                "id": "Medication",
                "path": "Medication",
                "short": "Definition of a Medication",
                "definition": "This resource is primarily used for the identification and definition of a medication. It covers the ingredients and the packaging for a medication.",
                "min": 0,
                "max": "*",
                "base": {
                    "path": "Resource",
                    "min": 0,
                    "max": "*"
                },
                "constraint":  [
                    {
                        "key": "dom-2",
                        "severity": "error",
                        "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                        "expression": "contained.contained.empty()",
                        "xpath": "not(parent::f:contained and f:contained)"
                    },
                    {
                        "key": "dom-1",
                        "severity": "error",
                        "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                        "expression": "contained.text.empty()",
                        "xpath": "not(parent::f:contained and f:text)"
                    },
                    {
                        "key": "dom-4",
                        "severity": "error",
                        "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                        "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                        "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))"
                    },
                    {
                        "key": "dom-3",
                        "severity": "error",
                        "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                        "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                        "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "Entity. Role, or Act"
                    },
                    {
                        "identity": "script10.6",
                        "map": "NewRx/MedicationPrescribed\n-or-\nRxFill/MedicationDispensed\n-or-\nRxHistoryResponse/MedicationDispensed\n-or-\nRxHistoryResponse/MedicationPrescribed"
                    },
                    {
                        "identity": "rim",
                        "map": "ManufacturedProduct[classCode=ADMM]"
                    },
                    {
                        "identity": "w5",
                        "map": "clinical.medication"
                    }
                ]
            },
            {
                "id": "Medication.id",
                "path": "Medication.id",
                "short": "Logical id of this artifact",
                "definition": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
                "comment": "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": 0,
                "max": "1",
                "base": {
                    "path": "Resource.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "id"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Medication.meta",
                "path": "Medication.meta",
                "short": "Metadata about the resource",
                "definition": "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": 0,
                "max": "1",
                "base": {
                    "path": "Resource.meta",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "Meta"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Medication.meta.id",
                "path": "Medication.meta.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Medication.meta.extension",
                "path": "Medication.meta.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "short": "Additional Content defined by implementations",
                "definition": "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": "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":  [
                    "extensions",
                    "user content"
                ],
                "min": 0,
                "max": "*",
                "base": {
                    "path": "Element.extension",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Extension"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Medication.meta.versionId",
                "path": "Medication.meta.versionId",
                "short": "Version specific identifier",
                "definition": "The version specific identifier, as it appears in the version portion of the URL. This values changes when the resource is created, updated, or deleted.",
                "comment": "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": 0,
                "max": "1",
                "base": {
                    "path": "Meta.versionId",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "id"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Medication.meta.lastUpdated",
                "path": "Medication.meta.lastUpdated",
                "short": "When the resource version last changed",
                "definition": "When the resource last changed - e.g. when the version changed.",
                "comment": "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.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Meta.lastUpdated",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "instant"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Medication.meta.profile",
                "path": "Medication.meta.profile",
                "short": "Profiles this resource claims to conform to",
                "definition": "A list of profiles (references to [StructureDefinition](structuredefinition.html#) resources) that this resource claims to conform to. The URL is a reference to [StructureDefinition.url]().",
                "comment": "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": 1,
                "max": "*",
                "base": {
                    "path": "Meta.profile",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "uri"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Medication.meta.security",
                "path": "Medication.meta.security",
                "short": "Security Labels applied to this resource",
                "definition": "Security labels applied to this resource. These tags connect specific resources to the overall security policy and infrastructure.",
                "comment": "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": 0,
                "max": "*",
                "base": {
                    "path": "Meta.security",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Coding"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "binding": {
                    "extension":  [
                        {
                            "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                            "valueString": "SecurityLabels"
                        },
                        {
                            "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                            "valueBoolean": true
                        }
                    ],
                    "strength": "extensible",
                    "description": "Security Labels from the Healthcare Privacy and Security Classification System.",
                    "valueSetReference": {
                        "reference": "http://hl7.org/fhir/ValueSet/security-labels"
                    }
                },
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "CE/CNE/CWE subset one of the sets of component 1-3 or 4-6"
                    },
                    {
                        "identity": "rim",
                        "map": "CV"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding rdfs:subClassOf dt:CDCoding"
                    }
                ]
            },
            {
                "id": "Medication.meta.security.id",
                "path": "Medication.meta.security.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Medication.meta.security.extension",
                "path": "Medication.meta.security.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "short": "Additional Content defined by implementations",
                "definition": "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": "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":  [
                    "extensions",
                    "user content"
                ],
                "min": 0,
                "max": "*",
                "base": {
                    "path": "Element.extension",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Extension"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Medication.meta.security.system",
                "path": "Medication.meta.security.system",
                "short": "Identity of the terminology system",
                "definition": "The identification of the code system that defines the meaning of the symbol in the code.",
                "comment": "The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...).  OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.",
                "requirements": "Need to be unambiguous about the source of the definition of the symbol.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.system",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "uri"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.3"
                    },
                    {
                        "identity": "rim",
                        "map": "./codeSystem"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem"
                    }
                ]
            },
            {
                "id": "Medication.meta.security.version",
                "path": "Medication.meta.security.version",
                "short": "Version of the system - if relevant",
                "definition": "The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.",
                "comment": "Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.version",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.7"
                    },
                    {
                        "identity": "rim",
                        "map": "./codeSystemVersion"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion"
                    }
                ]
            },
            {
                "id": "Medication.meta.security.code",
                "path": "Medication.meta.security.code",
                "short": "Symbol in syntax defined by the system",
                "definition": "A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "requirements": "Need to refer to a particular code in the system.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.code",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "code"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.1"
                    },
                    {
                        "identity": "rim",
                        "map": "./code"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code"
                    }
                ]
            },
            {
                "id": "Medication.meta.security.display",
                "extension":  [
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                        "valueBoolean": true
                    }
                ],
                "path": "Medication.meta.security.display",
                "short": "Representation defined by the system",
                "definition": "A representation of the meaning of the code in the system, following the rules of the system.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "requirements": "Need to be able to carry a human-readable meaning of the code for readers that do not know  the system.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.display",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.2 - but note this is not well followed"
                    },
                    {
                        "identity": "rim",
                        "map": "CV.displayName"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName"
                    }
                ]
            },
            {
                "id": "Medication.meta.security.userSelected",
                "path": "Medication.meta.security.userSelected",
                "short": "If this coding was chosen directly by the user",
                "definition": "Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).",
                "comment": "Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.",
                "requirements": "This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.userSelected",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "boolean"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "Sometimes implied by being first"
                    },
                    {
                        "identity": "rim",
                        "map": "CD.codingRationale"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map;   fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\\#true a [     fhir:source \"true\";     fhir:target dt:CDCoding.codingRationale\\#O   ]"
                    }
                ]
            },
            {
                "id": "Medication.meta.tag",
                "path": "Medication.meta.tag",
                "short": "Tags applied to this resource",
                "definition": "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": "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": 0,
                "max": "*",
                "base": {
                    "path": "Meta.tag",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Coding"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "binding": {
                    "extension":  [
                        {
                            "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                            "valueString": "Tags"
                        }
                    ],
                    "strength": "example",
                    "description": "Codes that represent various types of tags, commonly workflow-related; e.g. \"Needs review by Dr. Jones\"",
                    "valueSetReference": {
                        "reference": "http://hl7.org/fhir/ValueSet/common-tags"
                    }
                },
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "CE/CNE/CWE subset one of the sets of component 1-3 or 4-6"
                    },
                    {
                        "identity": "rim",
                        "map": "CV"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding rdfs:subClassOf dt:CDCoding"
                    }
                ]
            },
            {
                "id": "Medication.meta.tag.id",
                "path": "Medication.meta.tag.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Medication.meta.tag.extension",
                "path": "Medication.meta.tag.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "short": "Additional Content defined by implementations",
                "definition": "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": "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":  [
                    "extensions",
                    "user content"
                ],
                "min": 0,
                "max": "*",
                "base": {
                    "path": "Element.extension",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Extension"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Medication.meta.tag.system",
                "path": "Medication.meta.tag.system",
                "short": "Identity of the terminology system",
                "definition": "The identification of the code system that defines the meaning of the symbol in the code.",
                "comment": "The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...).  OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.",
                "requirements": "Need to be unambiguous about the source of the definition of the symbol.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.system",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "uri"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.3"
                    },
                    {
                        "identity": "rim",
                        "map": "./codeSystem"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem"
                    }
                ]
            },
            {
                "id": "Medication.meta.tag.version",
                "path": "Medication.meta.tag.version",
                "short": "Version of the system - if relevant",
                "definition": "The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.",
                "comment": "Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.version",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.7"
                    },
                    {
                        "identity": "rim",
                        "map": "./codeSystemVersion"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion"
                    }
                ]
            },
            {
                "id": "Medication.meta.tag.code",
                "path": "Medication.meta.tag.code",
                "short": "Symbol in syntax defined by the system",
                "definition": "A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "requirements": "Need to refer to a particular code in the system.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.code",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "code"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.1"
                    },
                    {
                        "identity": "rim",
                        "map": "./code"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code"
                    }
                ]
            },
            {
                "id": "Medication.meta.tag.display",
                "extension":  [
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                        "valueBoolean": true
                    }
                ],
                "path": "Medication.meta.tag.display",
                "short": "Representation defined by the system",
                "definition": "A representation of the meaning of the code in the system, following the rules of the system.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "requirements": "Need to be able to carry a human-readable meaning of the code for readers that do not know  the system.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.display",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.2 - but note this is not well followed"
                    },
                    {
                        "identity": "rim",
                        "map": "CV.displayName"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName"
                    }
                ]
            },
            {
                "id": "Medication.meta.tag.userSelected",
                "path": "Medication.meta.tag.userSelected",
                "short": "If this coding was chosen directly by the user",
                "definition": "Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).",
                "comment": "Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.",
                "requirements": "This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.userSelected",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "boolean"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "Sometimes implied by being first"
                    },
                    {
                        "identity": "rim",
                        "map": "CD.codingRationale"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map;   fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\\#true a [     fhir:source \"true\";     fhir:target dt:CDCoding.codingRationale\\#O   ]"
                    }
                ]
            },
            {
                "id": "Medication.implicitRules",
                "path": "Medication.implicitRules",
                "short": "A set of rules under which this content was created",
                "definition": "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": "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. \n\nThis 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": 0,
                "max": "1",
                "base": {
                    "path": "Resource.implicitRules",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "uri"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isModifier": true,
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Medication.language",
                "path": "Medication.language",
                "short": "Language of the resource content",
                "definition": "The base language in which the resource is written.",
                "comment": "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": 0,
                "max": "1",
                "base": {
                    "path": "Resource.language",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "code"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "binding": {
                    "extension":  [
                        {
                            "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                            "valueReference": {
                                "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                            }
                        },
                        {
                            "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                            "valueString": "Language"
                        },
                        {
                            "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                            "valueBoolean": true
                        }
                    ],
                    "strength": "extensible",
                    "description": "A human language.",
                    "valueSetReference": {
                        "reference": "http://hl7.org/fhir/ValueSet/languages"
                    }
                },
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Medication.text",
                "path": "Medication.text",
                "short": "Text summary of the resource, for human interpretation",
                "definition": "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": "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":  [
                    "narrative",
                    "html",
                    "xhtml",
                    "display"
                ],
                "min": 0,
                "max": "1",
                "base": {
                    "path": "DomainResource.text",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "Narrative"
                    }
                ],
                "condition":  [
                    "ele-1",
                    "dom-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    },
                    {
                        "identity": "rim",
                        "map": "Act.text?"
                    }
                ]
            },
            {
                "id": "Medication.contained",
                "path": "Medication.contained",
                "short": "Contained, inline Resources",
                "definition": "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": "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":  [
                    "inline resources",
                    "anonymous resources",
                    "contained resources"
                ],
                "min": 0,
                "max": "*",
                "base": {
                    "path": "DomainResource.contained",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Resource"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "Entity. Role, or Act"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Medication.extension",
                "path": "Medication.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "short": "Additional Content defined by implementations",
                "definition": "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": "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":  [
                    "extensions",
                    "user content"
                ],
                "min": 0,
                "max": "*",
                "base": {
                    "path": "DomainResource.extension",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Extension"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Medication.modifierExtension",
                "path": "Medication.modifierExtension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "short": "Extensions that cannot be ignored",
                "definition": "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": "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":  [
                    "extensions",
                    "user content"
                ],
                "min": 0,
                "max": "*",
                "base": {
                    "path": "DomainResource.modifierExtension",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Extension"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "isModifier": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Medication.code",
                "path": "Medication.code",
                "short": "Codes that identify this medication",
                "definition": "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": "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": 1,
                "max": "1",
                "base": {
                    "path": "Medication.code",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "CodeableConcept"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "binding": {
                    "extension":  [
                        {
                            "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                            "valueString": "MedicationFormalRepresentation"
                        }
                    ],
                    "strength": "required",
                    "description": "A code from the SNOMED Clinical Terminology UK coding system that describes a medication from the VTM/VMP/VMPP/AMP/AMPP subsets from the dm+d terminology",
                    "valueSetReference": {
                        "reference": "https://fhir.nhs.uk/STU3/ValueSet/CareConnect-MedicationCode-1"
                    }
                },
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "CE/CNE/CWE"
                    },
                    {
                        "identity": "rim",
                        "map": "CD"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD"
                    },
                    {
                        "identity": "script10.6",
                        "map": "coding.code = //element(*,MedicationType)/DrugCoded/ProductCode\n\ncoding.system = //element(*,MedicationType)/DrugCoded/ProductCodeQualifier\n\ncoding.display = //element(*,MedicationType)/DrugDescription"
                    },
                    {
                        "identity": "v2",
                        "map": "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"
                    },
                    {
                        "identity": "rim",
                        "map": ".code"
                    },
                    {
                        "identity": "w5",
                        "map": "class"
                    }
                ]
            },
            {
                "id": "Medication.code.id",
                "path": "Medication.code.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Medication.code.extension",
                "path": "Medication.code.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "short": "Additional Content defined by implementations",
                "definition": "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": "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":  [
                    "extensions",
                    "user content"
                ],
                "min": 0,
                "max": "*",
                "base": {
                    "path": "Element.extension",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Extension"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Medication.code.coding",
                "path": "Medication.code.coding",
                "short": "Code defined by a terminology system",
                "definition": "A reference to a code defined by a terminology system.",
                "comment": "Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.  Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.",
                "requirements": "Allows for translations and alternate encodings within a code system.  Also supports communication of the same instance to systems requiring different encodings.",
                "min": 0,
                "max": "*",
                "base": {
                    "path": "CodeableConcept.coding",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Coding"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "CE/CNE/CWE subset one of the sets of component 1-3 or 4-6"
                    },
                    {
                        "identity": "rim",
                        "map": "CV"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding rdfs:subClassOf dt:CDCoding"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.1-8, C*E.10-22"
                    },
                    {
                        "identity": "rim",
                        "map": "union(., ./translation)"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding"
                    }
                ]
            },
            {
                "id": "Medication.code.coding.id",
                "path": "Medication.code.coding.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Medication.code.coding.extension",
                "path": "Medication.code.coding.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "short": "Additional Content defined by implementations",
                "definition": "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": "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":  [
                    "extensions",
                    "user content"
                ],
                "min": 0,
                "max": "*",
                "base": {
                    "path": "Element.extension",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Extension"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Medication.code.coding.extension:snomedCTDescriptionID",
                "path": "Medication.code.coding.extension",
                "sliceName": "snomedCTDescriptionID",
                "short": "The SNOMED CT Description ID for the display",
                "definition": "The SNOMED CT Description ID for the display.",
                "comment": "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":  [
                    "extensions",
                    "user content"
                ],
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.extension",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Extension",
                        "profile": "https://fhir.nhs.uk/STU3/StructureDefinition/Extension-coding-sctdescid"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Medication.code.coding.system",
                "path": "Medication.code.coding.system",
                "short": "Identity of the terminology system",
                "definition": "The identification of the code system that defines the meaning of the symbol in the code.",
                "comment": "The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...).  OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.",
                "requirements": "Need to be unambiguous about the source of the definition of the symbol.",
                "min": 1,
                "max": "1",
                "base": {
                    "path": "Coding.system",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "uri"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.3"
                    },
                    {
                        "identity": "rim",
                        "map": "./codeSystem"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem"
                    }
                ]
            },
            {
                "id": "Medication.code.coding.version",
                "path": "Medication.code.coding.version",
                "short": "Version of the system - if relevant",
                "definition": "The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.",
                "comment": "Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.",
                "min": 0,
                "max": "0",
                "base": {
                    "path": "Coding.version",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.7"
                    },
                    {
                        "identity": "rim",
                        "map": "./codeSystemVersion"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion"
                    }
                ]
            },
            {
                "id": "Medication.code.coding.code",
                "path": "Medication.code.coding.code",
                "short": "Symbol in syntax defined by the system",
                "definition": "A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "requirements": "Need to refer to a particular code in the system.",
                "min": 1,
                "max": "1",
                "base": {
                    "path": "Coding.code",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "code"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.1"
                    },
                    {
                        "identity": "rim",
                        "map": "./code"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code"
                    }
                ]
            },
            {
                "id": "Medication.code.coding.display",
                "extension":  [
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                        "valueBoolean": true
                    }
                ],
                "path": "Medication.code.coding.display",
                "short": "Representation defined by the system",
                "definition": "A representation of the meaning of the code in the system, following the rules of the system.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "requirements": "Need to be able to carry a human-readable meaning of the code for readers that do not know  the system.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.display",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.2 - but note this is not well followed"
                    },
                    {
                        "identity": "rim",
                        "map": "CV.displayName"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName"
                    }
                ]
            },
            {
                "id": "Medication.code.coding.userSelected",
                "path": "Medication.code.coding.userSelected",
                "short": "If this coding was chosen directly by the user",
                "definition": "Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).",
                "comment": "Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.",
                "requirements": "This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.userSelected",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "boolean"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "Sometimes implied by being first"
                    },
                    {
                        "identity": "rim",
                        "map": "CD.codingRationale"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map;   fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\\#true a [     fhir:source \"true\";     fhir:target dt:CDCoding.codingRationale\\#O   ]"
                    }
                ]
            },
            {
                "id": "Medication.code.text",
                "extension":  [
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                        "valueBoolean": true
                    }
                ],
                "path": "Medication.code.text",
                "short": "Plain text representation of the concept",
                "definition": "A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.",
                "comment": "Very often the text is the same as a displayName of one of the codings.",
                "requirements": "The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "CodeableConcept.text",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.9. But note many systems use C*E.2 for this"
                    },
                    {
                        "identity": "rim",
                        "map": "./originalText[mediaType/code=\"text/plain\"]/data"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText"
                    }
                ]
            },
            {
                "id": "Medication.status",
                "path": "Medication.status",
                "short": "active | inactive | entered-in-error",
                "definition": "A code to indicate if the medication is in active use.",
                "comment": "This status is not intended to specify if a medication is part of a formulary.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Medication.status",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "code"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "binding": {
                    "extension":  [
                        {
                            "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                            "valueString": "MedicationStatus"
                        }
                    ],
                    "strength": "required",
                    "description": "A coded concept defining if the medication is in active use",
                    "valueSetReference": {
                        "reference": "http://hl7.org/fhir/ValueSet/medication-status"
                    }
                },
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": ".statusCode"
                    }
                ]
            },
            {
                "id": "Medication.isBrand",
                "path": "Medication.isBrand",
                "short": "True if a brand",
                "definition": "Set to true if the item is attributable to a specific manufacturer.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Medication.isBrand",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "boolean"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "script10.6",
                        "map": "no mapping"
                    },
                    {
                        "identity": "rim",
                        "map": "true if .player.scopingRole[typeCode=MANU] exists"
                    },
                    {
                        "identity": "w5",
                        "map": "class"
                    }
                ]
            },
            {
                "id": "Medication.isOverTheCounter",
                "path": "Medication.isOverTheCounter",
                "short": "True if medication does not require a prescription",
                "definition": "Set to true if the medication can be obtained without an order from a prescriber.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Medication.isOverTheCounter",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "boolean"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "NA"
                    },
                    {
                        "identity": "w5",
                        "map": "class"
                    }
                ]
            },
            {
                "id": "Medication.manufacturer",
                "path": "Medication.manufacturer",
                "short": "Manufacturer of the item",
                "definition": "Describes the details of the manufacturer of the medication product.  This is not intended to represent the distributor of a medication product.",
                "comment": "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": 0,
                "max": "1",
                "base": {
                    "path": "Medication.manufacturer",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile": "https://fhir.nhs.uk/STU3/StructureDefinition/CareConnect-GPC-Organization-1"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ref-1",
                        "severity": "error",
                        "human": "SHALL have a contained resource if a local reference is provided",
                        "expression": "reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))",
                        "xpath": "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, '#')])"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)"
                    },
                    {
                        "identity": "script10.6",
                        "map": "no mapping"
                    },
                    {
                        "identity": "v2",
                        "map": "RXD-20-Substance Manufacturer Name / RXG-21-Substance Manufacturer Name / RXA-17-Substance Manufacturer Name"
                    },
                    {
                        "identity": "rim",
                        "map": ".player.scopingRole[typeCode=MANU].scoper"
                    },
                    {
                        "identity": "w5",
                        "map": "who.actor"
                    }
                ]
            },
            {
                "id": "Medication.manufacturer.id",
                "path": "Medication.manufacturer.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Medication.manufacturer.extension",
                "path": "Medication.manufacturer.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "short": "Additional Content defined by implementations",
                "definition": "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": "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":  [
                    "extensions",
                    "user content"
                ],
                "min": 0,
                "max": "*",
                "base": {
                    "path": "Element.extension",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Extension"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Medication.manufacturer.reference",
                "path": "Medication.manufacturer.reference",
                "short": "Literal reference, Relative, internal or absolute URL",
                "definition": "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": "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": 0,
                "max": "1",
                "base": {
                    "path": "Reference.reference",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1",
                    "ref-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Medication.manufacturer.identifier",
                "path": "Medication.manufacturer.identifier",
                "short": "Logical reference, when literal reference is not known",
                "definition": "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": "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. \n\nWhen 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\n\nApplications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Reference.identifier",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "Identifier"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "CX / EI (occasionally, more often EI maps to a resource id or a URL)"
                    },
                    {
                        "identity": "rim",
                        "map": "II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. 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]"
                    },
                    {
                        "identity": "servd",
                        "map": "Identifier"
                    },
                    {
                        "identity": "rim",
                        "map": ".identifier"
                    }
                ]
            },
            {
                "id": "Medication.manufacturer.display",
                "extension":  [
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                        "valueBoolean": true
                    }
                ],
                "path": "Medication.manufacturer.display",
                "short": "Text alternative for the resource",
                "definition": "Plain text narrative that identifies the resource in addition to the resource reference.",
                "comment": "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": 0,
                "max": "1",
                "base": {
                    "path": "Reference.display",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Medication.form",
                "path": "Medication.form",
                "short": "Codes that describe a medication dose form",
                "definition": "Describes the form of the item.  Powder; tablets; capsule.",
                "comment": "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": 0,
                "max": "1",
                "base": {
                    "path": "Medication.form",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "CodeableConcept"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "binding": {
                    "extension":  [
                        {
                            "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                            "valueString": "MedicationForm"
                        }
                    ],
                    "strength": "required",
                    "description": "A code from the SNOMED Clinical Terminology UK coding system that describes a medication dose form",
                    "valueSetReference": {
                        "reference": "https://fhir.nhs.uk/STU3/ValueSet/CareConnect-MedicationForm-1"
                    }
                },
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "CE/CNE/CWE"
                    },
                    {
                        "identity": "rim",
                        "map": "CD"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD"
                    },
                    {
                        "identity": "script10.6",
                        "map": "coding.code =  //element(*,DrugCodedType)/FormCode\n\ncoding.system = //element(*,DrugCodedType)/FormSourceCode"
                    },
                    {
                        "identity": "v2",
                        "map": "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"
                    },
                    {
                        "identity": "rim",
                        "map": ".formCode"
                    }
                ]
            },
            {
                "id": "Medication.form.id",
                "path": "Medication.form.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Medication.form.extension",
                "path": "Medication.form.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "short": "Additional Content defined by implementations",
                "definition": "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": "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":  [
                    "extensions",
                    "user content"
                ],
                "min": 0,
                "max": "*",
                "base": {
                    "path": "Element.extension",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Extension"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Medication.form.coding",
                "path": "Medication.form.coding",
                "short": "Code defined by a terminology system",
                "definition": "A reference to a code defined by a terminology system.",
                "comment": "Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.  Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.",
                "requirements": "Allows for translations and alternate encodings within a code system.  Also supports communication of the same instance to systems requiring different encodings.",
                "min": 0,
                "max": "*",
                "base": {
                    "path": "CodeableConcept.coding",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Coding"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "CE/CNE/CWE subset one of the sets of component 1-3 or 4-6"
                    },
                    {
                        "identity": "rim",
                        "map": "CV"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding rdfs:subClassOf dt:CDCoding"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.1-8, C*E.10-22"
                    },
                    {
                        "identity": "rim",
                        "map": "union(., ./translation)"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding"
                    }
                ]
            },
            {
                "id": "Medication.form.coding.id",
                "path": "Medication.form.coding.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Medication.form.coding.extension",
                "path": "Medication.form.coding.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "short": "Additional Content defined by implementations",
                "definition": "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": "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":  [
                    "extensions",
                    "user content"
                ],
                "min": 0,
                "max": "*",
                "base": {
                    "path": "Element.extension",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Extension"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Medication.form.coding.extension:snomedCTDescriptionID",
                "path": "Medication.form.coding.extension",
                "sliceName": "snomedCTDescriptionID",
                "short": "The SNOMED CT Description ID for the display",
                "definition": "The SNOMED CT Description ID for the display.",
                "comment": "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":  [
                    "extensions",
                    "user content"
                ],
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.extension",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Extension",
                        "profile": "https://fhir.nhs.uk/STU3/StructureDefinition/Extension-coding-sctdescid"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Medication.form.coding.system",
                "path": "Medication.form.coding.system",
                "short": "Identity of the terminology system",
                "definition": "The identification of the code system that defines the meaning of the symbol in the code.",
                "comment": "The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...).  OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.",
                "requirements": "Need to be unambiguous about the source of the definition of the symbol.",
                "min": 1,
                "max": "1",
                "base": {
                    "path": "Coding.system",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "uri"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.3"
                    },
                    {
                        "identity": "rim",
                        "map": "./codeSystem"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem"
                    }
                ]
            },
            {
                "id": "Medication.form.coding.version",
                "path": "Medication.form.coding.version",
                "short": "Version of the system - if relevant",
                "definition": "The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.",
                "comment": "Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.",
                "min": 0,
                "max": "0",
                "base": {
                    "path": "Coding.version",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.7"
                    },
                    {
                        "identity": "rim",
                        "map": "./codeSystemVersion"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion"
                    }
                ]
            },
            {
                "id": "Medication.form.coding.code",
                "path": "Medication.form.coding.code",
                "short": "Symbol in syntax defined by the system",
                "definition": "A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "requirements": "Need to refer to a particular code in the system.",
                "min": 1,
                "max": "1",
                "base": {
                    "path": "Coding.code",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "code"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.1"
                    },
                    {
                        "identity": "rim",
                        "map": "./code"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code"
                    }
                ]
            },
            {
                "id": "Medication.form.coding.display",
                "extension":  [
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                        "valueBoolean": true
                    }
                ],
                "path": "Medication.form.coding.display",
                "short": "Representation defined by the system",
                "definition": "A representation of the meaning of the code in the system, following the rules of the system.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "requirements": "Need to be able to carry a human-readable meaning of the code for readers that do not know  the system.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.display",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.2 - but note this is not well followed"
                    },
                    {
                        "identity": "rim",
                        "map": "CV.displayName"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName"
                    }
                ]
            },
            {
                "id": "Medication.form.coding.userSelected",
                "path": "Medication.form.coding.userSelected",
                "short": "If this coding was chosen directly by the user",
                "definition": "Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).",
                "comment": "Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.",
                "requirements": "This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.userSelected",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "boolean"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "Sometimes implied by being first"
                    },
                    {
                        "identity": "rim",
                        "map": "CD.codingRationale"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map;   fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\\#true a [     fhir:source \"true\";     fhir:target dt:CDCoding.codingRationale\\#O   ]"
                    }
                ]
            },
            {
                "id": "Medication.form.text",
                "extension":  [
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                        "valueBoolean": true
                    }
                ],
                "path": "Medication.form.text",
                "short": "Plain text representation of the concept",
                "definition": "A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.",
                "comment": "Very often the text is the same as a displayName of one of the codings.",
                "requirements": "The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "CodeableConcept.text",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.9. But note many systems use C*E.2 for this"
                    },
                    {
                        "identity": "rim",
                        "map": "./originalText[mediaType/code=\"text/plain\"]/data"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText"
                    }
                ]
            },
            {
                "id": "Medication.ingredient",
                "path": "Medication.ingredient",
                "short": "Active or inactive ingredient",
                "definition": "Identifies a particular constituent of interest in the product.",
                "comment": "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": 0,
                "max": "*",
                "base": {
                    "path": "Medication.ingredient",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "BackboneElement"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": ".scopesRole[typeCode=INGR]"
                    }
                ]
            },
            {
                "id": "Medication.ingredient.id",
                "path": "Medication.ingredient.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Medication.ingredient.extension",
                "path": "Medication.ingredient.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "short": "Additional Content defined by implementations",
                "definition": "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": "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":  [
                    "extensions",
                    "user content"
                ],
                "min": 0,
                "max": "*",
                "base": {
                    "path": "Element.extension",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Extension"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Medication.ingredient.modifierExtension",
                "path": "Medication.ingredient.modifierExtension",
                "short": "Extensions that cannot be ignored",
                "definition": "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": "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":  [
                    "extensions",
                    "user content",
                    "modifiers"
                ],
                "min": 0,
                "max": "*",
                "base": {
                    "path": "BackboneElement.modifierExtension",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Extension"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "isModifier": true,
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Medication.ingredient.item[x]",
                "path": "Medication.ingredient.item[x]",
                "short": "The product contained",
                "definition": "The actual ingredient - either a substance (simple ingredient) or another medication.",
                "comment": "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": 1,
                "max": "1",
                "base": {
                    "path": "Medication.ingredient.item[x]",
                    "min": 1,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "CodeableConcept"
                    },
                    {
                        "code": "Reference",
                        "targetProfile": "http://hl7.org/fhir/StructureDefinition/Substance"
                    },
                    {
                        "code": "Reference",
                        "targetProfile": "https://fhir.nhs.uk/STU3/StructureDefinition/CareConnect-GPC-Medication-1"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "CE/CNE/CWE"
                    },
                    {
                        "identity": "rim",
                        "map": "CD"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD"
                    },
                    {
                        "identity": "script10.6",
                        "map": "coding.code = //element(*,MedicationType)/DrugCoded/ProductCode\n\ncoding.system = //element(*,MedicationType)/DrugCoded/ProductCodeQualifier\n\ncoding.display = //element(*,MedicationType)/DrugDescription"
                    },
                    {
                        "identity": "v2",
                        "map": "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"
                    },
                    {
                        "identity": "rim",
                        "map": ".player"
                    }
                ]
            },
            {
                "id": "Medication.ingredient.isActive",
                "path": "Medication.ingredient.isActive",
                "short": "Active ingredient indicator",
                "definition": "Indication of whether this ingredient affects the therapeutic action of the drug.",
                "requirements": "True indicates that the ingredient affects the therapeutic action of the drug (i.e. active). \nFalse indicates that the ingredient does not affect the therapeutic action of the drug (i.e. inactive).",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Medication.ingredient.isActive",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "boolean"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "NA"
                    }
                ]
            },
            {
                "id": "Medication.ingredient.amount",
                "path": "Medication.ingredient.amount",
                "short": "Quantity of ingredient present",
                "definition": "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": 0,
                "max": "1",
                "base": {
                    "path": "Medication.ingredient.amount",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "Ratio"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "rat-1",
                        "severity": "error",
                        "human": "Numerator and denominator SHALL both be present, or both are absent. If both are absent, there SHALL be some extension present",
                        "expression": "(numerator.empty() xor denominator.exists()) and (numerator.exists() or extension.exists())",
                        "xpath": "(count(f:numerator) = count(f:denominator)) and ((count(f:numerator) > 0) or (count(f:extension) > 0))"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "N/A"
                    },
                    {
                        "identity": "rim",
                        "map": "RTO"
                    },
                    {
                        "identity": "script10.6",
                        "map": "//element(*,DrugCodedType)/Strength"
                    },
                    {
                        "identity": "v2",
                        "map": "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"
                    },
                    {
                        "identity": "rim",
                        "map": ".quantity"
                    }
                ]
            },
            {
                "id": "Medication.ingredient.amount.id",
                "path": "Medication.ingredient.amount.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Medication.ingredient.amount.extension",
                "path": "Medication.ingredient.amount.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "short": "Additional Content defined by implementations",
                "definition": "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": "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":  [
                    "extensions",
                    "user content"
                ],
                "min": 0,
                "max": "*",
                "base": {
                    "path": "Element.extension",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Extension"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Medication.ingredient.amount.numerator",
                "path": "Medication.ingredient.amount.numerator",
                "short": "Numerator value",
                "definition": "The value of the numerator.",
                "comment": "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": 0,
                "max": "1",
                "base": {
                    "path": "Ratio.numerator",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "Quantity"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "qty-3",
                        "severity": "error",
                        "human": "If a code for the unit is present, the system SHALL also be present",
                        "expression": "code.empty() or system.exists()",
                        "xpath": "not(exists(f:code)) or exists(f:system)"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "SN (see also Range) or CQ"
                    },
                    {
                        "identity": "rim",
                        "map": "PQ, IVL<PQ>, MO, CO, depending on the values"
                    },
                    {
                        "identity": "rim",
                        "map": ".numerator"
                    }
                ]
            },
            {
                "id": "Medication.ingredient.amount.numerator.id",
                "path": "Medication.ingredient.amount.numerator.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Medication.ingredient.amount.numerator.extension",
                "path": "Medication.ingredient.amount.numerator.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "short": "Additional Content defined by implementations",
                "definition": "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": "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":  [
                    "extensions",
                    "user content"
                ],
                "min": 0,
                "max": "*",
                "base": {
                    "path": "Element.extension",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Extension"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Medication.ingredient.amount.numerator.value",
                "path": "Medication.ingredient.amount.numerator.value",
                "short": "Numerical value (with implicit precision)",
                "definition": "The value of the measured amount. The value includes an implicit precision in the presentation of the value.",
                "comment": "The implicit precision in the value should always be honored. Monetary values have their own rules for handling precision (refer to standard accounting text books).",
                "requirements": "Precision is handled implicitly in almost all cases of measurement.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Quantity.value",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "decimal"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "SN.2  / CQ - N/A"
                    },
                    {
                        "identity": "rim",
                        "map": "PQ.value, CO.value, MO.value, IVL.high or IVL.low depending on the value"
                    }
                ]
            },
            {
                "id": "Medication.ingredient.amount.numerator.comparator",
                "path": "Medication.ingredient.amount.numerator.comparator",
                "short": "< | <= | >= | > - how to understand the value",
                "definition": "How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues; e.g. if the comparator is \"<\" , then the real value is < stated value.",
                "comment": "This is labeled as \"Is Modifier\" because the comparator modifies the interpretation of the value significantly. If there is no comparator, then there is no modification of the value.",
                "requirements": "Need a framework for handling measures where the value is <5ug/L or >400mg/L due to the limitations of measuring methodology.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Quantity.comparator",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "code"
                    }
                ],
                "meaningWhenMissing": "If there is no comparator, then there is no modification of the value",
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isModifier": true,
                "isSummary": true,
                "binding": {
                    "extension":  [
                        {
                            "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                            "valueString": "QuantityComparator"
                        }
                    ],
                    "strength": "required",
                    "description": "How the Quantity should be understood and represented.",
                    "valueSetReference": {
                        "reference": "http://hl7.org/fhir/ValueSet/quantity-comparator"
                    }
                },
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "SN.1  / CQ.1"
                    },
                    {
                        "identity": "rim",
                        "map": "IVL properties"
                    }
                ]
            },
            {
                "id": "Medication.ingredient.amount.numerator.unit",
                "extension":  [
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                        "valueBoolean": true
                    }
                ],
                "path": "Medication.ingredient.amount.numerator.unit",
                "short": "Unit representation",
                "definition": "A human-readable form of the unit.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "requirements": "There are many representations for units of measure and in many contexts, particular representations are fixed and required. I.e. mcg for micrograms.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Quantity.unit",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "(see OBX.6 etc.) / CQ.2"
                    },
                    {
                        "identity": "rim",
                        "map": "PQ.unit"
                    }
                ]
            },
            {
                "id": "Medication.ingredient.amount.numerator.system",
                "path": "Medication.ingredient.amount.numerator.system",
                "short": "System that defines coded unit form",
                "definition": "The identification of the system that provides the coded form of the unit.",
                "comment": "see http://en.wikipedia.org/wiki/Uniform_resource_identifier",
                "requirements": "Need to know the system that defines the coded form of the unit.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Quantity.system",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "uri"
                    }
                ],
                "condition":  [
                    "ele-1",
                    "qty-3"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "(see OBX.6 etc.) / CQ.2"
                    },
                    {
                        "identity": "rim",
                        "map": "CO.codeSystem, PQ.translation.codeSystem"
                    }
                ]
            },
            {
                "id": "Medication.ingredient.amount.numerator.code",
                "path": "Medication.ingredient.amount.numerator.code",
                "short": "Coded form of the unit",
                "definition": "A computer processable form of the unit in some unit representation system.",
                "comment": "The preferred system is UCUM, but SNOMED CT can also be used (for customary units) or ISO 4217 for currency.  The context of use may additionally require a code from a particular system.",
                "requirements": "Need a computable form of the unit that is fixed across all forms. UCUM provides this for quantities, but SNOMED CT provides many units of interest.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Quantity.code",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "code"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "(see OBX.6 etc.) / CQ.2"
                    },
                    {
                        "identity": "rim",
                        "map": "PQ.code, MO.currency, PQ.translation.code"
                    }
                ]
            },
            {
                "id": "Medication.ingredient.amount.denominator",
                "path": "Medication.ingredient.amount.denominator",
                "short": "Denominator value",
                "definition": "The value of the denominator.",
                "comment": "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": 0,
                "max": "1",
                "base": {
                    "path": "Ratio.denominator",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "Quantity"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "qty-3",
                        "severity": "error",
                        "human": "If a code for the unit is present, the system SHALL also be present",
                        "expression": "code.empty() or system.exists()",
                        "xpath": "not(exists(f:code)) or exists(f:system)"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "SN (see also Range) or CQ"
                    },
                    {
                        "identity": "rim",
                        "map": "PQ, IVL<PQ>, MO, CO, depending on the values"
                    },
                    {
                        "identity": "rim",
                        "map": ".denominator"
                    }
                ]
            },
            {
                "id": "Medication.ingredient.amount.denominator.id",
                "path": "Medication.ingredient.amount.denominator.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Medication.ingredient.amount.denominator.extension",
                "path": "Medication.ingredient.amount.denominator.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "short": "Additional Content defined by implementations",
                "definition": "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": "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":  [
                    "extensions",
                    "user content"
                ],
                "min": 0,
                "max": "*",
                "base": {
                    "path": "Element.extension",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Extension"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Medication.ingredient.amount.denominator.value",
                "path": "Medication.ingredient.amount.denominator.value",
                "short": "Numerical value (with implicit precision)",
                "definition": "The value of the measured amount. The value includes an implicit precision in the presentation of the value.",
                "comment": "The implicit precision in the value should always be honored. Monetary values have their own rules for handling precision (refer to standard accounting text books).",
                "requirements": "Precision is handled implicitly in almost all cases of measurement.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Quantity.value",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "decimal"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "SN.2  / CQ - N/A"
                    },
                    {
                        "identity": "rim",
                        "map": "PQ.value, CO.value, MO.value, IVL.high or IVL.low depending on the value"
                    }
                ]
            },
            {
                "id": "Medication.ingredient.amount.denominator.comparator",
                "path": "Medication.ingredient.amount.denominator.comparator",
                "short": "< | <= | >= | > - how to understand the value",
                "definition": "How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues; e.g. if the comparator is \"<\" , then the real value is < stated value.",
                "comment": "This is labeled as \"Is Modifier\" because the comparator modifies the interpretation of the value significantly. If there is no comparator, then there is no modification of the value.",
                "requirements": "Need a framework for handling measures where the value is <5ug/L or >400mg/L due to the limitations of measuring methodology.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Quantity.comparator",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "code"
                    }
                ],
                "meaningWhenMissing": "If there is no comparator, then there is no modification of the value",
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isModifier": true,
                "isSummary": true,
                "binding": {
                    "extension":  [
                        {
                            "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                            "valueString": "QuantityComparator"
                        }
                    ],
                    "strength": "required",
                    "description": "How the Quantity should be understood and represented.",
                    "valueSetReference": {
                        "reference": "http://hl7.org/fhir/ValueSet/quantity-comparator"
                    }
                },
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "SN.1  / CQ.1"
                    },
                    {
                        "identity": "rim",
                        "map": "IVL properties"
                    }
                ]
            },
            {
                "id": "Medication.ingredient.amount.denominator.unit",
                "extension":  [
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                        "valueBoolean": true
                    }
                ],
                "path": "Medication.ingredient.amount.denominator.unit",
                "short": "Unit representation",
                "definition": "A human-readable form of the unit.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "requirements": "There are many representations for units of measure and in many contexts, particular representations are fixed and required. I.e. mcg for micrograms.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Quantity.unit",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "(see OBX.6 etc.) / CQ.2"
                    },
                    {
                        "identity": "rim",
                        "map": "PQ.unit"
                    }
                ]
            },
            {
                "id": "Medication.ingredient.amount.denominator.system",
                "path": "Medication.ingredient.amount.denominator.system",
                "short": "System that defines coded unit form",
                "definition": "The identification of the system that provides the coded form of the unit.",
                "comment": "see http://en.wikipedia.org/wiki/Uniform_resource_identifier",
                "requirements": "Need to know the system that defines the coded form of the unit.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Quantity.system",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "uri"
                    }
                ],
                "condition":  [
                    "ele-1",
                    "qty-3"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "(see OBX.6 etc.) / CQ.2"
                    },
                    {
                        "identity": "rim",
                        "map": "CO.codeSystem, PQ.translation.codeSystem"
                    }
                ]
            },
            {
                "id": "Medication.ingredient.amount.denominator.code",
                "path": "Medication.ingredient.amount.denominator.code",
                "short": "Coded form of the unit",
                "definition": "A computer processable form of the unit in some unit representation system.",
                "comment": "The preferred system is UCUM, but SNOMED CT can also be used (for customary units) or ISO 4217 for currency.  The context of use may additionally require a code from a particular system.",
                "requirements": "Need a computable form of the unit that is fixed across all forms. UCUM provides this for quantities, but SNOMED CT provides many units of interest.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Quantity.code",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "code"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "(see OBX.6 etc.) / CQ.2"
                    },
                    {
                        "identity": "rim",
                        "map": "PQ.code, MO.currency, PQ.translation.code"
                    }
                ]
            },
            {
                "id": "Medication.package",
                "path": "Medication.package",
                "short": "Details about packaged medications",
                "definition": "Information that only applies to packages (not products).",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Medication.package",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "BackboneElement"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "script10.6",
                        "map": "no mapping"
                    },
                    {
                        "identity": "rim",
                        "map": ".player[classCode=CONT]"
                    }
                ]
            },
            {
                "id": "Medication.package.id",
                "path": "Medication.package.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Medication.package.extension",
                "path": "Medication.package.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "short": "Additional Content defined by implementations",
                "definition": "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": "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":  [
                    "extensions",
                    "user content"
                ],
                "min": 0,
                "max": "*",
                "base": {
                    "path": "Element.extension",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Extension"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Medication.package.modifierExtension",
                "path": "Medication.package.modifierExtension",
                "short": "Extensions that cannot be ignored",
                "definition": "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": "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":  [
                    "extensions",
                    "user content",
                    "modifiers"
                ],
                "min": 0,
                "max": "*",
                "base": {
                    "path": "BackboneElement.modifierExtension",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Extension"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "isModifier": true,
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Medication.package.container",
                "path": "Medication.package.container",
                "short": "E.g. box, vial, blister-pack",
                "definition": "The kind of container that this package comes as.",
                "comment": "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": 0,
                "max": "1",
                "base": {
                    "path": "Medication.package.container",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "CodeableConcept"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "binding": {
                    "extension":  [
                        {
                            "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                            "valueString": "MedicationContainer"
                        }
                    ],
                    "strength": "example",
                    "description": "A coded concept defining the kind of container a medication package is packaged in",
                    "valueSetReference": {
                        "reference": "http://hl7.org/fhir/ValueSet/medication-package-form"
                    }
                },
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "CE/CNE/CWE"
                    },
                    {
                        "identity": "rim",
                        "map": "CD"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD"
                    },
                    {
                        "identity": "script10.6",
                        "map": "no mapping"
                    },
                    {
                        "identity": "rim",
                        "map": ".code"
                    }
                ]
            },
            {
                "id": "Medication.package.container.id",
                "path": "Medication.package.container.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Medication.package.container.extension",
                "path": "Medication.package.container.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "short": "Additional Content defined by implementations",
                "definition": "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": "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":  [
                    "extensions",
                    "user content"
                ],
                "min": 0,
                "max": "*",
                "base": {
                    "path": "Element.extension",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Extension"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Medication.package.container.coding",
                "path": "Medication.package.container.coding",
                "short": "Code defined by a terminology system",
                "definition": "A reference to a code defined by a terminology system.",
                "comment": "Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.  Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.",
                "requirements": "Allows for translations and alternate encodings within a code system.  Also supports communication of the same instance to systems requiring different encodings.",
                "min": 0,
                "max": "*",
                "base": {
                    "path": "CodeableConcept.coding",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Coding"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "CE/CNE/CWE subset one of the sets of component 1-3 or 4-6"
                    },
                    {
                        "identity": "rim",
                        "map": "CV"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding rdfs:subClassOf dt:CDCoding"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.1-8, C*E.10-22"
                    },
                    {
                        "identity": "rim",
                        "map": "union(., ./translation)"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding"
                    }
                ]
            },
            {
                "id": "Medication.package.container.coding.id",
                "path": "Medication.package.container.coding.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Medication.package.container.coding.extension",
                "path": "Medication.package.container.coding.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "short": "Additional Content defined by implementations",
                "definition": "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": "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":  [
                    "extensions",
                    "user content"
                ],
                "min": 0,
                "max": "*",
                "base": {
                    "path": "Element.extension",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Extension"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Medication.package.container.coding.system",
                "path": "Medication.package.container.coding.system",
                "short": "Identity of the terminology system",
                "definition": "The identification of the code system that defines the meaning of the symbol in the code.",
                "comment": "The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...).  OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.",
                "requirements": "Need to be unambiguous about the source of the definition of the symbol.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.system",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "uri"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.3"
                    },
                    {
                        "identity": "rim",
                        "map": "./codeSystem"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem"
                    }
                ]
            },
            {
                "id": "Medication.package.container.coding.version",
                "path": "Medication.package.container.coding.version",
                "short": "Version of the system - if relevant",
                "definition": "The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.",
                "comment": "Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.version",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.7"
                    },
                    {
                        "identity": "rim",
                        "map": "./codeSystemVersion"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion"
                    }
                ]
            },
            {
                "id": "Medication.package.container.coding.code",
                "path": "Medication.package.container.coding.code",
                "short": "Symbol in syntax defined by the system",
                "definition": "A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "requirements": "Need to refer to a particular code in the system.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.code",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "code"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.1"
                    },
                    {
                        "identity": "rim",
                        "map": "./code"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code"
                    }
                ]
            },
            {
                "id": "Medication.package.container.coding.display",
                "extension":  [
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                        "valueBoolean": true
                    }
                ],
                "path": "Medication.package.container.coding.display",
                "short": "Representation defined by the system",
                "definition": "A representation of the meaning of the code in the system, following the rules of the system.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "requirements": "Need to be able to carry a human-readable meaning of the code for readers that do not know  the system.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.display",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.2 - but note this is not well followed"
                    },
                    {
                        "identity": "rim",
                        "map": "CV.displayName"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName"
                    }
                ]
            },
            {
                "id": "Medication.package.container.coding.userSelected",
                "path": "Medication.package.container.coding.userSelected",
                "short": "If this coding was chosen directly by the user",
                "definition": "Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).",
                "comment": "Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.",
                "requirements": "This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Coding.userSelected",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "boolean"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "Sometimes implied by being first"
                    },
                    {
                        "identity": "rim",
                        "map": "CD.codingRationale"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map;   fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\\#true a [     fhir:source \"true\";     fhir:target dt:CDCoding.codingRationale\\#O   ]"
                    }
                ]
            },
            {
                "id": "Medication.package.container.text",
                "extension":  [
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                        "valueBoolean": true
                    }
                ],
                "path": "Medication.package.container.text",
                "short": "Plain text representation of the concept",
                "definition": "A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.",
                "comment": "Very often the text is the same as a displayName of one of the codings.",
                "requirements": "The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "CodeableConcept.text",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "C*E.9. But note many systems use C*E.2 for this"
                    },
                    {
                        "identity": "rim",
                        "map": "./originalText[mediaType/code=\"text/plain\"]/data"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText"
                    }
                ]
            },
            {
                "id": "Medication.package.content",
                "path": "Medication.package.content",
                "short": "What is  in the package",
                "definition": "A set of components that go to make up the described item.",
                "min": 0,
                "max": "*",
                "base": {
                    "path": "Medication.package.content",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "BackboneElement"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "script10.6",
                        "map": "no mapping"
                    },
                    {
                        "identity": "rim",
                        "map": ".scopesRole[typeCode=CONT]"
                    }
                ]
            },
            {
                "id": "Medication.package.content.id",
                "path": "Medication.package.content.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Medication.package.content.extension",
                "path": "Medication.package.content.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "short": "Additional Content defined by implementations",
                "definition": "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": "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":  [
                    "extensions",
                    "user content"
                ],
                "min": 0,
                "max": "*",
                "base": {
                    "path": "Element.extension",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Extension"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Medication.package.content.modifierExtension",
                "path": "Medication.package.content.modifierExtension",
                "short": "Extensions that cannot be ignored",
                "definition": "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": "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":  [
                    "extensions",
                    "user content",
                    "modifiers"
                ],
                "min": 0,
                "max": "*",
                "base": {
                    "path": "BackboneElement.modifierExtension",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Extension"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "isModifier": true,
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Medication.package.content.item[x]",
                "path": "Medication.package.content.item[x]",
                "short": "The item in the package",
                "definition": "Identifies one of the items in the package.",
                "comment": "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": 1,
                "max": "1",
                "base": {
                    "path": "Medication.package.content.item[x]",
                    "min": 1,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "CodeableConcept"
                    },
                    {
                        "code": "Reference",
                        "targetProfile": "https://fhir.nhs.uk/STU3/StructureDefinition/CareConnect-GPC-Medication-1"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "CE/CNE/CWE"
                    },
                    {
                        "identity": "rim",
                        "map": "CD"
                    },
                    {
                        "identity": "orim",
                        "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD"
                    },
                    {
                        "identity": "script10.6",
                        "map": "no mapping"
                    },
                    {
                        "identity": "rim",
                        "map": ".player"
                    }
                ]
            },
            {
                "id": "Medication.package.content.amount",
                "path": "Medication.package.content.amount",
                "short": "Quantity present in the package",
                "definition": "The amount of the product that is in the package.",
                "comment": "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": 0,
                "max": "1",
                "base": {
                    "path": "Medication.package.content.amount",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "Quantity",
                        "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "qty-3",
                        "severity": "error",
                        "human": "If a code for the unit is present, the system SHALL also be present",
                        "expression": "code.empty() or system.exists()",
                        "xpath": "not(exists(f:code)) or exists(f:system)"
                    },
                    {
                        "key": "sqty-1",
                        "severity": "error",
                        "human": "The comparator is not used on a SimpleQuantity",
                        "expression": "comparator.empty()",
                        "xpath": "not(exists(f:comparator))"
                    }
                ],
                "isModifier": false,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "SN (see also Range) or CQ"
                    },
                    {
                        "identity": "rim",
                        "map": "PQ, IVL<PQ>, MO, CO, depending on the values"
                    },
                    {
                        "identity": "script10.6",
                        "map": "no mapping"
                    },
                    {
                        "identity": "rim",
                        "map": ".quantity"
                    }
                ]
            },
            {
                "id": "Medication.package.content.amount.id",
                "path": "Medication.package.content.amount.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Medication.package.content.amount.extension",
                "path": "Medication.package.content.amount.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "short": "Additional Content defined by implementations",
                "definition": "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": "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":  [
                    "extensions",
                    "user content"
                ],
                "min": 0,
                "max": "*",
                "base": {
                    "path": "Element.extension",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Extension"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Medication.package.content.amount.value",
                "path": "Medication.package.content.amount.value",
                "short": "Numerical value (with implicit precision)",
                "definition": "The value of the measured amount. The value includes an implicit precision in the presentation of the value.",
                "comment": "The implicit precision in the value should always be honored. Monetary values have their own rules for handling precision (refer to standard accounting text books).",
                "requirements": "Precision is handled implicitly in almost all cases of measurement.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Quantity.value",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "decimal"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "SN.2  / CQ - N/A"
                    },
                    {
                        "identity": "rim",
                        "map": "PQ.value, CO.value, MO.value, IVL.high or IVL.low depending on the value"
                    }
                ]
            },
            {
                "id": "Medication.package.content.amount.comparator",
                "path": "Medication.package.content.amount.comparator",
                "short": "< | <= | >= | > - how to understand the value",
                "definition": "Not allowed to be used in this context",
                "comment": "This is labeled as \"Is Modifier\" because the comparator modifies the interpretation of the value significantly. If there is no comparator, then there is no modification of the value.",
                "requirements": "Need a framework for handling measures where the value is <5ug/L or >400mg/L due to the limitations of measuring methodology.",
                "min": 0,
                "max": "0",
                "base": {
                    "path": "Quantity.comparator",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "code"
                    }
                ],
                "meaningWhenMissing": "If there is no comparator, then there is no modification of the value",
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isModifier": true,
                "isSummary": true,
                "binding": {
                    "extension":  [
                        {
                            "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                            "valueString": "QuantityComparator"
                        }
                    ],
                    "strength": "required",
                    "description": "How the Quantity should be understood and represented.",
                    "valueSetReference": {
                        "reference": "http://hl7.org/fhir/ValueSet/quantity-comparator"
                    }
                },
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "SN.1  / CQ.1"
                    },
                    {
                        "identity": "rim",
                        "map": "IVL properties"
                    }
                ]
            },
            {
                "id": "Medication.package.content.amount.unit",
                "extension":  [
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                        "valueBoolean": true
                    }
                ],
                "path": "Medication.package.content.amount.unit",
                "short": "Unit representation",
                "definition": "A human-readable form of the unit.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "requirements": "There are many representations for units of measure and in many contexts, particular representations are fixed and required. I.e. mcg for micrograms.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Quantity.unit",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "(see OBX.6 etc.) / CQ.2"
                    },
                    {
                        "identity": "rim",
                        "map": "PQ.unit"
                    }
                ]
            },
            {
                "id": "Medication.package.content.amount.system",
                "path": "Medication.package.content.amount.system",
                "short": "System that defines coded unit form",
                "definition": "The identification of the system that provides the coded form of the unit.",
                "comment": "see http://en.wikipedia.org/wiki/Uniform_resource_identifier",
                "requirements": "Need to know the system that defines the coded form of the unit.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Quantity.system",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "uri"
                    }
                ],
                "condition":  [
                    "ele-1",
                    "qty-3"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "(see OBX.6 etc.) / CQ.2"
                    },
                    {
                        "identity": "rim",
                        "map": "CO.codeSystem, PQ.translation.codeSystem"
                    }
                ]
            },
            {
                "id": "Medication.package.content.amount.code",
                "path": "Medication.package.content.amount.code",
                "short": "Coded form of the unit",
                "definition": "A computer processable form of the unit in some unit representation system.",
                "comment": "The preferred system is UCUM, but SNOMED CT can also be used (for customary units) or ISO 4217 for currency.  The context of use may additionally require a code from a particular system.",
                "requirements": "Need a computable form of the unit that is fixed across all forms. UCUM provides this for quantities, but SNOMED CT provides many units of interest.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Quantity.code",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "code"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "(see OBX.6 etc.) / CQ.2"
                    },
                    {
                        "identity": "rim",
                        "map": "PQ.code, MO.currency, PQ.translation.code"
                    }
                ]
            },
            {
                "id": "Medication.package.batch",
                "path": "Medication.package.batch",
                "short": "Identifies a single production run",
                "definition": "Information about a group of medication produced or packaged from one production run.",
                "min": 0,
                "max": "*",
                "base": {
                    "path": "Medication.package.batch",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "BackboneElement"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "script10.6",
                        "map": "no mapping"
                    },
                    {
                        "identity": "rim",
                        "map": "participation[typeCode=CSM].role[classCode=INST].scopedRole.scoper[classCode=MMAT].id"
                    }
                ]
            },
            {
                "id": "Medication.package.batch.id",
                "path": "Medication.package.batch.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Medication.package.batch.extension",
                "path": "Medication.package.batch.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "short": "Additional Content defined by implementations",
                "definition": "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": "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":  [
                    "extensions",
                    "user content"
                ],
                "min": 0,
                "max": "*",
                "base": {
                    "path": "Element.extension",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Extension"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Medication.package.batch.modifierExtension",
                "path": "Medication.package.batch.modifierExtension",
                "short": "Extensions that cannot be ignored",
                "definition": "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": "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":  [
                    "extensions",
                    "user content",
                    "modifiers"
                ],
                "min": 0,
                "max": "*",
                "base": {
                    "path": "BackboneElement.modifierExtension",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Extension"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "isModifier": true,
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Medication.package.batch.lotNumber",
                "path": "Medication.package.batch.lotNumber",
                "short": "Identifier assigned to batch",
                "definition": "The assigned lot number of a batch of the specified product.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Medication.package.batch.lotNumber",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "script10.6",
                        "map": "no mapping"
                    },
                    {
                        "identity": "v2",
                        "map": "RXA-15 Substance Lot Number / RXG-19 Substance Lot Number"
                    },
                    {
                        "identity": "rim",
                        "map": ".id"
                    }
                ]
            },
            {
                "id": "Medication.package.batch.expirationDate",
                "path": "Medication.package.batch.expirationDate",
                "short": "When batch will expire",
                "definition": "When this specific batch of product will expire.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Medication.package.batch.expirationDate",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "dateTime"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "script10.6",
                        "map": "no mapping"
                    },
                    {
                        "identity": "v2",
                        "map": "RXA-16 Substance Expiration Date / RXG-20 Substance Expiration Date"
                    },
                    {
                        "identity": "rim",
                        "map": "participation[typeCode=CSM].role[classCode=INST].scopedRole.scoper[classCode=MMAT].expirationTime"
                    }
                ]
            },
            {
                "id": "Medication.image",
                "path": "Medication.image",
                "short": "Picture of the medication",
                "definition": "Photo(s) or graphic representation(s) of the medication.",
                "comment": "When providing a summary view (for example with Observation.value[x]) Attachment should be represented with a brief display text such as \"Attachment\".",
                "requirements": "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": 0,
                "max": "*",
                "base": {
                    "path": "Medication.image",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Attachment"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "att-1",
                        "severity": "error",
                        "human": "It the Attachment has data, it SHALL have a contentType",
                        "expression": "data.empty() or contentType.exists()",
                        "xpath": "not(exists(f:data)) or exists(f:contentType)"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "ED/RP"
                    },
                    {
                        "identity": "rim",
                        "map": "ED"
                    },
                    {
                        "identity": "rim",
                        "map": ".participation[typeCode=SUBJ].role[classCode=MANU],source[classCode=OBS,moodCode=EVN,code=\"type of image\"].value(ED.image)"
                    }
                ]
            },
            {
                "id": "Medication.image.id",
                "path": "Medication.image.id",
                "representation":  [
                    "xmlAttr"
                ],
                "short": "xml:id (or equivalent in JSON)",
                "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Element.id",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    }
                ]
            },
            {
                "id": "Medication.image.extension",
                "path": "Medication.image.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "description": "Extensions are always sliced by (at least) url",
                    "rules": "open"
                },
                "short": "Additional Content defined by implementations",
                "definition": "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": "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":  [
                    "extensions",
                    "user content"
                ],
                "min": 0,
                "max": "*",
                "base": {
                    "path": "Element.extension",
                    "min": 0,
                    "max": "*"
                },
                "type":  [
                    {
                        "code": "Extension"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    },
                    {
                        "key": "ext-1",
                        "severity": "error",
                        "human": "Must have either extensions or value[x], not both",
                        "expression": "extension.exists() != value.exists()",
                        "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A"
                    }
                ]
            },
            {
                "id": "Medication.image.contentType",
                "path": "Medication.image.contentType",
                "short": "Mime type of the content, with charset etc.",
                "definition": "Identifies the type of the data in the attachment and allows a method to be chosen to interpret or render the data. Includes mime type parameters such as charset where appropriate.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "requirements": "Processors of the data need to be able to know how to interpret the data.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Attachment.contentType",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "code"
                    }
                ],
                "example":  [
                    {
                        "label": "General",
                        "valueCode": "text/plain; charset=UTF-8, image/png"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "binding": {
                    "extension":  [
                        {
                            "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                            "valueString": "MimeType"
                        },
                        {
                            "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                            "valueBoolean": true
                        }
                    ],
                    "strength": "required",
                    "description": "The mime type of an attachment. Any valid mime type is allowed.",
                    "valueSetUri": "http://www.rfc-editor.org/bcp/bcp13.txt"
                },
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "ED.2+ED.3/RP.2+RP.3. Note conversion may be needed if old style values are being used"
                    },
                    {
                        "identity": "rim",
                        "map": "./mediaType, ./charset"
                    }
                ]
            },
            {
                "id": "Medication.image.language",
                "path": "Medication.image.language",
                "short": "Human language of the content (BCP-47)",
                "definition": "The human language of the content. The value can be any valid value according to BCP 47.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "requirements": "Users need to be able to choose between the languages in a set of attachments.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Attachment.language",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "code"
                    }
                ],
                "example":  [
                    {
                        "label": "General",
                        "valueCode": "en-AU"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "binding": {
                    "extension":  [
                        {
                            "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                            "valueReference": {
                                "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                            }
                        },
                        {
                            "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                            "valueString": "Language"
                        },
                        {
                            "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                            "valueBoolean": true
                        }
                    ],
                    "strength": "extensible",
                    "description": "A human language.",
                    "valueSetReference": {
                        "reference": "http://hl7.org/fhir/ValueSet/languages"
                    }
                },
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "./language"
                    }
                ]
            },
            {
                "id": "Medication.image.data",
                "path": "Medication.image.data",
                "short": "Data inline, base64ed",
                "definition": "The actual data of the attachment - a sequence of bytes. In XML, represented using base64.",
                "comment": "The base64-encoded data SHALL be expressed in the same character set as the base resource XML or JSON.",
                "requirements": "The data needs to able to be transmitted inline.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Attachment.data",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "base64Binary"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "ED.5"
                    },
                    {
                        "identity": "rim",
                        "map": "./data"
                    }
                ]
            },
            {
                "id": "Medication.image.url",
                "path": "Medication.image.url",
                "short": "Uri where the data can be found",
                "definition": "An alternative location where the data can be accessed.",
                "comment": "If both data and url are provided, the url SHALL point to the same content as the data contains. Urls may be relative references or may reference transient locations such as a wrapping envelope using cid: though this has ramifications for using signatures. Relative URLs are interpreted relative to the service url, like a resource reference, rather than relative to the resource itself. If a URL is provided, it SHALL resolve to actual data.",
                "requirements": "The data needs to be transmitted by reference.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Attachment.url",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "uri"
                    }
                ],
                "example":  [
                    {
                        "label": "General",
                        "valueUri": "http://www.acme.com/logo-small.png"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "v2",
                        "map": "RP.1+RP.2 - if they refer to a URL (see v2.6)"
                    },
                    {
                        "identity": "rim",
                        "map": "./reference/literal"
                    }
                ]
            },
            {
                "id": "Medication.image.size",
                "path": "Medication.image.size",
                "short": "Number of bytes of content (if url provided)",
                "definition": "The number of bytes of data that make up this attachment (before base64 encoding, if that is done).",
                "comment": "The number of bytes is redundant if the data is provided as a base64binary, but is useful if the data is provided as a url reference.",
                "requirements": "Representing the size allows applications to determine whether they should fetch the content automatically in advance, or refuse to fetch it at all.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Attachment.size",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "unsignedInt"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A (needs data type R3 proposal)"
                    }
                ]
            },
            {
                "id": "Medication.image.hash",
                "path": "Medication.image.hash",
                "short": "Hash of the data (sha-1, base64ed)",
                "definition": "The calculated hash of the data using SHA-1. Represented using base64.",
                "comment": "The hash is calculated on the data prior to base64 encoding, if the data is based64 encoded.",
                "requirements": "Included so that applications can verify that the contents of a location have not changed and so that a signature of the content can implicitly sign the content of an image without having to include the data in the instance or reference the url in the signature.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Attachment.hash",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "base64Binary"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": ".integrityCheck[parent::ED/integrityCheckAlgorithm=\"SHA-1\"]"
                    }
                ]
            },
            {
                "id": "Medication.image.title",
                "extension":  [
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                        "valueBoolean": true
                    }
                ],
                "path": "Medication.image.title",
                "short": "Label to display in place of the data",
                "definition": "A label or set of text to display in place of the data.",
                "comment": "Note that FHIR strings may not exceed 1MB in size",
                "requirements": "Applications need a label to display to a human user in place of the actual data if the data cannot be rendered or perceived by the viewer.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Attachment.title",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "string"
                    }
                ],
                "example":  [
                    {
                        "label": "General",
                        "valueString": "Official Corporate Logo"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "./title/data"
                    }
                ]
            },
            {
                "id": "Medication.image.creation",
                "path": "Medication.image.creation",
                "short": "Date attachment was first created",
                "definition": "The date that the attachment was first created.",
                "requirements": "This is often tracked as an integrity issue for use of the attachment.",
                "min": 0,
                "max": "1",
                "base": {
                    "path": "Attachment.creation",
                    "min": 0,
                    "max": "1"
                },
                "type":  [
                    {
                        "code": "dateTime"
                    }
                ],
                "condition":  [
                    "ele-1"
                ],
                "constraint":  [
                    {
                        "key": "ele-1",
                        "severity": "error",
                        "human": "All FHIR elements must have a @value or children",
                        "expression": "hasValue() | (children().count() > id.count())",
                        "xpath": "@value|f:*|h:div"
                    }
                ],
                "isSummary": true,
                "mapping":  [
                    {
                        "identity": "rim",
                        "map": "n/a"
                    },
                    {
                        "identity": "rim",
                        "map": "N/A (needs data type R3 proposal)"
                    }
                ]
            }
        ]
    },
    "differential": {
        "element":  [
            {
                "id": "Medication.meta.profile",
                "path": "Medication.meta.profile",
                "min": 1
            },
            {
                "id": "Medication.code",
                "path": "Medication.code",
                "min": 1,
                "binding": {
                    "extension":  [
                        {
                            "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                            "valueString": "MedicationFormalRepresentation"
                        }
                    ],
                    "strength": "required",
                    "description": "A code from the SNOMED Clinical Terminology UK coding system that describes a medication from the VTM/VMP/VMPP/AMP/AMPP subsets from the dm+d terminology",
                    "valueSetReference": {
                        "reference": "https://fhir.nhs.uk/STU3/ValueSet/CareConnect-MedicationCode-1"
                    }
                }
            },
            {
                "id": "Medication.code.coding.extension",
                "path": "Medication.code.coding.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "rules": "open"
                }
            },
            {
                "id": "Medication.code.coding.extension:snomedCTDescriptionID",
                "path": "Medication.code.coding.extension",
                "sliceName": "snomedCTDescriptionID",
                "type":  [
                    {
                        "code": "Extension",
                        "profile": "https://fhir.nhs.uk/STU3/StructureDefinition/Extension-coding-sctdescid"
                    }
                ]
            },
            {
                "id": "Medication.code.coding.system",
                "path": "Medication.code.coding.system",
                "min": 1
            },
            {
                "id": "Medication.code.coding.version",
                "path": "Medication.code.coding.version",
                "max": "0"
            },
            {
                "id": "Medication.code.coding.code",
                "path": "Medication.code.coding.code",
                "min": 1
            },
            {
                "id": "Medication.manufacturer",
                "path": "Medication.manufacturer",
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile": "https://fhir.nhs.uk/STU3/StructureDefinition/CareConnect-GPC-Organization-1"
                    }
                ]
            },
            {
                "id": "Medication.form",
                "path": "Medication.form",
                "short": "Codes that describe a medication dose form",
                "binding": {
                    "extension":  [
                        {
                            "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                            "valueString": "MedicationForm"
                        }
                    ],
                    "strength": "required",
                    "description": "A code from the SNOMED Clinical Terminology UK coding system that describes a medication dose form",
                    "valueSetReference": {
                        "reference": "https://fhir.nhs.uk/STU3/ValueSet/CareConnect-MedicationForm-1"
                    }
                }
            },
            {
                "id": "Medication.form.coding.extension",
                "path": "Medication.form.coding.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "rules": "open"
                }
            },
            {
                "id": "Medication.form.coding.extension:snomedCTDescriptionID",
                "path": "Medication.form.coding.extension",
                "sliceName": "snomedCTDescriptionID",
                "type":  [
                    {
                        "code": "Extension",
                        "profile": "https://fhir.nhs.uk/STU3/StructureDefinition/Extension-coding-sctdescid"
                    }
                ]
            },
            {
                "id": "Medication.form.coding.system",
                "path": "Medication.form.coding.system",
                "min": 1
            },
            {
                "id": "Medication.form.coding.version",
                "path": "Medication.form.coding.version",
                "max": "0"
            },
            {
                "id": "Medication.form.coding.code",
                "path": "Medication.form.coding.code",
                "min": 1
            },
            {
                "id": "Medication.ingredient.item[x]",
                "path": "Medication.ingredient.item[x]",
                "type":  [
                    {
                        "code": "CodeableConcept"
                    },
                    {
                        "code": "Reference",
                        "targetProfile": "http://hl7.org/fhir/StructureDefinition/Substance"
                    },
                    {
                        "code": "Reference",
                        "targetProfile": "https://fhir.nhs.uk/STU3/StructureDefinition/CareConnect-GPC-Medication-1"
                    }
                ]
            },
            {
                "id": "Medication.package.content.item[x]",
                "path": "Medication.package.content.item[x]",
                "type":  [
                    {
                        "code": "CodeableConcept"
                    },
                    {
                        "code": "Reference",
                        "targetProfile": "https://fhir.nhs.uk/STU3/StructureDefinition/CareConnect-GPC-Medication-1"
                    }
                ]
            }
        ]
    }
}


Data model element usage

Element Use CareConnect (STU3) UK Core (R4)
id
meta.versionId
meta.lastUpdated
meta.profile
meta.security
meta.tag
code
status
isBrand
isOverTheCounter
manufacturer
form
ingredient
package
image

id

Usage

Optional

Guidance

It is recommended this is the medication unique dm+d concept id. This use of this identifier will provide a unique mechanism to return a Medication resource in a RESTful implementation anywhere across the NHS.

For example:

https://my.fhir.server/medication/87652004

Where 87652004 in this example is the unique dm+d concept id for the Virtual Therapeutic Moiety for Atenolol.

Where a medication is not within the dm+d and therefore does not have a dm+d code then the approach will be a local implementation decision. If you have a local FHIR Medication Resource server that is being used to share drug data locally then using the Medication Reference URL is OK.

If the data is being shared outside of the local environment then the Medication resource should only reference dm+d data.

Example
<id value="https://my.fhir.server/medication/87652004"/>


meta.versionId

Usage

Optional

Guidance

The population of the meta.versionId element could be useful if sending an adendum of something previously sent to help the consumer (receiver) in understanding there is a "newer" version.

Example
<meta>
    <versionId value="1" />
</meta>


meta.lastUpdated

Usage

Optional

Guidance

The meta.lastUpdated element could be useful alongside the meta.versionIdelement could be useful if sending an adendum of something previously sent to help the consumer (receiver) in understanding there is a "newer" version.

Example
<meta>
    <lastUpdated value="2022-10-28T08:06:00+00:00" />
</meta>


meta.profile

Usage

Mandatory

Guidance

The meta.profile contains a fixed value of the URL for the CareConnect-GPC-Medication-1 profile.

Example
<meta>
    <profile value="https://fhir.nhs.uk/STU3/StructureDefinition/CareConnect-GPC-Medication-1" />
</meta>


meta.security

Usage

Optional

Guidance

The security label(s) applicable to the resource.

See Resources not to be disclosed to a patient for more details on how to populate the element.

Example
<meta>
    <security>
        <system value="http://hl7.org/fhir/v3/ActCode"/>
        <code value="NOPAT"/>
        <display value="no disclosure to patient, family or caregivers without attending provider's authorization"/>
    </security>
</meta>


meta.tag

Usage

Optional

Guidance

A use-case for the meta.tag element within GP Connect has not been defined.

Example
<meta>
    <tag>
        <coding>
            <system value="http://hl7.org/fhir/common-tags" />
            <code value="actionable" />
            <display value="Actionable" />
        </coding>
    </tag>
</meta>


code

Usage

Mandatory

Guidance
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.

All medication must be represented using NHS dm+d terminology.

  • The code.coding.code must be the NHS dm+d concept code.
  • The code.coding.display must be the NHS dm+d concept description.
Example
<code>
    <coding>
        <system value="https://dmd.nhs.uk" />
        <code value="36126411000001107" />
        <display value="Morphine 10mg modified-release capsules" />
    </coding>
</code>


status

Usage

Optional

Guidance

A use-case for populating the status element within this capability has not been defined.

Example
<status value="active" />


isBrand

Usage

Optional

Guidance
This element has been removed from FHIR R4 so should not be implemented as part of an STU3 or CareConnect implementation.
Example
<isBrand value="false" />


isOverTheCounter

Usage

Optional

Guidance
This element has been removed from FHIR R4 so should not be implemented as part of an STU3 or CareConnect implementation.
Example
<isOverTheCounter value="false" />


manufacturer

Usage

Optional

Guidance

A use-case for populating the manufacturer element within this capability has not been defined.

Example
<manufacturer>
    <reference value="organization-yy7120" />
</manufacturer>


form

Usage

Optional

Guidance

Within the dm+d terminology, the VMP, AMP, VMPP and AMPP concepts include a coded form.

Where a medication is identified using a VTM concept and the prescriber wishes to qualify with a form then use this element.

Coded forms should be taken from either the dm+d or from the SNOMED-CT hierarchy as a descendant of the concept 736542009 Pharmaceutical dose form.

Example
<form>
    <coding>
        <system value="http://snomed.info/sct" />
        <code value="427129005" />
        <display value="Conventional release oral coated capsule (dose form)" />
    </coding>
</form>


ingredient

Usage

Optional

Guidance

A use-case for populating the ingredient element within this capability has not been defined.

Example
<ingredient>
    <itemReference value="substance-medication-1000239" />
    <isActive value="true" />
    <amount>
        <numerator>
            <value value="1" />
        </numerator>
        <denominator>
            <value value="1" />
        </denominator>
    </amount>
</ingredient>


package

Usage

Optional

Guidance
This element has been removed from FHIR R4 so should not be implemented as part of an STU3 or CareConnect implementation.
Example
<package>
    <container>
        <coding>
            <system value="http://hl7.org/fhir/medication-package-form" />
            <code value="box" />
            <display value="Box" />
        </coding>
        <text value="A container with a flat base and sides, typically square or rectangular and having a lid." />
    </container>
    <content>
        <itemReference value="medication-882qwf" />
        <amount>
            <system value="http://unitsofmeasure.org" />
            <value value="500">
            <unit value="milliliter" />
            <code value="mL" />
        </amount>
    </content>
    <batch>
        <lotNumber value="1x495b" />
        <expirationDate value="2023-01-01T00:00:00Z" />
    </batch>
</package>


image

Usage

Optional

Guidance
This element has been removed from FHIR R4 so should not be implemented as part of an STU3 or CareConnect implementation.
Example
<image>
    <contentType value="application/jpg" />
    <language value="en-UK" />
    <data value="[base64 encoded content]" />
    <url value="http://www.example.example/product/id/8ajsud/image/thumbnail.png" />
    <size value="55" />
    <hash value="[base64 encoded content" />
    <title value="Product image" />
    <creation value="2022-09-28T09:44:00Z" />
</image>

back to top