# description
This Medication Resource is primarily used for the identification and definition of a medication.

# copyright
Copyright © 2016 HL7 UK  Licensed 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  http://www.apache.org/licenses/LICENSE-2.0  Unless 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.  HL7® FHIR® standard Copyright © 2011+ HL7  The HL7® FHIR® standard is used under the FHIR license. You may obtain a copy of the FHIR license at  https://www.hl7.org/fhir/license.html

# snapshot.element[].definition
This resource is primarily used for the identification and definition of a medication. It covers the ingredients and the packaging for a medication.

# snapshot.element[].constraint[].human
If the resource is contained in another resource, it SHALL NOT contain nested Resources

# snapshot.element[].constraint[].human
If the resource is contained in another resource, it SHALL NOT contain any narrative

# snapshot.element[].constraint[].human
If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated

# snapshot.element[].constraint[].human
If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource

# snapshot.element[].definition
The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].short
A set of rules under which this content was created

# snapshot.element[].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.

# snapshot.element[].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.   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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].definition
The base language in which the resource is written.

# snapshot.element[].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).

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].short
Text summary of the resource, for human interpretation

# snapshot.element[].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.

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].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.

# snapshot.element[].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.

# snapshot.element[].slicing.description
Extensions are always sliced by (at least) url

# snapshot.element[].short
Additional Content defined by implementations

# snapshot.element[].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.

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].constraint[].human
Must have either extensions or value[x], not both

# snapshot.element[].slicing.description
Extensions are always sliced by (at least) url

# snapshot.element[].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.

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].constraint[].human
Must have either extensions or value[x], not both

# snapshot.element[].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.

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].binding.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

# snapshot.element[].mapping[].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

# snapshot.element[].definition
unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

# snapshot.element[].comment
Note that FHIR strings may not exceed 1MB in size

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].slicing.description
Extensions are always sliced by (at least) url

# snapshot.element[].short
Additional Content defined by implementations

# snapshot.element[].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.

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].constraint[].human
Must have either extensions or value[x], not both

# snapshot.element[].definition
A reference to a code defined by a terminology system.

# snapshot.element[].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.

# snapshot.element[].requirements
Allows for translations and alternate encodings within a code system.  Also supports communication of the same instance to systems requiring different encodings.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].mapping[].map
CE/CNE/CWE subset one of the sets of component 1-3 or 4-6

# snapshot.element[].definition
unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

# snapshot.element[].comment
Note that FHIR strings may not exceed 1MB in size

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].slicing.description
Extensions are always sliced by (at least) url

# snapshot.element[].short
Additional Content defined by implementations

# snapshot.element[].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.

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].constraint[].human
Must have either extensions or value[x], not both

# snapshot.element[].short
The SNOMED CT Description ID for the display

# snapshot.element[].definition
The SNOMED CT Description ID for the display.

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].constraint[].human
Must have either extensions or value[x], not both

# snapshot.element[].definition
The identification of the code system that defines the meaning of the symbol in the code.

# snapshot.element[].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.

# snapshot.element[].requirements
Need to be unambiguous about the source of the definition of the symbol.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].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.

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].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).

# snapshot.element[].comment
Note that FHIR strings may not exceed 1MB in size

# snapshot.element[].requirements
Need to refer to a particular code in the system.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].definition
A representation of the meaning of the code in the system, following the rules of the system.

# snapshot.element[].comment
Note that FHIR strings may not exceed 1MB in size

# snapshot.element[].requirements
Need to be able to carry a human-readable meaning of the code for readers that do not know  the system.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].mapping[].map
C*E.2 - but note this is not well followed

# snapshot.element[].short
If this coding was chosen directly by the user

# snapshot.element[].definition
Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).

# snapshot.element[].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.

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].mapping[].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   ]

# snapshot.element[].short
Plain text representation of the concept

# snapshot.element[].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.

# snapshot.element[].comment
Very often the text is the same as a displayName of one of the codings.

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].mapping[].map
C*E.9. But note many systems use C*E.2 for this

# snapshot.element[].definition
A code to indicate if the medication is in active use.

# snapshot.element[].comment
This status is not intended to specify if a medication is part of a formulary.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].binding.description
A coded concept defining if the medication is in active use

# snapshot.element[].definition
Set to true if the item is attributable to a specific manufacturer.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].short
True if medication does not require a prescription

# snapshot.element[].definition
Set to true if the medication can be obtained without an order from a prescriber.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].definition
Describes the details of the manufacturer of the medication product.  This is not intended to represent the distributor of a medication product.

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].constraint[].human
SHALL have a contained resource if a local reference is provided

# snapshot.element[].mapping[].map
The target of a resource reference is a RIM entry point (Act, Role, or Entity)

# snapshot.element[].mapping[].map
RXD-20-Substance Manufacturer Name / RXG-21-Substance Manufacturer Name / RXA-17-Substance Manufacturer Name

# snapshot.element[].definition
unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

# snapshot.element[].comment
Note that FHIR strings may not exceed 1MB in size

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].slicing.description
Extensions are always sliced by (at least) url

# snapshot.element[].short
Additional Content defined by implementations

# snapshot.element[].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.

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].constraint[].human
Must have either extensions or value[x], not both

# snapshot.element[].short
Literal reference, Relative, internal or absolute URL

# snapshot.element[].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.

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].short
Logical reference, when literal reference is not known

# snapshot.element[].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.

# snapshot.element[].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.   When both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference  Applications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].mapping[].map
CX / EI (occasionally, more often EI maps to a resource id or a URL)

# snapshot.element[].mapping[].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]

# snapshot.element[].definition
Plain text narrative that identifies the resource in addition to the resource reference.

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].short
Codes that describe a medication dose form

# snapshot.element[].definition
Describes the form of the item.  Powder; tablets; capsule.

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].binding.description
A code from the SNOMED Clinical Terminology UK coding system that describes a medication dose form

# snapshot.element[].mapping[].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

# snapshot.element[].definition
unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

# snapshot.element[].comment
Note that FHIR strings may not exceed 1MB in size

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].slicing.description
Extensions are always sliced by (at least) url

# snapshot.element[].short
Additional Content defined by implementations

# snapshot.element[].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.

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].constraint[].human
Must have either extensions or value[x], not both

# snapshot.element[].definition
A reference to a code defined by a terminology system.

# snapshot.element[].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.

# snapshot.element[].requirements
Allows for translations and alternate encodings within a code system.  Also supports communication of the same instance to systems requiring different encodings.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].mapping[].map
CE/CNE/CWE subset one of the sets of component 1-3 or 4-6

# snapshot.element[].definition
unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

# snapshot.element[].comment
Note that FHIR strings may not exceed 1MB in size

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].slicing.description
Extensions are always sliced by (at least) url

# snapshot.element[].short
Additional Content defined by implementations

# snapshot.element[].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.

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].constraint[].human
Must have either extensions or value[x], not both

# snapshot.element[].short
The SNOMED CT Description ID for the display

# snapshot.element[].definition
The SNOMED CT Description ID for the display.

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].constraint[].human
Must have either extensions or value[x], not both

# snapshot.element[].definition
The identification of the code system that defines the meaning of the symbol in the code.

# snapshot.element[].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.

# snapshot.element[].requirements
Need to be unambiguous about the source of the definition of the symbol.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].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.

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].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).

# snapshot.element[].comment
Note that FHIR strings may not exceed 1MB in size

# snapshot.element[].requirements
Need to refer to a particular code in the system.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].definition
A representation of the meaning of the code in the system, following the rules of the system.

# snapshot.element[].comment
Note that FHIR strings may not exceed 1MB in size

# snapshot.element[].requirements
Need to be able to carry a human-readable meaning of the code for readers that do not know  the system.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].mapping[].map
C*E.2 - but note this is not well followed

# snapshot.element[].short
If this coding was chosen directly by the user

# snapshot.element[].definition
Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).

# snapshot.element[].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.

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].mapping[].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   ]

# snapshot.element[].short
Plain text representation of the concept

# snapshot.element[].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.

# snapshot.element[].comment
Very often the text is the same as a displayName of one of the codings.

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].mapping[].map
C*E.9. But note many systems use C*E.2 for this

# snapshot.element[].definition
Identifies a particular constituent of interest in the product.

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].definition
unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

# snapshot.element[].comment
Note that FHIR strings may not exceed 1MB in size

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].slicing.description
Extensions are always sliced by (at least) url

# snapshot.element[].short
Additional Content defined by implementations

# snapshot.element[].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.

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].constraint[].human
Must have either extensions or value[x], not both

# snapshot.element[].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.

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].constraint[].human
Must have either extensions or value[x], not both

# snapshot.element[].definition
The actual ingredient - either a substance (simple ingredient) or another medication.

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].mapping[].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

# snapshot.element[].definition
Indication of whether this ingredient affects the therapeutic action of the drug.

# snapshot.element[].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).

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].constraint[].human
Numerator and denominator SHALL both be present, or both are absent. If both are absent, there SHALL be some extension present

# snapshot.element[].constraint[].xpath
(count(f:numerator) = count(f:denominator)) and ((count(f:numerator) > 0) or (count(f:extension) > 0))

# snapshot.element[].mapping[].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

# snapshot.element[].definition
unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

# snapshot.element[].comment
Note that FHIR strings may not exceed 1MB in size

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].slicing.description
Extensions are always sliced by (at least) url

# snapshot.element[].short
Additional Content defined by implementations

# snapshot.element[].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.

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].constraint[].human
Must have either extensions or value[x], not both

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].constraint[].human
If a code for the unit is present, the system SHALL also be present

# snapshot.element[].mapping[].map
PQ, IVL<PQ>, MO, CO, depending on the values

# snapshot.element[].definition
unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

# snapshot.element[].comment
Note that FHIR strings may not exceed 1MB in size

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].slicing.description
Extensions are always sliced by (at least) url

# snapshot.element[].short
Additional Content defined by implementations

# snapshot.element[].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.

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].constraint[].human
Must have either extensions or value[x], not both

# snapshot.element[].short
Numerical value (with implicit precision)

# snapshot.element[].definition
The value of the measured amount. The value includes an implicit precision in the presentation of the value.

# snapshot.element[].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).

# snapshot.element[].requirements
Precision is handled implicitly in almost all cases of measurement.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].mapping[].map
PQ.value, CO.value, MO.value, IVL.high or IVL.low depending on the value

# snapshot.element[].short
< | <= | >= | > - how to understand the value

# snapshot.element[].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.

# snapshot.element[].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.

# snapshot.element[].requirements
Need a framework for handling measures where the value is <5ug/L or >400mg/L due to the limitations of measuring methodology.

# snapshot.element[].meaningWhenMissing
If there is no comparator, then there is no modification of the value

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].binding.description
How the Quantity should be understood and represented.

# snapshot.element[].comment
Note that FHIR strings may not exceed 1MB in size

# snapshot.element[].requirements
There are many representations for units of measure and in many contexts, particular representations are fixed and required. I.e. mcg for micrograms.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].definition
The identification of the system that provides the coded form of the unit.

# snapshot.element[].requirements
Need to know the system that defines the coded form of the unit.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].definition
A computer processable form of the unit in some unit representation system.

# snapshot.element[].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.

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].constraint[].human
If a code for the unit is present, the system SHALL also be present

# snapshot.element[].mapping[].map
PQ, IVL<PQ>, MO, CO, depending on the values

# snapshot.element[].definition
unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

# snapshot.element[].comment
Note that FHIR strings may not exceed 1MB in size

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].slicing.description
Extensions are always sliced by (at least) url

# snapshot.element[].short
Additional Content defined by implementations

# snapshot.element[].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.

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].constraint[].human
Must have either extensions or value[x], not both

# snapshot.element[].short
Numerical value (with implicit precision)

# snapshot.element[].definition
The value of the measured amount. The value includes an implicit precision in the presentation of the value.

# snapshot.element[].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).

# snapshot.element[].requirements
Precision is handled implicitly in almost all cases of measurement.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].mapping[].map
PQ.value, CO.value, MO.value, IVL.high or IVL.low depending on the value

# snapshot.element[].short
< | <= | >= | > - how to understand the value

# snapshot.element[].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.

# snapshot.element[].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.

# snapshot.element[].requirements
Need a framework for handling measures where the value is <5ug/L or >400mg/L due to the limitations of measuring methodology.

# snapshot.element[].meaningWhenMissing
If there is no comparator, then there is no modification of the value

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].binding.description
How the Quantity should be understood and represented.

# snapshot.element[].comment
Note that FHIR strings may not exceed 1MB in size

# snapshot.element[].requirements
There are many representations for units of measure and in many contexts, particular representations are fixed and required. I.e. mcg for micrograms.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].definition
The identification of the system that provides the coded form of the unit.

# snapshot.element[].requirements
Need to know the system that defines the coded form of the unit.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].definition
A computer processable form of the unit in some unit representation system.

# snapshot.element[].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.

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].definition
Information that only applies to packages (not products).

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].definition
unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

# snapshot.element[].comment
Note that FHIR strings may not exceed 1MB in size

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].slicing.description
Extensions are always sliced by (at least) url

# snapshot.element[].short
Additional Content defined by implementations

# snapshot.element[].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.

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].constraint[].human
Must have either extensions or value[x], not both

# snapshot.element[].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.

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].constraint[].human
Must have either extensions or value[x], not both

# snapshot.element[].definition
The kind of container that this package comes as.

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].binding.description
A coded concept defining the kind of container a medication package is packaged in

# snapshot.element[].definition
unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

# snapshot.element[].comment
Note that FHIR strings may not exceed 1MB in size

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].slicing.description
Extensions are always sliced by (at least) url

# snapshot.element[].short
Additional Content defined by implementations

# snapshot.element[].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.

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].constraint[].human
Must have either extensions or value[x], not both

# snapshot.element[].definition
A reference to a code defined by a terminology system.

# snapshot.element[].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.

# snapshot.element[].requirements
Allows for translations and alternate encodings within a code system.  Also supports communication of the same instance to systems requiring different encodings.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].mapping[].map
CE/CNE/CWE subset one of the sets of component 1-3 or 4-6

# snapshot.element[].definition
unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

# snapshot.element[].comment
Note that FHIR strings may not exceed 1MB in size

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].slicing.description
Extensions are always sliced by (at least) url

# snapshot.element[].short
Additional Content defined by implementations

# snapshot.element[].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.

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].constraint[].human
Must have either extensions or value[x], not both

# snapshot.element[].definition
The identification of the code system that defines the meaning of the symbol in the code.

# snapshot.element[].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.

# snapshot.element[].requirements
Need to be unambiguous about the source of the definition of the symbol.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].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.

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].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).

# snapshot.element[].comment
Note that FHIR strings may not exceed 1MB in size

# snapshot.element[].requirements
Need to refer to a particular code in the system.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].definition
A representation of the meaning of the code in the system, following the rules of the system.

# snapshot.element[].comment
Note that FHIR strings may not exceed 1MB in size

# snapshot.element[].requirements
Need to be able to carry a human-readable meaning of the code for readers that do not know  the system.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].mapping[].map
C*E.2 - but note this is not well followed

# snapshot.element[].short
If this coding was chosen directly by the user

# snapshot.element[].definition
Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).

# snapshot.element[].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.

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].mapping[].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   ]

# snapshot.element[].short
Plain text representation of the concept

# snapshot.element[].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.

# snapshot.element[].comment
Very often the text is the same as a displayName of one of the codings.

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].mapping[].map
C*E.9. But note many systems use C*E.2 for this

# snapshot.element[].definition
A set of components that go to make up the described item.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].definition
unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

# snapshot.element[].comment
Note that FHIR strings may not exceed 1MB in size

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].slicing.description
Extensions are always sliced by (at least) url

# snapshot.element[].short
Additional Content defined by implementations

# snapshot.element[].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.

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].constraint[].human
Must have either extensions or value[x], not both

# snapshot.element[].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.

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].constraint[].human
Must have either extensions or value[x], not both

# snapshot.element[].definition
Identifies one of the items in the package.

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].definition
The amount of the product that is in the package.

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].constraint[].human
If a code for the unit is present, the system SHALL also be present

# snapshot.element[].constraint[].human
The comparator is not used on a SimpleQuantity

# snapshot.element[].mapping[].map
PQ, IVL<PQ>, MO, CO, depending on the values

# snapshot.element[].definition
unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

# snapshot.element[].comment
Note that FHIR strings may not exceed 1MB in size

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].slicing.description
Extensions are always sliced by (at least) url

# snapshot.element[].short
Additional Content defined by implementations

# snapshot.element[].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.

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].constraint[].human
Must have either extensions or value[x], not both

# snapshot.element[].short
Numerical value (with implicit precision)

# snapshot.element[].definition
The value of the measured amount. The value includes an implicit precision in the presentation of the value.

# snapshot.element[].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).

# snapshot.element[].requirements
Precision is handled implicitly in almost all cases of measurement.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].mapping[].map
PQ.value, CO.value, MO.value, IVL.high or IVL.low depending on the value

# snapshot.element[].short
< | <= | >= | > - how to understand the value

# snapshot.element[].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.

# snapshot.element[].requirements
Need a framework for handling measures where the value is <5ug/L or >400mg/L due to the limitations of measuring methodology.

# snapshot.element[].meaningWhenMissing
If there is no comparator, then there is no modification of the value

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].binding.description
How the Quantity should be understood and represented.

# snapshot.element[].comment
Note that FHIR strings may not exceed 1MB in size

# snapshot.element[].requirements
There are many representations for units of measure and in many contexts, particular representations are fixed and required. I.e. mcg for micrograms.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].definition
The identification of the system that provides the coded form of the unit.

# snapshot.element[].requirements
Need to know the system that defines the coded form of the unit.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].definition
A computer processable form of the unit in some unit representation system.

# snapshot.element[].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.

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].definition
Information about a group of medication produced or packaged from one production run.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].definition
unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

# snapshot.element[].comment
Note that FHIR strings may not exceed 1MB in size

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].slicing.description
Extensions are always sliced by (at least) url

# snapshot.element[].short
Additional Content defined by implementations

# snapshot.element[].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.

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].constraint[].human
Must have either extensions or value[x], not both

# snapshot.element[].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.

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].constraint[].human
Must have either extensions or value[x], not both

# snapshot.element[].definition
The assigned lot number of a batch of the specified product.

# snapshot.element[].comment
Note that FHIR strings may not exceed 1MB in size

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].mapping[].map
RXA-15 Substance Lot Number / RXG-19 Substance Lot Number

# snapshot.element[].definition
When this specific batch of product will expire.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].mapping[].map
RXA-16 Substance Expiration Date / RXG-20 Substance Expiration Date

# snapshot.element[].definition
Photo(s) or graphic representation(s) of the medication.

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

# snapshot.element[].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).

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].constraint[].human
It the Attachment has data, it SHALL have a contentType

# snapshot.element[].definition
unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

# snapshot.element[].comment
Note that FHIR strings may not exceed 1MB in size

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].slicing.description
Extensions are always sliced by (at least) url

# snapshot.element[].short
Additional Content defined by implementations

# snapshot.element[].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.

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].constraint[].human
Must have either extensions or value[x], not both

# snapshot.element[].short
Mime type of the content, with charset etc.

# snapshot.element[].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.

# snapshot.element[].comment
Note that FHIR strings may not exceed 1MB in size

# snapshot.element[].requirements
Processors of the data need to be able to know how to interpret the data.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].binding.description
The mime type of an attachment. Any valid mime type is allowed.

# snapshot.element[].mapping[].map
ED.2+ED.3/RP.2+RP.3. Note conversion may be needed if old style values are being used

# snapshot.element[].definition
The human language of the content. The value can be any valid value according to BCP 47.

# snapshot.element[].comment
Note that FHIR strings may not exceed 1MB in size

# snapshot.element[].requirements
Users need to be able to choose between the languages in a set of attachments.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].definition
The actual data of the attachment - a sequence of bytes. In XML, represented using base64.

# snapshot.element[].comment
The base64-encoded data SHALL be expressed in the same character set as the base resource XML or JSON.

# snapshot.element[].requirements
The data needs to able to be transmitted inline.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].definition
An alternative location where the data can be accessed.

# snapshot.element[].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.

# snapshot.element[].requirements
The data needs to be transmitted by reference.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].mapping[].map
RP.1+RP.2 - if they refer to a URL (see v2.6)

# snapshot.element[].short
Number of bytes of content (if url provided)

# snapshot.element[].definition
The number of bytes of data that make up this attachment (before base64 encoding, if that is done).

# snapshot.element[].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.

# snapshot.element[].requirements
Representing the size allows applications to determine whether they should fetch the content automatically in advance, or refuse to fetch it at all.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].definition
The calculated hash of the data using SHA-1. Represented using base64.

# snapshot.element[].comment
The hash is calculated on the data prior to base64 encoding, if the data is based64 encoded.

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].definition
A label or set of text to display in place of the data.

# snapshot.element[].comment
Note that FHIR strings may not exceed 1MB in size

# snapshot.element[].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.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# snapshot.element[].definition
The date that the attachment was first created.

# snapshot.element[].requirements
This is often tracked as an integrity issue for use of the attachment.

# snapshot.element[].constraint[].human
All FHIR elements must have a @value or children

# snapshot.element[].constraint[].expression
hasValue() | (children().count() > id.count())

# differential.element[].binding.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

# differential.element[].short
Codes that describe a medication dose form

# differential.element[].binding.description
A code from the SNOMED Clinical Terminology UK coding system that describes a medication dose form