{
  "resourceType": "Bundle",
  "id": "profiles-others",
  "meta": {
    "lastUpdated": "2017-04-18T21:44:43.294+00:00"
  },
  "type": "collection",
  "entry": [
    {
      "fullUrl": "http://hl7.org/fhir/StructureDefinition/consentdirective",
      "resource": {
        "resourceType": "StructureDefinition",
        "id": "consentdirective",
        "text": {
          "status": "generated",
          "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">to do</div>"
        },
        "url": "http://hl7.org/fhir/StructureDefinition/consentdirective",
        "name": "Consent Directive",
        "status": "draft",
        "date": "2014-01-31",
        "publisher": "Health Level Seven International (Community Based Collaborative Care)",
        "contact": [
          {
            "telecom": [
              {
                "system": "other",
                "value": "http://hl7.org/special/committees/Security"
              }
            ]
          }
        ],
        "description": "Consent Directive",
        "fhirVersion": "3.0.1",
        "mapping": [
          {
            "identity": "v2",
            "uri": "http://hl7.org/v2",
            "name": "HL7 v2"
          }
        ],
        "kind": "resource",
        "abstract": false,
        "type": "Contract",
        "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Contract",
        "derivation": "constraint",
        "snapshot": {
          "element": [
            {
              "id": "Contract",
              "path": "Contract",
              "short": "Consent Directive",
              "definition": "A record of a healthcare consumer’s privacy policy, which is in accordance with governing jurisdictional and organization privacy policies that grant or withhold consent:   • To one or more identified entities in a defined role   • To perform one or more operations (e.g. collect, access, use, disclose, amend, or delete)   • On an instance or type of individually identifiable health information [IIHI]  • For a purpose such as treatment, payment, operations, research, public health, quality measures, health status evaluation by third parties, or marketing   • Under certain conditions, e.g. when unconscious   • For specified time period, e.g. effective and expiration dates   • In certain context, e.g. in an emergency   A consent directive is an instance of governing jurisdictional and organization privacy policies, which may or may not be backed up by a signed document (paper or electronic). [HITSP TP30].",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Contract",
                "min": 0,
                "max": "*"
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": "FinancialContract"
                },
                {
                  "identity": "w5",
                  "map": "financial.other"
                }
              ]
            },
            {
              "id": "Contract.id",
              "path": "Contract.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. Bundles always have an id, though it is usually a generated UUID.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Contract.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "id"
                }
              ],
              "isSummary": true
            },
            {
              "id": "Contract.meta",
              "path": "Contract.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": "Contract.meta",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Meta"
                }
              ],
              "isSummary": true
            },
            {
              "id": "Contract.implicitRules",
              "path": "Contract.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 as much as possible.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Contract.implicitRules",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "isModifier": true,
              "isSummary": true
            },
            {
              "id": "Contract.language",
              "path": "Contract.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": "Contract.language",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "binding": {
                "strength": "required",
                "description": "A human language.",
                "valueSetUri": "http://tools.ietf.org/html/bcp47"
              }
            },
            {
              "id": "Contract.text",
              "path": "Contract.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.",
              "alias": [
                "narrative",
                "html",
                "xhtml",
                "display"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Contract.text",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Narrative"
                }
              ],
              "condition": [
                "dom-1"
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Act.text?"
                }
              ]
            },
            {
              "id": "Contract.contained",
              "path": "Contract.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": "Contract.contained",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Resource"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Contract.extension",
              "path": "Contract.extension",
              "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": "Contract.extension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Contract.modifierExtension",
              "path": "Contract.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 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": "Contract.modifierExtension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension"
                }
              ],
              "isModifier": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Contract.identifier",
              "path": "Contract.identifier",
              "label": "ConsentDirective-identifier",
              "short": "Consent Directive identifier",
              "definition": "Unique identifier for this Consent Directive.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Contract.identifier",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Identifier"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "FinancialContract id"
                }
              ]
            },
            {
              "id": "Contract.issued",
              "path": "Contract.issued",
              "label": "ConsentDirective-issued",
              "short": "When this Consent Directive was issued",
              "definition": "Date and time when this Consent Directive was executed and became effective.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Contract.issued",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "dateTime"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "FinancialContract effectiveTime"
                }
              ]
            },
            {
              "id": "Contract.applies",
              "path": "Contract.applies",
              "label": "ConsentDirective-applies",
              "short": "Effective time",
              "definition": "Time period during which this Consent Directive is in effect.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Contract.applies",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Period"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "FinancialContract activityTime"
                }
              ]
            },
            {
              "id": "Contract.subject",
              "path": "Contract.subject",
              "label": "ConsentDirective-subject",
              "short": "Patient who is the subject of this Privacy Consent Directive",
              "definition": "Patient information and actions taken on that information that are governed by this Privacy Consent Directive.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Contract.subject",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Role"
                }
              ]
            },
            {
              "id": "Contract.authority",
              "path": "Contract.authority",
              "label": "ConsentDirective-authority",
              "short": "Authority under which this Consent Directive has standing",
              "definition": "A formally recognized grouping of people, principals, organizations, or jurisdictions with legal standing to promulgate, administer, and enforce privacy policies and applicable Consent Directives.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Contract.authority",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Role Scoper"
                }
              ]
            },
            {
              "id": "Contract.domain",
              "path": "Contract.domain",
              "label": "ConsentDirective-domain",
              "short": "Domain in which this Consent Directive applies",
              "definition": "Recognized governance framework or system operating with a circumscribed scope in accordance with specified principles, policies, processes or procedures for managing rights, actions, or behaviors of parties or principals relative to privacy protection and control of the collection, access, use and disclosure of resources.",
              "alias": [
                "scope of governance jurisdiction"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "Contract.domain",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
                }
              ]
            },
            {
              "id": "Contract.type",
              "path": "Contract.type",
              "label": "ConsentDirective-type",
              "short": "Consent Directive Type",
              "definition": "Specific type of patient privacy Consent Directive reflecting the range of patient discretion over granting of rights to patient information and actions that may be taken on that information; e.g. Opt-in, opt-out, Share All (such as authorization to disclose to payer for payment purposes or benefit eligibility), Share Partial(such as Title 38 Section 7332 and 42 CFR Part 2), Implied Consent, such as a HIPAA Notice of Privacy Practices.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Contract.type",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "isSummary": true,
              "binding": {
                "strength": "example",
                "description": "List of overall contract codes.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/contract-type"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": "CNTRCT"
                }
              ]
            },
            {
              "id": "Contract.subType",
              "path": "Contract.subType",
              "label": "ConsentDirective-subType",
              "short": "Consent Directive Subtype",
              "definition": "A specialized type of an overarching or more general Consent Directive, such as a patient's right to opt-out of a Patient Directory under HIPAA or a multiparty 42 CFR Part 2 consent used in a health information exchange context by a Qualified Service Organization.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Contract.subType",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "isSummary": true,
              "binding": {
                "strength": "example",
                "description": "Detailed codes within the above.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/contract-subtype"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": "e.g. RECOV"
                }
              ]
            },
            {
              "id": "Contract.action",
              "path": "Contract.action",
              "label": "ConsentDirective-action",
              "short": "Consent Directive Action",
              "definition": "Action stipulated by this Consent Directive.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Contract.action",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "strength": "example",
                "description": "Detailed codes for the contract action.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/contract-action"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": "e.g. JURISPOL"
                }
              ]
            },
            {
              "id": "Contract.actionReason",
              "path": "Contract.actionReason",
              "label": "ConsentDirective-actionReason",
              "short": "Consent Directive Action Reason",
              "definition": "Reason for action stipulated by this Consent Directive.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Contract.actionReason",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "strength": "example",
                "description": "Detailed codes for the contract action reason.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/v3-PurposeOfUse"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": "e.g. QUALIMP"
                }
              ]
            },
            {
              "id": "Contract.actor",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                  "valueString": "Actor"
                }
              ],
              "path": "Contract.actor",
              "label": "ConsentDirective-actor",
              "short": "Consent Directive Actor",
              "definition": "List of Consent Directive actors.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Contract.actor",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ]
            },
            {
              "id": "Contract.actor.id",
              "path": "Contract.actor.id",
              "representation": [
                "xmlAttr"
              ],
              "short": "xml:id (or equivalent in JSON)",
              "definition": "unique id for the element within a resource (for internal references).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Contract.actor.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "id"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Contract.actor.extension",
              "path": "Contract.actor.extension",
              "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": "Contract.actor.extension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Contract.actor.modifierExtension",
              "path": "Contract.actor.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": "Contract.actor.modifierExtension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension"
                }
              ],
              "isModifier": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Contract.actor.entity",
              "path": "Contract.actor.entity",
              "label": "ConsentDirective-actor-entity",
              "short": "Consent Directive Actor Type",
              "definition": "Who or what actors are assigned roles in this Consent Directive.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Contract.actor.entity",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Contract"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Substance"
                }
              ]
            },
            {
              "id": "Contract.actor.role",
              "path": "Contract.actor.role",
              "label": "ConsentDirective-actor-role",
              "short": "Consent Directive Actor Role",
              "definition": "Role type of actors assigned roles in this Consent Directive.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Contract.actor.role",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "strength": "example",
                "description": "Detailed codes for the contract actor role.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/contract-actorrole"
                }
              }
            },
            {
              "id": "Contract.valuedItem",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                  "valueString": "ValuedItem"
                }
              ],
              "path": "Contract.valuedItem",
              "label": "ConsentDirective-valuedItem",
              "short": "Contract Valued Item",
              "definition": "Contract Valued Item List.",
              "min": 0,
              "max": "0",
              "base": {
                "path": "Contract.valuedItem",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "COCT_RM440000UV09 ValuedItem classCode INVE"
                }
              ]
            },
            {
              "id": "Contract.valuedItem.id",
              "path": "Contract.valuedItem.id",
              "representation": [
                "xmlAttr"
              ],
              "short": "xml:id (or equivalent in JSON)",
              "definition": "unique id for the element within a resource (for internal references).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Contract.valuedItem.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "id"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Contract.valuedItem.extension",
              "path": "Contract.valuedItem.extension",
              "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": "Contract.valuedItem.extension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Contract.valuedItem.modifierExtension",
              "path": "Contract.valuedItem.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": "Contract.valuedItem.modifierExtension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension"
                }
              ],
              "isModifier": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Contract.valuedItem.entity[x]",
              "path": "Contract.valuedItem.entity[x]",
              "label": "ConsentDirective-valuedItem-entity[x]",
              "short": "Contract Valued Item Type",
              "definition": "Specific type of Contract Valued Item that may be priced.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Contract.valuedItem.entity[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "COCT_RM440000UV09 ValuedItem code"
                }
              ]
            },
            {
              "id": "Contract.valuedItem.identifier",
              "path": "Contract.valuedItem.identifier",
              "label": "ConsentDirective-valuedItem-identifier",
              "short": "Contract Valued Item Identifier",
              "definition": "Identifies a Contract Valued Item instance.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Contract.valuedItem.identifier",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Identifier"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "COCT_RM440000UV09 ValuedItem id"
                }
              ]
            },
            {
              "id": "Contract.valuedItem.effectiveTime",
              "path": "Contract.valuedItem.effectiveTime",
              "label": "ConsentDirective-valuedItem-effectiveTime",
              "short": "Contract Valued Item Effective Time",
              "definition": "Indicates the time during which this Contract ValuedItem information is effective.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Contract.valuedItem.effectiveTime",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "dateTime"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "COCT_RM440000UV09 ValuedItem                effectiveTime"
                }
              ]
            },
            {
              "id": "Contract.valuedItem.quantity",
              "path": "Contract.valuedItem.quantity",
              "label": "ConsentDirective-valuedItem-quantity",
              "short": "Count of Contract Valued Items",
              "definition": "Specifies the units by which the Contract Valued Item is measured or counted, and quantifies the countable or measurable Contract Valued Item instances.",
              "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": "Contract.valuedItem.quantity",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity",
                  "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
                }
              ],
              "constraint": [
                {
                  "extension": [
                    {
                      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-expression",
                      "valueString": "code.empty() or system"
                    }
                  ],
                  "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",
                  "xpath": "not(exists(f:code)) or exists(f:system)"
                },
                {
                  "extension": [
                    {
                      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-expression",
                      "valueString": "comparator.empty()"
                    }
                  ],
                  "key": "sqty-1",
                  "severity": "error",
                  "human": "The comparator is not used on a SimpleQuantity",
                  "expression": "comparator.empty()",
                  "xpath": "not(exists(f:comparator))"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "SN (see also Range) or CQ"
                },
                {
                  "identity": "rim",
                  "map": "PQ, IVL<PQ>, MO, CO, depending on the values"
                }
              ]
            },
            {
              "id": "Contract.valuedItem.unitPrice",
              "path": "Contract.valuedItem.unitPrice",
              "label": "ConsentDirective-valuedItem-unitprice",
              "short": "Contract Valued Item fee, charge, or cost.",
              "definition": "A Contract Valued Item unit valuation measure.",
              "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": "Contract.valuedItem.unitPrice",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity",
                  "profile": "http://hl7.org/fhir/StructureDefinition/Money"
                }
              ],
              "constraint": [
                {
                  "extension": [
                    {
                      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-expression",
                      "valueString": "code.empty() or system"
                    }
                  ],
                  "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",
                  "xpath": "not(exists(f:code)) or exists(f:system)"
                },
                {
                  "extension": [
                    {
                      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-expression",
                      "valueString": "(code or value.empty()) and (system.empty() or system = 'urn:iso:std:iso:4217')"
                    }
                  ],
                  "key": "mny-1",
                  "severity": "error",
                  "human": "There SHALL be a code if there is a value and it SHALL be an expression of currency.  If system is present, it SHALL be ISO 4217 (system = \"urn:iso:std:iso:4217\" - currency).",
                  "expression": "(code or value.empty()) and (system.empty() or system = 'urn:iso:std:iso:4217')",
                  "xpath": "(f:code or not(f:value)) and (not(exists(f:system)) or f:system/@value='urn:iso:std:iso:4217')"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "SN (see also Range) or CQ"
                },
                {
                  "identity": "rim",
                  "map": "PQ, IVL<PQ>, MO, CO, depending on the values"
                },
                {
                  "identity": "v2",
                  "map": "F12"
                }
              ]
            },
            {
              "id": "Contract.valuedItem.factor",
              "path": "Contract.valuedItem.factor",
              "label": "ConsentDirective-valuedItem-factor",
              "short": "Contract Valued Item Price Scaling Factor",
              "definition": "A real number that represents a multiplier used in determining the overall value of the Contract Valued Item delivered. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Contract.valuedItem.factor",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "decimal"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "COCT_RM440000UV09 ValuedItem factorNumber"
                },
                {
                  "identity": "v2",
                  "map": "F13/F14"
                }
              ]
            },
            {
              "id": "Contract.valuedItem.points",
              "path": "Contract.valuedItem.points",
              "label": "ConsentDirective-valuedItem-points",
              "short": "Contract Valued Item Difficulty Scaling Factor",
              "definition": "An amount that expresses the weighting (based on difficulty, cost and/or resource intensiveness) associated with the Contract Valued Item delivered. The concept of Points allows for assignment of point values for a Contract Valued Item, such that a monetary amount can be assigned to each point.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Contract.valuedItem.points",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "decimal"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "COCT_RM440000UV09 ValuedItem pointNumber"
                },
                {
                  "identity": "v2",
                  "map": "F13/F14"
                }
              ]
            },
            {
              "id": "Contract.valuedItem.net",
              "path": "Contract.valuedItem.net",
              "label": "ConsentDirective-valuedItem-net",
              "short": "Total Contract Valued Item Value",
              "definition": "Expresses the product of the Contract Valued Item unitQuantity and the unitPriceAmt. For example, the formula: unit Quantity * unit Price (Cost per Point) * factor Number  * points = net Amount. Quantity, factor and points are assumed to be 1 if not supplied.",
              "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": "Contract.valuedItem.net",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity",
                  "profile": "http://hl7.org/fhir/StructureDefinition/Money"
                }
              ],
              "constraint": [
                {
                  "extension": [
                    {
                      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-expression",
                      "valueString": "code.empty() or system"
                    }
                  ],
                  "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",
                  "xpath": "not(exists(f:code)) or exists(f:system)"
                },
                {
                  "extension": [
                    {
                      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-expression",
                      "valueString": "(code or value.empty()) and (system.empty() or system = 'urn:iso:std:iso:4217')"
                    }
                  ],
                  "key": "mny-1",
                  "severity": "error",
                  "human": "There SHALL be a code if there is a value and it SHALL be an expression of currency.  If system is present, it SHALL be ISO 4217 (system = \"urn:iso:std:iso:4217\" - currency).",
                  "expression": "(code or value.empty()) and (system.empty() or system = 'urn:iso:std:iso:4217')",
                  "xpath": "(f:code or not(f:value)) and (not(exists(f:system)) or f:system/@value='urn:iso:std:iso:4217')"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "SN (see also Range) or CQ"
                },
                {
                  "identity": "rim",
                  "map": "PQ, IVL<PQ>, MO, CO, depending on the values"
                },
                {
                  "identity": "v2",
                  "map": "F13/F14"
                }
              ]
            },
            {
              "id": "Contract.signer",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                  "valueString": "Signatory"
                }
              ],
              "path": "Contract.signer",
              "label": "ConsentDirective-signer",
              "short": "Consent Directive Signer",
              "definition": "Party signing this Consent Directive.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Contract.signer",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ]
            },
            {
              "id": "Contract.signer.id",
              "path": "Contract.signer.id",
              "representation": [
                "xmlAttr"
              ],
              "short": "xml:id (or equivalent in JSON)",
              "definition": "unique id for the element within a resource (for internal references).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Contract.signer.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "id"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Contract.signer.extension",
              "path": "Contract.signer.extension",
              "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": "Contract.signer.extension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Contract.signer.modifierExtension",
              "path": "Contract.signer.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": "Contract.signer.modifierExtension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension"
                }
              ],
              "isModifier": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Contract.signer.type",
              "path": "Contract.signer.type",
              "label": "ConsentDirective-signer-type",
              "short": "Consent Directive Signer Type",
              "definition": "Role of this Consent Directive signer, e.g. patient who is Consent Directive Grantee, the Substitute Decision Maker such as a person with Power of Attorney to whom the patient has granted or delegated rights to execute a Consent Directive on the patient's behalf, a notary public or witness.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Contract.signer.type",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "Coding"
                }
              ],
              "binding": {
                "strength": "preferred",
                "description": "List of parties who may be signing.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/contract-signer-type"
                }
              }
            },
            {
              "id": "Contract.signer.party",
              "path": "Contract.signer.party",
              "label": "ConsentDirective-signer-party",
              "short": "Consent Directive Signatory party",
              "definition": "Party which is a signatory to this Consent Directive.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Contract.signer.party",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
                }
              ]
            },
            {
              "id": "Contract.signer.signature",
              "path": "Contract.signer.signature",
              "label": "ConsentDirective-signer-signature",
              "short": "Consent Directive Documentation Signature",
              "definition": "Legally binding Consent Directive DSIG signature contents in Base64.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Contract.signer.signature",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ]
            },
            {
              "id": "Contract.term",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                  "valueString": "Term"
                }
              ],
              "path": "Contract.term",
              "label": "ConsentDirective-term",
              "short": "Consent Directive Term List",
              "definition": "One or more Consent DirectiveProvisions, which may be related and conveyed as a group, and may contain nested groups.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Contract.term",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ]
            },
            {
              "id": "Contract.term.id",
              "path": "Contract.term.id",
              "representation": [
                "xmlAttr"
              ],
              "short": "xml:id (or equivalent in JSON)",
              "definition": "unique id for the element within a resource (for internal references).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Contract.term.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "id"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Contract.term.extension",
              "path": "Contract.term.extension",
              "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": "Contract.term.extension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Contract.term.modifierExtension",
              "path": "Contract.term.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": "Contract.term.modifierExtension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension"
                }
              ],
              "isModifier": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Contract.term.identifier",
              "path": "Contract.term.identifier",
              "label": "ConsentDirective-term-identifier",
              "short": "Consent Directive Term identifier",
              "definition": "Unique identifier for this particular Consent Directive Provision.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Contract.term.identifier",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Identifier"
                }
              ],
              "isSummary": true
            },
            {
              "id": "Contract.term.issued",
              "path": "Contract.term.issued",
              "label": "ConsentDirective-term-issued",
              "short": "Consent Directive Term Issue Date Time",
              "definition": "When this Consent Directive Provision was issued.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Contract.term.issued",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "dateTime"
                }
              ],
              "isSummary": true
            },
            {
              "id": "Contract.term.applies",
              "path": "Contract.term.applies",
              "label": "ConsentDirective-term-applies",
              "short": "Consent Directive Term Effective Time",
              "definition": "Relevant time or time-period when this Consent Directive Provision is applicable.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Contract.term.applies",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Period"
                }
              ],
              "isSummary": true
            },
            {
              "id": "Contract.term.type",
              "path": "Contract.term.type",
              "label": "ConsentDirective-term-type",
              "short": "Consent Directive Term Type",
              "definition": "Type of Consent Directive Provision such as specific requirements, purposes for actions, obligations, prohibitions, e.g. life time maximum benefit.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Contract.term.type",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "strength": "example",
                "description": "Detailed codes for the types of contract provisions.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/contract-term-type"
                }
              }
            },
            {
              "id": "Contract.term.subType",
              "path": "Contract.term.subType",
              "label": "ConsentDirective-term-subType",
              "short": "Consent Directive Term Subtype",
              "definition": "Subtype of this Consent Directive Provision, e.g. life time maximum payment for a contract term for specific valued item, e.g. disability payment.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Contract.term.subType",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "strength": "example",
                "description": "Detailed codes for the subtypes of contract provisions.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/contract-term-subtype"
                }
              }
            },
            {
              "id": "Contract.term.topic",
              "path": "Contract.term.topic",
              "label": "ConsentDirective-term-topic",
              "short": "Topic of this Consent Directive Term",
              "definition": "Who or what this Consent Directive Provision is about.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Contract.term.topic",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
                }
              ]
            },
            {
              "id": "Contract.term.action",
              "path": "Contract.term.action",
              "label": "ConsentDirective-term-action",
              "short": "Consent Directive Term Action",
              "definition": "Action stipulated by this Consent Directive Provision.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Contract.term.action",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "strength": "example",
                "description": "Detailed codes for the contract action.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/contract-action"
                }
              }
            },
            {
              "id": "Contract.term.actionReason",
              "path": "Contract.term.actionReason",
              "label": "ConsentDirective-term-actionReason",
              "short": "Consent Directive Term Action Reason",
              "definition": "Reason or purpose for the action stipulated by this Consent Directive Provision.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Contract.term.actionReason",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "strength": "example",
                "description": "Detailed codes for the contract action reason.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/v3-PurposeOfUse"
                }
              }
            },
            {
              "id": "Contract.term.actor",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                  "valueString": "TermActor"
                }
              ],
              "path": "Contract.term.actor",
              "label": "ConsentDirective-term-actor",
              "short": "Consent Directive  Term Actor List",
              "definition": "List of actors participating in this Consent Directive Provision.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Contract.term.actor",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ]
            },
            {
              "id": "Contract.term.actor.id",
              "path": "Contract.term.actor.id",
              "representation": [
                "xmlAttr"
              ],
              "short": "xml:id (or equivalent in JSON)",
              "definition": "unique id for the element within a resource (for internal references).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Contract.term.actor.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "id"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Contract.term.actor.extension",
              "path": "Contract.term.actor.extension",
              "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": "Contract.term.actor.extension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Contract.term.actor.modifierExtension",
              "path": "Contract.term.actor.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": "Contract.term.actor.modifierExtension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension"
                }
              ],
              "isModifier": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Contract.term.actor.entity",
              "path": "Contract.term.actor.entity",
              "label": "ConsentDirective-term-actor-entity",
              "short": "Consent Directive Term Actor",
              "definition": "The actor assigned a role in this Consent Directive Provision.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Contract.term.actor.entity",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Contract"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Substance"
                }
              ]
            },
            {
              "id": "Contract.term.actor.role",
              "path": "Contract.term.actor.role",
              "label": "ConsentDirective-term-actor-role",
              "short": "Consent Directive Term Actor Role",
              "definition": "Role played by the actor assigned this role in this Consent Directive Provision.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Contract.term.actor.role",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "strength": "example",
                "description": "Detailed codes for the contract actor role.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/contract-actorrole"
                }
              }
            },
            {
              "id": "Contract.term.text",
              "path": "Contract.term.text",
              "label": "ConsentDirective-term-text",
              "short": "Human readable Consent Directive term text",
              "definition": "Human readable form of this Consent Directive Provision.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Contract.term.text",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ]
            },
            {
              "id": "Contract.term.valuedItem",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                  "valueString": "TermValuedItem"
                }
              ],
              "path": "Contract.term.valuedItem",
              "label": "ConsentDirective-term-valuedItem",
              "short": "Contract Term Valued Item",
              "definition": "Contract Provision Valued Item List.",
              "min": 0,
              "max": "0",
              "base": {
                "path": "Contract.term.valuedItem",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "COCT_RM440000UV09 ValuedUnitItem classCode INVE"
                }
              ]
            },
            {
              "id": "Contract.term.valuedItem.id",
              "path": "Contract.term.valuedItem.id",
              "representation": [
                "xmlAttr"
              ],
              "short": "xml:id (or equivalent in JSON)",
              "definition": "unique id for the element within a resource (for internal references).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Contract.term.valuedItem.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "id"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Contract.term.valuedItem.extension",
              "path": "Contract.term.valuedItem.extension",
              "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": "Contract.term.valuedItem.extension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Contract.term.valuedItem.modifierExtension",
              "path": "Contract.term.valuedItem.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": "Contract.term.valuedItem.modifierExtension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension"
                }
              ],
              "isModifier": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Contract.term.valuedItem.entity[x]",
              "path": "Contract.term.valuedItem.entity[x]",
              "label": "ConsentDirective-term-valuedItem-entity[x]",
              "short": "Contract Term Valued Item Type",
              "definition": "Specific type of Contract Provision Valued Item that may be priced.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Contract.term.valuedItem.entity[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "COCT_RM440000UV09 ValuedUnitItem code"
                }
              ]
            },
            {
              "id": "Contract.term.valuedItem.identifier",
              "path": "Contract.term.valuedItem.identifier",
              "label": "ConsentDirective-term-valuedItem",
              "short": "Contract Term Valued Item Identifier",
              "definition": "Identifies a Contract Provision Valued Item instance.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Contract.term.valuedItem.identifier",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Identifier"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "COCT_RM440000UV09 ValuedUnitItem id"
                }
              ]
            },
            {
              "id": "Contract.term.valuedItem.effectiveTime",
              "path": "Contract.term.valuedItem.effectiveTime",
              "label": "ConsentDirective-term-valuedItem-effectiveTime",
              "short": "Contract Term Valued Item Effective Time",
              "definition": "Indicates the time during which this Contract Term ValuedItem information is effective.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Contract.term.valuedItem.effectiveTime",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "dateTime"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "COCT_RM440000UV09 ValuedUnitItem effectiveTime"
                }
              ]
            },
            {
              "id": "Contract.term.valuedItem.quantity",
              "path": "Contract.term.valuedItem.quantity",
              "label": "ConsentDirective-term-valuedItem-quantity",
              "short": "Contract Term Valued Item Count",
              "definition": "Specifies the units by which the Contract Provision Valued Item is measured or counted, and quantifies the countable or measurable Contract Term Valued Item instances.",
              "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": "Contract.term.valuedItem.quantity",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity",
                  "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
                }
              ],
              "constraint": [
                {
                  "extension": [
                    {
                      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-expression",
                      "valueString": "code.empty() or system"
                    }
                  ],
                  "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",
                  "xpath": "not(exists(f:code)) or exists(f:system)"
                },
                {
                  "extension": [
                    {
                      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-expression",
                      "valueString": "comparator.empty()"
                    }
                  ],
                  "key": "sqty-1",
                  "severity": "error",
                  "human": "The comparator is not used on a SimpleQuantity",
                  "expression": "comparator.empty()",
                  "xpath": "not(exists(f:comparator))"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "SN (see also Range) or CQ"
                },
                {
                  "identity": "rim",
                  "map": "PQ, IVL<PQ>, MO, CO, depending on the values"
                }
              ]
            },
            {
              "id": "Contract.term.valuedItem.unitPrice",
              "path": "Contract.term.valuedItem.unitPrice",
              "label": "ConsentDirective-term-valuedItem-unitPrice",
              "short": "Contract Term Valued Item fee, charge, or cost.",
              "definition": "A Contract Provision Valued Item unit valuation measure.",
              "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": "Contract.term.valuedItem.unitPrice",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity",
                  "profile": "http://hl7.org/fhir/StructureDefinition/Money"
                }
              ],
              "constraint": [
                {
                  "extension": [
                    {
                      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-expression",
                      "valueString": "code.empty() or system"
                    }
                  ],
                  "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",
                  "xpath": "not(exists(f:code)) or exists(f:system)"
                },
                {
                  "extension": [
                    {
                      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-expression",
                      "valueString": "(code or value.empty()) and (system.empty() or system = 'urn:iso:std:iso:4217')"
                    }
                  ],
                  "key": "mny-1",
                  "severity": "error",
                  "human": "There SHALL be a code if there is a value and it SHALL be an expression of currency.  If system is present, it SHALL be ISO 4217 (system = \"urn:iso:std:iso:4217\" - currency).",
                  "expression": "(code or value.empty()) and (system.empty() or system = 'urn:iso:std:iso:4217')",
                  "xpath": "(f:code or not(f:value)) and (not(exists(f:system)) or f:system/@value='urn:iso:std:iso:4217')"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "SN (see also Range) or CQ"
                },
                {
                  "identity": "rim",
                  "map": "PQ, IVL<PQ>, MO, CO, depending on the values"
                }
              ]
            },
            {
              "id": "Contract.term.valuedItem.factor",
              "path": "Contract.term.valuedItem.factor",
              "label": "ConsentDirective-term-valuedItem-factor",
              "short": "Contract Term Valued Item Price Scaling Factor",
              "definition": "A real number that represents a multiplier used in determining the overall value of the Contract Provision Valued Item delivered. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Contract.term.valuedItem.factor",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "decimal"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "COCT_RM440000UV09 ValuedUnitItem factorNumber"
                }
              ]
            },
            {
              "id": "Contract.term.valuedItem.points",
              "path": "Contract.term.valuedItem.points",
              "label": "ConsentDirective-term-valuedItem-points",
              "short": "Contract Term Valued Item Difficulty Scaling Factor",
              "definition": "An amount that expresses the weighting (based on difficulty, cost and/or resource intensiveness) associated with the Contract Provision Valued Item delivered. The concept of Points allows for assignment of point values for a Contract Provision Valued Item, such that a monetary amount can be assigned to each point.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Contract.term.valuedItem.points",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "decimal"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "COCT_RM440000UV09 ValuedUnitItem pointNumber"
                }
              ]
            },
            {
              "id": "Contract.term.valuedItem.net",
              "path": "Contract.term.valuedItem.net",
              "label": "ConsentDirective-term-valuedItem-net",
              "short": "Total Contract Term Valued Item Value",
              "definition": "Expresses the product of the Contract Provision Valued Item unitQuantity and the unitPriceAmt. For example, the formula: unit Quantity * unit Price (Cost per Point) * factor Number  * points = net Amount. Quantity, factor and points are assumed to be 1 if not supplied.",
              "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": "Contract.term.valuedItem.net",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity",
                  "profile": "http://hl7.org/fhir/StructureDefinition/Money"
                }
              ],
              "constraint": [
                {
                  "extension": [
                    {
                      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-expression",
                      "valueString": "code.empty() or system"
                    }
                  ],
                  "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",
                  "xpath": "not(exists(f:code)) or exists(f:system)"
                },
                {
                  "extension": [
                    {
                      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-expression",
                      "valueString": "(code or value.empty()) and (system.empty() or system = 'urn:iso:std:iso:4217')"
                    }
                  ],
                  "key": "mny-1",
                  "severity": "error",
                  "human": "There SHALL be a code if there is a value and it SHALL be an expression of currency.  If system is present, it SHALL be ISO 4217 (system = \"urn:iso:std:iso:4217\" - currency).",
                  "expression": "(code or value.empty()) and (system.empty() or system = 'urn:iso:std:iso:4217')",
                  "xpath": "(f:code or not(f:value)) and (not(exists(f:system)) or f:system/@value='urn:iso:std:iso:4217')"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "SN (see also Range) or CQ"
                },
                {
                  "identity": "rim",
                  "map": "PQ, IVL<PQ>, MO, CO, depending on the values"
                }
              ]
            },
            {
              "id": "Contract.term.group",
              "path": "Contract.term.group",
              "label": "ConsentDirective-term-group",
              "short": "Nested Consent DirectiveTerm Group",
              "definition": "Nested group of Consent Directive Provision.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Contract.term.group",
                "min": 0,
                "max": "*"
              },
              "contentReference": "#Contract.term"
            },
            {
              "id": "Contract.binding[x]",
              "path": "Contract.binding[x]",
              "label": "ConsentDirective-binding[x]",
              "short": "Binding Consent Directive",
              "definition": "Legally binding onsent Directive Provision.  This is the signed and legally recognized representation of the Consent Directive. that is considered the \"source of truth\", which would be the basis for legal action related to enforcement of the onsent Directive Provision.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Contract.binding[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Attachment"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Composition"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/DocumentReference"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse"
                }
              ]
            },
            {
              "id": "Contract.friendly",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                  "valueString": "FriendlyLanguage"
                }
              ],
              "path": "Contract.friendly",
              "label": "ConsentDirective-friendly",
              "short": "Consent Directive Friendly Language",
              "definition": "The \"patient friendly language\" versionof the Consent Directive in whole or in parts. \"Patient friendly language\" means the representation of the  Consent Directive and  Consent Directive Provisions in a manner that is readily accessible and understandable by a layperson in accordance with best practices for communication styles that ensure that those agreeing to or signing the  Consent Directive understand the roles, actions, obligations, responsibilities, and implication of the agreement.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Contract.friendly",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ]
            },
            {
              "id": "Contract.friendly.id",
              "path": "Contract.friendly.id",
              "representation": [
                "xmlAttr"
              ],
              "short": "xml:id (or equivalent in JSON)",
              "definition": "unique id for the element within a resource (for internal references).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Contract.friendly.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "id"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Contract.friendly.extension",
              "path": "Contract.friendly.extension",
              "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": "Contract.friendly.extension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Contract.friendly.modifierExtension",
              "path": "Contract.friendly.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": "Contract.friendly.modifierExtension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension"
                }
              ],
              "isModifier": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Contract.friendly.content[x]",
              "path": "Contract.friendly.content[x]",
              "label": "ConsentDirective-friendly-content[x]",
              "short": "Easily comprehended representation of this Consent Directive",
              "definition": "Human readable rendering of this  Consent Directive in a format and representation intended to enhance comprehension and ensure understandability.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Contract.friendly.content[x]",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "Attachment"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Composition"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/DocumentReference"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse"
                }
              ]
            },
            {
              "id": "Contract.legal",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                  "valueString": "LegalLanguage"
                }
              ],
              "path": "Contract.legal",
              "label": "ConsentDirective-legal",
              "short": "Consent Directive Legal Language",
              "definition": "List of Legal expressions or representations of this  Consent Directive.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Contract.legal",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ]
            },
            {
              "id": "Contract.legal.id",
              "path": "Contract.legal.id",
              "representation": [
                "xmlAttr"
              ],
              "short": "xml:id (or equivalent in JSON)",
              "definition": "unique id for the element within a resource (for internal references).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Contract.legal.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "id"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Contract.legal.extension",
              "path": "Contract.legal.extension",
              "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": "Contract.legal.extension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Contract.legal.modifierExtension",
              "path": "Contract.legal.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": "Contract.legal.modifierExtension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension"
                }
              ],
              "isModifier": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Contract.legal.content[x]",
              "path": "Contract.legal.content[x]",
              "label": "ConsentDirective-legal-content[x]",
              "short": "Consent Directive Legal Text",
              "definition": "Legal  Consent Directive text in human renderable form.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Contract.legal.content[x]",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "Attachment"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Composition"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/DocumentReference"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse"
                }
              ]
            },
            {
              "id": "Contract.rule",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                  "valueString": "ComputableLanguage"
                }
              ],
              "path": "Contract.rule",
              "label": "ConsentDirective-rule",
              "short": "Computable Consent Directive Language",
              "definition": "List of Computable Policy Rule Language Representations of this  Consent Directive.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Contract.rule",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ]
            },
            {
              "id": "Contract.rule.id",
              "path": "Contract.rule.id",
              "representation": [
                "xmlAttr"
              ],
              "short": "xml:id (or equivalent in JSON)",
              "definition": "unique id for the element within a resource (for internal references).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Contract.rule.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "id"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Contract.rule.extension",
              "path": "Contract.rule.extension",
              "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": "Contract.rule.extension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Contract.rule.modifierExtension",
              "path": "Contract.rule.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": "Contract.rule.modifierExtension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension"
                }
              ],
              "isModifier": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Contract.rule.content[x]",
              "path": "Contract.rule.content[x]",
              "label": "ConsentDirective-rule-content[x]",
              "short": "Computable Consent Directive Rules",
              "definition": "Computable Consent Directive conveyed using a policy rule language (e.g. XACML, DKAL, SecPal).",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Contract.rule.content[x]",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "Attachment"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/DocumentReference"
                }
              ]
            }
          ]
        },
        "differential": {
          "element": [
            {
              "id": "Contract",
              "path": "Contract",
              "short": "Consent Directive",
              "definition": "A record of a healthcare consumer’s privacy policy, which is in accordance with governing jurisdictional and organization privacy policies that grant or withhold consent:   • To one or more identified entities in a defined role   • To perform one or more operations (e.g. collect, access, use, disclose, amend, or delete)   • On an instance or type of individually identifiable health information [IIHI]  • For a purpose such as treatment, payment, operations, research, public health, quality measures, health status evaluation by third parties, or marketing   • Under certain conditions, e.g. when unconscious   • For specified time period, e.g. effective and expiration dates   • In certain context, e.g. in an emergency   A consent directive is an instance of governing jurisdictional and organization privacy policies, which may or may not be backed up by a signed document (paper or electronic). [HITSP TP30].",
              "min": 0,
              "max": "*",
              "mapping": [
                {
                  "identity": "rim",
                  "map": "FinancialContract"
                },
                {
                  "identity": "w5",
                  "map": "financial.other"
                }
              ]
            },
            {
              "id": "Contract.actor",
              "path": "Contract.actor",
              "label": "ConsentDirective-actor",
              "short": "Consent Directive Actor",
              "definition": "List of Consent Directive actors.",
              "min": 0,
              "max": "*",
              "type": [
                {
                  "code": "BackboneElement"
                }
              ]
            },
            {
              "id": "Contract.actor.entity",
              "path": "Contract.actor.entity",
              "label": "ConsentDirective-actor-entity",
              "short": "Consent Directive Actor Type",
              "definition": "Who or what actors are assigned roles in this Consent Directive.",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Contract"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Substance"
                }
              ]
            },
            {
              "id": "Contract.actor.role",
              "path": "Contract.actor.role",
              "label": "ConsentDirective-actor-role",
              "short": "Consent Directive Actor Role",
              "definition": "Role type of actors assigned roles in this Consent Directive.",
              "min": 0,
              "max": "*",
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "strength": "example",
                "description": "Detailed codes for the contract actor role.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/contract-actorrole"
                }
              }
            },
            {
              "id": "Contract.identifier",
              "path": "Contract.identifier",
              "label": "ConsentDirective-identifier",
              "short": "Consent Directive identifier",
              "definition": "Unique identifier for this Consent Directive.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "Identifier"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "FinancialContract id"
                }
              ]
            },
            {
              "id": "Contract.issued",
              "path": "Contract.issued",
              "label": "ConsentDirective-issued",
              "short": "When this Consent Directive was issued",
              "definition": "Date and time when this Consent Directive was executed and became effective.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "dateTime"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "FinancialContract effectiveTime"
                }
              ]
            },
            {
              "id": "Contract.applies",
              "path": "Contract.applies",
              "label": "ConsentDirective-applies",
              "short": "Effective time",
              "definition": "Time period during which this Consent Directive is in effect.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "Period"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "FinancialContract activityTime"
                }
              ]
            },
            {
              "id": "Contract.topic",
              "path": "Contract.topic",
              "label": "ConsentDirective-topic",
              "short": "The Patient is the topic of this Consent Directive",
              "definition": "Patient information and actions taken on that information that are governed by this Consent Directive.",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Role"
                }
              ]
            },
            {
              "id": "Contract.authority",
              "path": "Contract.authority",
              "label": "ConsentDirective-authority",
              "short": "Authority under which this Consent Directive has standing",
              "definition": "A formally recognized grouping of people, principals, organizations, or jurisdictions with legal standing to promulgate, administer, and enforce privacy policies and applicable Consent Directives.",
              "min": 0,
              "max": "*",
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Role Scoper"
                }
              ]
            },
            {
              "id": "Contract.domain",
              "path": "Contract.domain",
              "label": "ConsentDirective-domain",
              "short": "Domain in which this Consent Directive applies",
              "definition": "Recognized governance framework or system operating with a circumscribed scope in accordance with specified principles, policies, processes or procedures for managing rights, actions, or behaviors of parties or principals relative to privacy protection and control of the collection, access, use and disclosure of resources.",
              "alias": [
                "scope of governance jurisdiction"
              ],
              "min": 0,
              "max": "*",
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
                }
              ]
            },
            {
              "id": "Contract.type",
              "path": "Contract.type",
              "label": "ConsentDirective-type",
              "short": "Consent Directive Type",
              "definition": "Specific type of patient privacy Consent Directive reflecting the range of patient discretion over granting of rights to patient information and actions that may be taken on that information; e.g. Opt-in, opt-out, Share All (such as authorization to disclose to payer for payment purposes or benefit eligibility), Share Partial(such as Title 38 Section 7332 and 42 CFR Part 2), Implied Consent, such as a HIPAA Notice of Privacy Practices.",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "isSummary": true,
              "binding": {
                "strength": "example",
                "description": "List of overall contract codes.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/contract-type"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": "CNTRCT"
                }
              ]
            },
            {
              "id": "Contract.type.coding.code",
              "path": "Contract.type.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).",
              "requirements": "Need to refer to a particular code in the system.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "code"
                }
              ],
              "fixedCode": "57016-8",
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "C*E.1"
                },
                {
                  "identity": "rim",
                  "map": "./code"
                },
                {
                  "identity": "orim",
                  "map": "fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code"
                }
              ]
            },
            {
              "id": "Contract.type.coding.system",
              "path": "Contract.type.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",
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://loinc.org",
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "C*E.3"
                },
                {
                  "identity": "rim",
                  "map": "./codeSystem"
                },
                {
                  "identity": "orim",
                  "map": "fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem"
                }
              ]
            },
            {
              "id": "Contract.subType",
              "path": "Contract.subType",
              "label": "ConsentDirective-subType",
              "short": "Consent Directive Subtype",
              "definition": "A specialized type of an overarching or more general Consent Directive, such as a patient's right to opt-out of a Patient Directory under HIPAA or a multiparty 42 CFR Part 2 consent used in a health information exchange context by a Qualified Service Organization.",
              "min": 0,
              "max": "*",
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "isSummary": true,
              "binding": {
                "strength": "example",
                "description": "Detailed codes within the above.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/contract-subtype"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": "e.g. RECOV"
                }
              ]
            },
            {
              "id": "Contract.action",
              "path": "Contract.action",
              "label": "ConsentDirective-action",
              "short": "Consent Directive Action",
              "definition": "Action stipulated by this Consent Directive.",
              "min": 0,
              "max": "*",
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "strength": "example",
                "description": "Detailed codes for the contract action.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/contract-action"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": "e.g. JURISPOL"
                }
              ]
            },
            {
              "id": "Contract.actionReason",
              "path": "Contract.actionReason",
              "label": "ConsentDirective-actionReason",
              "short": "Consent Directive Action Reason",
              "definition": "Reason for action stipulated by this Consent Directive.",
              "min": 0,
              "max": "*",
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "strength": "example",
                "description": "Detailed codes for the contract action reason.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/v3-PurposeOfUse"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": "e.g. QUALIMP"
                }
              ]
            },
            {
              "id": "Contract.signer",
              "path": "Contract.signer",
              "label": "ConsentDirective-signer",
              "short": "Consent Directive Signer",
              "definition": "Party signing this Consent Directive.",
              "min": 0,
              "max": "*",
              "type": [
                {
                  "code": "BackboneElement"
                }
              ]
            },
            {
              "id": "Contract.signer.type",
              "path": "Contract.signer.type",
              "label": "ConsentDirective-signer-type",
              "short": "Consent Directive Signer Type",
              "definition": "Role of this Consent Directive signer, e.g. patient who is Consent Directive Grantee, the Substitute Decision Maker such as a person with Power of Attorney to whom the patient has granted or delegated rights to execute a Consent Directive on the patient's behalf, a notary public or witness.",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "Coding"
                }
              ],
              "binding": {
                "strength": "preferred",
                "description": "List of parties who may be signing.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/contract-signer-type"
                }
              }
            },
            {
              "id": "Contract.signer.party",
              "path": "Contract.signer.party",
              "label": "ConsentDirective-signer-party",
              "short": "Consent Directive Signatory party",
              "definition": "Party which is a signatory to this Consent Directive.",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
                }
              ]
            },
            {
              "id": "Contract.signer.signature",
              "path": "Contract.signer.signature",
              "label": "ConsentDirective-signer-signature",
              "short": "Consent Directive Documentation Signature",
              "definition": "Legally binding Consent Directive DSIG signature contents in Base64.",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "string"
                }
              ]
            },
            {
              "id": "Contract.valuedItem",
              "path": "Contract.valuedItem",
              "label": "ConsentDirective-valuedItem",
              "short": "Contract Valued Item",
              "definition": "Contract Valued Item List.",
              "min": 0,
              "max": "0",
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "COCT_RM440000UV09 ValuedItem classCode INVE"
                }
              ]
            },
            {
              "id": "Contract.valuedItem.entity[x]",
              "path": "Contract.valuedItem.entity[x]",
              "label": "ConsentDirective-valuedItem-entity[x]",
              "short": "Contract Valued Item Type",
              "definition": "Specific type of Contract Valued Item that may be priced.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "CodeableConcept"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "COCT_RM440000UV09 ValuedItem code"
                }
              ]
            },
            {
              "id": "Contract.valuedItem.identifier",
              "path": "Contract.valuedItem.identifier",
              "label": "ConsentDirective-valuedItem-identifier",
              "short": "Contract Valued Item Identifier",
              "definition": "Identifies a Contract Valued Item instance.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "Identifier"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "COCT_RM440000UV09 ValuedItem id"
                }
              ]
            },
            {
              "id": "Contract.valuedItem.effectiveTime",
              "path": "Contract.valuedItem.effectiveTime",
              "label": "ConsentDirective-valuedItem-effectiveTime",
              "short": "Contract Valued Item Effective Time",
              "definition": "Indicates the time during which this Contract ValuedItem information is effective.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "dateTime"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "COCT_RM440000UV09 ValuedItem                effectiveTime"
                }
              ]
            },
            {
              "id": "Contract.valuedItem.quantity",
              "path": "Contract.valuedItem.quantity",
              "label": "ConsentDirective-valuedItem-quantity",
              "short": "Count of Contract Valued Items",
              "definition": "Specifies the units by which the Contract Valued Item is measured or counted, and quantifies the countable or measurable Contract Valued Item instances.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "Quantity",
                  "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "COCT_RM440000UV09 ValuedItem unitQuantity"
                }
              ]
            },
            {
              "id": "Contract.valuedItem.unitPrice",
              "path": "Contract.valuedItem.unitPrice",
              "label": "ConsentDirective-valuedItem-unitprice",
              "short": "Contract Valued Item fee, charge, or cost.",
              "definition": "A Contract Valued Item unit valuation measure.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "Quantity",
                  "profile": "http://hl7.org/fhir/StructureDefinition/Money"
                }
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "F12"
                }
              ]
            },
            {
              "id": "Contract.valuedItem.factor",
              "path": "Contract.valuedItem.factor",
              "label": "ConsentDirective-valuedItem-factor",
              "short": "Contract Valued Item Price Scaling Factor",
              "definition": "A real number that represents a multiplier used in determining the overall value of the Contract Valued Item delivered. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "decimal"
                }
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "F13/F14"
                }
              ]
            },
            {
              "id": "Contract.valuedItem.points",
              "path": "Contract.valuedItem.points",
              "label": "ConsentDirective-valuedItem-points",
              "short": "Contract Valued Item Difficulty Scaling Factor",
              "definition": "An amount that expresses the weighting (based on difficulty, cost and/or resource intensiveness) associated with the Contract Valued Item delivered. The concept of Points allows for assignment of point values for a Contract Valued Item, such that a monetary amount can be assigned to each point.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "decimal"
                }
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "F13/F14"
                }
              ]
            },
            {
              "id": "Contract.valuedItem.net",
              "path": "Contract.valuedItem.net",
              "label": "ConsentDirective-valuedItem-net",
              "short": "Total Contract Valued Item Value",
              "definition": "Expresses the product of the Contract Valued Item unitQuantity and the unitPriceAmt. For example, the formula: unit Quantity * unit Price (Cost per Point) * factor Number  * points = net Amount. Quantity, factor and points are assumed to be 1 if not supplied.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "Quantity",
                  "profile": "http://hl7.org/fhir/StructureDefinition/Money"
                }
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "F13/F14"
                }
              ]
            },
            {
              "id": "Contract.term",
              "path": "Contract.term",
              "label": "ConsentDirective-term",
              "short": "Consent Directive Term List",
              "definition": "One or more Consent DirectiveProvisions, which may be related and conveyed as a group, and may contain nested groups.",
              "min": 0,
              "max": "*",
              "type": [
                {
                  "code": "BackboneElement"
                }
              ]
            },
            {
              "id": "Contract.term.actor",
              "path": "Contract.term.actor",
              "label": "ConsentDirective-term-actor",
              "short": "Consent Directive  Term Actor List",
              "definition": "List of actors participating in this Consent Directive Provision.",
              "min": 0,
              "max": "*",
              "type": [
                {
                  "code": "BackboneElement"
                }
              ]
            },
            {
              "id": "Contract.term.actor.entity",
              "path": "Contract.term.actor.entity",
              "label": "ConsentDirective-term-actor-entity",
              "short": "Consent Directive Term Actor",
              "definition": "The actor assigned a role in this Consent Directive Provision.",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Contract"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Substance"
                }
              ]
            },
            {
              "id": "Contract.term.actor.role",
              "path": "Contract.term.actor.role",
              "label": "ConsentDirective-term-actor-role",
              "short": "Consent Directive Term Actor Role",
              "definition": "Role played by the actor assigned this role in this Consent Directive Provision.",
              "min": 0,
              "max": "*",
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "strength": "example",
                "description": "Detailed codes for the contract actor role.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/contract-actorrole"
                }
              }
            },
            {
              "id": "Contract.term.identifier",
              "path": "Contract.term.identifier",
              "label": "ConsentDirective-term-identifier",
              "short": "Consent Directive Term identifier",
              "definition": "Unique identifier for this particular Consent Directive Provision.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "Identifier"
                }
              ],
              "isSummary": true
            },
            {
              "id": "Contract.term.issued",
              "path": "Contract.term.issued",
              "label": "ConsentDirective-term-issued",
              "short": "Consent Directive Term Issue Date Time",
              "definition": "When this Consent Directive Provision was issued.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "dateTime"
                }
              ],
              "isSummary": true
            },
            {
              "id": "Contract.term.applies",
              "path": "Contract.term.applies",
              "label": "ConsentDirective-term-applies",
              "short": "Consent Directive Term Effective Time",
              "definition": "Relevant time or time-period when this Consent Directive Provision is applicable.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "Period"
                }
              ],
              "isSummary": true
            },
            {
              "id": "Contract.term.type",
              "path": "Contract.term.type",
              "label": "ConsentDirective-term-type",
              "short": "Consent Directive Term Type",
              "definition": "Type of Consent Directive Provision such as specific requirements, purposes for actions, obligations, prohibitions, e.g. life time maximum benefit.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "strength": "example",
                "description": "Detailed codes for the types of contract provisions.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/contract-term-type"
                }
              }
            },
            {
              "id": "Contract.term.subType",
              "path": "Contract.term.subType",
              "label": "ConsentDirective-term-subType",
              "short": "Consent Directive Term Subtype",
              "definition": "Subtype of this Consent Directive Provision, e.g. life time maximum payment for a contract term for specific valued item, e.g. disability payment.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "strength": "example",
                "description": "Detailed codes for the subtypes of contract provisions.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/contract-term-subtype"
                }
              }
            },
            {
              "id": "Contract.term.topic",
              "path": "Contract.term.topic",
              "label": "ConsentDirective-term-topic",
              "short": "Topic of this Consent Directive Term",
              "definition": "Who or what this Consent Directive Provision is about.",
              "min": 0,
              "max": "*",
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
                }
              ]
            },
            {
              "id": "Contract.term.action",
              "path": "Contract.term.action",
              "label": "ConsentDirective-term-action",
              "short": "Consent Directive Term Action",
              "definition": "Action stipulated by this Consent Directive Provision.",
              "min": 0,
              "max": "*",
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "strength": "example",
                "description": "Detailed codes for the contract action.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/contract-action"
                }
              }
            },
            {
              "id": "Contract.term.actionReason",
              "path": "Contract.term.actionReason",
              "label": "ConsentDirective-term-actionReason",
              "short": "Consent Directive Term Action Reason",
              "definition": "Reason or purpose for the action stipulated by this Consent Directive Provision.",
              "min": 0,
              "max": "*",
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "strength": "example",
                "description": "Detailed codes for the contract action reason.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/v3-PurposeOfUse"
                }
              }
            },
            {
              "id": "Contract.term.text",
              "path": "Contract.term.text",
              "label": "ConsentDirective-term-text",
              "short": "Human readable Consent Directive term text",
              "definition": "Human readable form of this Consent Directive Provision.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "string"
                }
              ]
            },
            {
              "id": "Contract.term.valuedItem",
              "path": "Contract.term.valuedItem",
              "label": "ConsentDirective-term-valuedItem",
              "short": "Contract Term Valued Item",
              "definition": "Contract Provision Valued Item List.",
              "min": 0,
              "max": "0",
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "COCT_RM440000UV09 ValuedUnitItem classCode INVE"
                }
              ]
            },
            {
              "id": "Contract.term.valuedItem.entity[x]",
              "path": "Contract.term.valuedItem.entity[x]",
              "label": "ConsentDirective-term-valuedItem-entity[x]",
              "short": "Contract Term Valued Item Type",
              "definition": "Specific type of Contract Provision Valued Item that may be priced.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "CodeableConcept"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "COCT_RM440000UV09 ValuedUnitItem code"
                }
              ]
            },
            {
              "id": "Contract.term.valuedItem.identifier",
              "path": "Contract.term.valuedItem.identifier",
              "label": "ConsentDirective-term-valuedItem",
              "short": "Contract Term Valued Item Identifier",
              "definition": "Identifies a Contract Provision Valued Item instance.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "Identifier"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "COCT_RM440000UV09 ValuedUnitItem id"
                }
              ]
            },
            {
              "id": "Contract.term.valuedItem.effectiveTime",
              "path": "Contract.term.valuedItem.effectiveTime",
              "label": "ConsentDirective-term-valuedItem-effectiveTime",
              "short": "Contract Term Valued Item Effective Time",
              "definition": "Indicates the time during which this Contract Term ValuedItem information is effective.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "dateTime"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "COCT_RM440000UV09 ValuedUnitItem effectiveTime"
                }
              ]
            },
            {
              "id": "Contract.term.valuedItem.quantity",
              "path": "Contract.term.valuedItem.quantity",
              "label": "ConsentDirective-term-valuedItem-quantity",
              "short": "Contract Term Valued Item Count",
              "definition": "Specifies the units by which the Contract Provision Valued Item is measured or counted, and quantifies the countable or measurable Contract Term Valued Item instances.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "Quantity",
                  "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "COCT_RM440000UV09 ValuedUnitItem unitQuantity"
                }
              ]
            },
            {
              "id": "Contract.term.valuedItem.unitPrice",
              "path": "Contract.term.valuedItem.unitPrice",
              "label": "ConsentDirective-term-valuedItem-unitPrice",
              "short": "Contract Term Valued Item fee, charge, or cost.",
              "definition": "A Contract Provision Valued Item unit valuation measure.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "Quantity",
                  "profile": "http://hl7.org/fhir/StructureDefinition/Money"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "COCT_RM440000UV09 ValuedUnitItem unitPriceAmt"
                }
              ]
            },
            {
              "id": "Contract.term.valuedItem.factor",
              "path": "Contract.term.valuedItem.factor",
              "label": "ConsentDirective-term-valuedItem-factor",
              "short": "Contract Term Valued Item Price Scaling Factor",
              "definition": "A real number that represents a multiplier used in determining the overall value of the Contract Provision Valued Item delivered. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "decimal"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "COCT_RM440000UV09 ValuedUnitItem factorNumber"
                }
              ]
            },
            {
              "id": "Contract.term.valuedItem.points",
              "path": "Contract.term.valuedItem.points",
              "label": "ConsentDirective-term-valuedItem-points",
              "short": "Contract Term Valued Item Difficulty Scaling Factor",
              "definition": "An amount that expresses the weighting (based on difficulty, cost and/or resource intensiveness) associated with the Contract Provision Valued Item delivered. The concept of Points allows for assignment of point values for a Contract Provision Valued Item, such that a monetary amount can be assigned to each point.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "decimal"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "COCT_RM440000UV09 ValuedUnitItem pointNumber"
                }
              ]
            },
            {
              "id": "Contract.term.valuedItem.net",
              "path": "Contract.term.valuedItem.net",
              "label": "ConsentDirective-term-valuedItem-net",
              "short": "Total Contract Term Valued Item Value",
              "definition": "Expresses the product of the Contract Provision Valued Item unitQuantity and the unitPriceAmt. For example, the formula: unit Quantity * unit Price (Cost per Point) * factor Number  * points = net Amount. Quantity, factor and points are assumed to be 1 if not supplied.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "Quantity",
                  "profile": "http://hl7.org/fhir/StructureDefinition/Money"
                }
              ]
            },
            {
              "id": "Contract.term.group",
              "path": "Contract.term.group",
              "label": "ConsentDirective-term-group",
              "short": "Nested Consent DirectiveTerm Group",
              "definition": "Nested group of Consent Directive Provision.",
              "min": 0,
              "max": "*",
              "contentReference": "#term"
            },
            {
              "id": "Contract.binding[x]",
              "path": "Contract.binding[x]",
              "label": "ConsentDirective-binding[x]",
              "short": "Binding Consent Directive",
              "definition": "Legally binding onsent Directive Provision.  This is the signed and legally recognized representation of the Consent Directive. that is considered the \"source of truth\", which would be the basis for legal action related to enforcement of the onsent Directive Provision.",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "Attachment"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Composition"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/DocumentReference"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse"
                }
              ]
            },
            {
              "id": "Contract.friendly",
              "path": "Contract.friendly",
              "label": "ConsentDirective-friendly",
              "short": "Consent Directive Friendly Language",
              "definition": "The \"patient friendly language\" versionof the Consent Directive in whole or in parts. \"Patient friendly language\" means the representation of the  Consent Directive and  Consent Directive Provisions in a manner that is readily accessible and understandable by a layperson in accordance with best practices for communication styles that ensure that those agreeing to or signing the  Consent Directive understand the roles, actions, obligations, responsibilities, and implication of the agreement.",
              "min": 0,
              "max": "*",
              "type": [
                {
                  "code": "BackboneElement"
                }
              ]
            },
            {
              "id": "Contract.friendly.content[x]",
              "path": "Contract.friendly.content[x]",
              "label": "ConsentDirective-friendly-content[x]",
              "short": "Easily comprehended representation of this Consent Directive",
              "definition": "Human readable rendering of this  Consent Directive in a format and representation intended to enhance comprehension and ensure understandability.",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "Attachment"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Composition"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/DocumentReference"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse"
                }
              ]
            },
            {
              "id": "Contract.legal",
              "path": "Contract.legal",
              "label": "ConsentDirective-legal",
              "short": "Consent Directive Legal Language",
              "definition": "List of Legal expressions or representations of this  Consent Directive.",
              "min": 0,
              "max": "*",
              "type": [
                {
                  "code": "BackboneElement"
                }
              ]
            },
            {
              "id": "Contract.legal.content[x]",
              "path": "Contract.legal.content[x]",
              "label": "ConsentDirective-legal-content[x]",
              "short": "Consent Directive Legal Text",
              "definition": "Legal  Consent Directive text in human renderable form.",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "Attachment"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Composition"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/DocumentReference"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse"
                }
              ]
            },
            {
              "id": "Contract.rule",
              "path": "Contract.rule",
              "label": "ConsentDirective-rule",
              "short": "Computable Consent Directive Language",
              "definition": "List of Computable Policy Rule Language Representations of this  Consent Directive.",
              "min": 0,
              "max": "*",
              "type": [
                {
                  "code": "BackboneElement"
                }
              ]
            },
            {
              "id": "Contract.rule.content[x]",
              "path": "Contract.rule.content[x]",
              "label": "ConsentDirective-rule-content[x]",
              "short": "Computable Consent Directive Rules",
              "definition": "Computable Consent Directive conveyed using a policy rule language (e.g. XACML, DKAL, SecPal).",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "Attachment"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/DocumentReference"
                }
              ]
            }
          ]
        }
      }
    },
    {
      "fullUrl": "http://hl7.org/fhir/StructureDefinition/familymemberhistory-genetic",
      "resource": {
        "resourceType": "StructureDefinition",
        "id": "familymemberhistory-genetic",
        "text": {
          "status": "generated",
          "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">to do</div>"
        },
        "url": "http://hl7.org/fhir/StructureDefinition/familymemberhistory-genetic",
        "name": "Family member history for genetics analysis",
        "status": "draft",
        "experimental": false,
        "date": "2013-10-02",
        "publisher": "Health Level Seven International (Clinical Genomics)",
        "contact": [
          {
            "telecom": [
              {
                "system": "url",
                "value": "http://www.hl7.org/Special/committees/clingenomics"
              }
            ]
          }
        ],
        "description": "Adds additional information to a family member history supporting both the capture of mother/father relationships as well as additional observations necessary to enable genetics-based risk analysis for patients",
        "fhirVersion": "3.0.1",
        "mapping": [
          {
            "identity": "v2",
            "uri": "http://hl7.org/v2",
            "name": "HL7 v2 Mapping"
          },
          {
            "identity": "rim",
            "uri": "http://hl7.org/v3",
            "name": "RIM Mapping"
          },
          {
            "identity": "w5",
            "uri": "http://hl7.org/fhir/w5",
            "name": "W5 Mapping"
          }
        ],
        "kind": "resource",
        "abstract": false,
        "type": "FamilyMemberHistory",
        "baseDefinition": "http://hl7.org/fhir/StructureDefinition/FamilyMemberHistory",
        "derivation": "constraint",
        "snapshot": {
          "element": [
            {
              "id": "FamilyMemberHistory",
              "path": "FamilyMemberHistory",
              "short": "Information about patient's relatives, relevant for patient",
              "definition": "Significant health events and conditions for a person related to the patient relevant in the context of care for the patient.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "FamilyMemberHistory",
                "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)",
                  "source": "DomainResource"
                },
                {
                  "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)",
                  "source": "DomainResource"
                },
                {
                  "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))",
                  "source": "DomainResource"
                },
                {
                  "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))]))",
                  "source": "DomainResource"
                },
                {
                  "key": "fhs-2",
                  "severity": "error",
                  "human": "Can only have estimatedAge if age[x] is present",
                  "expression": "age.exists() or estimatedAge.empty()",
                  "xpath": "exists(*[starts-with(local-name(.), 'age')]) or not(exists(f:estimatedAge))",
                  "source": "FamilyMemberHistory"
                },
                {
                  "key": "fhs-3",
                  "severity": "error",
                  "human": "Not Done Reason can only be specified if NotDone is \"true\"",
                  "expression": "notDone or notDoneReason.exists().not()",
                  "xpath": "f:notDone/@value=true() or not(exists(f:notDoneReason))",
                  "source": "FamilyMemberHistory"
                },
                {
                  "key": "fhs-1",
                  "severity": "error",
                  "human": "Can have age[x] or born[x], but not both",
                  "expression": "age.empty() or born.empty()",
                  "xpath": "not (*[starts-with(local-name(.), 'age')] and *[starts-with(local-name(.), 'birth')])",
                  "source": "FamilyMemberHistory"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Entity. Role, or Act"
                },
                {
                  "identity": "v2",
                  "map": "Not in scope for v2"
                },
                {
                  "identity": "rim",
                  "map": "Observation[classCode=OBS, moodCode=EVN]"
                },
                {
                  "identity": "w5",
                  "map": "clinical.general"
                }
              ]
            },
            {
              "id": "FamilyMemberHistory.id",
              "path": "FamilyMemberHistory.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "FamilyMemberHistory.meta",
              "path": "FamilyMemberHistory.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "FamilyMemberHistory.implicitRules",
              "path": "FamilyMemberHistory.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"
                }
              ],
              "isModifier": true,
              "isSummary": true
            },
            {
              "id": "FamilyMemberHistory.language",
              "path": "FamilyMemberHistory.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"
                }
              ],
              "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"
                }
              }
            },
            {
              "id": "FamilyMemberHistory.text",
              "path": "FamilyMemberHistory.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": [
                "dom-1"
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Act.text?"
                }
              ]
            },
            {
              "id": "FamilyMemberHistory.contained",
              "path": "FamilyMemberHistory.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": "N/A"
                }
              ]
            },
            {
              "id": "FamilyMemberHistory.extension",
              "path": "FamilyMemberHistory.extension",
              "slicing": {
                "id": "1",
                "discriminator": [
                  {
                    "type": "value",
                    "path": "url"
                  }
                ],
                "ordered": false,
                "rules": "open"
              },
              "short": "Extension",
              "definition": "An Extension",
              "min": 0,
              "max": "*",
              "base": {
                "path": "DomainResource.extension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension"
                }
              ]
            },
            {
              "id": "FamilyMemberHistory.extension:parent",
              "path": "FamilyMemberHistory.extension",
              "sliceName": "Parent",
              "short": "Extension",
              "definition": "An Extension",
              "min": 0,
              "max": "*",
              "base": {
                "path": "DomainResource.extension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/family-member-history-genetics-parent"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "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')])",
                  "source": "Extension"
                }
              ],
              "mustSupport": true,
              "isModifier": false
            },
            {
              "id": "FamilyMemberHistory.extension:sibling",
              "path": "FamilyMemberHistory.extension",
              "sliceName": "Sibling",
              "short": "Extension",
              "definition": "An Extension",
              "min": 0,
              "max": "*",
              "base": {
                "path": "DomainResource.extension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/family-member-history-genetics-sibling"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "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')])",
                  "source": "Extension"
                }
              ],
              "mustSupport": true,
              "isModifier": false
            },
            {
              "id": "FamilyMemberHistory.extension:observation",
              "path": "FamilyMemberHistory.extension",
              "sliceName": "Observation",
              "short": "Extension",
              "definition": "An Extension",
              "min": 0,
              "max": "*",
              "base": {
                "path": "DomainResource.extension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/family-member-history-genetics-observation"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "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')])",
                  "source": "Extension"
                }
              ],
              "mustSupport": true,
              "isModifier": false
            },
            {
              "id": "FamilyMemberHistory.modifierExtension",
              "path": "FamilyMemberHistory.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 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"
                }
              ],
              "isModifier": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "FamilyMemberHistory.identifier",
              "path": "FamilyMemberHistory.identifier",
              "short": "External Id(s) for this record",
              "definition": "This records identifiers associated with this family member history record that are defined by business processes and/ or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation).",
              "requirements": "Need to allow connection to a wider workflow.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "FamilyMemberHistory.identifier",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Identifier"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "id"
                },
                {
                  "identity": "w5",
                  "map": "id"
                }
              ]
            },
            {
              "id": "FamilyMemberHistory.definition",
              "path": "FamilyMemberHistory.definition",
              "short": "Instantiates protocol or definition",
              "definition": "A protocol or questionnaire that was adhered to in whole or in part by this event.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "FamilyMemberHistory.definition",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/PlanDefinition"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Questionnaire"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=DEFN].target"
                }
              ]
            },
            {
              "id": "FamilyMemberHistory.status",
              "path": "FamilyMemberHistory.status",
              "short": "partial | completed | entered-in-error | health-unknown",
              "definition": "A code specifying the status of the record of the family history of a specific family member.",
              "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "FamilyMemberHistory.status",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "FamilyHistoryStatus"
                  }
                ],
                "strength": "required",
                "description": "A code that identifies the status of the family history record.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/history-status"
                }
              },
              "mapping": [
                {
                  "identity": "w5",
                  "map": "status"
                }
              ]
            },
            {
              "id": "FamilyMemberHistory.notDone",
              "path": "FamilyMemberHistory.notDone",
              "short": "The taking of a family member's history did not occur",
              "definition": "If true, indicates the taking of an individual family member's history did not occur. The notDone element should not be used to document negated conditions, such as a family member that did not have a condition.",
              "comment": "This element is labeled as a modifier because it marks the family member history as a family member history that did not occur.  The more attributes are populated, the more constrained the negated statement is.  This notDone element is being evaluated and will likely be removed in a subsequent release.",
              "requirements": "Creating a FamilyMemberHistory where notDone is true is intended for situations where there's a need for a specific statement in the record about something not being done.  If the need is merely to indicate that a request wasn't fulfilled, that should be handled using Task.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "FamilyMemberHistory.notDone",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "boolean"
                }
              ],
              "defaultValueBoolean": false,
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".actionNegationInd"
                }
              ]
            },
            {
              "id": "FamilyMemberHistory.notDoneReason",
              "path": "FamilyMemberHistory.notDoneReason",
              "short": "subject-unknown | withheld | unable-to-obtain | deferred",
              "definition": "Describes why the family member's history is absent.",
              "comment": "This notDoneReason element is being evaluated and will likely be replaced in a subsequent release (e.g. dataAbsentReason).",
              "requirements": "This is a separate element to allow it to have a distinct binding from reasonCode.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "FamilyMemberHistory.notDoneReason",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "condition": [
                "fhs-3"
              ],
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "FamilyHistoryNotDoneReason"
                  }
                ],
                "strength": "example",
                "description": "Codes describing the reason why a family member history was not done.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/history-not-done-reason"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".reasonCode"
                }
              ]
            },
            {
              "id": "FamilyMemberHistory.patient",
              "path": "FamilyMemberHistory.patient",
              "short": "Patient history is about",
              "definition": "The person who this history concerns.",
              "alias": [
                "Proband"
              ],
              "min": 1,
              "max": "1",
              "base": {
                "path": "FamilyMemberHistory.patient",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "participation[typeCode=SBJ].role"
                },
                {
                  "identity": "w5",
                  "map": "who.focus"
                }
              ]
            },
            {
              "id": "FamilyMemberHistory.date",
              "path": "FamilyMemberHistory.date",
              "short": "When history was captured/updated",
              "definition": "The date (and possibly time) when the family member history was taken.",
              "comment": "This should be captured even if the same as the date on the List aggregating the full family history.",
              "requirements": "Allows determination of how current the summary is.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "FamilyMemberHistory.date",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "dateTime"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "participation[typeCode=AUT].time"
                },
                {
                  "identity": "w5",
                  "map": "when.recorded"
                }
              ]
            },
            {
              "id": "FamilyMemberHistory.name",
              "path": "FamilyMemberHistory.name",
              "short": "The family member described",
              "definition": "This will either be a name or a description; e.g. \"Aunt Susan\", \"my cousin with the red hair\".",
              "requirements": "Allows greater ease in ensuring the same person is being talked about.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "FamilyMemberHistory.name",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "name"
                }
              ]
            },
            {
              "id": "FamilyMemberHistory.relationship:relationship",
              "path": "FamilyMemberHistory.relationship",
              "sliceName": "Relationship",
              "short": "Relationship to the subject",
              "definition": "The type of relationship this person has to the patient (father, mother, brother etc.).",
              "min": 1,
              "max": "1",
              "base": {
                "path": "FamilyMemberHistory.relationship",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "FamilialRelationship"
                  }
                ],
                "strength": "example",
                "description": "The nature of the relationship between the patient and the related person being described in the family member history.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/v3-FamilyMember"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": "code"
                }
              ]
            },
            {
              "id": "FamilyMemberHistory.gender:gender",
              "path": "FamilyMemberHistory.gender",
              "sliceName": "Gender",
              "short": "male | female | other | unknown",
              "definition": "Administrative Gender - the gender that the relative is considered to have for administration and record keeping purposes.",
              "requirements": "Not all relationship codes imply gender and the relative's gender can be relevant for risk assessments.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "FamilyMemberHistory.gender",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "AdministrativeGender"
                  },
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                    "valueBoolean": true
                  }
                ],
                "strength": "required",
                "description": "The gender of a person used for administrative purposes.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/administrative-gender"
                }
              }
            },
            {
              "id": "FamilyMemberHistory.born[x]:bornage",
              "path": "FamilyMemberHistory.born[x]",
              "sliceName": "BornAge",
              "short": "(approximate) date of birth",
              "definition": "The actual or approximate date of birth of the relative.",
              "requirements": "Allows calculation of the relative's age.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "FamilyMemberHistory.born[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Period"
                },
                {
                  "code": "date"
                },
                {
                  "code": "string"
                }
              ],
              "condition": [
                "fhs-1"
              ],
              "mustSupport": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "player[classCode=LIV, determinerCode=INSTANCE]. birthDate (could be URG)"
                }
              ]
            },
            {
              "id": "FamilyMemberHistory.age[x]:age",
              "path": "FamilyMemberHistory.age[x]",
              "sliceName": "Age",
              "short": "(approximate) age",
              "definition": "The age of the relative at the time the family member history is recorded.",
              "comment": "use estimatedAge to indicate whether the age is actual or not.",
              "requirements": "While age can be calculated from date of birth, sometimes recording age directly is more natureal for clinicians.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "FamilyMemberHistory.age[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Age"
                },
                {
                  "code": "Range"
                },
                {
                  "code": "string"
                }
              ],
              "condition": [
                "fhs-1"
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "participation[typeCode=SBJ].act[classCode=OBS,moodCode=EVN, code=\"age\"].value"
                }
              ]
            },
            {
              "id": "FamilyMemberHistory.estimatedAge",
              "path": "FamilyMemberHistory.estimatedAge",
              "short": "Age is estimated?",
              "definition": "If true, indicates that the age value specified is an estimated value.",
              "comment": "This element is labeled as a modifier because the fact tha age is estimated can/should change the results of any algorithm that calculates based on the specified age.",
              "requirements": "Clinicians often prefer to specify an estimaged age rather than an age range.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "FamilyMemberHistory.estimatedAge",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "boolean"
                }
              ],
              "meaningWhenMissing": "It is unknown whether the age is an estimate or not",
              "condition": [
                "fhs-2"
              ],
              "isModifier": true,
              "isSummary": true
            },
            {
              "id": "FamilyMemberHistory.deceased[x]:deceasedage",
              "path": "FamilyMemberHistory.deceased[x]",
              "sliceName": "DeceasedAge",
              "short": "Dead? How old/when?",
              "definition": "Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "FamilyMemberHistory.deceased[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "boolean"
                },
                {
                  "code": "Age"
                },
                {
                  "code": "Range"
                },
                {
                  "code": "date"
                },
                {
                  "code": "string"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "player[classCode=LIV, determinerCode=INSTANCE].deceasedInd, deceasedDate (could be URG)  For age, you'd hang an observation off the role"
                }
              ]
            },
            {
              "id": "FamilyMemberHistory.reasonCode",
              "path": "FamilyMemberHistory.reasonCode",
              "short": "Why was family member history performed?",
              "definition": "Describes why the family member history occurred in coded or textual form.",
              "comment": "Textual reasons can be caprued using reasonCode.text.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "FamilyMemberHistory.reasonCode",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "FamilyHistoryReason"
                  }
                ],
                "strength": "example",
                "description": "Codes indicating why the family member history was done.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/clinical-findings"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".reasonCode"
                },
                {
                  "identity": "w5",
                  "map": "why"
                }
              ]
            },
            {
              "id": "FamilyMemberHistory.reasonReference",
              "path": "FamilyMemberHistory.reasonReference",
              "short": "Why was family member history performed?",
              "definition": "Indicates a Condition, Observation, AllergyIntolerance, or QuestionnaireResponse that justifies this family member history event.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "FamilyMemberHistory.reasonReference",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Condition"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/AllergyIntolerance"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=RSON].target"
                },
                {
                  "identity": "w5",
                  "map": "why"
                }
              ]
            },
            {
              "id": "FamilyMemberHistory.note",
              "path": "FamilyMemberHistory.note",
              "short": "General note about related person",
              "definition": "This property allows a non condition-specific note to the made about the related person. Ideally, the note would be in the condition property, but this is not always possible.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "FamilyMemberHistory.note",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Annotation"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "inboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code=ActCode#ANNGEN].value"
                }
              ]
            },
            {
              "id": "FamilyMemberHistory.condition:condition",
              "path": "FamilyMemberHistory.condition",
              "sliceName": "Condition",
              "short": "Condition that the related person had",
              "definition": "The significant Conditions (or condition) that the family member had. This is a repeating section to allow a system to represent more than one condition per resource, though there is nothing stopping multiple resources - one per condition.",
              "comment": "If none of the conditions listed have an outcome of \"death\" specified, that indicates that none of the specified conditions are known to have been the primary cause of death.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "FamilyMemberHistory.condition",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                }
              ],
              "mustSupport": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "inboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code=ActCode#ASSERTION, value<Diagnosis]"
                }
              ]
            },
            {
              "id": "FamilyMemberHistory.condition:condition.id",
              "path": "FamilyMemberHistory.condition.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "FamilyMemberHistory.condition:condition.extension",
              "path": "FamilyMemberHistory.condition.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "FamilyMemberHistory.condition:condition.modifierExtension",
              "path": "FamilyMemberHistory.condition.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "FamilyMemberHistory.condition:condition.code",
              "path": "FamilyMemberHistory.condition.code",
              "short": "Condition suffered by relation",
              "definition": "The actual condition specified. Could be a coded condition (like MI or Diabetes) or a less specific string like 'cancer' depending on how much is known about the condition and the capabilities of the creating system.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "FamilyMemberHistory.condition.code",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ConditionCode"
                  }
                ],
                "strength": "example",
                "description": "Identification of the Condition or diagnosis.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/condition-code"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".value"
                }
              ]
            },
            {
              "id": "FamilyMemberHistory.condition:condition.outcome",
              "path": "FamilyMemberHistory.condition.outcome",
              "short": "deceased | permanent disability | etc.",
              "definition": "Indicates what happened as a result of this condition.  If the condition resulted in death, deceased date is captured on the relation.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "FamilyMemberHistory.condition.outcome",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ConditionOutcome"
                  }
                ],
                "strength": "example",
                "description": "The result of the condition for the patient; e.g. death, permanent disability, temporary disability, etc.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/condition-outcome"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=OUTC)].target[classCode=OBS, moodCode=EVN, code=ActCode#ASSERTION].value"
                }
              ]
            },
            {
              "id": "FamilyMemberHistory.condition:condition.onset[x]",
              "path": "FamilyMemberHistory.condition.onset[x]",
              "short": "When condition first manifested",
              "definition": "Either the age of onset, range of approximate age or descriptive string can be recorded.  For conditions with multiple occurrences, this describes the first known occurrence.",
              "requirements": "Age of onset of a condition in relatives is predictive of risk for the patient.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "FamilyMemberHistory.condition.onset[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Age"
                },
                {
                  "code": "Range"
                },
                {
                  "code": "Period"
                },
                {
                  "code": "string"
                }
              ],
              "mustSupport": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "inboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code=\"Subject Age at measurement\", value<Diagnosis].value[@xsi:typeCode='TS' or 'IVL_TS']  Use originalText for string"
                }
              ]
            },
            {
              "id": "FamilyMemberHistory.condition:condition.note",
              "path": "FamilyMemberHistory.condition.note",
              "short": "Extra information about condition",
              "definition": "An area where general notes can be placed about this specific condition.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "FamilyMemberHistory.condition.note",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Annotation"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "inboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code=ActCode#ANNGEN].value"
                }
              ]
            }
          ]
        },
        "differential": {
          "element": [
            {
              "id": "FamilyMemberHistory",
              "path": "FamilyMemberHistory",
              "min": 0,
              "max": "*"
            },
            {
              "id": "FamilyMemberHistory.extension:parent",
              "path": "FamilyMemberHistory.extension",
              "sliceName": "Parent",
              "min": 0,
              "max": "*",
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/family-member-history-genetics-parent"
                }
              ],
              "mustSupport": true
            },
            {
              "id": "FamilyMemberHistory.extension:sibling",
              "path": "FamilyMemberHistory.extension",
              "sliceName": "Sibling",
              "min": 0,
              "max": "*",
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/family-member-history-genetics-sibling"
                }
              ],
              "mustSupport": true
            },
            {
              "id": "FamilyMemberHistory.extension:observation",
              "path": "FamilyMemberHistory.extension",
              "sliceName": "Observation",
              "min": 0,
              "max": "*",
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/family-member-history-genetics-observation"
                }
              ],
              "mustSupport": true
            },
            {
              "id": "FamilyMemberHistory.relationship:relationship",
              "path": "FamilyMemberHistory.relationship",
              "sliceName": "Relationship",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": true
            },
            {
              "id": "FamilyMemberHistory.gender:gender",
              "path": "FamilyMemberHistory.gender",
              "sliceName": "Gender",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "code"
                }
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "AdministrativeGender"
                  },
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                    "valueBoolean": true
                  }
                ],
                "strength": "required",
                "description": "The gender of a person used for administrative purposes.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/administrative-gender"
                }
              }
            },
            {
              "id": "FamilyMemberHistory.born[x]:bornage",
              "path": "FamilyMemberHistory.born[x]",
              "sliceName": "BornAge",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "Period"
                },
                {
                  "code": "date"
                },
                {
                  "code": "string"
                }
              ],
              "mustSupport": true
            },
            {
              "id": "FamilyMemberHistory.age[x]:age",
              "path": "FamilyMemberHistory.age[x]",
              "sliceName": "Age",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "Age"
                },
                {
                  "code": "Range"
                },
                {
                  "code": "string"
                }
              ],
              "mustSupport": true
            },
            {
              "id": "FamilyMemberHistory.deceased[x]:deceasedage",
              "path": "FamilyMemberHistory.deceased[x]",
              "sliceName": "DeceasedAge",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "boolean"
                },
                {
                  "code": "Age"
                },
                {
                  "code": "Range"
                },
                {
                  "code": "date"
                },
                {
                  "code": "string"
                }
              ],
              "mustSupport": true
            },
            {
              "id": "FamilyMemberHistory.condition:condition",
              "path": "FamilyMemberHistory.condition",
              "sliceName": "Condition",
              "min": 0,
              "max": "*",
              "mustSupport": true
            },
            {
              "id": "FamilyMemberHistory.condition:condition.code",
              "path": "FamilyMemberHistory.condition.code",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": true
            },
            {
              "id": "FamilyMemberHistory.condition:condition.outcome",
              "path": "FamilyMemberHistory.condition.outcome",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": true
            },
            {
              "id": "FamilyMemberHistory.condition:condition.onset[x]",
              "path": "FamilyMemberHistory.condition.onset[x]",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "Age"
                },
                {
                  "code": "Range"
                },
                {
                  "code": "Period"
                },
                {
                  "code": "string"
                }
              ],
              "mustSupport": true
            },
            {
              "id": "FamilyMemberHistory.condition:condition.note",
              "path": "FamilyMemberHistory.condition.note",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "Annotation"
                }
              ]
            }
          ]
        }
      }
    },
    {
      "fullUrl": "http://hl7.org/fhir/StructureDefinition/shareablevalueset",
      "resource": {
        "resourceType": "StructureDefinition",
        "id": "shareablevalueset",
        "text": {
          "status": "generated",
          "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">to do</div>"
        },
        "url": "http://hl7.org/fhir/StructureDefinition/shareablevalueset",
        "name": "Shareable ValueSet",
        "status": "draft",
        "experimental": false,
        "date": "2017-04-18T21:44:43+00:00",
        "publisher": "HL7",
        "description": "Enforces the minimum information set for the value set metadata required by HL7 and other organisations that share and publish value sets",
        "fhirVersion": "3.0.1",
        "mapping": [
          {
            "identity": "rim",
            "uri": "http://hl7.org/v3",
            "name": "RIM Mapping"
          },
          {
            "identity": "w5",
            "uri": "http://hl7.org/fhir/w5",
            "name": "W5 Mapping"
          },
          {
            "identity": "define.xml2.0",
            "uri": "http://www.cdisc.org/define-xml",
            "name": "CDISC Define XML 2.0 metadata standard"
          },
          {
            "identity": "objimpl",
            "uri": "http://hl7.org/fhir/object-implementation",
            "name": "Object Implementation Information"
          }
        ],
        "kind": "resource",
        "abstract": false,
        "type": "ValueSet",
        "baseDefinition": "http://hl7.org/fhir/StructureDefinition/ValueSet",
        "derivation": "constraint",
        "snapshot": {
          "element": [
            {
              "id": "ValueSet",
              "path": "ValueSet",
              "short": "A set of codes drawn from one or more code systems",
              "definition": "A value set specifies a set of codes drawn from one or more code systems.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "ValueSet",
                "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)",
                  "source": "DomainResource"
                },
                {
                  "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)",
                  "source": "DomainResource"
                },
                {
                  "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))",
                  "source": "DomainResource"
                },
                {
                  "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))]))",
                  "source": "DomainResource"
                },
                {
                  "key": "vsd-5",
                  "severity": "error",
                  "human": "Value set SHALL contain at least one of a compose or an expansion element",
                  "expression": "compose.exists() or expansion.exists()",
                  "xpath": "exists(f:compose) or exists(f:expansion)",
                  "source": "ValueSet"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Entity. Role, or Act"
                },
                {
                  "identity": "rim",
                  "map": "N/A"
                },
                {
                  "identity": "w5",
                  "map": "conformance.terminology"
                }
              ]
            },
            {
              "id": "ValueSet.id",
              "path": "ValueSet.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "ValueSet.meta",
              "path": "ValueSet.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "ValueSet.implicitRules",
              "path": "ValueSet.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"
                }
              ],
              "isModifier": true,
              "isSummary": true
            },
            {
              "id": "ValueSet.language",
              "path": "ValueSet.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"
                }
              ],
              "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"
                }
              }
            },
            {
              "id": "ValueSet.text",
              "path": "ValueSet.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": [
                "dom-1"
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Act.text?"
                }
              ]
            },
            {
              "id": "ValueSet.contained",
              "path": "ValueSet.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": "N/A"
                }
              ]
            },
            {
              "id": "ValueSet.extension",
              "path": "ValueSet.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "ValueSet.modifierExtension",
              "path": "ValueSet.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 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"
                }
              ],
              "isModifier": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "ValueSet.url",
              "path": "ValueSet.url",
              "short": "Logical URI to reference this value set (globally unique)",
              "definition": "An absolute URI that is used to identify this value set when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this value set is (or will be) published. The URL SHOULD include the major version of the value set. For more information see [Technical and Business Versions](resource.html#versions).",
              "comment": "Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred.  Multiple instances may share the same url if they have a distinct version.",
              "requirements": "Allows the value set to be referenced by a single globally unique identifier.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "ValueSet.url",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                },
                {
                  "identity": "w5",
                  "map": "id"
                }
              ]
            },
            {
              "id": "ValueSet.identifier",
              "path": "ValueSet.identifier",
              "short": "Additional identifier for the value set",
              "definition": "A formal identifier that is used to identify this value set when it is represented in other formats, or referenced in a specification, model, design or an instance.",
              "comment": "Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, e.g., to identify this value set outside of FHIR, where it is not possible to use the logical URI.",
              "requirements": "Allows externally provided and/or usable business identifiers to be easily associated with the module.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "ValueSet.identifier",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Identifier"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "define.xml2.0",
                  "map": "Identifier part"
                },
                {
                  "identity": "objimpl",
                  "map": "no-gen-base"
                },
                {
                  "identity": "w5",
                  "map": "id"
                }
              ]
            },
            {
              "id": "ValueSet.version",
              "path": "ValueSet.version",
              "short": "Business version of the value set",
              "definition": "The identifier that is used to identify this version of the value set when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the value set author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.",
              "comment": "There may be different value set instances that have the same identifier but different versions.  The version can be appended to the url in a reference to allow a refrence to a particular business version of the value set with the format [url]|[version].",
              "min": 1,
              "max": "1",
              "base": {
                "path": "ValueSet.version",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "w5",
                  "map": "id.version"
                }
              ]
            },
            {
              "id": "ValueSet.name",
              "path": "ValueSet.name",
              "short": "Name for this value set (computer friendly)",
              "definition": "A natural language name identifying the value set. This name should be usable as an identifier for the module by machine processing applications such as code generation.",
              "comment": "The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly. A name should be provided unless the value set is a contained resource (e.g. an anonymous value set in a profile). Most registries will require a name.",
              "requirements": "Support human navigation and code generation.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "ValueSet.name",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "isSummary": true
            },
            {
              "id": "ValueSet.title",
              "path": "ValueSet.title",
              "short": "Name for this value set (human friendly)",
              "definition": "A short, descriptive, user-friendly title for the value set.",
              "comment": "This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "ValueSet.title",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "isSummary": true
            },
            {
              "id": "ValueSet.status",
              "path": "ValueSet.status",
              "short": "draft | active | retired | unknown",
              "definition": "The status of this value set. Enables tracking the life-cycle of the content.",
              "comment": "Allows filtering of value sets that are appropriate for use vs. not.  \nThis is labeled as \"Is Modifier\" because applications should not use a retired value set without due consideration.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "ValueSet.status",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "PublicationStatus"
                  },
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                    "valueBoolean": true
                  }
                ],
                "strength": "required",
                "description": "The lifecycle status of a Value Set or Concept Map.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/publication-status"
                }
              },
              "mapping": [
                {
                  "identity": "w5",
                  "map": "status"
                },
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "ValueSet.experimental",
              "path": "ValueSet.experimental",
              "short": "For testing purposes, not real usage",
              "definition": "A boolean value to indicate that this value set is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage.",
              "comment": "Allows filtering of value set that are appropriate for use vs. not. This is labeled as \"Is Modifier\" because applications should not use an experimental value set in production.",
              "requirements": "Enables experimental content to be developed following the same lifecycle that would be used for a production-level value set.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "ValueSet.experimental",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "boolean"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "w5",
                  "map": "class"
                }
              ]
            },
            {
              "id": "ValueSet.date",
              "path": "ValueSet.date",
              "short": "Date this was last changed",
              "definition": "The date  (and optionally time) when the value set was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the value set changes. (e.g. the 'content logical definition').",
              "comment": "Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the value set. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.",
              "alias": [
                "Revision Date"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "ValueSet.date",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "dateTime"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                },
                {
                  "identity": "w5",
                  "map": "when.recorded"
                }
              ]
            },
            {
              "id": "ValueSet.publisher",
              "path": "ValueSet.publisher",
              "short": "Name of the publisher (organization or individual)",
              "definition": "The name of the individual or organization that published the value set.",
              "comment": "Usually an organization, but may be an individual. The publisher (or steward) of the value set is the organization or individual primarily responsible for the maintenance and upkeep of the value set. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the value set. This item SHOULD be populated unless the information is available from context.",
              "requirements": "Helps establish the \"authority/credibility\" of the value set.  May also allow for contact.",
              "alias": [
                "steward"
              ],
              "min": 1,
              "max": "1",
              "base": {
                "path": "ValueSet.publisher",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "w5",
                  "map": "who.witness"
                }
              ]
            },
            {
              "id": "ValueSet.contact",
              "path": "ValueSet.contact",
              "short": "Contact details for the publisher",
              "definition": "Contact details to assist a user in finding and communicating with the publisher.",
              "comment": "May be a web site, an email address, a telephone number, etc.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "ValueSet.contact",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "ContactDetail"
                }
              ],
              "isSummary": true
            },
            {
              "id": "ValueSet.description",
              "path": "ValueSet.description",
              "short": "Natural language description of the value set",
              "definition": "A free text natural language description of the value set from a consumer's perspective.",
              "comment": "This description can be used to capture details such as why the value set was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the value set as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created). The description is not intended to describe the semantics of the Value Set - there are no intrinsic semantics separate from the codes contained in its expansion. The description should capture its intended use, which is needed for ensuring integrity for its use in models across future changes. A description should be provided unless the value set is a contained resource (e.g. an anonymous value set in a profile). Most registries will require a description.",
              "alias": [
                "Scope",
                "Purpose",
                "scope"
              ],
              "min": 1,
              "max": "1",
              "base": {
                "path": "ValueSet.description",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "markdown"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "ValueSet.useContext",
              "path": "ValueSet.useContext",
              "short": "Context the content is intended to support",
              "definition": "The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching for appropriate value set instances.",
              "comment": "When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply.",
              "requirements": "Assist in searching for appropriate content.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "ValueSet.useContext",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "UsageContext"
                }
              ],
              "isSummary": true
            },
            {
              "id": "ValueSet.jurisdiction",
              "path": "ValueSet.jurisdiction",
              "short": "Intended jurisdiction for value set (if applicable)",
              "definition": "A legal or geographic region in which the value set is intended to be used.",
              "comment": "It may be possible for the value set to be used in jurisdictions other than those for which it was originally designed or intended.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "ValueSet.jurisdiction",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "Jurisdiction"
                  },
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                    "valueBoolean": true
                  }
                ],
                "strength": "extensible",
                "description": "Countries and regions within which this artifact is targeted for use",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/jurisdiction"
                }
              }
            },
            {
              "id": "ValueSet.immutable",
              "path": "ValueSet.immutable",
              "short": "Indicates whether or not any change to the content logical definition may occur",
              "definition": "If this is set to 'true', then no new versions of the content logical definition can be created.  Note: Other metadata might still change.",
              "comment": "Normally immutability is set to 'false', which is the default assumption if it is not populated.  Note that the implication is that if this is set to 'true', there may be only one ValueSet version for this definition. Immutability tends to be set to 'true' in one of two cases: - Where the value set, by the nature of its usage, cannot change.  For example \"All specializations of ACT in ActClassCode\" - Where there's no safe way to express the \"Purpose\" such that someone else could safely make changes to the value set definition. Source workflow control must guarantee that the same URI always yields the same definition.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "ValueSet.immutable",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "boolean"
                }
              ],
              "isSummary": true
            },
            {
              "id": "ValueSet.purpose",
              "path": "ValueSet.purpose",
              "short": "Why this value set is defined",
              "definition": "Explaination of why this value set is needed and why it has been designed as it has.",
              "comment": "This element does not describe the usage of the value set Instead  it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is.  This may be used to point to source materials or specifications that drove the structure of this value set.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "ValueSet.purpose",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "markdown"
                }
              ],
              "mapping": [
                {
                  "identity": "objimpl",
                  "map": "no-gen-base"
                },
                {
                  "identity": "w5",
                  "map": "why"
                }
              ]
            },
            {
              "id": "ValueSet.copyright",
              "path": "ValueSet.copyright",
              "short": "Use and/or publishing restrictions",
              "definition": "A copyright statement relating to the value set and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the value set.",
              "comment": "null Frequently, the copyright differs between the value set and the codes that are included. The copyright statement should clearly differentiate between these when required.",
              "requirements": "Consumers must be able to determine any legal restrictions on the use of the value set and/or its content.",
              "alias": [
                "License",
                "Restrictions"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "ValueSet.copyright",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "markdown"
                }
              ],
              "mapping": [
                {
                  "identity": "objimpl",
                  "map": "no-gen-base"
                }
              ]
            },
            {
              "id": "ValueSet.extensible",
              "path": "ValueSet.extensible",
              "short": "Whether this is intended to be used with an extensible binding",
              "definition": "Whether this is intended to be used with an extensible binding or not.",
              "requirements": "It is not required to say whether this intent applies.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "ValueSet.extensible",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "boolean"
                }
              ],
              "isSummary": true
            },
            {
              "id": "ValueSet.compose",
              "path": "ValueSet.compose",
              "short": "Definition of the content of the value set (CLD)",
              "definition": "A set of criteria that define the content logical definition of the value set by including or excluding codes from outside this value set. This I also known as the \"Content Logical Definition\" (CLD).",
              "alias": [
                "Content Logical Definition"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "ValueSet.compose",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "condition": [
                "vsd-5"
              ],
              "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",
                  "source": "Element"
                }
              ]
            },
            {
              "id": "ValueSet.compose.id",
              "path": "ValueSet.compose.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ValueSet.compose.extension",
              "path": "ValueSet.compose.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ValueSet.compose.modifierExtension",
              "path": "ValueSet.compose.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "ValueSet.compose.lockedDate",
              "path": "ValueSet.compose.lockedDate",
              "short": "Fixed date for version-less references (transitive)",
              "definition": "If a locked date is defined, then the Content Logical Definition must be evaluated using the current version as of the locked date for referenced code system(s) and value set instances where ValueSet.compose.include.version is not defined.",
              "comment": "With a defined lockedDate the value set is considered \"Locked\". Otherwise, the value set may have different expansions as underlying code systems and/or value sets evolve.  The interpretation of lockedDate is often dependent on the context - e.g. a SNOMED CT derived value set with a lockedDate will have a different expansion in USA than in UK.  If a value set specifies a version for include and exclude statements, and also specifies a locked date, the specified versions need to be available that date, or the value set will not be usable.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "ValueSet.compose.lockedDate",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "date"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "w5",
                  "map": "when.init"
                }
              ]
            },
            {
              "id": "ValueSet.compose.inactive",
              "path": "ValueSet.compose.inactive",
              "short": "Whether inactive codes are in the value set",
              "definition": "Whether inactive codes - codes that are not approved for current use - are in the value set. If inactive = true, inactive codes are to be included in the expansion, if inactive = false, the inactive codes will not be included in the expansion. If absent, the behavior is determined by the implementation, or by the applicable ExpansionProfile (but generally, inactive codes would be expected to be included).",
              "comment": "Note that in the FHIR terminology framework, \"deprecated\" does not mean inactive, but in some code systems (e.g. LOINC, deprecated means inactive). Code systems should define what codes are considered to be inactive. If this is not clearly defined (including in the FHIR code system resource), then all codes are assumed to be active.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "ValueSet.compose.inactive",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "boolean"
                }
              ],
              "isSummary": true
            },
            {
              "id": "ValueSet.compose.include",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                  "valueString": "ConceptSet"
                }
              ],
              "path": "ValueSet.compose.include",
              "short": "Include one or more codes from a code system or other value set(s)",
              "definition": "Include one or more codes from a code system or other value set(s).",
              "comment": "All the conditions in an include must be true. If a system is listed, all the codes from the system are listed. If one or more filters are listed, all of the filters must apply. If one or more value sets are listed, the codes must be in all the value sets. E.g. each include is 'include all the codes that meet all these conditions'.",
              "min": 1,
              "max": "*",
              "base": {
                "path": "ValueSet.compose.include",
                "min": 1,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "key": "vsd-2",
                  "severity": "error",
                  "human": "A value set with concepts or filters SHALL include a system",
                  "expression": "(concept.exists() or filter.exists()) implies system.exists()",
                  "xpath": "not(exists(f:concept) or exists(f:filter)) or exists(f:system)"
                },
                {
                  "key": "vsd-3",
                  "severity": "error",
                  "human": "Cannot have both concept and filter",
                  "expression": "concept.empty() or filter.empty()",
                  "xpath": "not(exists(f:concept)) or not(exists(f:filter))"
                },
                {
                  "key": "vsd-1",
                  "severity": "error",
                  "human": "A value set include/exclude SHALL have a value set or a system",
                  "expression": "valueSet.exists() or system.exists()",
                  "xpath": "exists(f:valueSet) or exists(f:system)"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "ValueSet.compose.include.id",
              "path": "ValueSet.compose.include.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ValueSet.compose.include.extension",
              "path": "ValueSet.compose.include.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ValueSet.compose.include.modifierExtension",
              "path": "ValueSet.compose.include.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "ValueSet.compose.include.system",
              "path": "ValueSet.compose.include.system",
              "short": "The system the codes come from",
              "definition": "An absolute URI which is the code system from which the selected codes come from.",
              "comment": "If there are no codes or filters, the entire code system is included. Note that the set of codes that are included may contain abstract codes. See ''Coding.system'' for further documentation about the correct value for the system element.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "ValueSet.compose.include.system",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "condition": [
                "vsd-1",
                "vsd-2"
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "define.xml2.0",
                  "map": "ODM/Study/MetaDataVersion/CodeList/ExternalCodeList/Href"
                },
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "ValueSet.compose.include.version",
              "path": "ValueSet.compose.include.version",
              "short": "Specific version of the code system referred to",
              "definition": "The version of the code system that the codes are selected from.",
              "comment": "This is used when selecting the descendants of a concept - they may change between versions. If no version is specified, then the exact contents of the value set may not be known until a context of use binds it to a particular version.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "ValueSet.compose.include.version",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "define.xml2.0",
                  "map": "ODM/Study/MetaDataVersion/CodeList/ExternalCodeList/Version"
                },
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "ValueSet.compose.include.concept",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                  "valueString": "ConceptReference"
                }
              ],
              "path": "ValueSet.compose.include.concept",
              "short": "A concept defined in the system",
              "definition": "Specifies a concept to be included or excluded.",
              "comment": "The list of concepts is considered ordered, though the order may not have any particular significance. Typically, the order of an expansion follows that defined in the compose element.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "ValueSet.compose.include.concept",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "condition": [
                "vsd-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",
                  "source": "Element"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "ValueSet.compose.include.concept.id",
              "path": "ValueSet.compose.include.concept.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ValueSet.compose.include.concept.extension",
              "path": "ValueSet.compose.include.concept.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ValueSet.compose.include.concept.modifierExtension",
              "path": "ValueSet.compose.include.concept.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "ValueSet.compose.include.concept.code",
              "path": "ValueSet.compose.include.concept.code",
              "short": "Code or expression from system",
              "definition": "Specifies a code for the concept to be included or excluded.",
              "comment": "Expressions are allowed if defined by the underlying code system.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "ValueSet.compose.include.concept.code",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "ValueSet.compose.include.concept.display",
              "path": "ValueSet.compose.include.concept.display",
              "short": "Text to display for this code for this value set in this valueset",
              "definition": "The text to display to the user for this concept in the context of this valueset. If no display is provided, then applications using the value set use the display specified for the code by the system.",
              "comment": "The value set resource allows for an alternative display to be specified for when this concept is used in this particular value set. See notes in the value set narrative about the correct use of this element.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "ValueSet.compose.include.concept.display",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "ValueSet.compose.include.concept.designation",
              "path": "ValueSet.compose.include.concept.designation",
              "short": "Additional representations for this concept",
              "definition": "Additional representations for this concept when used in this value set - other languages, aliases, specialized purposes, used for particular purposes, etc.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "ValueSet.compose.include.concept.designation",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                }
              ]
            },
            {
              "id": "ValueSet.compose.include.concept.designation.id",
              "path": "ValueSet.compose.include.concept.designation.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ValueSet.compose.include.concept.designation.extension",
              "path": "ValueSet.compose.include.concept.designation.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ValueSet.compose.include.concept.designation.modifierExtension",
              "path": "ValueSet.compose.include.concept.designation.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "ValueSet.compose.include.concept.designation.language",
              "path": "ValueSet.compose.include.concept.designation.language",
              "short": "Human language of the designation",
              "definition": "The language this designation is defined for.",
              "comment": "In the absence of a language, the resource language applies.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "ValueSet.compose.include.concept.designation.language",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "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"
                }
              }
            },
            {
              "id": "ValueSet.compose.include.concept.designation.use",
              "path": "ValueSet.compose.include.concept.designation.use",
              "short": "Details how this designation would be used",
              "definition": "A code that details how this designation would be used.",
              "comment": "If no use is provided, the designation can be assumed to be suitable for general display to a human user.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "ValueSet.compose.include.concept.designation.use",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Coding"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ConceptDesignationUse"
                  }
                ],
                "strength": "extensible",
                "description": "Details of how a designation would be used.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/designation-use"
                }
              }
            },
            {
              "id": "ValueSet.compose.include.concept.designation.value",
              "path": "ValueSet.compose.include.concept.designation.value",
              "short": "The text value for this designation",
              "definition": "The text value for this designation.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "ValueSet.compose.include.concept.designation.value",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ]
            },
            {
              "id": "ValueSet.compose.include.filter",
              "path": "ValueSet.compose.include.filter",
              "short": "Select codes/concepts by their properties (including relationships)",
              "definition": "Select concepts by specify a matching criteria based on the properties (including relationships) defined by the system. If multiple filters are specified, they SHALL all be true.",
              "comment": "Selecting codes by specifying filters based on properties is only possible where the underlying code system defines appropriate properties. Note that in some cases, the underlying code system defines the logical concepts but not the literal codes for the concepts. In such cases, the literal definitions may be provided by a third party.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "ValueSet.compose.include.filter",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "condition": [
                "vsd-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",
                  "source": "Element"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "ValueSet.compose.include.filter.id",
              "path": "ValueSet.compose.include.filter.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ValueSet.compose.include.filter.extension",
              "path": "ValueSet.compose.include.filter.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ValueSet.compose.include.filter.modifierExtension",
              "path": "ValueSet.compose.include.filter.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "ValueSet.compose.include.filter.property",
              "path": "ValueSet.compose.include.filter.property",
              "short": "A property defined by the code system",
              "definition": "A code that identifies a property defined in the code system.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "ValueSet.compose.include.filter.property",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "ValueSet.compose.include.filter.op",
              "path": "ValueSet.compose.include.filter.op",
              "short": "= | is-a | descendent-of | is-not-a | regex | in | not-in | generalizes | exists",
              "definition": "The kind of operation to perform as a part of the filter criteria.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "ValueSet.compose.include.filter.op",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "FilterOperator"
                  }
                ],
                "strength": "required",
                "description": "The kind of operation to perform as a part of a property based filter.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/filter-operator"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "ValueSet.compose.include.filter.value",
              "path": "ValueSet.compose.include.filter.value",
              "short": "Code from the system, or regex criteria, or boolean value for exists",
              "definition": "The match value may be either a code defined by the system, or a string value, which is a regex match on the literal string of the property value when the operation is 'regex', or one of the values (true and false), when the operation is 'exists'.",
              "comment": "Use regex matching with care - full regex matching on every SNOMED CT term is prohibitive, for example.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "ValueSet.compose.include.filter.value",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "ValueSet.compose.include.valueSet",
              "path": "ValueSet.compose.include.valueSet",
              "short": "Select only contents included in this value set",
              "definition": "Selects concepts found in this value set. This is an absolute URI that is a reference to ValueSet.url.",
              "comment": "The value set URI is either a logical reference to a defined value set such as a [SNOMED CT reference set]{snomedct.html#implicit}, or a direct reference to a value set definition using ValueSet.url. The reference may not refer to an actual FHIR ValueSet resource; in this case, whatever is referred to is an implicit definition of a value set that needs to be clear about how versions are resolved.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "ValueSet.compose.include.valueSet",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "condition": [
                "vsd-1"
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "ValueSet.compose.exclude",
              "path": "ValueSet.compose.exclude",
              "short": "Explicitly exclude codes from a code system or other value sets",
              "definition": "Exclude one or more codes from the value set based on code system filters and/or other value sets.",
              "comment": "Usually this is used to selectively exclude codes that were included by subsumption in the inclusions. Any display names specified for the codes are ignored.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "ValueSet.compose.exclude",
                "min": 0,
                "max": "*"
              },
              "contentReference": "#ValueSet.compose.include",
              "condition": [
                "vsd-2"
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "ValueSet.expansion",
              "path": "ValueSet.expansion",
              "short": "Used when the value set is \"expanded\"",
              "definition": "A value set can also be \"expanded\", where the value set is turned into a simple collection of enumerated codes. This element holds the expansion, if it has been performed.",
              "comment": "Expansion is performed to produce a collection of codes that are ready to use for data entry or validation.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "ValueSet.expansion",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "condition": [
                "vsd-5"
              ],
              "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",
                  "source": "Element"
                }
              ]
            },
            {
              "id": "ValueSet.expansion.id",
              "path": "ValueSet.expansion.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ValueSet.expansion.extension",
              "path": "ValueSet.expansion.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ValueSet.expansion.modifierExtension",
              "path": "ValueSet.expansion.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "ValueSet.expansion.identifier",
              "path": "ValueSet.expansion.identifier",
              "short": "Uniquely identifies this expansion",
              "definition": "An identifier that uniquely identifies this expansion of the valueset. Systems may re-use the same identifier as long as the expansion and the definition remain the same, but are not required to do so.",
              "comment": "Typically, this uri is a UUID (e.g. urn:uuid:8230ff20-c97a-4167-a59d-dc2cb9df16dd).",
              "min": 1,
              "max": "1",
              "base": {
                "path": "ValueSet.expansion.identifier",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ]
            },
            {
              "id": "ValueSet.expansion.timestamp",
              "path": "ValueSet.expansion.timestamp",
              "short": "Time ValueSet expansion happened",
              "definition": "The time at which the expansion was produced by the expanding system.",
              "comment": "This SHOULD be a fully populated instant, but in some circumstances, value sets are expanded by hand, and the expansion is published without that precision.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "ValueSet.expansion.timestamp",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "dateTime"
                }
              ]
            },
            {
              "id": "ValueSet.expansion.total",
              "path": "ValueSet.expansion.total",
              "short": "Total number of codes in the expansion",
              "definition": "The total number of concepts in the expansion. If the number of concept nodes in this resource is less than the stated number, then the server can return more using the offset parameter.",
              "comment": "Paging only applies to flat expansions.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "ValueSet.expansion.total",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "integer"
                }
              ]
            },
            {
              "id": "ValueSet.expansion.offset",
              "path": "ValueSet.expansion.offset",
              "short": "Offset at which this resource starts",
              "definition": "If paging is being used, the offset at which this resource starts.  I.e. this resource is a partial view into the expansion. If paging is not being used, this element SHALL not be present.",
              "comment": "Paging only applies to flat expansions. If a filter is applied, the count is the number of concepts that matched the filter, not the number of concepts in an unfiltered view of the expansion.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "ValueSet.expansion.offset",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "integer"
                }
              ],
              "meaningWhenMissing": "Paging is not being used"
            },
            {
              "id": "ValueSet.expansion.parameter",
              "path": "ValueSet.expansion.parameter",
              "short": "Parameter that controlled the expansion process",
              "definition": "A parameter that controlled the expansion process. These parameters may be used by users of expanded value sets to check whether the expansion is suitable for a particular purpose, or to pick the correct expansion.",
              "comment": "The server decides which parameters to include here, but at a minimum, the list SHOULD include the date, filter, and profile parameters passed to the $expand operation (if any).",
              "min": 0,
              "max": "*",
              "base": {
                "path": "ValueSet.expansion.parameter",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                }
              ]
            },
            {
              "id": "ValueSet.expansion.parameter.id",
              "path": "ValueSet.expansion.parameter.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ValueSet.expansion.parameter.extension",
              "path": "ValueSet.expansion.parameter.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ValueSet.expansion.parameter.modifierExtension",
              "path": "ValueSet.expansion.parameter.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "ValueSet.expansion.parameter.name",
              "path": "ValueSet.expansion.parameter.name",
              "short": "Name as assigned by the server",
              "definition": "The name of the parameter.",
              "comment": "The names are assigned at the discretion of the server.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "ValueSet.expansion.parameter.name",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ]
            },
            {
              "id": "ValueSet.expansion.parameter.value[x]",
              "path": "ValueSet.expansion.parameter.value[x]",
              "short": "Value of the named parameter",
              "definition": "The value of the parameter.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "ValueSet.expansion.parameter.value[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                },
                {
                  "code": "boolean"
                },
                {
                  "code": "integer"
                },
                {
                  "code": "decimal"
                },
                {
                  "code": "uri"
                },
                {
                  "code": "code"
                }
              ]
            },
            {
              "id": "ValueSet.expansion.contains",
              "path": "ValueSet.expansion.contains",
              "short": "Codes in the value set",
              "definition": "The codes that are contained in the value set expansion.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "ValueSet.expansion.contains",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "key": "vsd-6",
                  "severity": "error",
                  "human": "SHALL have a code or a display",
                  "expression": "code.exists() or display.exists()",
                  "xpath": "exists(f:code) or exists(f:display)"
                },
                {
                  "key": "vsd-9",
                  "severity": "error",
                  "human": "Must have a code if not abstract",
                  "expression": "code.exists() or abstract = true",
                  "xpath": "exists(f:code) or (f:abstract/@value = true())"
                },
                {
                  "key": "vsd-10",
                  "severity": "error",
                  "human": "Must have a system if a code is present",
                  "expression": "code.empty() or system.exists()",
                  "xpath": "exists(f:system) or not(exists(f:code))"
                }
              ]
            },
            {
              "id": "ValueSet.expansion.contains.id",
              "path": "ValueSet.expansion.contains.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ValueSet.expansion.contains.extension",
              "path": "ValueSet.expansion.contains.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ValueSet.expansion.contains.modifierExtension",
              "path": "ValueSet.expansion.contains.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "ValueSet.expansion.contains.system",
              "path": "ValueSet.expansion.contains.system",
              "short": "System value for the code",
              "definition": "An absolute URI which is the code system in which the code for this item in the expansion is defined.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "ValueSet.expansion.contains.system",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ]
            },
            {
              "id": "ValueSet.expansion.contains.abstract",
              "path": "ValueSet.expansion.contains.abstract",
              "short": "If user cannot select this entry",
              "definition": "If true, this entry is included in the expansion for navigational purposes, and the user cannot select the code directly as a proper value.",
              "comment": "This should not be understood to exclude its use for searching (e.g. by subsumption testing). The client should know whether it is appropriate for the user to select an abstract code or not.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "ValueSet.expansion.contains.abstract",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "boolean"
                }
              ],
              "defaultValueBoolean": false
            },
            {
              "id": "ValueSet.expansion.contains.inactive",
              "path": "ValueSet.expansion.contains.inactive",
              "short": "If concept is inactive in the code system",
              "definition": "If the concept is inactive in the code system that defines it. Inactive codes are those that are no longer to be used, but are maintained by the code system for understanding legacy data.",
              "comment": "This should only have a value if the concept is inactive.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "ValueSet.expansion.contains.inactive",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "boolean"
                }
              ],
              "defaultValueBoolean": false
            },
            {
              "id": "ValueSet.expansion.contains.version",
              "path": "ValueSet.expansion.contains.version",
              "short": "Version in which this code/display is defined",
              "definition": "The version of this code system that defined this code and/or display. This should only be used with code systems that do not enforce concept permanence.",
              "comment": "The exact value of the version string is specified by the system from which the code is derived.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "ValueSet.expansion.contains.version",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ]
            },
            {
              "id": "ValueSet.expansion.contains.code",
              "path": "ValueSet.expansion.contains.code",
              "short": "Code - if blank, this is not a selectable code",
              "definition": "The code for this item in the expansion hierarchy. If this code is missing the entry in the hierarchy is a place holder (abstract) and does not represent a valid code in the value set.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "ValueSet.expansion.contains.code",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "condition": [
                "vsd-6"
              ]
            },
            {
              "id": "ValueSet.expansion.contains.display",
              "path": "ValueSet.expansion.contains.display",
              "short": "User display for the concept",
              "definition": "The recommended display for this item in the expansion.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "ValueSet.expansion.contains.display",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "condition": [
                "vsd-6"
              ]
            },
            {
              "id": "ValueSet.expansion.contains.designation",
              "path": "ValueSet.expansion.contains.designation",
              "short": "Additional representations for this item",
              "definition": "Additional representations for this item - other languages, aliases, specialized purposes, used for particular purposes, etc. These are relevant when the conditions of the expansion do not fix to a single correct representation.",
              "comment": "The designations provided must be based on the value set and code system definitions.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "ValueSet.expansion.contains.designation",
                "min": 0,
                "max": "*"
              },
              "contentReference": "#ValueSet.compose.include.concept.designation"
            },
            {
              "id": "ValueSet.expansion.contains.contains",
              "path": "ValueSet.expansion.contains.contains",
              "short": "Codes contained under this entry",
              "definition": "Other codes and entries contained under this entry in the hierarchy.",
              "comment": "If the expansion uses this element, there is  no implication about the logical relationship between them, and the  structure cannot be used for logical inferencing. The structure  exists to provide navigational assistance for helping human users to  locate codes in the expansion.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "ValueSet.expansion.contains.contains",
                "min": 0,
                "max": "*"
              },
              "contentReference": "#ValueSet.expansion.contains"
            }
          ]
        },
        "differential": {
          "element": [
            {
              "id": "ValueSet",
              "path": "ValueSet",
              "min": 1,
              "max": "1"
            },
            {
              "id": "ValueSet.url",
              "path": "ValueSet.url",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "uri"
                }
              ]
            },
            {
              "id": "ValueSet.version",
              "path": "ValueSet.version",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "string"
                }
              ]
            },
            {
              "id": "ValueSet.name",
              "path": "ValueSet.name",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "string"
                }
              ]
            },
            {
              "id": "ValueSet.status",
              "path": "ValueSet.status",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "code"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "ValueSet.experimental",
              "path": "ValueSet.experimental",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "boolean"
                }
              ]
            },
            {
              "id": "ValueSet.publisher",
              "path": "ValueSet.publisher",
              "alias": [
                "steward"
              ],
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "string"
                }
              ]
            },
            {
              "id": "ValueSet.description",
              "path": "ValueSet.description",
              "alias": [
                "scope"
              ],
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "markdown"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "ValueSet.immutable",
              "path": "ValueSet.immutable",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "boolean"
                }
              ]
            }
          ]
        }
      }
    },
    {
      "fullUrl": "http://hl7.org/fhir/StructureDefinition/procedurerequest-genetics",
      "resource": {
        "resourceType": "StructureDefinition",
        "id": "procedurerequest-genetics",
        "text": {
          "status": "generated",
          "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">to do</div>"
        },
        "url": "http://hl7.org/fhir/StructureDefinition/procedurerequest-genetics",
        "name": "ProcedureRequest-Genetics",
        "status": "draft",
        "experimental": false,
        "date": "2015-10-20",
        "publisher": "Health Level Seven International (Clinical Genomics)",
        "contact": [
          {
            "telecom": [
              {
                "system": "url",
                "value": "http://www.hl7.org/Special/committees/clingenomics"
              }
            ]
          }
        ],
        "description": "Describes how the ProcedureRequest resource is used to for genetics",
        "fhirVersion": "3.0.1",
        "mapping": [
          {
            "identity": "workflow",
            "uri": "http://hl7.org/fhir/workflow",
            "name": "Workflow Mapping"
          },
          {
            "identity": "v2",
            "uri": "http://hl7.org/v2",
            "name": "HL7 v2 Mapping"
          },
          {
            "identity": "rim",
            "uri": "http://hl7.org/v3",
            "name": "RIM Mapping"
          },
          {
            "identity": "w5",
            "uri": "http://hl7.org/fhir/w5",
            "name": "W5 Mapping"
          },
          {
            "identity": "quick",
            "uri": "http://wiki.siframework.org/CQF",
            "name": "Quality Improvement and Clinical Knowledge (QUICK)"
          }
        ],
        "kind": "resource",
        "abstract": false,
        "type": "ProcedureRequest",
        "baseDefinition": "http://hl7.org/fhir/StructureDefinition/ProcedureRequest",
        "derivation": "constraint",
        "snapshot": {
          "element": [
            {
              "id": "ProcedureRequest",
              "path": "ProcedureRequest",
              "short": "A request for a procedure or diagnostic to be performed",
              "definition": "A record of a request for diagnostic investigations, treatments, or operations to be performed.",
              "alias": [
                "diagnostic request"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "ProcedureRequest",
                "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)",
                  "source": "DomainResource"
                },
                {
                  "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)",
                  "source": "DomainResource"
                },
                {
                  "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))",
                  "source": "DomainResource"
                },
                {
                  "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))]))",
                  "source": "DomainResource"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Entity. Role, or Act"
                },
                {
                  "identity": "workflow",
                  "map": "Request"
                },
                {
                  "identity": "v2",
                  "map": "ORC"
                },
                {
                  "identity": "rim",
                  "map": "Act[moodCode<=INT]"
                },
                {
                  "identity": "w5",
                  "map": "clinical.general"
                }
              ]
            },
            {
              "id": "ProcedureRequest.id",
              "path": "ProcedureRequest.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "ProcedureRequest.meta",
              "path": "ProcedureRequest.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "ProcedureRequest.implicitRules",
              "path": "ProcedureRequest.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"
                }
              ],
              "isModifier": true,
              "isSummary": true
            },
            {
              "id": "ProcedureRequest.language",
              "path": "ProcedureRequest.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"
                }
              ],
              "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"
                }
              }
            },
            {
              "id": "ProcedureRequest.text",
              "path": "ProcedureRequest.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": [
                "dom-1"
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Act.text?"
                }
              ]
            },
            {
              "id": "ProcedureRequest.contained",
              "path": "ProcedureRequest.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": "N/A"
                }
              ]
            },
            {
              "id": "ProcedureRequest.extension",
              "path": "ProcedureRequest.extension",
              "slicing": {
                "id": "2",
                "discriminator": [
                  {
                    "type": "value",
                    "path": "url"
                  }
                ],
                "ordered": false,
                "rules": "open"
              },
              "short": "Extension",
              "definition": "An Extension",
              "min": 0,
              "max": "*",
              "base": {
                "path": "DomainResource.extension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension"
                }
              ]
            },
            {
              "id": "ProcedureRequest.extension:item",
              "path": "ProcedureRequest.extension",
              "sliceName": "Item",
              "short": "The items the orderer requested",
              "definition": "The specific diagnostic investigations that are requested as part of this request. Sometimes, there can only be one item per request, but in most contexts, more than one investigation can be requested.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "DomainResource.extension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/procedurerequest-geneticsItem"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "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')])",
                  "source": "Extension"
                }
              ]
            },
            {
              "id": "ProcedureRequest.modifierExtension",
              "path": "ProcedureRequest.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 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"
                }
              ],
              "isModifier": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "ProcedureRequest.identifier",
              "path": "ProcedureRequest.identifier",
              "short": "Identifiers assigned to this order",
              "definition": "Identifiers assigned to this order instance by the orderer and/or the receiver and/or order fulfiller.",
              "comment": "The identifier.type element is used to distinguish between the identifiers assigned by the orderer (known as the 'Placer' in HL7 v2) and the producer of the observations in response to the order (known as the 'Filler' in HL7 v2).  For further discussion and examples see the resource notes section below.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "ProcedureRequest.identifier",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Identifier"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Request.identifier"
                },
                {
                  "identity": "v2",
                  "map": "ORC.2, ORC.3"
                },
                {
                  "identity": "rim",
                  "map": ".identifier"
                },
                {
                  "identity": "quick",
                  "map": "ClinicalStatement.identifier"
                },
                {
                  "identity": "w5",
                  "map": "id"
                }
              ]
            },
            {
              "id": "ProcedureRequest.definition",
              "path": "ProcedureRequest.definition",
              "short": "Protocol or definition",
              "definition": "Protocol or definition followed by this request.",
              "alias": [
                "protocol"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "ProcedureRequest.definition",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ActivityDefinition"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/PlanDefinition"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Request.definition"
                },
                {
                  "identity": "v2",
                  "map": "Varies by domain"
                },
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=DEFN].target"
                }
              ]
            },
            {
              "id": "ProcedureRequest.basedOn",
              "path": "ProcedureRequest.basedOn",
              "short": "What request fulfills",
              "definition": "Plan/proposal/order fulfilled by this request.",
              "alias": [
                "fulfills"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "ProcedureRequest.basedOn",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Request.basedOn"
                },
                {
                  "identity": "v2",
                  "map": "ORC.8 (plus others)"
                },
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=FLFS].target"
                }
              ]
            },
            {
              "id": "ProcedureRequest.replaces",
              "path": "ProcedureRequest.replaces",
              "short": "What request replaces",
              "definition": "The request takes the place of the referenced completed or terminated request(s).",
              "min": 0,
              "max": "*",
              "base": {
                "path": "ProcedureRequest.replaces",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Request.replaces"
                },
                {
                  "identity": "v2",
                  "map": "Handled by message location of ORC (ORC.1=RO or RU)"
                },
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=RPLC].target"
                }
              ]
            },
            {
              "id": "ProcedureRequest.requisition",
              "path": "ProcedureRequest.requisition",
              "short": "Composite Request ID",
              "definition": "A shared identifier common to all procedure or diagnostic requests that were authorized more or less simultaneously by a single author, representing the composite or group identifier.",
              "comment": "Requests are linked either by a \"basedOn\" relationship (i.e. one request is fulfilling another) or by having a common requisition. Requests that are part of the same requisition are generally treated independently from the perspective of changing their state or maintaining them after initial creation.",
              "requirements": "Some business processes need to know if multiple items were ordered as part of the same \"requisition\" for billing or other purposes.",
              "alias": [
                "grouperId",
                "groupIdentifier"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "ProcedureRequest.requisition",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Identifier"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "ORC.4"
                },
                {
                  "identity": "rim",
                  "map": ".inboundRelationship(typeCode=COMP].source[moodCode=INT].identifier"
                }
              ]
            },
            {
              "id": "ProcedureRequest.status",
              "path": "ProcedureRequest.status",
              "short": "draft | active | suspended | completed | entered-in-error | cancelled",
              "definition": "The status of the order.",
              "comment": "The status is generally fully in the control of the requester - they determine whether the order is draft or active and, after it has been activated, competed, cancelled or suspended. States relating to the activities of the performer are reflected on either the corresponding event (see [Event Pattern](event.html) for general discussion) or using the [Task](task.html) resource.\n\nThis element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "ProcedureRequest.status",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ProcedureRequestStatus"
                  }
                ],
                "strength": "required",
                "description": "The status of a procedure or diagnostic order.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/request-status"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Request.status"
                },
                {
                  "identity": "v2",
                  "map": "ORC.5"
                },
                {
                  "identity": "rim",
                  "map": ".status"
                },
                {
                  "identity": "quick",
                  "map": "Action.currentStatus"
                },
                {
                  "identity": "w5",
                  "map": "status"
                }
              ]
            },
            {
              "id": "ProcedureRequest.intent",
              "path": "ProcedureRequest.intent",
              "short": "proposal | plan | order +",
              "definition": "Whether the request is a proposal, plan, an original order or a reflex order.",
              "comment": "This element is labeled as a modifier because the intent alters when and how the resource is actually applicable.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "ProcedureRequest.intent",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ProcedureRequestIntent"
                  }
                ],
                "strength": "required",
                "description": "The kind of procedure or diagnostic request",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/request-intent"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Request.intent"
                },
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": ".moodCode (nuances beyond PRP/PLAN/RQO would need to be elsewhere)"
                },
                {
                  "identity": "w5",
                  "map": "class"
                }
              ]
            },
            {
              "id": "ProcedureRequest.priority",
              "path": "ProcedureRequest.priority",
              "short": "routine | urgent | asap | stat",
              "definition": "Indicates how quickly the ProcedureRequest should be addressed with respect to other requests.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "ProcedureRequest.priority",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "meaningWhenMissing": "If missing, this task should be performed with normal priority",
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ProcedureRequestPriority"
                  }
                ],
                "strength": "required",
                "description": "Identifies the level of importance to be assigned to actioning the request",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/request-priority"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Request.priority"
                },
                {
                  "identity": "v2",
                  "map": "TQ1.9"
                },
                {
                  "identity": "rim",
                  "map": ".priorityCode"
                },
                {
                  "identity": "w5",
                  "map": "class"
                }
              ]
            },
            {
              "id": "ProcedureRequest.doNotPerform",
              "path": "ProcedureRequest.doNotPerform",
              "short": "True if procedure should not be performed",
              "definition": "Set this to true if the record is saying that the procedure should NOT be performed.",
              "comment": "This element is labeled as a [modifier](conformance-rules.html#isModifier.html) because it indicates that a procedure shouldn't happen, instead of a request for it to happen.  In general, only the code and timeframe will be present, though occasional additional qualifiers such as body site or even performer could be included to narrow the scope of the prohibition.  If the ProcedureRequest.code and ProcedureRequest.doNotPerform both contain negation, that will reinforce prohibition and should not have a double negative interpretation.",
              "requirements": "Used for do not ambulate, do not elevate head of bed, do not flush NG tube, do not take blood pressure on a certain arm, etc.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "ProcedureRequest.doNotPerform",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "boolean"
                }
              ],
              "defaultValueBoolean": false,
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".actionNegationInd"
                }
              ]
            },
            {
              "id": "ProcedureRequest.category",
              "path": "ProcedureRequest.category",
              "short": "Classification of procedure",
              "definition": "A code that classifies the procedure for searching, sorting and display purposes (e.g. \"Surgical Procedure\").",
              "comment": "There may be multiple axis of categorization depending on the context or use case for retrieving or displaying the resource.  The level of granularity is defined by the category concepts in the value set.",
              "requirements": "Used for filtering what procedure request are retrieved and displayed.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "ProcedureRequest.category",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ProcedureRequestCategory"
                  }
                ],
                "strength": "example",
                "description": "Classification of the procedure",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/procedure-category"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=\"COMP].target[classCode=\"LIST\", moodCode=\"INT\"].code"
                },
                {
                  "identity": "w5",
                  "map": "class"
                }
              ]
            },
            {
              "id": "ProcedureRequest.code",
              "path": "ProcedureRequest.code",
              "short": "What is being requested/ordered",
              "definition": "A code that identifies a particular procedure, diagnostic investigation, or panel of investigations, that have been requested.",
              "comment": "Many laboratory and radiology procedure codes embed the specimen/organ system in the test ordeer name, for example,  serum or serum/plasma glucose, or a chest xray. The specimen may not be recorded separately from the test code.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "ProcedureRequest.code",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ProcedureRequestCode"
                  }
                ],
                "strength": "example",
                "description": "Codes for tests/services that can be performed by procedure or diagnostic services.  For laboratory, LOINC is  (preferred)[http://build.fhir.org/terminologies.html#preferred] and a valueset using LOINC Order codes is available [here](valueset-diagnostic-requests.html).",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/procedure-code"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Request.code"
                },
                {
                  "identity": "v2",
                  "map": "Varies by domain"
                },
                {
                  "identity": "rim",
                  "map": ".code"
                },
                {
                  "identity": "quick",
                  "map": "Procedure.procedureCode"
                },
                {
                  "identity": "w5",
                  "map": "what"
                }
              ]
            },
            {
              "id": "ProcedureRequest.subject",
              "path": "ProcedureRequest.subject",
              "short": "Individual the service is ordered for",
              "definition": "On whom or what the procedure or diagnostic is to be performed. This is usually a human patient, but can also be requested on animals, groups of humans or animals, devices such as dialysis machines, or even locations (typically for environmental scans).",
              "min": 1,
              "max": "1",
              "base": {
                "path": "ProcedureRequest.subject",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Request.subject"
                },
                {
                  "identity": "v2",
                  "map": "Accompanying PID segment"
                },
                {
                  "identity": "rim",
                  "map": ".participation[typeCode=SBJ].role"
                },
                {
                  "identity": "quick",
                  "map": "ClinicalStatement.subject"
                },
                {
                  "identity": "w5",
                  "map": "who.focus"
                }
              ]
            },
            {
              "id": "ProcedureRequest.context",
              "path": "ProcedureRequest.context",
              "short": "Encounter or Episode during which request was created",
              "definition": "An encounter or episode of care that provides additional information about the healthcare context in which this request is made.",
              "alias": [
                "encounter"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "ProcedureRequest.context",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Request.context"
                },
                {
                  "identity": "v2",
                  "map": "Accompanying PV1"
                },
                {
                  "identity": "rim",
                  "map": ".inboundRelationship(typeCode=COMP].source[classCode<=PCPR, moodCode=EVN]"
                },
                {
                  "identity": "quick",
                  "map": "ClinicalStatement.encounter"
                },
                {
                  "identity": "w5",
                  "map": "context"
                }
              ]
            },
            {
              "id": "ProcedureRequest.occurrence[x]",
              "path": "ProcedureRequest.occurrence[x]",
              "short": "When procedure should occur",
              "definition": "The date/time at which the diagnostic testing should occur.",
              "alias": [
                "schedule"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "ProcedureRequest.occurrence[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "dateTime"
                },
                {
                  "code": "Period"
                },
                {
                  "code": "Timing"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Request.occurrence[x]"
                },
                {
                  "identity": "v2",
                  "map": "Accompanying TQ1/TQ2 segments"
                },
                {
                  "identity": "rim",
                  "map": ".effectiveTime"
                },
                {
                  "identity": "quick",
                  "map": "Procedure.procedureSchedule"
                },
                {
                  "identity": "w5",
                  "map": "when.planned"
                }
              ]
            },
            {
              "id": "ProcedureRequest.asNeeded[x]",
              "path": "ProcedureRequest.asNeeded[x]",
              "short": "Preconditions for procedure or diagnostic",
              "definition": "If a CodeableConcept is present, it indicates the pre-condition for performing the procedure.  For example \"pain\", \"on flare-up\", etc.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "ProcedureRequest.asNeeded[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "boolean"
                },
                {
                  "code": "CodeableConcept"
                }
              ],
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ProcedureAsNeededReason"
                  }
                ],
                "strength": "example",
                "description": "A coded concept identifying the pre-condition that should hold prior to performing a procedure.  For example \"pain\", \"on flare-up\", etc.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/medication-as-needed-reason"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": "boolean: precondition.negationInd (inversed - so negationInd = true means asNeeded=false CodeableConcept: precondition.observationEventCriterion[code=\"Assertion\"].value"
                },
                {
                  "identity": "quick",
                  "map": "Proposal.prnReason.reason"
                }
              ]
            },
            {
              "id": "ProcedureRequest.authoredOn",
              "path": "ProcedureRequest.authoredOn",
              "short": "Date request signed",
              "definition": "When the request transitioned to being actionable.",
              "alias": [
                "orderedOn"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "ProcedureRequest.authoredOn",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "dateTime"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Request.authoredOn"
                },
                {
                  "identity": "v2",
                  "map": "ORC.9"
                },
                {
                  "identity": "rim",
                  "map": ".participation[typeCode=AUT].time"
                },
                {
                  "identity": "quick",
                  "map": "Proposal.proposedAtTime"
                },
                {
                  "identity": "w5",
                  "map": "when.recorded"
                }
              ]
            },
            {
              "id": "ProcedureRequest.requester",
              "path": "ProcedureRequest.requester",
              "short": "Who/what is requesting procedure or diagnostic",
              "definition": "The individual who initiated the request and has responsibility for its activation.",
              "comment": "This not the dispatcher, but rather who is the authorizer.",
              "alias": [
                "author",
                "orderer"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "ProcedureRequest.requester",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Request.requester"
                },
                {
                  "identity": "v2",
                  "map": "ORC.12"
                },
                {
                  "identity": "rim",
                  "map": ".participation[typeCode=AUT].role"
                },
                {
                  "identity": "quick",
                  "map": "ClinicalStatement.statementAuthor"
                }
              ]
            },
            {
              "id": "ProcedureRequest.requester.id",
              "path": "ProcedureRequest.requester.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ProcedureRequest.requester.extension",
              "path": "ProcedureRequest.requester.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ProcedureRequest.requester.modifierExtension",
              "path": "ProcedureRequest.requester.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "ProcedureRequest.requester.agent",
              "path": "ProcedureRequest.requester.agent",
              "short": "Individual making the request",
              "definition": "The device, practitioner or organization who initiated the request.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "ProcedureRequest.requester.agent",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Request.requester.agent"
                },
                {
                  "identity": "v2",
                  "map": "ORC.12"
                },
                {
                  "identity": "rim",
                  "map": ".player"
                },
                {
                  "identity": "quick",
                  "map": "ClinicalStatement.statementAuthor"
                },
                {
                  "identity": "w5",
                  "map": "who.author"
                }
              ]
            },
            {
              "id": "ProcedureRequest.requester.onBehalfOf",
              "path": "ProcedureRequest.requester.onBehalfOf",
              "short": "Organization agent is acting for",
              "definition": "The organization the device or practitioner was acting on behalf of.",
              "requirements": "Practitioners and Devices can be associated with multiple organizations.  This element indicates which organization they were acting on behalf of when authoring the request.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "ProcedureRequest.requester.onBehalfOf",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Request.requester.onBehalfOf"
                },
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": ".scoper"
                }
              ]
            },
            {
              "id": "ProcedureRequest.performerType",
              "path": "ProcedureRequest.performerType",
              "short": "Performer role",
              "definition": "Desired type of performer for doing the diagnostic testing.",
              "comment": "this is a  role, not  a participation type.  I.e. does not describe the task, but describes the capacity.  For example, “compounding pharmacy” or “psychiatrist” or “internal referral”.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "ProcedureRequest.performerType",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ProcedureRequestParticipantRole"
                  }
                ],
                "strength": "example",
                "description": "Indicates specific responsibility of an individual within the care team, such as \"Primary physician\", \"Team coordinator\", \"Caregiver\", etc.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/participant-role"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Request.performerType"
                },
                {
                  "identity": "v2",
                  "map": "PRT"
                },
                {
                  "identity": "rim",
                  "map": ".participation[typeCode=PRF].role[scoper.determinerCode=KIND].code"
                },
                {
                  "identity": "w5",
                  "map": "who.actor"
                }
              ]
            },
            {
              "id": "ProcedureRequest.performer",
              "path": "ProcedureRequest.performer",
              "short": "Requested perfomer",
              "definition": "The desired perfomer for doing the diagnostic testing.  For example, the surgeon, dermatopathologist, endoscopist, etc.",
              "comment": "If needed, use an [extension](extensibility.html) for listing alternative performers and/or roles and/or preference.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "ProcedureRequest.performer",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/HealthcareService"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Request.Performer"
                },
                {
                  "identity": "v2",
                  "map": "PRT"
                },
                {
                  "identity": "rim",
                  "map": ".participation[typeCode=PRF].role[scoper.determinerCode=INSTANCE]"
                },
                {
                  "identity": "w5",
                  "map": "who.actor"
                }
              ]
            },
            {
              "id": "ProcedureRequest.reasonCode",
              "path": "ProcedureRequest.reasonCode",
              "short": "Explanation/Justification for test",
              "definition": "An explanation or justification for why this diagnostic investigation is being requested in coded or textual form.   This is often for billing purposes.  May relate to the resources referred to in supportingInformation.",
              "comment": "This may be used to decide how the diagnostic investigation will be performed, or even if it will be performed at all.   Use CodeableConcept text element if the data is free (uncoded) text as shown in the [CT Scan example](procedurerequest-example-di.html).",
              "min": 0,
              "max": "*",
              "base": {
                "path": "ProcedureRequest.reasonCode",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ProcedureRequestReason"
                  }
                ],
                "strength": "example",
                "description": "Diagnosis or problem codes justifying the reason for requesting the procedure or diagnostic investigation.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/procedure-reason"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Request.reasonCod"
                },
                {
                  "identity": "v2",
                  "map": "ORC.16"
                },
                {
                  "identity": "rim",
                  "map": ".reasonCode"
                },
                {
                  "identity": "w5",
                  "map": "why"
                }
              ]
            },
            {
              "id": "ProcedureRequest.reasonReference",
              "path": "ProcedureRequest.reasonReference",
              "short": "Explanation/Justification for test",
              "definition": "Indicates another resource that provides a justification for why this diagnostic investigation is being requested.   May relate to the resources referred to in supportingInformation.",
              "comment": "This may be used to decide how the diagnostic investigation will be performed, or even if it will be performed at all.   Use CodeableConcept text element if the data is free (uncoded) text as shown in the [CT Scan example](procedurerequest-example-di.html).",
              "min": 0,
              "max": "*",
              "base": {
                "path": "ProcedureRequest.reasonReference",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Condition"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Request.reasonReference"
                },
                {
                  "identity": "v2",
                  "map": "ORC.16"
                },
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=RSON].target"
                },
                {
                  "identity": "w5",
                  "map": "why"
                }
              ]
            },
            {
              "id": "ProcedureRequest.supportingInfo",
              "path": "ProcedureRequest.supportingInfo",
              "short": "Additional clinical information",
              "definition": "Additional clinical information about the patient or specimen that may influence the procedure or diagnostics or their interpretations.     This information includes diagnosis, clinical findings and other observations.  In laboratory ordering these are typically referred to as \"ask at order entry questions (AOEs)\".  This includes observations explicitly requested by the producer (filler) to provide context or supporting information needed to complete the order. For example,  reporting the amount of inspired oxygen for blood gas measurements.",
              "alias": [
                "Ask at order entry question",
                "AOE"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "ProcedureRequest.supportingInfo",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
                }
              ],
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Request.supportingInformation"
                },
                {
                  "identity": "v2",
                  "map": "Accompanying segments"
                },
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=PERT].target"
                }
              ]
            },
            {
              "id": "ProcedureRequest.specimen",
              "path": "ProcedureRequest.specimen",
              "short": "Procedure Samples",
              "definition": "One or more specimens that the laboratory procedure will use.",
              "comment": "Many diagnostic procedures need a specimen, but the request itself is not actually about the specimen. This element is for when the diagnostic is requested on already existing specimens and the request points to the specimen it applies to.    Conversely, If the request is entered first with an unknown specimen, The [Specimen](specimen.html) resource references to the ProcedureRequest.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "ProcedureRequest.specimen",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Specimen"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "SPM"
                },
                {
                  "identity": "rim",
                  "map": ".participation[typeCode=SPC].role"
                }
              ]
            },
            {
              "id": "ProcedureRequest.bodySite",
              "path": "ProcedureRequest.bodySite",
              "short": "Location on Body",
              "definition": "Anatomic location where the procedure should be performed. This is the target site.",
              "comment": "Only used if not implicit in the code found in ProcedureRequest.type.  If the use case requires BodySite to be handled as a separate resource instead of an inline coded element (e.g. to identify and track separately)  then use the standard extension [procedurerequest-targetBodySite](extension-procedurerequest-targetbodysite.html).",
              "requirements": "Knowing where the procedure is performed is important for tracking if multiple sites are possible.",
              "alias": [
                "location"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "ProcedureRequest.bodySite",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "BodySite"
                  }
                ],
                "strength": "example",
                "description": "Codes describing anatomical locations. May include laterality.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/body-site"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "SPM"
                },
                {
                  "identity": "rim",
                  "map": "targetSiteCode"
                },
                {
                  "identity": "quick",
                  "map": "Procedure.targetBodySite"
                }
              ]
            },
            {
              "id": "ProcedureRequest.note",
              "path": "ProcedureRequest.note",
              "short": "Comments",
              "definition": "Any other notes and comments made about the service request. For example, letting provider know that \"patient hates needles\" or other provider instructions.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "ProcedureRequest.note",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Annotation"
                }
              ],
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Request.note"
                },
                {
                  "identity": "v2",
                  "map": "NTE"
                },
                {
                  "identity": "rim",
                  "map": ".inboundRelationship(typeCode=SUBJ].source[classCode=ANNGEN, moodCode=EVN].value[xsi:type=ST]"
                },
                {
                  "identity": "quick",
                  "map": "ClinicalStatement.additionalText"
                }
              ]
            },
            {
              "id": "ProcedureRequest.relevantHistory",
              "path": "ProcedureRequest.relevantHistory",
              "short": "Request provenance",
              "definition": "Key events in the history of the request.",
              "comment": "This may not include provenances for all versions of the request – only those deemed “relevant” or important.\rThis SHALL NOT include the Provenance associated with this current version of the resource.  (If that provenance is deemed to be a “relevant” change, it will need to be added as part of a later update.  Until then, it can be queried directly as the Provenance that points to this version using _revinclude\rAll Provenances should have some historical version of this Request as their subject.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "ProcedureRequest.relevantHistory",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Provenance"
                }
              ],
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Request.relevantHistory"
                },
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": ".inboundRelationship(typeCode=SUBJ].source[classCode=CACT, moodCode=EVN]"
                }
              ]
            }
          ]
        },
        "differential": {
          "element": [
            {
              "id": "ProcedureRequest",
              "path": "ProcedureRequest",
              "min": 0,
              "max": "*"
            },
            {
              "id": "ProcedureRequest.extension:item",
              "path": "ProcedureRequest.extension",
              "sliceName": "Item",
              "short": "The items the orderer requested",
              "definition": "The specific diagnostic investigations that are requested as part of this request. Sometimes, there can only be one item per request, but in most contexts, more than one investigation can be requested.",
              "min": 0,
              "max": "*",
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/procedurerequest-geneticsItem"
                }
              ]
            }
          ]
        }
      }
    },
    {
      "fullUrl": "http://hl7.org/fhir/StructureDefinition/shareablecodesystem",
      "resource": {
        "resourceType": "StructureDefinition",
        "id": "shareablecodesystem",
        "text": {
          "status": "generated",
          "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">to do</div>"
        },
        "url": "http://hl7.org/fhir/StructureDefinition/shareablecodesystem",
        "name": "Shareable CodeSystem",
        "status": "draft",
        "experimental": false,
        "date": "2017-04-18T21:44:43+00:00",
        "publisher": "HL7",
        "description": "Enforces the minimum information set for the value set metadata required by HL7 and other organisations that share and publish value sets",
        "fhirVersion": "3.0.1",
        "mapping": [
          {
            "identity": "rim",
            "uri": "http://hl7.org/v3",
            "name": "RIM Mapping"
          },
          {
            "identity": "w5",
            "uri": "http://hl7.org/fhir/w5",
            "name": "W5 Mapping"
          },
          {
            "identity": "objimpl",
            "uri": "http://hl7.org/fhir/object-implementation",
            "name": "Object Implementation Information"
          }
        ],
        "kind": "resource",
        "abstract": false,
        "type": "CodeSystem",
        "baseDefinition": "http://hl7.org/fhir/StructureDefinition/CodeSystem",
        "derivation": "constraint",
        "snapshot": {
          "element": [
            {
              "id": "CodeSystem",
              "path": "CodeSystem",
              "short": "A set of codes drawn from one or more code systems",
              "definition": "A code system resource specifies a set of codes drawn from one or more code systems.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "CodeSystem",
                "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)",
                  "source": "DomainResource"
                },
                {
                  "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)",
                  "source": "DomainResource"
                },
                {
                  "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))",
                  "source": "DomainResource"
                },
                {
                  "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))]))",
                  "source": "DomainResource"
                },
                {
                  "key": "csd-1",
                  "severity": "error",
                  "human": "Within a code system definition, all the codes SHALL be unique",
                  "expression": "(concept.code | descendants().concept.code).isDistinct()",
                  "xpath": "count(distinct-values(descendant::f:concept/f:code/@value))=count(descendant::f:concept)",
                  "source": "CodeSystem"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Entity. Role, or Act"
                },
                {
                  "identity": "rim",
                  "map": "N/A"
                },
                {
                  "identity": "w5",
                  "map": "conformance.terminology"
                }
              ]
            },
            {
              "id": "CodeSystem.id",
              "path": "CodeSystem.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "CodeSystem.meta",
              "path": "CodeSystem.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "CodeSystem.implicitRules",
              "path": "CodeSystem.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"
                }
              ],
              "isModifier": true,
              "isSummary": true
            },
            {
              "id": "CodeSystem.language",
              "path": "CodeSystem.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"
                }
              ],
              "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"
                }
              }
            },
            {
              "id": "CodeSystem.text",
              "path": "CodeSystem.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": [
                "dom-1"
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Act.text?"
                }
              ]
            },
            {
              "id": "CodeSystem.contained",
              "path": "CodeSystem.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": "N/A"
                }
              ]
            },
            {
              "id": "CodeSystem.extension",
              "path": "CodeSystem.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "CodeSystem.modifierExtension",
              "path": "CodeSystem.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 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"
                }
              ],
              "isModifier": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "CodeSystem.url",
              "path": "CodeSystem.url",
              "short": "Logical URI to reference this code system (globally unique) (Coding.system)",
              "definition": "An absolute URI that is used to identify this code system when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this code system is (or will be) published. The URL SHOULD include the major version of the code system. For more information see [Technical and Business Versions](resource.html#versions). This is used in [Coding]{datatypes.html#Coding}.system.",
              "comment": "Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred.  Multiple instances may share the same url if they have a distinct version.",
              "requirements": "Allows the code system to be referenced by a single globally unique identifier.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "CodeSystem.url",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "w5",
                  "map": "id"
                }
              ]
            },
            {
              "id": "CodeSystem.identifier",
              "path": "CodeSystem.identifier",
              "short": "Additional identifier for the code system",
              "definition": "A formal identifier that is used to identify this code system when it is represented in other formats, or referenced in a specification, model, design or an instance.",
              "comment": "Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, e.g., to identify this code system outside of FHIR, where it is not possible to use the logical URI.",
              "requirements": "Allows externally provided and/or usable business identifiers to be easily associated with the module.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "CodeSystem.identifier",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Identifier"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "objimpl",
                  "map": "no-gen-base"
                },
                {
                  "identity": "w5",
                  "map": "id"
                }
              ]
            },
            {
              "id": "CodeSystem.version",
              "path": "CodeSystem.version",
              "short": "Business version of the code system (Coding.version)",
              "definition": "The identifier that is used to identify this version of the code system when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the code system author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. This is used in [Coding]{datatypes.html#Coding}.version.",
              "comment": "There may be different code system instances that have the same identifier but different versions.  The version can be appended to the url in a reference to allow a refrence to a particular business version of the code system with the format [url]|[version].",
              "min": 1,
              "max": "1",
              "base": {
                "path": "CodeSystem.version",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "w5",
                  "map": "id.version"
                }
              ]
            },
            {
              "id": "CodeSystem.name",
              "path": "CodeSystem.name",
              "short": "Name for this code system (computer friendly)",
              "definition": "A natural language name identifying the code system. This name should be usable as an identifier for the module by machine processing applications such as code generation.",
              "comment": "The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly.",
              "requirements": "Support human navigation and code generation.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "CodeSystem.name",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "isSummary": true
            },
            {
              "id": "CodeSystem.title",
              "path": "CodeSystem.title",
              "short": "Name for this code system (human friendly)",
              "definition": "A short, descriptive, user-friendly title for the code system.",
              "comment": "This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "CodeSystem.title",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "isSummary": true
            },
            {
              "id": "CodeSystem.status",
              "path": "CodeSystem.status",
              "short": "draft | active | retired | unknown",
              "definition": "The status of this code system. Enables tracking the life-cycle of the content.",
              "comment": "Allows filtering of code systems that are appropriate for use vs. not.  \nThis is labeled as \"Is Modifier\" because applications should not use a retired code system without due consideration.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "CodeSystem.status",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "PublicationStatus"
                  },
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                    "valueBoolean": true
                  }
                ],
                "strength": "required",
                "description": "The lifecycle status of a Value Set or Concept Map.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/publication-status"
                }
              },
              "mapping": [
                {
                  "identity": "w5",
                  "map": "status"
                },
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "CodeSystem.experimental",
              "path": "CodeSystem.experimental",
              "short": "For testing purposes, not real usage",
              "definition": "A boolean value to indicate that this code system is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage.",
              "comment": "Allows filtering of code system that are appropriate for use vs. not. This is labeled as \"Is Modifier\" because applications should not use an experimental code system in production.",
              "requirements": "Enables experimental content to be developed following the same lifecycle that would be used for a production-level code system.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "CodeSystem.experimental",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "boolean"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "w5",
                  "map": "class"
                }
              ]
            },
            {
              "id": "CodeSystem.date",
              "path": "CodeSystem.date",
              "short": "Date this was last changed",
              "definition": "The date  (and optionally time) when the code system was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the code system changes.",
              "comment": "Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the code system. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.",
              "alias": [
                "Revision Date"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "CodeSystem.date",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "dateTime"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "w5",
                  "map": "when.recorded"
                }
              ]
            },
            {
              "id": "CodeSystem.publisher",
              "path": "CodeSystem.publisher",
              "short": "Name of the publisher (organization or individual)",
              "definition": "The name of the individual or organization that published the code system.",
              "comment": "Usually an organization, but may be an individual. The publisher (or steward) of the code system is the organization or individual primarily responsible for the maintenance and upkeep of the code system. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the code system. This item SHOULD be populated unless the information is available from context.",
              "requirements": "Helps establish the \"authority/credibility\" of the code system.  May also allow for contact.",
              "alias": [
                "steward"
              ],
              "min": 1,
              "max": "1",
              "base": {
                "path": "CodeSystem.publisher",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "w5",
                  "map": "who.witness"
                }
              ]
            },
            {
              "id": "CodeSystem.contact",
              "path": "CodeSystem.contact",
              "short": "Contact details for the publisher",
              "definition": "Contact details to assist a user in finding and communicating with the publisher.",
              "comment": "May be a web site, an email address, a telephone number, etc.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "CodeSystem.contact",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "ContactDetail"
                }
              ],
              "isSummary": true
            },
            {
              "id": "CodeSystem.description",
              "path": "CodeSystem.description",
              "short": "Natural language description of the code system",
              "definition": "A free text natural language description of the code system from a consumer's perspective.",
              "comment": "This description can be used to capture details such as why the code system was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the code system as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created).",
              "alias": [
                "Scope",
                "Purpose",
                "scope"
              ],
              "min": 1,
              "max": "1",
              "base": {
                "path": "CodeSystem.description",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "markdown"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "CodeSystem.useContext",
              "path": "CodeSystem.useContext",
              "short": "Context the content is intended to support",
              "definition": "The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching for appropriate code system instances.",
              "comment": "When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply.",
              "requirements": "Assist in searching for appropriate content.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "CodeSystem.useContext",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "UsageContext"
                }
              ],
              "isSummary": true
            },
            {
              "id": "CodeSystem.jurisdiction",
              "path": "CodeSystem.jurisdiction",
              "short": "Intended jurisdiction for code system (if applicable)",
              "definition": "A legal or geographic region in which the code system is intended to be used.",
              "comment": "It may be possible for the code system to be used in jurisdictions other than those for which it was originally designed or intended.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "CodeSystem.jurisdiction",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "Jurisdiction"
                  },
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                    "valueBoolean": true
                  }
                ],
                "strength": "extensible",
                "description": "Countries and regions within which this artifact is targeted for use",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/jurisdiction"
                }
              }
            },
            {
              "id": "CodeSystem.purpose",
              "path": "CodeSystem.purpose",
              "short": "Why this code system is defined",
              "definition": "Explaination of why this code system is needed and why it has been designed as it has.",
              "comment": "This element does not describe the usage of the code system Instead  it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is.  This may be used to point to source materials or specifications that drove the structure of this code system.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "CodeSystem.purpose",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "markdown"
                }
              ],
              "mapping": [
                {
                  "identity": "objimpl",
                  "map": "no-gen-base"
                },
                {
                  "identity": "w5",
                  "map": "why"
                }
              ]
            },
            {
              "id": "CodeSystem.copyright",
              "path": "CodeSystem.copyright",
              "short": "Use and/or publishing restrictions",
              "definition": "A copyright statement relating to the code system and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the code system.",
              "comment": "... Sometimes, the copyright differs between the code system and the codes that are included. The copyright statement should clearly differentiate between these when required.",
              "requirements": "Consumers must be able to determine any legal restrictions on the use of the code system and/or its content.",
              "alias": [
                "License",
                "Restrictions"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "CodeSystem.copyright",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "markdown"
                }
              ],
              "mapping": [
                {
                  "identity": "objimpl",
                  "map": "no-gen-base"
                }
              ]
            },
            {
              "id": "CodeSystem.caseSensitive",
              "path": "CodeSystem.caseSensitive",
              "short": "If code comparison is case sensitive",
              "definition": "If code comparison is case sensitive when codes within this system are compared to each other.",
              "comment": "If this value is missing, then it is not specified whether a code system is case sensitive or not. When the rule is not known, Postel's law should be followed: produce codes with the correct case, and accept codes in any case. This element is primarily provided to support validation software.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "CodeSystem.caseSensitive",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "boolean"
                }
              ],
              "isSummary": true
            },
            {
              "id": "CodeSystem.valueSet",
              "path": "CodeSystem.valueSet",
              "short": "Canonical URL for value set with entire code system",
              "definition": "Canonical URL of value set that contains the entire code system.",
              "comment": "The definition of the value set SHALL include all codes from this code system, and it SHALL be immutable.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "CodeSystem.valueSet",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "isSummary": true
            },
            {
              "id": "CodeSystem.hierarchyMeaning",
              "path": "CodeSystem.hierarchyMeaning",
              "short": "grouped-by | is-a | part-of | classified-with",
              "definition": "The meaning of the hierarchy of concepts.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "CodeSystem.hierarchyMeaning",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "CodeSystemHierarchyMeaning"
                  }
                ],
                "strength": "required",
                "description": "The meaning of the hierarchy of concepts in a code system",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/codesystem-hierarchy-meaning"
                }
              }
            },
            {
              "id": "CodeSystem.compositional",
              "path": "CodeSystem.compositional",
              "short": "If code system defines a post-composition grammar",
              "definition": "True If code system defines a post-composition grammar.",
              "comment": "Note that the code system resource does not define what the compositional grammar is, only whether or not there is one.",
              "alias": [
                "grammar"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "CodeSystem.compositional",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "boolean"
                }
              ],
              "isSummary": true
            },
            {
              "id": "CodeSystem.versionNeeded",
              "path": "CodeSystem.versionNeeded",
              "short": "If definitions are not stable",
              "definition": "This flag is used to signify that the code system has not (or does not) maintain the definitions, and a version must be specified when referencing this code system.",
              "comment": "Best practice is that code systems do not redefine concepts, or that if concepts are redefined, a new code system definition is created. But this is not always possible, so some code systems may be defined as 'versionNeeded'.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "CodeSystem.versionNeeded",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "boolean"
                }
              ],
              "isSummary": true
            },
            {
              "id": "CodeSystem.content",
              "path": "CodeSystem.content",
              "short": "not-present | example | fragment | complete",
              "definition": "How much of the content of the code system - the concepts and codes it defines - are represented in this resource.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "CodeSystem.content",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "CodeSystemContentMode"
                  }
                ],
                "strength": "required",
                "description": "How much of the content of the code system - the concepts and codes it defines - are represented in a code system resource",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/codesystem-content-mode"
                }
              }
            },
            {
              "id": "CodeSystem.count",
              "path": "CodeSystem.count",
              "short": "Total concepts in the code system",
              "definition": "The total number of concepts defined by the code system. Where the code system has a compositional grammar, the count refers to the number of base (primitive) concepts.",
              "comment": "The count of concepts defined in this resource cannot be more than this value, but may be less for several reasons - see the content value.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "CodeSystem.count",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "unsignedInt"
                }
              ],
              "isSummary": true
            },
            {
              "id": "CodeSystem.filter",
              "path": "CodeSystem.filter",
              "short": "Filter that can be used in a value set",
              "definition": "A filter that can be used in a value set compose statement when selecting concepts using a filter.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "CodeSystem.filter",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                }
              ],
              "isSummary": true
            },
            {
              "id": "CodeSystem.filter.id",
              "path": "CodeSystem.filter.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "CodeSystem.filter.extension",
              "path": "CodeSystem.filter.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "CodeSystem.filter.modifierExtension",
              "path": "CodeSystem.filter.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "CodeSystem.filter.code",
              "path": "CodeSystem.filter.code",
              "short": "Code that identifies the filter",
              "definition": "The code that identifies this filter when it is used in the instance.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "CodeSystem.filter.code",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "isSummary": true
            },
            {
              "id": "CodeSystem.filter.description",
              "path": "CodeSystem.filter.description",
              "short": "How or why the filter is used",
              "definition": "A description of how or why the filter is used.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "CodeSystem.filter.description",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "isSummary": true
            },
            {
              "id": "CodeSystem.filter.operator",
              "path": "CodeSystem.filter.operator",
              "short": "Operators that can be used with filter",
              "definition": "A list of operators that can be used with the filter.",
              "min": 1,
              "max": "*",
              "base": {
                "path": "CodeSystem.filter.operator",
                "min": 1,
                "max": "*"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "FilterOperator"
                  }
                ],
                "strength": "required",
                "description": "The kind of operation to perform as a part of a property based filter.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/filter-operator"
                }
              }
            },
            {
              "id": "CodeSystem.filter.value",
              "path": "CodeSystem.filter.value",
              "short": "What to use for the value",
              "definition": "A description of what the value for the filter should be.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "CodeSystem.filter.value",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "isSummary": true
            },
            {
              "id": "CodeSystem.property",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                  "valueString": "Property"
                }
              ],
              "path": "CodeSystem.property",
              "short": "Additional information supplied about each concept",
              "definition": "A property defines an additional slot through which additional information can be provided about a concept.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "CodeSystem.property",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                }
              ],
              "isSummary": true
            },
            {
              "id": "CodeSystem.property.id",
              "path": "CodeSystem.property.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "CodeSystem.property.extension",
              "path": "CodeSystem.property.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "CodeSystem.property.modifierExtension",
              "path": "CodeSystem.property.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "CodeSystem.property.code",
              "path": "CodeSystem.property.code",
              "short": "Identifies the property on the concepts, and when referred to in operations",
              "definition": "A code that is used to identify the property. The code is used internally (in CodeSystem.concept.property.code) and also externally, such as in property filters.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "CodeSystem.property.code",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "isSummary": true
            },
            {
              "id": "CodeSystem.property.uri",
              "path": "CodeSystem.property.uri",
              "short": "Formal identifier for the property",
              "definition": "Reference to the formal meaning of the property. One possible source of meaning is the [Concept Properties](codesystem-concept-properties.html) code system.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "CodeSystem.property.uri",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "isSummary": true
            },
            {
              "id": "CodeSystem.property.description",
              "path": "CodeSystem.property.description",
              "short": "Why the property is defined, and/or what it conveys",
              "definition": "A description of the property- why it is defined, and how its value might be used.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "CodeSystem.property.description",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "isSummary": true
            },
            {
              "id": "CodeSystem.property.type",
              "path": "CodeSystem.property.type",
              "short": "code | Coding | string | integer | boolean | dateTime",
              "definition": "The type of the property value. Properties of type \"code\" contain a code defined by the code system (e.g. a reference to anotherr defined concept).",
              "min": 1,
              "max": "1",
              "base": {
                "path": "CodeSystem.property.type",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "PropertyType"
                  }
                ],
                "strength": "required",
                "description": "The type of a property value",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/concept-property-type"
                }
              }
            },
            {
              "id": "CodeSystem.concept",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                  "valueString": "ConceptDefinition"
                }
              ],
              "path": "CodeSystem.concept",
              "short": "Concepts in the code system",
              "definition": "Concepts that are in the code system. The concept definitions are inherently hierarchical, but the definitions must be consulted to determine what the meaning of the hierarchical relationships are.",
              "comment": "If this is empty, it means that the code system resource does not represent the content of the code system.",
              "min": 1,
              "max": "*",
              "base": {
                "path": "CodeSystem.concept",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                }
              ]
            },
            {
              "id": "CodeSystem.concept.id",
              "path": "CodeSystem.concept.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "CodeSystem.concept.extension",
              "path": "CodeSystem.concept.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "CodeSystem.concept.modifierExtension",
              "path": "CodeSystem.concept.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "CodeSystem.concept.code",
              "path": "CodeSystem.concept.code",
              "short": "Code that identifies concept",
              "definition": "A code - a text symbol - that uniquely identifies the concept within the code system.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "CodeSystem.concept.code",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ]
            },
            {
              "id": "CodeSystem.concept.display",
              "path": "CodeSystem.concept.display",
              "short": "Text to display to the user",
              "definition": "A human readable string that is the recommended default way to present this concept to a user.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "CodeSystem.concept.display",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ]
            },
            {
              "id": "CodeSystem.concept.definition",
              "path": "CodeSystem.concept.definition",
              "short": "Formal definition",
              "definition": "The formal definition of the concept. The code system resource does not make formal definitions required, because of the prevalence of legacy systems. However, they are highly recommended, as without them there is no formal meaning associated with the concept.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "CodeSystem.concept.definition",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ]
            },
            {
              "id": "CodeSystem.concept.designation",
              "path": "CodeSystem.concept.designation",
              "short": "Additional representations for the concept",
              "definition": "Additional representations for the concept - other languages, aliases, specialized purposes, used for particular purposes, etc.",
              "requirements": "Many concept definition systems support multiple representations, in multiple languages, and for multiple purposes.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "CodeSystem.concept.designation",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                }
              ]
            },
            {
              "id": "CodeSystem.concept.designation.id",
              "path": "CodeSystem.concept.designation.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "CodeSystem.concept.designation.extension",
              "path": "CodeSystem.concept.designation.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "CodeSystem.concept.designation.modifierExtension",
              "path": "CodeSystem.concept.designation.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "CodeSystem.concept.designation.language",
              "path": "CodeSystem.concept.designation.language",
              "short": "Human language of the designation",
              "definition": "The language this designation is defined for.",
              "comment": "In the absence of a language, the resource language applies.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "CodeSystem.concept.designation.language",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "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"
                }
              }
            },
            {
              "id": "CodeSystem.concept.designation.use",
              "path": "CodeSystem.concept.designation.use",
              "short": "Details how this designation would be used",
              "definition": "A code that details how this designation would be used.",
              "comment": "If no use is provided, the designation can be assumed to be suitable for general display to a human user.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "CodeSystem.concept.designation.use",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Coding"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ConceptDesignationUse"
                  }
                ],
                "strength": "extensible",
                "description": "Details of how a designation would be used.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/designation-use"
                }
              }
            },
            {
              "id": "CodeSystem.concept.designation.value",
              "path": "CodeSystem.concept.designation.value",
              "short": "The text value for this designation",
              "definition": "The text value for this designation.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "CodeSystem.concept.designation.value",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ]
            },
            {
              "id": "CodeSystem.concept.property",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                  "valueString": "ConceptProperty"
                }
              ],
              "path": "CodeSystem.concept.property",
              "short": "Property value for the concept",
              "definition": "A property value for this concept.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "CodeSystem.concept.property",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                }
              ]
            },
            {
              "id": "CodeSystem.concept.property.id",
              "path": "CodeSystem.concept.property.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "CodeSystem.concept.property.extension",
              "path": "CodeSystem.concept.property.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "CodeSystem.concept.property.modifierExtension",
              "path": "CodeSystem.concept.property.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "CodeSystem.concept.property.code",
              "path": "CodeSystem.concept.property.code",
              "short": "Reference to CodeSystem.property.code",
              "definition": "A code that is a reference to CodeSystem.property.code.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "CodeSystem.concept.property.code",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ]
            },
            {
              "id": "CodeSystem.concept.property.value[x]",
              "path": "CodeSystem.concept.property.value[x]",
              "short": "Value of the property for this concept",
              "definition": "The value of this property.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "CodeSystem.concept.property.value[x]",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                },
                {
                  "code": "Coding"
                },
                {
                  "code": "string"
                },
                {
                  "code": "integer"
                },
                {
                  "code": "boolean"
                },
                {
                  "code": "dateTime"
                }
              ]
            },
            {
              "id": "CodeSystem.concept.concept",
              "path": "CodeSystem.concept.concept",
              "short": "Child Concepts (is-a/contains/categorizes)",
              "definition": "Defines children of a concept to produce a hierarchy of concepts. The nature of the relationships is variable (is-a/contains/categorizes) - see hierarchyMeaning.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "CodeSystem.concept.concept",
                "min": 0,
                "max": "*"
              },
              "contentReference": "#CodeSystem.concept"
            }
          ]
        },
        "differential": {
          "element": [
            {
              "id": "CodeSystem",
              "path": "CodeSystem",
              "min": 1,
              "max": "1"
            },
            {
              "id": "CodeSystem.url",
              "path": "CodeSystem.url",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "uri"
                }
              ]
            },
            {
              "id": "CodeSystem.version",
              "path": "CodeSystem.version",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "string"
                }
              ]
            },
            {
              "id": "CodeSystem.name",
              "path": "CodeSystem.name",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "string"
                }
              ]
            },
            {
              "id": "CodeSystem.status",
              "path": "CodeSystem.status",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "code"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "CodeSystem.experimental",
              "path": "CodeSystem.experimental",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "boolean"
                }
              ]
            },
            {
              "id": "CodeSystem.publisher",
              "path": "CodeSystem.publisher",
              "alias": [
                "steward"
              ],
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "string"
                }
              ]
            },
            {
              "id": "CodeSystem.description",
              "path": "CodeSystem.description",
              "alias": [
                "scope"
              ],
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "markdown"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "CodeSystem.caseSensitive",
              "path": "CodeSystem.caseSensitive",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "boolean"
                }
              ]
            },
            {
              "id": "CodeSystem.concept",
              "path": "CodeSystem.concept",
              "min": 1,
              "max": "*"
            },
            {
              "id": "CodeSystem.concept.code",
              "path": "CodeSystem.concept.code",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "code"
                }
              ]
            },
            {
              "id": "CodeSystem.concept.display",
              "path": "CodeSystem.concept.display",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "string"
                }
              ]
            },
            {
              "id": "CodeSystem.concept.definition",
              "path": "CodeSystem.concept.definition",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "string"
                }
              ]
            },
            {
              "id": "CodeSystem.concept.concept",
              "path": "CodeSystem.concept.concept",
              "min": 0,
              "max": "*",
              "contentReference": "#CodeSystem.concept"
            }
          ]
        }
      }
    },
    {
      "fullUrl": "http://hl7.org/fhir/StructureDefinition/devicemetricobservation",
      "resource": {
        "resourceType": "StructureDefinition",
        "id": "devicemetricobservation",
        "text": {
          "status": "generated",
          "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">to do</div>"
        },
        "url": "http://hl7.org/fhir/StructureDefinition/devicemetricobservation",
        "name": "Device Metric Observation Profile",
        "status": "draft",
        "experimental": false,
        "date": "2014-11-17",
        "publisher": "Health Level Seven International (Health Care Devices)",
        "contact": [
          {
            "telecom": [
              {
                "system": "url",
                "value": "http://hl7.org"
              }
            ]
          }
        ],
        "description": "This profile describes the direct or derived, qualitative or quantitative physiological measurement, setting, or calculation data produced by a medical device or a device component.",
        "fhirVersion": "3.0.1",
        "mapping": [
          {
            "identity": "workflow",
            "uri": "http://hl7.org/fhir/workflow",
            "name": "Workflow Mapping"
          },
          {
            "identity": "sct-concept",
            "uri": "http://snomed.info/conceptdomain",
            "name": "SNOMED CT Concept Domain Binding"
          },
          {
            "identity": "v2",
            "uri": "http://hl7.org/v2",
            "name": "HL7 v2 Mapping"
          },
          {
            "identity": "rim",
            "uri": "http://hl7.org/v3",
            "name": "RIM Mapping"
          },
          {
            "identity": "w5",
            "uri": "http://hl7.org/fhir/w5",
            "name": "W5 Mapping"
          },
          {
            "identity": "sct-attr",
            "uri": "http://snomed.info/sct",
            "name": "SNOMED CT Attribute Binding"
          }
        ],
        "kind": "resource",
        "abstract": false,
        "type": "Observation",
        "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Observation",
        "derivation": "constraint",
        "snapshot": {
          "element": [
            {
              "id": "Observation",
              "path": "Observation",
              "short": "Measurements and simple assertions",
              "definition": "Measurements and simple assertions made about a patient, device or other subject.",
              "comment": "Used for simple observations such as device measurements, laboratory atomic results, vital signs, height, weight, smoking status, comments, etc.  Other resources are used to provide context for observations such as lab reports, etc.",
              "alias": [
                "Vital Signs",
                "Measurement",
                "Results",
                "Tests"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation",
                "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)",
                  "source": "DomainResource"
                },
                {
                  "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)",
                  "source": "DomainResource"
                },
                {
                  "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))",
                  "source": "DomainResource"
                },
                {
                  "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))]))",
                  "source": "DomainResource"
                },
                {
                  "key": "obs-7",
                  "severity": "error",
                  "human": "If code is the same as a component code then the value element associated with the code SHALL NOT be present",
                  "expression": "value.empty() or code!=component.code",
                  "xpath": "not(exists(f:*[starts-with(local-name(.), 'value')])) or not(count(for $coding in f:code/f:coding return parent::*/f:component/f:code/f:coding[f:code/@value=$coding/f:code/@value and f:system/@value=$coding/f:system/@value])=0)",
                  "source": "Observation"
                },
                {
                  "key": "obs-6",
                  "severity": "error",
                  "human": "dataAbsentReason SHALL only be present if Observation.value[x] is not present",
                  "expression": "dataAbsentReason.empty() or value.empty()",
                  "xpath": "not(exists(f:dataAbsentReason)) or (not(exists(*[starts-with(local-name(.), 'value')])))",
                  "source": "Observation"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Entity. Role, or Act"
                },
                {
                  "identity": "workflow",
                  "map": "Event"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity|"
                },
                {
                  "identity": "v2",
                  "map": "OBX"
                },
                {
                  "identity": "rim",
                  "map": "Observation[classCode=OBS, moodCode=EVN]"
                },
                {
                  "identity": "w5",
                  "map": "clinical.diagnostics"
                }
              ]
            },
            {
              "id": "Observation.id",
              "path": "Observation.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "Observation.meta",
              "path": "Observation.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "Observation.implicitRules",
              "path": "Observation.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"
                }
              ],
              "isModifier": true,
              "isSummary": true
            },
            {
              "id": "Observation.language",
              "path": "Observation.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"
                }
              ],
              "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"
                }
              }
            },
            {
              "id": "Observation.text",
              "path": "Observation.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": [
                "dom-1"
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Act.text?"
                }
              ]
            },
            {
              "id": "Observation.contained",
              "path": "Observation.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": "N/A"
                }
              ]
            },
            {
              "id": "Observation.extension",
              "path": "Observation.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.modifierExtension",
              "path": "Observation.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 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"
                }
              ],
              "isModifier": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.identifier",
              "path": "Observation.identifier",
              "short": "Business Identifier for observation",
              "definition": "A unique identifier assigned to this observation.",
              "requirements": "Allows observations to be distinguished and referenced.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.identifier",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Identifier"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.identifier"
                },
                {
                  "identity": "v2",
                  "map": "OBX.21  For OBX segments from systems without OBX-21 support a combination of ORC/OBR and OBX must be negotiated between trading partners to uniquely identify the OBX segment. Depending on how V2 has been implemented each of these may be an option: 1) OBR-3 + OBX-3 + OBX-4 or 2) OBR-3 + OBR-4 + OBX-3 + OBX-4 or 2) some other way to uniquely ID the OBR/ORC + OBX-3 + OBX-4."
                },
                {
                  "identity": "rim",
                  "map": "id"
                },
                {
                  "identity": "w5",
                  "map": "id"
                }
              ]
            },
            {
              "id": "Observation.basedOn",
              "path": "Observation.basedOn",
              "short": "Fulfills plan, proposal or order",
              "definition": "A plan, proposal or order that is fulfilled in whole or in part by this event.",
              "requirements": "Allows tracing of authorization for the event and tracking whether proposals/recommendations were acted upon.",
              "alias": [
                "Fulfills"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.basedOn",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/CarePlan"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/DeviceRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ImmunizationRecommendation"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/NutritionOrder"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ProcedureRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ReferralRequest"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.basedOn"
                },
                {
                  "identity": "v2",
                  "map": "ORC"
                },
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=FLFS].target"
                }
              ]
            },
            {
              "id": "Observation.status",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-display-hint",
                  "valueString": "default: final"
                }
              ],
              "path": "Observation.status",
              "short": "registered | preliminary | final | amended +",
              "definition": "The status of the result value.",
              "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
              "requirements": "Need to track the status of individual results. Some results are finalized before the whole report is finalized.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.status",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "mustSupport": true,
              "isModifier": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationStatus"
                  }
                ],
                "strength": "required",
                "description": "Codes providing the status of an observation.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-status"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.status"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 445584004 |Report by finality status|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-11"
                },
                {
                  "identity": "rim",
                  "map": "status  Amended & Final are differentiated by whether it is the subject of a ControlAct event with a type of \"revise\""
                },
                {
                  "identity": "w5",
                  "map": "status"
                }
              ]
            },
            {
              "id": "Observation.category",
              "path": "Observation.category",
              "short": "Classification of  type of observation",
              "definition": "A code that classifies the general type of observation being made.",
              "comment": "In addition to the required category valueset, this element allows various categorization schemes based on the owner’s definition of the category and effectively multiple categories can be used at once.  The level of granularity is defined by the category concepts in the value set.",
              "requirements": "Used for filtering what observations are retrieved and displayed.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.category",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationCategory"
                  }
                ],
                "strength": "preferred",
                "description": "Codes for high level observation categories.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-category"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=\"COMP].target[classCode=\"LIST\", moodCode=\"EVN\"].code"
                },
                {
                  "identity": "w5",
                  "map": "class"
                }
              ]
            },
            {
              "id": "Observation.code",
              "path": "Observation.code",
              "short": "Type of observation (code / type)",
              "definition": "Describes what was observed. Sometimes this is called the observation \"name\".",
              "requirements": "Knowing what kind of observation is being made is essential to understanding the observation.",
              "alias": [
                "Name"
              ],
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.code",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationCode"
                  }
                ],
                "strength": "example",
                "description": "Codes identifying names of simple observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-codes"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.code"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity| OR < 386053000 |Evaluation procedure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-3"
                },
                {
                  "identity": "rim",
                  "map": "code"
                },
                {
                  "identity": "sct-attr",
                  "map": "116680003 |Is a|"
                },
                {
                  "identity": "w5",
                  "map": "what"
                }
              ]
            },
            {
              "id": "Observation.subject",
              "path": "Observation.subject",
              "short": "Who and/or what this is about",
              "definition": "The patient, or group of patients, location, or device whose characteristics (direct or indirect) are described by the observation and into whose record the observation is placed.  Comments: Indirect characteristics may be those of a specimen, fetus, donor,  other observer (for example a relative or EMT), or any observation made about the subject.",
              "comment": "One would expect this element to be a cardinality  of 1..1.  The only circumstance in which the subject can be missing is when the observation is made by a device that does not know the patient. In this case, the observation SHALL be matched to a patient through some context/channel matching technique, and at this point, the observation should be updated.\r\rIf the target of the observation is different than the subject, the general extension [observation-focal-subject](extension-observation-focal-subject.html).  may be used.  However, the distinction between the patient's own value for an observation versus that of the fetus, or the donor or blood product unit, etc., are often specified in the observation code.",
              "requirements": "Observations have no value if you don't know who or what they're about.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.subject",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.subject"
                },
                {
                  "identity": "v2",
                  "map": "PID-3"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=SBJ]"
                },
                {
                  "identity": "w5",
                  "map": "who.focus"
                }
              ]
            },
            {
              "id": "Observation.context",
              "path": "Observation.context",
              "short": "Healthcare event during which this observation is made",
              "definition": "The healthcare event  (e.g. a patient and healthcare provider interaction) during which this observation is made.",
              "comment": "This will typically be the encounter the event occurred within, but some events may be initiated prior to or after the official completion of an encounter or episode but still be tied to the context of the encounter or episode (e.g. pre-admission lab tests).",
              "requirements": "For some observations it may be important to know the link between an observation and a particular encounter.",
              "alias": [
                "Encounter"
              ],
              "min": 0,
              "max": "0",
              "base": {
                "path": "Observation.context",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
                }
              ],
              "mustSupport": false,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.context"
                },
                {
                  "identity": "v2",
                  "map": "PV1"
                },
                {
                  "identity": "rim",
                  "map": "inboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN]"
                },
                {
                  "identity": "w5",
                  "map": "context"
                }
              ]
            },
            {
              "id": "Observation.effectiveDateTime",
              "path": "Observation.effectiveDateTime",
              "short": "Clinically relevant time/time-period for observation",
              "definition": "The time or time-period the observed value is asserted as being true. For biological subjects - e.g. human patients - this is usually called the \"physiologically relevant time\". This is usually either the time of the procedure or of specimen collection, but very often the source of the date/time is not known, only the date/time itself.",
              "comment": "At least a date should be present unless this observation is a historical report.",
              "requirements": "Knowing when an observation was deemed true is important to its relevance as well as determining trends.",
              "alias": [
                "Occurrence"
              ],
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.effective[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "dateTime"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.occurrence[x]"
                },
                {
                  "identity": "v2",
                  "map": "OBX-14, and/or OBX-19 after v2.4  (depends on who observation made)"
                },
                {
                  "identity": "rim",
                  "map": "effectiveTime"
                },
                {
                  "identity": "w5",
                  "map": "when.done"
                }
              ]
            },
            {
              "id": "Observation.issued",
              "path": "Observation.issued",
              "short": "Date/Time this was made available",
              "definition": "The date and time this observation was made available to providers, typically after the results have been reviewed and verified.",
              "comment": "Updated when the result is updated.",
              "min": 0,
              "max": "0",
              "base": {
                "path": "Observation.issued",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "instant"
                }
              ],
              "mustSupport": false,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBR.22 (or MSH.7), or perhaps OBX-19 (depends on who observation made)"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=AUT].time"
                },
                {
                  "identity": "w5",
                  "map": "when.recorded"
                }
              ]
            },
            {
              "id": "Observation.performer",
              "path": "Observation.performer",
              "short": "Who is responsible for the observation",
              "definition": "Who was responsible for asserting the observed value as \"true\".",
              "requirements": "May give a degree of confidence in the observation and also indicates where follow-up questions should be directed.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.performer",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.performer"
                },
                {
                  "identity": "v2",
                  "map": "OBX.15 / (Practitioner)  OBX-16,  PRT-5:PRT-4='RO' /  (Device)  OBX-18 , PRT-10:PRT-4='EQUIP' / (Organization)  OBX-23,  PRT-8:PRT-4='PO'"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=PRF]"
                },
                {
                  "identity": "w5",
                  "map": "who.actor"
                }
              ]
            },
            {
              "id": "Observation.value[x]",
              "path": "Observation.value[x]",
              "short": "Actual result",
              "definition": "The information determined as a result of making the observation, if the information has a simple value.",
              "comment": "Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. This element has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueString, valueBoolean, valueRange, valueRatio, valueSampledData, valueAttachment, valueTime, valueDateTime, or valuePeriod. (The name format is \"'value' + the type name\" with a capital on the first letter of the type).\r\r\rIf the data element is usually coded or if the type associated with the Observation.value defines a coded value, use CodeableConcept instead of string datatype even if the value is uncoded text.  A value set is bound to the ValueCodeableConcept element.    For further discussion and examples see the  [notes section](observation.html#notes) below.",
              "requirements": "An observation exists to have a value, though it may not if it is in error, or if it represents a group of observations.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.value[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity"
                },
                {
                  "code": "CodeableConcept"
                },
                {
                  "code": "string"
                },
                {
                  "code": "Range"
                },
                {
                  "code": "Ratio"
                },
                {
                  "code": "SampledData"
                },
                {
                  "code": "Attachment"
                },
                {
                  "code": "time"
                },
                {
                  "code": "dateTime"
                },
                {
                  "code": "Period"
                }
              ],
              "condition": [
                "obs-7"
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.notDone, Event.notDoneReason  (maps to valeu[x] or dataAbsentReason)"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 441742003 |Evaluation finding|"
                },
                {
                  "identity": "v2",
                  "map": "OBX.2, OBX.5, OBX.6"
                },
                {
                  "identity": "rim",
                  "map": "value"
                },
                {
                  "identity": "sct-attr",
                  "map": "363714003 |Interprets|"
                }
              ]
            },
            {
              "id": "Observation.dataAbsentReason",
              "path": "Observation.dataAbsentReason",
              "short": "Why the result is missing",
              "definition": "Provides a reason why the expected value in the element Observation.value[x] is missing.",
              "comment": "Null or exceptional values can be represented two ways in FHIR Observations.  One way is to simply include them in the value set and represent the exceptions in the value.  For example, measurement values for a serology test could be  \"detected\", \"not detected\", \"inconclusive\", or  \"specimen unsatisfactory\".   The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values.  For example, the dataAbsentReason code \"error\" could be used when the measurement was not completed. Note that an observation may only be reported if there are values to report. For example differential cell counts values may be reported only when > 0.  Because of these options, use-case agreements are required to interpret general observations for null or exceptional values.",
              "requirements": "For many results it is necessary to handle exceptional values in measurements.",
              "min": 0,
              "max": "0",
              "base": {
                "path": "Observation.dataAbsentReason",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "condition": [
                "obs-6"
              ],
              "mustSupport": false,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationValueAbsentReason"
                  }
                ],
                "strength": "extensible",
                "description": "Codes specifying why the result (Observation.value[x]) is missing.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-valueabsentreason"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.notDone, Event.notDoneReason  (maps to valeu[x] or dataAbsentReason)"
                },
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": "value.nullFlavor"
                }
              ]
            },
            {
              "id": "Observation.interpretation",
              "path": "Observation.interpretation",
              "short": "High, low, normal, etc.",
              "definition": "The assessment made based on the result of the observation.  Intended as a simple compact code often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result. Otherwise known as abnormal flag.",
              "requirements": "For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result.",
              "alias": [
                "Abnormal Flag"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.interpretation",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": false,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationInterpretation"
                  }
                ],
                "strength": "extensible",
                "description": "Codes identifying interpretations of observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-interpretation"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-8"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "363713009 |Has interpretation|"
                }
              ]
            },
            {
              "id": "Observation.comment",
              "path": "Observation.comment",
              "short": "Comments about result",
              "definition": "May include statements about significant, unexpected or unreliable values, or information about the source of the value where this may be relevant to the interpretation of the result.",
              "requirements": "Need to be able to provide free text additional information.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.comment",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mustSupport": false,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.note"
                },
                {
                  "identity": "v2",
                  "map": "NTE.3 (partner NTE to OBX, or sometimes another (child?) OBX)"
                },
                {
                  "identity": "rim",
                  "map": "subjectOf.observationEvent[code=\"annotation\"].value"
                }
              ]
            },
            {
              "id": "Observation.bodySite",
              "path": "Observation.bodySite",
              "short": "Observed body part",
              "definition": "Indicates the site on the subject's body where the observation was made (i.e. the target site).",
              "comment": "Only used if not implicit in code found in Observation.code.  In many systems, this may be represented as a related observation instead of an inline component.   If the use case requires BodySite to be handled as a separate resource (e.g. to identify and track separately) then use the standard extension[ body-site-instance](extension-body-site-instance.html).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.bodySite",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "BodySite"
                  }
                ],
                "strength": "example",
                "description": "Codes describing anatomical locations. May include laterality.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/body-site"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 123037004 |Body structure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-20"
                },
                {
                  "identity": "rim",
                  "map": "targetSiteCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "718497002 |Inherent location|"
                }
              ]
            },
            {
              "id": "Observation.method",
              "path": "Observation.method",
              "short": "How it was done",
              "definition": "Indicates the mechanism used to perform the observation.",
              "comment": "Only used if not implicit in code for Observation.code.",
              "requirements": "In some cases, method can impact results and is thus used for determining whether results can be compared or determining significance of results.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.method",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationMethod"
                  }
                ],
                "strength": "example",
                "description": "Methods for simple observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-methods"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-17"
                },
                {
                  "identity": "rim",
                  "map": "methodCode"
                }
              ]
            },
            {
              "id": "Observation.specimen",
              "path": "Observation.specimen",
              "short": "Specimen used for this observation",
              "definition": "The specimen that was used when this observation was made.",
              "comment": "Should only be used if not implicit in code found in `Observation.code`.  Observations are not made on specimens themselves; they are made on a subject, but in many cases by the means of a specimen. Note that although specimens are often involved, they are not always tracked and reported explicitly. Also note that observation resources may be used in contexts that track the specimen explicitly (e.g. Diagnostic Report).",
              "min": 0,
              "max": "0",
              "base": {
                "path": "Observation.specimen",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Specimen"
                }
              ],
              "mustSupport": false,
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 123038009 |Specimen|"
                },
                {
                  "identity": "v2",
                  "map": "SPM segment"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=SPC].specimen"
                },
                {
                  "identity": "sct-attr",
                  "map": "704319004 |Inherent in|"
                }
              ]
            },
            {
              "id": "Observation.device",
              "path": "Observation.device",
              "short": "(Measurement) Device",
              "definition": "The device used to generate the observation data.",
              "comment": "An extension should be used if further typing of the device is needed.  Devices used to support obtaining an observation can be represented using either an extension or through the Observation.related element.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.device",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/DeviceMetric"
                }
              ],
              "mustSupport": true,
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 49062001 |Device|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-17 / PRT -10"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=DEV]"
                },
                {
                  "identity": "sct-attr",
                  "map": "424226004 |Using device|"
                }
              ]
            },
            {
              "id": "Observation.referenceRange",
              "path": "Observation.referenceRange",
              "short": "Provides guide for interpretation",
              "definition": "Guidance on how to interpret the value by comparison to a normal or recommended range.",
              "comment": "Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.",
              "requirements": "Knowing what values are considered \"normal\" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "key": "obs-3",
                  "severity": "error",
                  "human": "Must have at least a low or a high or text",
                  "expression": "low.exists() or high.exists() or text.exists()",
                  "xpath": "(exists(f:low) or exists(f:high)or exists(f:text))",
                  "source": "Observation.referenceRange"
                }
              ],
              "mustSupport": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX.7"
                },
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.id",
              "path": "Observation.referenceRange.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.extension",
              "path": "Observation.referenceRange.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.modifierExtension",
              "path": "Observation.referenceRange.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.low",
              "path": "Observation.referenceRange.low",
              "short": "Low Range, if relevant",
              "definition": "The value of the low bound of the reference range.  The low bound of the reference range endpoint is inclusive of the value (e.g.  reference range is >=5 - <=9).   If the low bound is omitted,  it is assumed to be meaningless (e.g. reference range is <=2.3).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.low",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity",
                  "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
                }
              ],
              "condition": [
                "obs-3"
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-7"
                },
                {
                  "identity": "rim",
                  "map": "value:IVL_PQ.low"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.high",
              "path": "Observation.referenceRange.high",
              "short": "High Range, if relevant",
              "definition": "The value of the high bound of the reference range.  The high bound of the reference range endpoint is inclusive of the value (e.g.  reference range is >=5 - <=9).   If the high bound is omitted,  it is assumed to be meaningless (e.g. reference range is >= 2.3).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.high",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity",
                  "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
                }
              ],
              "condition": [
                "obs-3"
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-7"
                },
                {
                  "identity": "rim",
                  "map": "value:IVL_PQ.high"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.type",
              "path": "Observation.referenceRange.type",
              "short": "Reference range qualifier",
              "definition": "Codes to indicate the what part of the targeted reference population it applies to. For example, the normal or therapeutic range.",
              "comment": "This SHOULD be populated if there is more than one range.  If this element is not present then the normal range is assumed.",
              "requirements": "Need to be able to say what kind of reference range this is - normal, recommended, therapeutic, etc,  - for proper interpretation.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.type",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRangeMeaning"
                  }
                ],
                "strength": "extensible",
                "description": "Code for the meaning of a reference range.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/referencerange-meaning"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values| OR  \r< 365860008 |General clinical state finding| \rOR \r< 250171008 |Clinical history or observation findings| OR  \r< 415229000 |Racial group| OR \r< 365400002 |Finding of puberty stage| OR\r< 443938003 |Procedure carried out on subject|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-10"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.appliesTo",
              "path": "Observation.referenceRange.appliesTo",
              "short": "Reference range population",
              "definition": "Codes to indicate the target population this reference range applies to.  For example, a reference range may be based on the normal population or a particular sex or race.",
              "comment": "This SHOULD be populated if there is more than one range.  If this element is not present then the normal population is assumed.",
              "requirements": "Need to be able to identify the target population for proper interpretation.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.referenceRange.appliesTo",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRangeType"
                  }
                ],
                "strength": "example",
                "description": "Codes identifying the population the reference range applies to.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/referencerange-appliesto"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values| OR  \r< 365860008 |General clinical state finding| \rOR \r< 250171008 |Clinical history or observation findings| OR  \r< 415229000 |Racial group| OR \r< 365400002 |Finding of puberty stage| OR\r< 443938003 |Procedure carried out on subject|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-10"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.age",
              "path": "Observation.referenceRange.age",
              "short": "Applicable age range, if relevant",
              "definition": "The age at which this reference range is applicable. This is a neonatal age (e.g. number of weeks at term) if the meaning says so.",
              "requirements": "Some analytes vary greatly over age.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.age",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Range"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=PRCN].targetObservationCriterion[code=\"age\"].value"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.text",
              "path": "Observation.referenceRange.text",
              "short": "Text based reference range in an observation",
              "definition": "Text based reference range in an observation which may be used when a quantitative range is not appropriate for an observation.  An example would be a reference value of \"Negative\" or a list or table of 'normals'.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.text",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-7"
                },
                {
                  "identity": "rim",
                  "map": "value:ST"
                }
              ]
            },
            {
              "id": "Observation.related",
              "path": "Observation.related",
              "short": "Resource related to this observation",
              "definition": "A  reference to another resource (usually another Observation) whose relationship is defined by the relationship type code.",
              "comment": "For a discussion on the ways Observations can assembled in groups together see [Notes below](observation.html#4.20.4).",
              "requirements": "Normally, an observation will have either a value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and a set of related observations or sometimes a QuestionnaireResponse from which the measure is derived.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.related",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "Relationships established by OBX-4 usage"
                },
                {
                  "identity": "rim",
                  "map": "outBoundRelationship"
                }
              ]
            },
            {
              "id": "Observation.related.id",
              "path": "Observation.related.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.related.extension",
              "path": "Observation.related.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.related.modifierExtension",
              "path": "Observation.related.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.related.type",
              "path": "Observation.related.type",
              "short": "has-member | derived-from | sequel-to | replaces | qualified-by | interfered-by",
              "definition": "A code specifying the kind of relationship that exists with the target resource.",
              "comment": "The \"derived-from\" type is the only logical choice when referencing the QuestionnaireAnswer resource.",
              "requirements": "A relationship type SHOULD be provided.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.related.type",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRelationshipType"
                  }
                ],
                "strength": "required",
                "description": "Codes specifying how two observations are related.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-relationshiptypes"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": ".typeCode"
                }
              ]
            },
            {
              "id": "Observation.related.target",
              "path": "Observation.related.target",
              "short": "Resource that is related to this one",
              "definition": "A reference to the observation or [QuestionnaireResponse](questionnaireresponse.html#) resource that is related to this observation.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.related.target",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
                }
              ],
              "mustSupport": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".targetObservation"
                }
              ]
            },
            {
              "id": "Observation.component",
              "path": "Observation.component",
              "short": "Component results",
              "definition": "Some observations have multiple component observations.  These component observations are expressed as separate code value pairs that share the same attributes.  Examples include systolic and diastolic component observations for blood pressure measurement and multiple component observations for genetics observations.",
              "comment": "For a discussion on the ways Observations can be assembled in groups together see [Notes](observation.html#notes) below.",
              "requirements": "Component observations share the same attributes in the Observation resource as the primary observation and are always treated a part of a single observation (they are not separable).   However, the reference range for the primary observation value is not inherited by the component values and is required when appropriate for each component observation.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.component",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "containment by OBX-4?"
                },
                {
                  "identity": "rim",
                  "map": "outBoundRelationship[typeCode=COMP]"
                }
              ]
            },
            {
              "id": "Observation.component.id",
              "path": "Observation.component.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.extension",
              "path": "Observation.component.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.modifierExtension",
              "path": "Observation.component.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.component.code",
              "path": "Observation.component.code",
              "short": "Type of component observation (code / type)",
              "definition": "Describes what was observed. Sometimes this is called the observation \"code\".",
              "requirements": "Knowing what kind of observation is being made is essential to understanding the observation.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.component.code",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationCode"
                  }
                ],
                "strength": "example",
                "description": "Codes identifying names of simple observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-codes"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity| OR \r< 386053000 |Evaluation procedure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-3"
                },
                {
                  "identity": "rim",
                  "map": "code"
                },
                {
                  "identity": "w5",
                  "map": "what"
                }
              ]
            },
            {
              "id": "Observation.component.value[x]",
              "path": "Observation.component.value[x]",
              "short": "Actual component result",
              "definition": "The information determined as a result of making the observation, if the information has a simple value.",
              "comment": "Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value.   For boolean values use valueCodeableConcept and select codes from <http://hl7.org/fhir/ValueSet/v2-0136> (these \"yes/no\" concepts can be mapped to the display name \"true/false\" or other mutually exclusive terms that may be needed\").  The element, Observation.value[x], has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueRatio, valueChoice, valuePeriod, valueSampleData, or valueString (the name format is \"'value' + the type name\" with a capital on the first letter of the type).",
              "requirements": "An observation exists to have a value, though it may not if it is in error, or if it represents a group of observations.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.value[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity"
                },
                {
                  "code": "CodeableConcept"
                },
                {
                  "code": "string"
                },
                {
                  "code": "Range"
                },
                {
                  "code": "Ratio"
                },
                {
                  "code": "SampledData"
                },
                {
                  "code": "Attachment"
                },
                {
                  "code": "time"
                },
                {
                  "code": "dateTime"
                },
                {
                  "code": "Period"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "363714003 |Interprets| < 441742003 |Evaluation finding|"
                },
                {
                  "identity": "v2",
                  "map": "OBX.2, OBX.5, OBX.6"
                },
                {
                  "identity": "rim",
                  "map": "value"
                },
                {
                  "identity": "sct-attr",
                  "map": "363714003 |Interprets|"
                }
              ]
            },
            {
              "id": "Observation.component.dataAbsentReason",
              "path": "Observation.component.dataAbsentReason",
              "short": "Why the component result is missing",
              "definition": "Provides a reason why the expected value in the element Observation.value[x] is missing.",
              "comment": "\"Null\" or exceptional values can be represented two ways in FHIR Observations.  One way is to simply include them in the value set and represent the exceptions in the value.  For example, measurement values for a serology test could be  \"detected\", \"not detected\", \"inconclusive\", or  \"test not done\".   The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values.  For example, the dataAbsentReason code \"error\" could be used when the measurement was not completed.  Because of these options, use-case agreements are required to interpret general observations for exceptional values.",
              "requirements": "For many results it is necessary to handle exceptional values in measurements.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.dataAbsentReason",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "condition": [
                "obs-6"
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationValueAbsentReason"
                  }
                ],
                "strength": "extensible",
                "description": "Codes specifying why the result (Observation.value[x]) is missing.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-valueabsentreason"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": "value.nullFlavor"
                }
              ]
            },
            {
              "id": "Observation.component.interpretation",
              "path": "Observation.component.interpretation",
              "short": "High, low, normal, etc.",
              "definition": "The assessment made based on the result of the observation.  Intended as a simple compact code often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result. Otherwise known as abnormal flag.",
              "comment": "The component interpretation applies only to the individual component value.  For an overall interpretation all components together use thes Observation.interpretation element.",
              "requirements": "For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result.",
              "alias": [
                "Abnormal Flag"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.interpretation",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationInterpretation"
                  }
                ],
                "strength": "extensible",
                "description": "Codes identifying interpretations of observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-interpretation"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-8"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "363713009 |Has interpretation|"
                }
              ]
            },
            {
              "id": "Observation.component.referenceRange",
              "path": "Observation.component.referenceRange",
              "short": "Provides guide for interpretation of component result",
              "definition": "Guidance on how to interpret the value by comparison to a normal or recommended range.",
              "comment": "Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.",
              "requirements": "Knowing what values are considered \"normal\" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.component.referenceRange",
                "min": 0,
                "max": "*"
              },
              "contentReference": "#Observation.referenceRange",
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX.7"
                },
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]"
                }
              ]
            }
          ]
        },
        "differential": {
          "element": [
            {
              "id": "Observation",
              "path": "Observation",
              "min": 0,
              "max": "*"
            },
            {
              "id": "Observation.identifier",
              "path": "Observation.identifier",
              "min": 0,
              "max": "*",
              "type": [
                {
                  "code": "Identifier"
                }
              ],
              "mustSupport": true
            },
            {
              "id": "Observation.status",
              "path": "Observation.status",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "code"
                }
              ],
              "mustSupport": true
            },
            {
              "id": "Observation.code",
              "path": "Observation.code",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": true
            },
            {
              "id": "Observation.subject",
              "path": "Observation.subject",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
                }
              ],
              "mustSupport": true
            },
            {
              "id": "Observation.context",
              "path": "Observation.context",
              "min": 0,
              "max": "0",
              "mustSupport": false
            },
            {
              "id": "Observation.effectiveDateTime",
              "path": "Observation.effectiveDateTime",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "dateTime"
                }
              ],
              "mustSupport": true
            },
            {
              "id": "Observation.issued",
              "path": "Observation.issued",
              "min": 0,
              "max": "0",
              "type": [
                {
                  "code": "instant"
                }
              ],
              "mustSupport": false
            },
            {
              "id": "Observation.value[x]",
              "path": "Observation.value[x]",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "Quantity"
                },
                {
                  "code": "CodeableConcept"
                },
                {
                  "code": "string"
                },
                {
                  "code": "Range"
                },
                {
                  "code": "Ratio"
                },
                {
                  "code": "SampledData"
                },
                {
                  "code": "Attachment"
                },
                {
                  "code": "time"
                },
                {
                  "code": "dateTime"
                },
                {
                  "code": "Period"
                }
              ],
              "mustSupport": true
            },
            {
              "id": "Observation.dataAbsentReason",
              "path": "Observation.dataAbsentReason",
              "min": 0,
              "max": "0",
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": false
            },
            {
              "id": "Observation.interpretation",
              "path": "Observation.interpretation",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": false
            },
            {
              "id": "Observation.comment",
              "path": "Observation.comment",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "string"
                }
              ],
              "mustSupport": false
            },
            {
              "id": "Observation.bodySite",
              "path": "Observation.bodySite",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": true
            },
            {
              "id": "Observation.method",
              "path": "Observation.method",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": true
            },
            {
              "id": "Observation.specimen",
              "path": "Observation.specimen",
              "min": 0,
              "max": "0",
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Specimen"
                }
              ],
              "mustSupport": false
            },
            {
              "id": "Observation.device",
              "path": "Observation.device",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/DeviceMetric"
                }
              ],
              "mustSupport": true
            },
            {
              "id": "Observation.referenceRange",
              "path": "Observation.referenceRange",
              "min": 0,
              "max": "1",
              "mustSupport": true
            },
            {
              "id": "Observation.related",
              "path": "Observation.related",
              "min": 0,
              "max": "1",
              "mustSupport": true
            },
            {
              "id": "Observation.related.type",
              "path": "Observation.related.type",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "code"
                }
              ],
              "mustSupport": true
            },
            {
              "id": "Observation.related.target",
              "path": "Observation.related.target",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
                }
              ],
              "mustSupport": true
            }
          ]
        }
      }
    },
    {
      "fullUrl": "http://hl7.org/fhir/StructureDefinition/observation-genetics",
      "resource": {
        "resourceType": "StructureDefinition",
        "id": "observation-genetics",
        "text": {
          "status": "generated",
          "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">to do</div>"
        },
        "url": "http://hl7.org/fhir/StructureDefinition/observation-genetics",
        "name": "Observation-genetics",
        "status": "draft",
        "experimental": false,
        "date": "2016-03-14",
        "publisher": "Health Level Seven International (Clinical Genomics)",
        "contact": [
          {
            "telecom": [
              {
                "system": "url",
                "value": "http://www.hl7.org/Special/committees/clingenomics"
              }
            ]
          }
        ],
        "description": "Describes how the observation resource is used to report structured genetic test results",
        "fhirVersion": "3.0.1",
        "mapping": [
          {
            "identity": "workflow",
            "uri": "http://hl7.org/fhir/workflow",
            "name": "Workflow Mapping"
          },
          {
            "identity": "sct-concept",
            "uri": "http://snomed.info/conceptdomain",
            "name": "SNOMED CT Concept Domain Binding"
          },
          {
            "identity": "v2",
            "uri": "http://hl7.org/v2",
            "name": "HL7 v2 Mapping"
          },
          {
            "identity": "rim",
            "uri": "http://hl7.org/v3",
            "name": "RIM Mapping"
          },
          {
            "identity": "w5",
            "uri": "http://hl7.org/fhir/w5",
            "name": "W5 Mapping"
          },
          {
            "identity": "sct-attr",
            "uri": "http://snomed.info/sct",
            "name": "SNOMED CT Attribute Binding"
          }
        ],
        "kind": "resource",
        "abstract": false,
        "type": "Observation",
        "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Observation",
        "derivation": "constraint",
        "snapshot": {
          "element": [
            {
              "id": "Observation",
              "path": "Observation",
              "short": "Measurements and simple assertions",
              "definition": "Measurements and simple assertions made about a patient, device or other subject.",
              "comment": "Used for simple observations such as device measurements, laboratory atomic results, vital signs, height, weight, smoking status, comments, etc.  Other resources are used to provide context for observations such as lab reports, etc.",
              "alias": [
                "Vital Signs",
                "Measurement",
                "Results",
                "Tests"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation",
                "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)",
                  "source": "DomainResource"
                },
                {
                  "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)",
                  "source": "DomainResource"
                },
                {
                  "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))",
                  "source": "DomainResource"
                },
                {
                  "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))]))",
                  "source": "DomainResource"
                },
                {
                  "key": "obs-7",
                  "severity": "error",
                  "human": "If code is the same as a component code then the value element associated with the code SHALL NOT be present",
                  "expression": "value.empty() or code!=component.code",
                  "xpath": "not(exists(f:*[starts-with(local-name(.), 'value')])) or not(count(for $coding in f:code/f:coding return parent::*/f:component/f:code/f:coding[f:code/@value=$coding/f:code/@value and f:system/@value=$coding/f:system/@value])=0)",
                  "source": "Observation"
                },
                {
                  "key": "obs-6",
                  "severity": "error",
                  "human": "dataAbsentReason SHALL only be present if Observation.value[x] is not present",
                  "expression": "dataAbsentReason.empty() or value.empty()",
                  "xpath": "not(exists(f:dataAbsentReason)) or (not(exists(*[starts-with(local-name(.), 'value')])))",
                  "source": "Observation"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Entity. Role, or Act"
                },
                {
                  "identity": "workflow",
                  "map": "Event"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity|"
                },
                {
                  "identity": "v2",
                  "map": "OBX"
                },
                {
                  "identity": "rim",
                  "map": "Observation[classCode=OBS, moodCode=EVN]"
                },
                {
                  "identity": "w5",
                  "map": "clinical.diagnostics"
                }
              ]
            },
            {
              "id": "Observation.id",
              "path": "Observation.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "Observation.meta",
              "path": "Observation.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "Observation.implicitRules",
              "path": "Observation.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"
                }
              ],
              "isModifier": true,
              "isSummary": true
            },
            {
              "id": "Observation.language",
              "path": "Observation.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"
                }
              ],
              "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"
                }
              }
            },
            {
              "id": "Observation.text",
              "path": "Observation.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": [
                "dom-1"
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Act.text?"
                }
              ]
            },
            {
              "id": "Observation.contained",
              "path": "Observation.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": "N/A"
                }
              ]
            },
            {
              "id": "Observation.extension",
              "path": "Observation.extension",
              "slicing": {
                "id": "3",
                "discriminator": [
                  {
                    "type": "value",
                    "path": "url"
                  }
                ],
                "ordered": false,
                "rules": "open"
              },
              "short": "Extension",
              "definition": "An Extension",
              "min": 0,
              "max": "*",
              "base": {
                "path": "DomainResource.extension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension"
                }
              ]
            },
            {
              "id": "Observation.extension:dnasequencevariantname",
              "path": "Observation.extension",
              "sliceName": "DNASequenceVariantName",
              "short": "DNA sequence variant",
              "definition": "A' is a variant (mutation) of A = definition every instance of A' is either an immediate mutation of some instance of A, or there is a chain of immediate mutation processes linking A' to some instance of A ([variant_of](http://www.sequenceontology.org/browser/current_svn/term/variant_of)). This element is the Human Genome Variation Society ([HGVS](http://varnomen.hgvs.org/)) nomenclature for a single or set of DNA sequence variant(s) identified in testing. Reference sequence ID used for HGVS naming must be annotated.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "DomainResource.extension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/observation-geneticsDNASequenceVariantName"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "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')])",
                  "source": "Extension"
                }
              ]
            },
            {
              "id": "Observation.extension:dnavariantid",
              "path": "Observation.extension",
              "sliceName": "DNAVariantId",
              "short": "DNA sequence variant ID",
              "definition": "Identifier for DNA sequence variant.  If a germline variant, ClinVar or dbSNP identifier should be used.  If a somatic variant, COSMIC identifier should be used, unless in ClinVar then either maybe used. Need to provide the code system used (ClinVar, dbSNP, COSMIC).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "DomainResource.extension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/observation-geneticsDNAVariantId"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "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')])",
                  "source": "Extension"
                }
              ]
            },
            {
              "id": "Observation.extension:dnasequencevarianttype",
              "path": "Observation.extension",
              "sliceName": "DNASequenceVariantType",
              "short": "DNA sequence variant type",
              "definition": "Codified type for associated DNA sequence variant. DNA sequence variants use the HGVS notation, which implies the DNA sequence variant type.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "DomainResource.extension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/observation-geneticsDNASequenceVariantType"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "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')])",
                  "source": "Extension"
                }
              ]
            },
            {
              "id": "Observation.extension:aminoacidchangename",
              "path": "Observation.extension",
              "sliceName": "AminoAcidChangeName",
              "short": "Amino acid change",
              "definition": "Human Genome Variation Society (HGVS) nomenclature for an amino acid change. Reference sequence ID used for HGVS naming must be annotated. An amino acid is a sequence feature that corresponds to a single amino acid residue in a polypeptide ([SO:0001237](http://www.sequenceontology.org/browser/current_svn/term/SO:0001237)).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "DomainResource.extension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/observation-geneticsAminoAcidChangeName"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "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')])",
                  "source": "Extension"
                }
              ]
            },
            {
              "id": "Observation.extension:aminoacidchangetype",
              "path": "Observation.extension",
              "sliceName": "AminoAcidChangeType",
              "short": "Amino Acid Change Type",
              "definition": "Codified type for associated Amino Acid Change.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "DomainResource.extension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/observation-geneticsAminoAcidChangeType"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "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')])",
                  "source": "Extension"
                }
              ]
            },
            {
              "id": "Observation.extension:genesymbol",
              "path": "Observation.extension",
              "sliceName": "GeneSymbol",
              "short": "HGNC gene symbol",
              "definition": "A region (or regions) that includes all of the sequence elements necessary to encode a functional transcript. A gene may include regulatory regions, transcribed regions and/or other functional sequence regions ([SO:0000704](http://www.sequenceontology.org/browser/current_svn/term/SO:0000704)). This element is the official gene symbol approved by the HGNC, which is a short abbreviated form of the gene name ([HGNC](http://www.genenames.org)).",
              "comment": "Other systems or genes not defined in HGNC (e.g., BCR-ABL fusion gene) can be added by using a local extension.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "DomainResource.extension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/observation-geneticsGene"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "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')])",
                  "source": "Extension"
                }
              ]
            },
            {
              "id": "Observation.extension:dnaregionname",
              "path": "Observation.extension",
              "sliceName": "DNARegionName",
              "short": "DNA region name",
              "definition": "A human readable name for the region of interest. Typically Exon #, Intron # or other. NOTE: This is not standardized and is mainly for convenience and display purposes.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "DomainResource.extension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/observation-geneticsDNARegionName"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "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')])",
                  "source": "Extension"
                }
              ]
            },
            {
              "id": "Observation.extension:allelename",
              "path": "Observation.extension",
              "sliceName": "AlleleName",
              "short": "Name of allele",
              "definition": "An allele is one of a set of coexisting sequence variants of a gene ([SO:0001023](http://www.sequenceontology.org/browser/current_svn/term/SO:0001023)). This element is the common name for the allele.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "DomainResource.extension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/observation-geneticsAlleleName"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "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')])",
                  "source": "Extension"
                }
              ]
            },
            {
              "id": "Observation.extension:allelicstate",
              "path": "Observation.extension",
              "sliceName": "AllelicState",
              "short": "The level of occurrence of a single DNA sequence variant within a set of chromosomes: Heteroplasmic / Homoplasmic / Homozygous / Heterozygous / Hemizygous",
              "definition": "The level of occurrence of a single DNA Sequence Variant within a set of chromosomes. Heterozygous indicates the DNA sequence variant is only present in one of the two genes contained in homologous chromosomes. Homozygous indicates the DNA Sequence Variant is present in both genes contained in homologous chromosomes. Hemizygous indicates the DNA Sequence Variant exists in the only single copy of a gene in a non-homologous chromosome (the male X and Y chromosome are non-homologous). Hemiplasmic indicates that the DNA Sequence Variant is present in some but not all of the copies of mitochondrial DNA. Homoplasmic indicates that the DNA Sequence Variant is present in all of the copies of mitochondrial DNA.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "DomainResource.extension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/observation-geneticsAllelicState"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "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')])",
                  "source": "Extension"
                }
              ]
            },
            {
              "id": "Observation.extension:allelicfrequency",
              "path": "Observation.extension",
              "sliceName": "AllelicFrequency",
              "short": "Allele frequency",
              "definition": "A physical quality which inheres to the allele by virtue of the number instances of the allele within a population.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "DomainResource.extension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/observation-geneticsAllelicFrequency"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "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')])",
                  "source": "Extension"
                }
              ]
            },
            {
              "id": "Observation.extension:copynumberevent",
              "path": "Observation.extension",
              "sliceName": "CopyNumberEvent",
              "short": "Copy number variation",
              "definition": "A variation that increases or decreases the copy number of a given region ([SO:0001019](http://www.sequenceontology.org/browser/current_svn/term/SO:0001019)). Values: amplification/deletion/LOH.",
              "comment": "Loss of heterozygosity (LOH) is a functional variant whereby the sequence alteration causes a loss of function of one allele of a gene ([SO:0001786](http://www.sequenceontology.org/browser/current_svn/term/SO:0001786)).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "DomainResource.extension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/observation-geneticsCopyNumberEvent"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "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')])",
                  "source": "Extension"
                }
              ]
            },
            {
              "id": "Observation.extension:genomicsourceclass",
              "path": "Observation.extension",
              "sliceName": "GenomicSourceClass",
              "short": "Genomic source class",
              "definition": "Source of sample used to determine the sequence in sequencing lab -- germline, somatic, prenatal.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "DomainResource.extension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/observation-geneticsGenomicSourceClass"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "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')])",
                  "source": "Extension"
                }
              ]
            },
            {
              "id": "Observation.extension:phaseset",
              "path": "Observation.extension",
              "sliceName": "PhaseSet",
              "short": "Phase set identifier (UUID/OID)",
              "definition": "Chromosomal phase set identifier (UUID/OID). All sequences with the same PhaseSet identifier are asserted to be on the same chromosome (cis).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "DomainResource.extension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/observation-geneticsPhaseSet"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "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')])",
                  "source": "Extension"
                }
              ]
            },
            {
              "id": "Observation.extension:sequence",
              "path": "Observation.extension",
              "sliceName": "Sequence",
              "short": "Sequence",
              "definition": "Refers to the Sequence resource, representing raw genetics data.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "DomainResource.extension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/observation-geneticsSequence"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "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')])",
                  "source": "Extension"
                }
              ]
            },
            {
              "id": "Observation.extension:interpretation",
              "path": "Observation.extension",
              "sliceName": "Interpretation",
              "short": "Clinical interpretations for variant",
              "definition": "Clinical Interpretations for variant. It's a reference to an Observation resource.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "DomainResource.extension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/observation-geneticsInterpretation"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "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')])",
                  "source": "Extension"
                }
              ]
            },
            {
              "id": "Observation.modifierExtension",
              "path": "Observation.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 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"
                }
              ],
              "isModifier": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.identifier",
              "path": "Observation.identifier",
              "short": "Business Identifier for observation",
              "definition": "A unique identifier assigned to this observation.",
              "requirements": "Allows observations to be distinguished and referenced.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.identifier",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Identifier"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.identifier"
                },
                {
                  "identity": "v2",
                  "map": "OBX.21  For OBX segments from systems without OBX-21 support a combination of ORC/OBR and OBX must be negotiated between trading partners to uniquely identify the OBX segment. Depending on how V2 has been implemented each of these may be an option: 1) OBR-3 + OBX-3 + OBX-4 or 2) OBR-3 + OBR-4 + OBX-3 + OBX-4 or 2) some other way to uniquely ID the OBR/ORC + OBX-3 + OBX-4."
                },
                {
                  "identity": "rim",
                  "map": "id"
                },
                {
                  "identity": "w5",
                  "map": "id"
                }
              ]
            },
            {
              "id": "Observation.basedOn",
              "path": "Observation.basedOn",
              "short": "Fulfills plan, proposal or order",
              "definition": "A plan, proposal or order that is fulfilled in whole or in part by this event.",
              "requirements": "Allows tracing of authorization for the event and tracking whether proposals/recommendations were acted upon.",
              "alias": [
                "Fulfills"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.basedOn",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/CarePlan"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/DeviceRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ImmunizationRecommendation"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/NutritionOrder"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ProcedureRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ReferralRequest"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.basedOn"
                },
                {
                  "identity": "v2",
                  "map": "ORC"
                },
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=FLFS].target"
                }
              ]
            },
            {
              "id": "Observation.status",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-display-hint",
                  "valueString": "default: final"
                }
              ],
              "path": "Observation.status",
              "short": "registered | preliminary | final | amended +",
              "definition": "The status of the result value.",
              "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
              "requirements": "Need to track the status of individual results. Some results are finalized before the whole report is finalized.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.status",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationStatus"
                  }
                ],
                "strength": "required",
                "description": "Codes providing the status of an observation.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-status"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.status"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 445584004 |Report by finality status|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-11"
                },
                {
                  "identity": "rim",
                  "map": "status  Amended & Final are differentiated by whether it is the subject of a ControlAct event with a type of \"revise\""
                },
                {
                  "identity": "w5",
                  "map": "status"
                }
              ]
            },
            {
              "id": "Observation.category",
              "path": "Observation.category",
              "short": "Classification of  type of observation",
              "definition": "A code that classifies the general type of observation being made.",
              "comment": "In addition to the required category valueset, this element allows various categorization schemes based on the owner’s definition of the category and effectively multiple categories can be used at once.  The level of granularity is defined by the category concepts in the value set.",
              "requirements": "Used for filtering what observations are retrieved and displayed.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.category",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationCategory"
                  }
                ],
                "strength": "preferred",
                "description": "Codes for high level observation categories.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-category"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=\"COMP].target[classCode=\"LIST\", moodCode=\"EVN\"].code"
                },
                {
                  "identity": "w5",
                  "map": "class"
                }
              ]
            },
            {
              "id": "Observation.code",
              "path": "Observation.code",
              "short": "Type of observation (code / type)",
              "definition": "Describes what was observed. Sometimes this is called the observation \"name\".",
              "requirements": "Knowing what kind of observation is being made is essential to understanding the observation.",
              "alias": [
                "Name"
              ],
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.code",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationCode"
                  }
                ],
                "strength": "example",
                "description": "Codes identifying names of simple observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-codes"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.code"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity| OR < 386053000 |Evaluation procedure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-3"
                },
                {
                  "identity": "rim",
                  "map": "code"
                },
                {
                  "identity": "sct-attr",
                  "map": "116680003 |Is a|"
                },
                {
                  "identity": "w5",
                  "map": "what"
                }
              ]
            },
            {
              "id": "Observation.subject",
              "path": "Observation.subject",
              "short": "Who and/or what this is about",
              "definition": "The patient, or group of patients, location, or device whose characteristics (direct or indirect) are described by the observation and into whose record the observation is placed.  Comments: Indirect characteristics may be those of a specimen, fetus, donor,  other observer (for example a relative or EMT), or any observation made about the subject.",
              "comment": "One would expect this element to be a cardinality  of 1..1.  The only circumstance in which the subject can be missing is when the observation is made by a device that does not know the patient. In this case, the observation SHALL be matched to a patient through some context/channel matching technique, and at this point, the observation should be updated.\r\rIf the target of the observation is different than the subject, the general extension [observation-focal-subject](extension-observation-focal-subject.html).  may be used.  However, the distinction between the patient's own value for an observation versus that of the fetus, or the donor or blood product unit, etc., are often specified in the observation code.",
              "requirements": "Observations have no value if you don't know who or what they're about.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.subject",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.subject"
                },
                {
                  "identity": "v2",
                  "map": "PID-3"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=SBJ]"
                },
                {
                  "identity": "w5",
                  "map": "who.focus"
                }
              ]
            },
            {
              "id": "Observation.context",
              "path": "Observation.context",
              "short": "Healthcare event during which this observation is made",
              "definition": "The healthcare event  (e.g. a patient and healthcare provider interaction) during which this observation is made.",
              "comment": "This will typically be the encounter the event occurred within, but some events may be initiated prior to or after the official completion of an encounter or episode but still be tied to the context of the encounter or episode (e.g. pre-admission lab tests).",
              "requirements": "For some observations it may be important to know the link between an observation and a particular encounter.",
              "alias": [
                "Encounter"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.context",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
                }
              ],
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.context"
                },
                {
                  "identity": "v2",
                  "map": "PV1"
                },
                {
                  "identity": "rim",
                  "map": "inboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN]"
                },
                {
                  "identity": "w5",
                  "map": "context"
                }
              ]
            },
            {
              "id": "Observation.effective[x]",
              "path": "Observation.effective[x]",
              "short": "Clinically relevant time/time-period for observation",
              "definition": "The time or time-period the observed value is asserted as being true. For biological subjects - e.g. human patients - this is usually called the \"physiologically relevant time\". This is usually either the time of the procedure or of specimen collection, but very often the source of the date/time is not known, only the date/time itself.",
              "comment": "At least a date should be present unless this observation is a historical report.",
              "requirements": "Knowing when an observation was deemed true is important to its relevance as well as determining trends.",
              "alias": [
                "Occurrence"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.effective[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "dateTime"
                },
                {
                  "code": "Period"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.occurrence[x]"
                },
                {
                  "identity": "v2",
                  "map": "OBX-14, and/or OBX-19 after v2.4  (depends on who observation made)"
                },
                {
                  "identity": "rim",
                  "map": "effectiveTime"
                },
                {
                  "identity": "w5",
                  "map": "when.done"
                }
              ]
            },
            {
              "id": "Observation.issued",
              "path": "Observation.issued",
              "short": "Date/Time this was made available",
              "definition": "The date and time this observation was made available to providers, typically after the results have been reviewed and verified.",
              "comment": "Updated when the result is updated.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.issued",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "instant"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBR.22 (or MSH.7), or perhaps OBX-19 (depends on who observation made)"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=AUT].time"
                },
                {
                  "identity": "w5",
                  "map": "when.recorded"
                }
              ]
            },
            {
              "id": "Observation.performer",
              "path": "Observation.performer",
              "short": "Who is responsible for the observation",
              "definition": "Who was responsible for asserting the observed value as \"true\".",
              "requirements": "May give a degree of confidence in the observation and also indicates where follow-up questions should be directed.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.performer",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.performer"
                },
                {
                  "identity": "v2",
                  "map": "OBX.15 / (Practitioner)  OBX-16,  PRT-5:PRT-4='RO' /  (Device)  OBX-18 , PRT-10:PRT-4='EQUIP' / (Organization)  OBX-23,  PRT-8:PRT-4='PO'"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=PRF]"
                },
                {
                  "identity": "w5",
                  "map": "who.actor"
                }
              ]
            },
            {
              "id": "Observation.value[x]",
              "path": "Observation.value[x]",
              "short": "Actual result",
              "definition": "The information determined as a result of making the observation, if the information has a simple value.",
              "comment": "Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. This element has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueString, valueBoolean, valueRange, valueRatio, valueSampledData, valueAttachment, valueTime, valueDateTime, or valuePeriod. (The name format is \"'value' + the type name\" with a capital on the first letter of the type).\r\r\rIf the data element is usually coded or if the type associated with the Observation.value defines a coded value, use CodeableConcept instead of string datatype even if the value is uncoded text.  A value set is bound to the ValueCodeableConcept element.    For further discussion and examples see the  [notes section](observation.html#notes) below.",
              "requirements": "An observation exists to have a value, though it may not if it is in error, or if it represents a group of observations.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.value[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity"
                },
                {
                  "code": "CodeableConcept"
                },
                {
                  "code": "string"
                },
                {
                  "code": "boolean"
                },
                {
                  "code": "Range"
                },
                {
                  "code": "Ratio"
                },
                {
                  "code": "SampledData"
                },
                {
                  "code": "Attachment"
                },
                {
                  "code": "time"
                },
                {
                  "code": "dateTime"
                },
                {
                  "code": "Period"
                }
              ],
              "condition": [
                "obs-7"
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.notDone, Event.notDoneReason  (maps to valeu[x] or dataAbsentReason)"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 441742003 |Evaluation finding|"
                },
                {
                  "identity": "v2",
                  "map": "OBX.2, OBX.5, OBX.6"
                },
                {
                  "identity": "rim",
                  "map": "value"
                },
                {
                  "identity": "sct-attr",
                  "map": "363714003 |Interprets|"
                }
              ]
            },
            {
              "id": "Observation.dataAbsentReason",
              "path": "Observation.dataAbsentReason",
              "short": "Why the result is missing",
              "definition": "Provides a reason why the expected value in the element Observation.value[x] is missing.",
              "comment": "Null or exceptional values can be represented two ways in FHIR Observations.  One way is to simply include them in the value set and represent the exceptions in the value.  For example, measurement values for a serology test could be  \"detected\", \"not detected\", \"inconclusive\", or  \"specimen unsatisfactory\".   The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values.  For example, the dataAbsentReason code \"error\" could be used when the measurement was not completed. Note that an observation may only be reported if there are values to report. For example differential cell counts values may be reported only when > 0.  Because of these options, use-case agreements are required to interpret general observations for null or exceptional values.",
              "requirements": "For many results it is necessary to handle exceptional values in measurements.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.dataAbsentReason",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "condition": [
                "obs-6"
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationValueAbsentReason"
                  }
                ],
                "strength": "extensible",
                "description": "Codes specifying why the result (Observation.value[x]) is missing.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-valueabsentreason"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.notDone, Event.notDoneReason  (maps to valeu[x] or dataAbsentReason)"
                },
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": "value.nullFlavor"
                }
              ]
            },
            {
              "id": "Observation.interpretation",
              "path": "Observation.interpretation",
              "short": "High, low, normal, etc.",
              "definition": "The assessment made based on the result of the observation.  Intended as a simple compact code often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result. Otherwise known as abnormal flag.",
              "requirements": "For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result.",
              "alias": [
                "Abnormal Flag"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.interpretation",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationInterpretation"
                  }
                ],
                "strength": "extensible",
                "description": "Codes identifying interpretations of observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-interpretation"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-8"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "363713009 |Has interpretation|"
                }
              ]
            },
            {
              "id": "Observation.comment",
              "path": "Observation.comment",
              "short": "Comments about result",
              "definition": "May include statements about significant, unexpected or unreliable values, or information about the source of the value where this may be relevant to the interpretation of the result.",
              "requirements": "Need to be able to provide free text additional information.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.comment",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.note"
                },
                {
                  "identity": "v2",
                  "map": "NTE.3 (partner NTE to OBX, or sometimes another (child?) OBX)"
                },
                {
                  "identity": "rim",
                  "map": "subjectOf.observationEvent[code=\"annotation\"].value"
                }
              ]
            },
            {
              "id": "Observation.bodySite",
              "path": "Observation.bodySite",
              "short": "Observed body part",
              "definition": "Indicates the site on the subject's body where the observation was made (i.e. the target site).",
              "comment": "Only used if not implicit in code found in Observation.code.  In many systems, this may be represented as a related observation instead of an inline component.   If the use case requires BodySite to be handled as a separate resource (e.g. to identify and track separately) then use the standard extension[ body-site-instance](extension-body-site-instance.html).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.bodySite",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "BodySite"
                  }
                ],
                "strength": "example",
                "description": "Codes describing anatomical locations. May include laterality.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/body-site"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 123037004 |Body structure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-20"
                },
                {
                  "identity": "rim",
                  "map": "targetSiteCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "718497002 |Inherent location|"
                }
              ]
            },
            {
              "id": "Observation.method",
              "path": "Observation.method",
              "short": "How it was done",
              "definition": "Indicates the mechanism used to perform the observation.",
              "comment": "Only used if not implicit in code for Observation.code.",
              "requirements": "In some cases, method can impact results and is thus used for determining whether results can be compared or determining significance of results.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.method",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationMethod"
                  }
                ],
                "strength": "example",
                "description": "Methods for simple observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-methods"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-17"
                },
                {
                  "identity": "rim",
                  "map": "methodCode"
                }
              ]
            },
            {
              "id": "Observation.specimen",
              "path": "Observation.specimen",
              "short": "Specimen used for this observation",
              "definition": "The specimen that was used when this observation was made.",
              "comment": "Should only be used if not implicit in code found in `Observation.code`.  Observations are not made on specimens themselves; they are made on a subject, but in many cases by the means of a specimen. Note that although specimens are often involved, they are not always tracked and reported explicitly. Also note that observation resources may be used in contexts that track the specimen explicitly (e.g. Diagnostic Report).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.specimen",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Specimen"
                }
              ],
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 123038009 |Specimen|"
                },
                {
                  "identity": "v2",
                  "map": "SPM segment"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=SPC].specimen"
                },
                {
                  "identity": "sct-attr",
                  "map": "704319004 |Inherent in|"
                }
              ]
            },
            {
              "id": "Observation.device",
              "path": "Observation.device",
              "short": "(Measurement) Device",
              "definition": "The device used to generate the observation data.",
              "comment": "An extension should be used if further typing of the device is needed.  Devices used to support obtaining an observation can be represented using either an extension or through the Observation.related element.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.device",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/DeviceMetric"
                }
              ],
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 49062001 |Device|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-17 / PRT -10"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=DEV]"
                },
                {
                  "identity": "sct-attr",
                  "map": "424226004 |Using device|"
                }
              ]
            },
            {
              "id": "Observation.referenceRange",
              "path": "Observation.referenceRange",
              "short": "Provides guide for interpretation",
              "definition": "Guidance on how to interpret the value by comparison to a normal or recommended range.",
              "comment": "Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.",
              "requirements": "Knowing what values are considered \"normal\" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.referenceRange",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "key": "obs-3",
                  "severity": "error",
                  "human": "Must have at least a low or a high or text",
                  "expression": "low.exists() or high.exists() or text.exists()",
                  "xpath": "(exists(f:low) or exists(f:high)or exists(f:text))"
                }
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX.7"
                },
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.id",
              "path": "Observation.referenceRange.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.extension",
              "path": "Observation.referenceRange.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.modifierExtension",
              "path": "Observation.referenceRange.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.low",
              "path": "Observation.referenceRange.low",
              "short": "Low Range, if relevant",
              "definition": "The value of the low bound of the reference range.  The low bound of the reference range endpoint is inclusive of the value (e.g.  reference range is >=5 - <=9).   If the low bound is omitted,  it is assumed to be meaningless (e.g. reference range is <=2.3).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.low",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity",
                  "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
                }
              ],
              "condition": [
                "obs-3"
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-7"
                },
                {
                  "identity": "rim",
                  "map": "value:IVL_PQ.low"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.high",
              "path": "Observation.referenceRange.high",
              "short": "High Range, if relevant",
              "definition": "The value of the high bound of the reference range.  The high bound of the reference range endpoint is inclusive of the value (e.g.  reference range is >=5 - <=9).   If the high bound is omitted,  it is assumed to be meaningless (e.g. reference range is >= 2.3).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.high",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity",
                  "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
                }
              ],
              "condition": [
                "obs-3"
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-7"
                },
                {
                  "identity": "rim",
                  "map": "value:IVL_PQ.high"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.type",
              "path": "Observation.referenceRange.type",
              "short": "Reference range qualifier",
              "definition": "Codes to indicate the what part of the targeted reference population it applies to. For example, the normal or therapeutic range.",
              "comment": "This SHOULD be populated if there is more than one range.  If this element is not present then the normal range is assumed.",
              "requirements": "Need to be able to say what kind of reference range this is - normal, recommended, therapeutic, etc,  - for proper interpretation.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.type",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRangeMeaning"
                  }
                ],
                "strength": "extensible",
                "description": "Code for the meaning of a reference range.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/referencerange-meaning"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values| OR  \r< 365860008 |General clinical state finding| \rOR \r< 250171008 |Clinical history or observation findings| OR  \r< 415229000 |Racial group| OR \r< 365400002 |Finding of puberty stage| OR\r< 443938003 |Procedure carried out on subject|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-10"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.appliesTo",
              "path": "Observation.referenceRange.appliesTo",
              "short": "Reference range population",
              "definition": "Codes to indicate the target population this reference range applies to.  For example, a reference range may be based on the normal population or a particular sex or race.",
              "comment": "This SHOULD be populated if there is more than one range.  If this element is not present then the normal population is assumed.",
              "requirements": "Need to be able to identify the target population for proper interpretation.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.referenceRange.appliesTo",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRangeType"
                  }
                ],
                "strength": "example",
                "description": "Codes identifying the population the reference range applies to.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/referencerange-appliesto"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values| OR  \r< 365860008 |General clinical state finding| \rOR \r< 250171008 |Clinical history or observation findings| OR  \r< 415229000 |Racial group| OR \r< 365400002 |Finding of puberty stage| OR\r< 443938003 |Procedure carried out on subject|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-10"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.age",
              "path": "Observation.referenceRange.age",
              "short": "Applicable age range, if relevant",
              "definition": "The age at which this reference range is applicable. This is a neonatal age (e.g. number of weeks at term) if the meaning says so.",
              "requirements": "Some analytes vary greatly over age.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.age",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Range"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=PRCN].targetObservationCriterion[code=\"age\"].value"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.text",
              "path": "Observation.referenceRange.text",
              "short": "Text based reference range in an observation",
              "definition": "Text based reference range in an observation which may be used when a quantitative range is not appropriate for an observation.  An example would be a reference value of \"Negative\" or a list or table of 'normals'.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.text",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-7"
                },
                {
                  "identity": "rim",
                  "map": "value:ST"
                }
              ]
            },
            {
              "id": "Observation.related",
              "path": "Observation.related",
              "short": "Resource related to this observation",
              "definition": "A  reference to another resource (usually another Observation) whose relationship is defined by the relationship type code.",
              "comment": "For a discussion on the ways Observations can assembled in groups together see [Notes below](observation.html#4.20.4).",
              "requirements": "Normally, an observation will have either a value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and a set of related observations or sometimes a QuestionnaireResponse from which the measure is derived.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.related",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "Relationships established by OBX-4 usage"
                },
                {
                  "identity": "rim",
                  "map": "outBoundRelationship"
                }
              ]
            },
            {
              "id": "Observation.related.id",
              "path": "Observation.related.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.related.extension",
              "path": "Observation.related.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.related.modifierExtension",
              "path": "Observation.related.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.related.type",
              "path": "Observation.related.type",
              "short": "has-member | derived-from | sequel-to | replaces | qualified-by | interfered-by",
              "definition": "A code specifying the kind of relationship that exists with the target resource.",
              "comment": "The \"derived-from\" type is the only logical choice when referencing the QuestionnaireAnswer resource.",
              "requirements": "A relationship type SHOULD be provided.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.related.type",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRelationshipType"
                  }
                ],
                "strength": "required",
                "description": "Codes specifying how two observations are related.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-relationshiptypes"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": ".typeCode"
                }
              ]
            },
            {
              "id": "Observation.related.target",
              "path": "Observation.related.target",
              "short": "Resource that is related to this one",
              "definition": "A reference to the observation or [QuestionnaireResponse](questionnaireresponse.html#) resource that is related to this observation.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.related.target",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Sequence"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".targetObservation"
                }
              ]
            },
            {
              "id": "Observation.component",
              "path": "Observation.component",
              "short": "Component results",
              "definition": "Some observations have multiple component observations.  These component observations are expressed as separate code value pairs that share the same attributes.  Examples include systolic and diastolic component observations for blood pressure measurement and multiple component observations for genetics observations.",
              "comment": "For a discussion on the ways Observations can be assembled in groups together see [Notes](observation.html#notes) below.",
              "requirements": "Component observations share the same attributes in the Observation resource as the primary observation and are always treated a part of a single observation (they are not separable).   However, the reference range for the primary observation value is not inherited by the component values and is required when appropriate for each component observation.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.component",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "containment by OBX-4?"
                },
                {
                  "identity": "rim",
                  "map": "outBoundRelationship[typeCode=COMP]"
                }
              ]
            },
            {
              "id": "Observation.component.id",
              "path": "Observation.component.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.extension",
              "path": "Observation.component.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.modifierExtension",
              "path": "Observation.component.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.component.code",
              "path": "Observation.component.code",
              "short": "Type of component observation (code / type)",
              "definition": "Describes what was observed. Sometimes this is called the observation \"code\".",
              "requirements": "Knowing what kind of observation is being made is essential to understanding the observation.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.component.code",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationCode"
                  }
                ],
                "strength": "example",
                "description": "Codes identifying names of simple observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-codes"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity| OR \r< 386053000 |Evaluation procedure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-3"
                },
                {
                  "identity": "rim",
                  "map": "code"
                },
                {
                  "identity": "w5",
                  "map": "what"
                }
              ]
            },
            {
              "id": "Observation.component.value[x]",
              "path": "Observation.component.value[x]",
              "short": "Actual component result",
              "definition": "The information determined as a result of making the observation, if the information has a simple value.",
              "comment": "Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value.   For boolean values use valueCodeableConcept and select codes from <http://hl7.org/fhir/ValueSet/v2-0136> (these \"yes/no\" concepts can be mapped to the display name \"true/false\" or other mutually exclusive terms that may be needed\").  The element, Observation.value[x], has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueRatio, valueChoice, valuePeriod, valueSampleData, or valueString (the name format is \"'value' + the type name\" with a capital on the first letter of the type).",
              "requirements": "An observation exists to have a value, though it may not if it is in error, or if it represents a group of observations.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.value[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity"
                },
                {
                  "code": "CodeableConcept"
                },
                {
                  "code": "string"
                },
                {
                  "code": "Range"
                },
                {
                  "code": "Ratio"
                },
                {
                  "code": "SampledData"
                },
                {
                  "code": "Attachment"
                },
                {
                  "code": "time"
                },
                {
                  "code": "dateTime"
                },
                {
                  "code": "Period"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "363714003 |Interprets| < 441742003 |Evaluation finding|"
                },
                {
                  "identity": "v2",
                  "map": "OBX.2, OBX.5, OBX.6"
                },
                {
                  "identity": "rim",
                  "map": "value"
                },
                {
                  "identity": "sct-attr",
                  "map": "363714003 |Interprets|"
                }
              ]
            },
            {
              "id": "Observation.component.dataAbsentReason",
              "path": "Observation.component.dataAbsentReason",
              "short": "Why the component result is missing",
              "definition": "Provides a reason why the expected value in the element Observation.value[x] is missing.",
              "comment": "\"Null\" or exceptional values can be represented two ways in FHIR Observations.  One way is to simply include them in the value set and represent the exceptions in the value.  For example, measurement values for a serology test could be  \"detected\", \"not detected\", \"inconclusive\", or  \"test not done\".   The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values.  For example, the dataAbsentReason code \"error\" could be used when the measurement was not completed.  Because of these options, use-case agreements are required to interpret general observations for exceptional values.",
              "requirements": "For many results it is necessary to handle exceptional values in measurements.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.dataAbsentReason",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "condition": [
                "obs-6"
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationValueAbsentReason"
                  }
                ],
                "strength": "extensible",
                "description": "Codes specifying why the result (Observation.value[x]) is missing.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-valueabsentreason"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": "value.nullFlavor"
                }
              ]
            },
            {
              "id": "Observation.component.interpretation",
              "path": "Observation.component.interpretation",
              "short": "High, low, normal, etc.",
              "definition": "The assessment made based on the result of the observation.  Intended as a simple compact code often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result. Otherwise known as abnormal flag.",
              "comment": "The component interpretation applies only to the individual component value.  For an overall interpretation all components together use thes Observation.interpretation element.",
              "requirements": "For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result.",
              "alias": [
                "Abnormal Flag"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.interpretation",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationInterpretation"
                  }
                ],
                "strength": "extensible",
                "description": "Codes identifying interpretations of observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-interpretation"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-8"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "363713009 |Has interpretation|"
                }
              ]
            },
            {
              "id": "Observation.component.referenceRange",
              "path": "Observation.component.referenceRange",
              "short": "Provides guide for interpretation of component result",
              "definition": "Guidance on how to interpret the value by comparison to a normal or recommended range.",
              "comment": "Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.",
              "requirements": "Knowing what values are considered \"normal\" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.component.referenceRange",
                "min": 0,
                "max": "*"
              },
              "contentReference": "#Observation.referenceRange",
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX.7"
                },
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]"
                }
              ]
            }
          ]
        },
        "differential": {
          "element": [
            {
              "id": "Observation",
              "path": "Observation",
              "min": 0,
              "max": "*"
            },
            {
              "id": "Observation.extension:dnasequencevariantname",
              "path": "Observation.extension",
              "sliceName": "DNASequenceVariantName",
              "short": "DNA sequence variant",
              "definition": "A' is a variant (mutation) of A = definition every instance of A' is either an immediate mutation of some instance of A, or there is a chain of immediate mutation processes linking A' to some instance of A ([variant_of](http://www.sequenceontology.org/browser/current_svn/term/variant_of)). This element is the Human Genome Variation Society ([HGVS](http://varnomen.hgvs.org/)) nomenclature for a single or set of DNA sequence variant(s) identified in testing. Reference sequence ID used for HGVS naming must be annotated.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/observation-geneticsDNASequenceVariantName"
                }
              ]
            },
            {
              "id": "Observation.extension:dnavariantid",
              "path": "Observation.extension",
              "sliceName": "DNAVariantId",
              "short": "DNA sequence variant ID",
              "definition": "Identifier for DNA sequence variant.  If a germline variant, ClinVar or dbSNP identifier should be used.  If a somatic variant, COSMIC identifier should be used, unless in ClinVar then either maybe used. Need to provide the code system used (ClinVar, dbSNP, COSMIC).",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/observation-geneticsDNAVariantId"
                }
              ]
            },
            {
              "id": "Observation.extension:dnasequencevarianttype",
              "path": "Observation.extension",
              "sliceName": "DNASequenceVariantType",
              "short": "DNA sequence variant type",
              "definition": "Codified type for associated DNA sequence variant. DNA sequence variants use the HGVS notation, which implies the DNA sequence variant type.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/observation-geneticsDNASequenceVariantType"
                }
              ]
            },
            {
              "id": "Observation.extension:aminoacidchangename",
              "path": "Observation.extension",
              "sliceName": "AminoAcidChangeName",
              "short": "Amino acid change",
              "definition": "Human Genome Variation Society (HGVS) nomenclature for an amino acid change. Reference sequence ID used for HGVS naming must be annotated. An amino acid is a sequence feature that corresponds to a single amino acid residue in a polypeptide ([SO:0001237](http://www.sequenceontology.org/browser/current_svn/term/SO:0001237)).",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/observation-geneticsAminoAcidChangeName"
                }
              ]
            },
            {
              "id": "Observation.extension:aminoacidchangetype",
              "path": "Observation.extension",
              "sliceName": "AminoAcidChangeType",
              "short": "Amino Acid Change Type",
              "definition": "Codified type for associated Amino Acid Change.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/observation-geneticsAminoAcidChangeType"
                }
              ]
            },
            {
              "id": "Observation.extension:genesymbol",
              "path": "Observation.extension",
              "sliceName": "GeneSymbol",
              "short": "HGNC gene symbol",
              "definition": "A region (or regions) that includes all of the sequence elements necessary to encode a functional transcript. A gene may include regulatory regions, transcribed regions and/or other functional sequence regions ([SO:0000704](http://www.sequenceontology.org/browser/current_svn/term/SO:0000704)). This element is the official gene symbol approved by the HGNC, which is a short abbreviated form of the gene name ([HGNC](http://www.genenames.org)).",
              "comment": "Other systems or genes not defined in HGNC (e.g., BCR-ABL fusion gene) can be added by using a local extension.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/observation-geneticsGene"
                }
              ]
            },
            {
              "id": "Observation.extension:dnaregionname",
              "path": "Observation.extension",
              "sliceName": "DNARegionName",
              "short": "DNA region name",
              "definition": "A human readable name for the region of interest. Typically Exon #, Intron # or other. NOTE: This is not standardized and is mainly for convenience and display purposes.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/observation-geneticsDNARegionName"
                }
              ]
            },
            {
              "id": "Observation.extension:allelename",
              "path": "Observation.extension",
              "sliceName": "AlleleName",
              "short": "Name of allele",
              "definition": "An allele is one of a set of coexisting sequence variants of a gene ([SO:0001023](http://www.sequenceontology.org/browser/current_svn/term/SO:0001023)). This element is the common name for the allele.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/observation-geneticsAlleleName"
                }
              ]
            },
            {
              "id": "Observation.extension:allelicstate",
              "path": "Observation.extension",
              "sliceName": "AllelicState",
              "short": "The level of occurrence of a single DNA sequence variant within a set of chromosomes: Heteroplasmic / Homoplasmic / Homozygous / Heterozygous / Hemizygous",
              "definition": "The level of occurrence of a single DNA Sequence Variant within a set of chromosomes. Heterozygous indicates the DNA sequence variant is only present in one of the two genes contained in homologous chromosomes. Homozygous indicates the DNA Sequence Variant is present in both genes contained in homologous chromosomes. Hemizygous indicates the DNA Sequence Variant exists in the only single copy of a gene in a non-homologous chromosome (the male X and Y chromosome are non-homologous). Hemiplasmic indicates that the DNA Sequence Variant is present in some but not all of the copies of mitochondrial DNA. Homoplasmic indicates that the DNA Sequence Variant is present in all of the copies of mitochondrial DNA.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/observation-geneticsAllelicState"
                }
              ]
            },
            {
              "id": "Observation.extension:allelicfrequency",
              "path": "Observation.extension",
              "sliceName": "AllelicFrequency",
              "short": "Allele frequency",
              "definition": "A physical quality which inheres to the allele by virtue of the number instances of the allele within a population.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/observation-geneticsAllelicFrequency"
                }
              ]
            },
            {
              "id": "Observation.extension:copynumberevent",
              "path": "Observation.extension",
              "sliceName": "CopyNumberEvent",
              "short": "Copy number variation",
              "definition": "A variation that increases or decreases the copy number of a given region ([SO:0001019](http://www.sequenceontology.org/browser/current_svn/term/SO:0001019)). Values: amplification/deletion/LOH.",
              "comment": "Loss of heterozygosity (LOH) is a functional variant whereby the sequence alteration causes a loss of function of one allele of a gene ([SO:0001786](http://www.sequenceontology.org/browser/current_svn/term/SO:0001786)).",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/observation-geneticsCopyNumberEvent"
                }
              ]
            },
            {
              "id": "Observation.extension:genomicsourceclass",
              "path": "Observation.extension",
              "sliceName": "GenomicSourceClass",
              "short": "Genomic source class",
              "definition": "Source of sample used to determine the sequence in sequencing lab -- germline, somatic, prenatal.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/observation-geneticsGenomicSourceClass"
                }
              ]
            },
            {
              "id": "Observation.extension:phaseset",
              "path": "Observation.extension",
              "sliceName": "PhaseSet",
              "short": "Phase set identifier (UUID/OID)",
              "definition": "Chromosomal phase set identifier (UUID/OID). All sequences with the same PhaseSet identifier are asserted to be on the same chromosome (cis).",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/observation-geneticsPhaseSet"
                }
              ]
            },
            {
              "id": "Observation.extension:sequence",
              "path": "Observation.extension",
              "sliceName": "Sequence",
              "short": "Sequence",
              "definition": "Refers to the Sequence resource, representing raw genetics data.",
              "min": 0,
              "max": "*",
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/observation-geneticsSequence"
                }
              ]
            },
            {
              "id": "Observation.extension:interpretation",
              "path": "Observation.extension",
              "sliceName": "Interpretation",
              "short": "Clinical interpretations for variant",
              "definition": "Clinical Interpretations for variant. It's a reference to an Observation resource.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/observation-geneticsInterpretation"
                }
              ]
            }
          ]
        }
      }
    },
    {
      "fullUrl": "http://hl7.org/fhir/StructureDefinition/vitalsigns",
      "resource": {
        "resourceType": "StructureDefinition",
        "id": "vitalsigns",
        "text": {
          "status": "generated",
          "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">to do</div>"
        },
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-summary",
            "valueMarkdown": "### Complete Summary of the Mandatory Requirements\n\n1.  One status in `Observation.status`which has a [required](http://build.fhir.org/terminologies.html#extensible) binding to:\n    -    [ObservationStatus] value set.\n1.  A category in `Observation.category` which must have:\n    -   a fixed `Observation.category.coding.system`=\"http://hl7.org/fhir/observation-category\"\n    -   a fixed `Observation.category.coding.code`= \"vital-signs\"\n\n1.  A code in `Observation.code`\n    -   a fixed `Observation.code.coding.system`= \"http://loinc.org\"\n    -   a LOINC code in `Observation.code.coding.code` which has an [extensible](http://build.fhir.org/terminologies.html#extensible) binding to:\n         -   [Vital Signs] value set.\n                \n1.  One patient in `Observation.subject`\n1.  A date and time in `effectiveDateTime` or `effectivePeriod`\n1.  Either one `Observation.valueQuantity` or, if there is no value, one code in `Observation.DataAbsentReason`\n    -   Each Observation.valueQuantity must have:\n        -   One numeric value in `Observation.valueQuantity.value`\n        -   a fixed `Observation.valueQuantity.system`=\"http://unitsofmeasure\"\n        -   a UCUM unit code in `Observation.valueQuantity.code` which has an [required] binding to:\n             -   [Vital Signs Units] value set.\n    -   Observation.DataAbsentReason is bound to [Observation Value\n        Absent Reason] value set.\n\n1.  When using a panel code to group component observations (Note: See\n    the comments regarding blood pressure in the table above), one or\n    more `Observation.component.code` each of which must have:\n    -   a fixed\n        `Observation.component.code.coding.system` =\"<http://loinc.org>\"\n         -   a LOINC code in `Observation.code.coding.code` which has an [extensible] binding to:\n             -   [Vital Signs Units] value set.\n\n1.  Either one `Observation.component.valueQuantity` or, if there is\n    no value, one code in `Observation.component.DataAbsentReason`\n    -   Each Observation.component.valueQuantity must have:\n        -   One numeric value in\n            `Observation.component.valueQuantity.value`\n        -   a fixed `Observation.component.valueQuantity.system`= \"<http://unitsofmeasure.org>\"\n        -   a UCUM unit code in\n            `Observation.component.valueQuantity.code` which has an [required] binding to:\n             -   [Vital Signs Units] value set.\n    -   Observation.component.DataAbsentReason is bound to [Observation\n        Value Absent Reason] value set.\n\n1.  When using a panel code to group observations, one or more reference\n    to Vitals Signs Observations in `Observation.related.target`\n    -   a fixed `Observation.related.type`= \"has-member\"\n\n [Vital Signs]: valueset-observation-vitalsignresult.html\n  [Vital Signs Units]: valueset-ucum-vitals-common.html\n  [extensible]: terminologies.html#extensible\n  [ObservationStatus]: valueset-observation-status.html\n [Observation Value Absent Reason]: valueset-observation-valueabsentreason.html\n[required]: terminologies.html#required"
          }
        ],
        "url": "http://hl7.org/fhir/StructureDefinition/vitalsigns",
        "name": "Vital Signs Profile",
        "title": "VitalSigns",
        "status": "draft",
        "experimental": false,
        "date": "2016-03-25",
        "publisher": "Health Level Seven International (Orders and Observations Workgroup)",
        "contact": [
          {
            "telecom": [
              {
                "system": "url",
                "value": "http://www.hl7.org/Special/committees/orders/index.cfm Orders and Observations"
              }
            ]
          }
        ],
        "description": "FHIR Vital Signs Profile",
        "fhirVersion": "3.0.1",
        "mapping": [
          {
            "identity": "workflow",
            "uri": "http://hl7.org/fhir/workflow",
            "name": "Workflow Mapping"
          },
          {
            "identity": "sct-concept",
            "uri": "http://snomed.info/conceptdomain",
            "name": "SNOMED CT Concept Domain Binding"
          },
          {
            "identity": "v2",
            "uri": "http://hl7.org/v2",
            "name": "HL7 v2 Mapping"
          },
          {
            "identity": "rim",
            "uri": "http://hl7.org/v3",
            "name": "RIM Mapping"
          },
          {
            "identity": "w5",
            "uri": "http://hl7.org/fhir/w5",
            "name": "W5 Mapping"
          },
          {
            "identity": "sct-attr",
            "uri": "http://snomed.info/sct",
            "name": "SNOMED CT Attribute Binding"
          }
        ],
        "kind": "resource",
        "abstract": false,
        "type": "Observation",
        "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Observation",
        "derivation": "constraint",
        "snapshot": {
          "element": [
            {
              "id": "Observation",
              "path": "Observation",
              "short": "FHIR Vital Signs Profile",
              "definition": "The FHIR Vitals Signs profile sets a minimum expectations for the Observation Resource to record, search and fetch the vital signs associated with a patient.",
              "comment": "Used for simple observations such as device measurements, laboratory atomic results, vital signs, height, weight, smoking status, comments, etc.  Other resources are used to provide context for observations such as lab reports, etc.",
              "alias": [
                "Vital Signs",
                "Measurement",
                "Results",
                "Tests"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation",
                "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)",
                  "source": "DomainResource"
                },
                {
                  "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)",
                  "source": "DomainResource"
                },
                {
                  "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))",
                  "source": "DomainResource"
                },
                {
                  "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))]))",
                  "source": "DomainResource"
                },
                {
                  "key": "obs-7",
                  "severity": "error",
                  "human": "If code is the same as a component code then the value element associated with the code SHALL NOT be present",
                  "expression": "value.empty() or code!=component.code",
                  "xpath": "not(exists(f:*[starts-with(local-name(.), 'value')])) or not(count(for $coding in f:code/f:coding return parent::*/f:component/f:code/f:coding[f:code/@value=$coding/f:code/@value and f:system/@value=$coding/f:system/@value])=0)",
                  "source": "Observation"
                },
                {
                  "key": "obs-6",
                  "severity": "error",
                  "human": "dataAbsentReason SHALL only be present if Observation.value[x] is not present",
                  "expression": "dataAbsentReason.empty() or value.empty()",
                  "xpath": "not(exists(f:dataAbsentReason)) or (not(exists(*[starts-with(local-name(.), 'value')])))",
                  "source": "Observation"
                },
                {
                  "key": "vs-2",
                  "severity": "error",
                  "human": "If there is no component or related element then either a value[x] or a data absent reason must be present",
                  "expression": "(component.empty() and related.empty()) implies (dataAbsentReason or value)",
                  "xpath": "exists(f:component) or exists(f:related) or exists(f:*[starts-with(local-name(.), 'value')]) or exists(f:dataAbsentReason)"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Entity. Role, or Act"
                },
                {
                  "identity": "workflow",
                  "map": "Event"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity|"
                },
                {
                  "identity": "v2",
                  "map": "OBX"
                },
                {
                  "identity": "rim",
                  "map": "Observation[classCode=OBS, moodCode=EVN]"
                },
                {
                  "identity": "w5",
                  "map": "clinical.diagnostics"
                }
              ]
            },
            {
              "id": "Observation.id",
              "path": "Observation.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "Observation.meta",
              "path": "Observation.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "Observation.implicitRules",
              "path": "Observation.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"
                }
              ],
              "isModifier": true,
              "isSummary": true
            },
            {
              "id": "Observation.language",
              "path": "Observation.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"
                }
              ],
              "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"
                }
              }
            },
            {
              "id": "Observation.text",
              "path": "Observation.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": [
                "dom-1"
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Act.text?"
                }
              ]
            },
            {
              "id": "Observation.contained",
              "path": "Observation.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": "N/A"
                }
              ]
            },
            {
              "id": "Observation.extension",
              "path": "Observation.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.modifierExtension",
              "path": "Observation.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 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"
                }
              ],
              "isModifier": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.identifier",
              "path": "Observation.identifier",
              "short": "Business Identifier for observation",
              "definition": "A unique identifier assigned to this observation.",
              "requirements": "Allows observations to be distinguished and referenced.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.identifier",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Identifier"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.identifier"
                },
                {
                  "identity": "v2",
                  "map": "OBX.21  For OBX segments from systems without OBX-21 support a combination of ORC/OBR and OBX must be negotiated between trading partners to uniquely identify the OBX segment. Depending on how V2 has been implemented each of these may be an option: 1) OBR-3 + OBX-3 + OBX-4 or 2) OBR-3 + OBR-4 + OBX-3 + OBX-4 or 2) some other way to uniquely ID the OBR/ORC + OBX-3 + OBX-4."
                },
                {
                  "identity": "rim",
                  "map": "id"
                },
                {
                  "identity": "w5",
                  "map": "id"
                }
              ]
            },
            {
              "id": "Observation.basedOn",
              "path": "Observation.basedOn",
              "short": "Fulfills plan, proposal or order",
              "definition": "A plan, proposal or order that is fulfilled in whole or in part by this event.",
              "requirements": "Allows tracing of authorization for the event and tracking whether proposals/recommendations were acted upon.",
              "alias": [
                "Fulfills"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.basedOn",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/CarePlan"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/DeviceRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ImmunizationRecommendation"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/NutritionOrder"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ProcedureRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ReferralRequest"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.basedOn"
                },
                {
                  "identity": "v2",
                  "map": "ORC"
                },
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=FLFS].target"
                }
              ]
            },
            {
              "id": "Observation.status",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-display-hint",
                  "valueString": "default: final"
                }
              ],
              "path": "Observation.status",
              "short": "registered | preliminary | final | amended +",
              "definition": "The status of the result value.",
              "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
              "requirements": "Need to track the status of individual results. Some results are finalized before the whole report is finalized.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.status",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "mustSupport": true,
              "isModifier": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "Status"
                  }
                ],
                "strength": "required",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-status"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.status"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 445584004 |Report by finality status|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-11"
                },
                {
                  "identity": "rim",
                  "map": "status  Amended & Final are differentiated by whether it is the subject of a ControlAct event with a type of \"revise\""
                },
                {
                  "identity": "w5",
                  "map": "status"
                }
              ]
            },
            {
              "id": "Observation.category",
              "path": "Observation.category",
              "short": "Classification of  type of observation",
              "definition": "A code that classifies the general type of observation being made.",
              "comment": "In addition to the required category valueset, this element allows various categorization schemes based on the owner’s definition of the category and effectively multiple categories can be used at once.  The level of granularity is defined by the category concepts in the value set.",
              "requirements": "Used for filtering what observations are retrieved and displayed.",
              "min": 1,
              "max": "*",
              "base": {
                "path": "Observation.category",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "constraint": [
                {
                  "key": "vs-4",
                  "severity": "error",
                  "human": "Must have a category of 'vital-signs' and a code system 'http://hl7.org/fhir/observation-category'",
                  "expression": "where(coding.system='http://hl7.org/fhir/observation-category' and coding.code='vital-signs').exists()",
                  "xpath": "exists(f:coding/code[@value='vital-signs']) and exists(f:coding/system[@value='http://hl7.org/fhir/observation-category'])"
                }
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationCategory"
                  }
                ],
                "strength": "preferred",
                "description": "Codes for high level observation categories.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-category"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=\"COMP].target[classCode=\"LIST\", moodCode=\"EVN\"].code"
                },
                {
                  "identity": "w5",
                  "map": "class"
                }
              ]
            },
            {
              "id": "Observation.code",
              "path": "Observation.code",
              "short": "Coded Responses from C-CDA Vital Sign Results",
              "definition": "Coded Responses from C-CDA Vital Sign Results.",
              "requirements": "5. SHALL contain exactly one [1..1] code, where the @code SHOULD be selected from ValueSet HITSP Vital Sign Result Type 2.16.840.1.113883.3.88.12.80.62 DYNAMIC (CONF:7301).",
              "alias": [
                "Name"
              ],
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.code",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSigns"
                  }
                ],
                "strength": "extensible",
                "description": "This identifies the vital sign result type.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-vitalsignresult"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.code"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity| OR < 386053000 |Evaluation procedure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-3"
                },
                {
                  "identity": "rim",
                  "map": "code"
                },
                {
                  "identity": "sct-attr",
                  "map": "116680003 |Is a|"
                },
                {
                  "identity": "w5",
                  "map": "what"
                }
              ]
            },
            {
              "id": "Observation.subject",
              "path": "Observation.subject",
              "short": "Who and/or what this is about",
              "definition": "The patient, or group of patients, location, or device whose characteristics (direct or indirect) are described by the observation and into whose record the observation is placed.  Comments: Indirect characteristics may be those of a specimen, fetus, donor,  other observer (for example a relative or EMT), or any observation made about the subject.",
              "comment": "One would expect this element to be a cardinality  of 1..1.  The only circumstance in which the subject can be missing is when the observation is made by a device that does not know the patient. In this case, the observation SHALL be matched to a patient through some context/channel matching technique, and at this point, the observation should be updated.\r\rIf the target of the observation is different than the subject, the general extension [observation-focal-subject](extension-observation-focal-subject.html).  may be used.  However, the distinction between the patient's own value for an observation versus that of the fetus, or the donor or blood product unit, etc., are often specified in the observation code.",
              "requirements": "Observations have no value if you don't know who or what they're about.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.subject",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.subject"
                },
                {
                  "identity": "v2",
                  "map": "PID-3"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=SBJ]"
                },
                {
                  "identity": "w5",
                  "map": "who.focus"
                }
              ]
            },
            {
              "id": "Observation.context",
              "path": "Observation.context",
              "short": "Healthcare event during which this observation is made",
              "definition": "The healthcare event  (e.g. a patient and healthcare provider interaction) during which this observation is made.",
              "comment": "This will typically be the encounter the event occurred within, but some events may be initiated prior to or after the official completion of an encounter or episode but still be tied to the context of the encounter or episode (e.g. pre-admission lab tests).",
              "requirements": "For some observations it may be important to know the link between an observation and a particular encounter.",
              "alias": [
                "Encounter"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.context",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
                }
              ],
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.context"
                },
                {
                  "identity": "v2",
                  "map": "PV1"
                },
                {
                  "identity": "rim",
                  "map": "inboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN]"
                },
                {
                  "identity": "w5",
                  "map": "context"
                }
              ]
            },
            {
              "id": "Observation.effective[x]",
              "path": "Observation.effective[x]",
              "short": "Often just a dateTime for Vital Signs",
              "definition": "Often just a dateTime for Vital Signs.",
              "comment": "At least a date should be present unless this observation is a historical report.",
              "requirements": "Knowing when an observation was deemed true is important to its relevance as well as determining trends.",
              "alias": [
                "Occurrence"
              ],
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.effective[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "dateTime"
                },
                {
                  "code": "Period"
                }
              ],
              "constraint": [
                {
                  "key": "vs-1",
                  "severity": "error",
                  "human": "Datetime must be at least to day.",
                  "expression": "($this as dateTime).toString().length() >= 8",
                  "xpath": "f:matches(effectiveDateTime,/\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d([+-][0-2]\\d:[0-5]\\d|Z)/)"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.occurrence[x]"
                },
                {
                  "identity": "v2",
                  "map": "OBX-14, and/or OBX-19 after v2.4  (depends on who observation made)"
                },
                {
                  "identity": "rim",
                  "map": "effectiveTime"
                },
                {
                  "identity": "w5",
                  "map": "when.done"
                }
              ]
            },
            {
              "id": "Observation.issued",
              "path": "Observation.issued",
              "short": "Date/Time this was made available",
              "definition": "The date and time this observation was made available to providers, typically after the results have been reviewed and verified.",
              "comment": "Updated when the result is updated.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.issued",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "instant"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBR.22 (or MSH.7), or perhaps OBX-19 (depends on who observation made)"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=AUT].time"
                },
                {
                  "identity": "w5",
                  "map": "when.recorded"
                }
              ]
            },
            {
              "id": "Observation.performer",
              "path": "Observation.performer",
              "short": "Who is responsible for the observation",
              "definition": "Who was responsible for asserting the observed value as \"true\".",
              "requirements": "May give a degree of confidence in the observation and also indicates where follow-up questions should be directed.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.performer",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.performer"
                },
                {
                  "identity": "v2",
                  "map": "OBX.15 / (Practitioner)  OBX-16,  PRT-5:PRT-4='RO' /  (Device)  OBX-18 , PRT-10:PRT-4='EQUIP' / (Organization)  OBX-23,  PRT-8:PRT-4='PO'"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=PRF]"
                },
                {
                  "identity": "w5",
                  "map": "who.actor"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity",
              "path": "Observation.valueQuantity",
              "short": "Vital Sign Value recorded with UCUM",
              "definition": "Vital Sign Value recorded with UCUM.",
              "comment": "Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. This element has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueString, valueBoolean, valueRange, valueRatio, valueSampledData, valueAttachment, valueTime, valueDateTime, or valuePeriod. (The name format is \"'value' + the type name\" with a capital on the first letter of the type).\r\r\rIf the data element is usually coded or if the type associated with the Observation.value defines a coded value, use CodeableConcept instead of string datatype even if the value is uncoded text.  A value set is bound to the ValueCodeableConcept element.    For further discussion and examples see the  [notes section](observation.html#notes) below.",
              "requirements": "9. SHALL contain exactly one [1..1] value with @xsi:type=\"PQ\" (CONF:7305).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.value[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity"
                }
              ],
              "condition": [
                "obs-7"
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSignsUnits"
                  }
                ],
                "strength": "required",
                "description": "Common UCUM units for recording Vital Signs",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/ucum-vitals-common"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.notDone, Event.notDoneReason  (maps to valeu[x] or dataAbsentReason)"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 441742003 |Evaluation finding|"
                },
                {
                  "identity": "v2",
                  "map": "OBX.2, OBX.5, OBX.6"
                },
                {
                  "identity": "rim",
                  "map": "value"
                },
                {
                  "identity": "sct-attr",
                  "map": "363714003 |Interprets|"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.id",
              "path": "Observation.valueQuantity.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.extension",
              "path": "Observation.valueQuantity.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.value",
              "path": "Observation.valueQuantity.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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.value",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "decimal"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.valueQuantity.comparator",
              "path": "Observation.valueQuantity.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",
              "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": "v2",
                  "map": "SN.1  / CQ.1"
                },
                {
                  "identity": "rim",
                  "map": "IVL properties"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.unit",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "Observation.valueQuantity.unit",
              "short": "Unit representation",
              "definition": "A human-readable form of the unit.",
              "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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.unit",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "PQ.unit"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.system",
              "path": "Observation.valueQuantity.system",
              "short": "System that defines coded unit form",
              "definition": "The identification of the system that provides the coded form of the unit.",
              "requirements": "Need to know the system that defines the coded form of the unit.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Quantity.system",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://unitsofmeasure.org",
              "condition": [
                "qty-3"
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "CO.codeSystem, PQ.translation.codeSystem"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.code",
              "path": "Observation.valueQuantity.code",
              "short": "Coded responses from the common UCUM units for vital signs value set.",
              "definition": "Coded responses from the common UCUM units for vital signs value set.",
              "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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.code",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "PQ.code, MO.currency, PQ.translation.code"
                }
              ]
            },
            {
              "id": "Observation.dataAbsentReason",
              "path": "Observation.dataAbsentReason",
              "short": "Why the result is missing",
              "definition": "Provides a reason why the expected value in the element Observation.value[x] is missing.",
              "comment": "Null or exceptional values can be represented two ways in FHIR Observations.  One way is to simply include them in the value set and represent the exceptions in the value.  For example, measurement values for a serology test could be  \"detected\", \"not detected\", \"inconclusive\", or  \"specimen unsatisfactory\".   The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values.  For example, the dataAbsentReason code \"error\" could be used when the measurement was not completed. Note that an observation may only be reported if there are values to report. For example differential cell counts values may be reported only when > 0.  Because of these options, use-case agreements are required to interpret general observations for null or exceptional values.",
              "requirements": "For many results it is necessary to handle exceptional values in measurements.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.dataAbsentReason",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "condition": [
                "obs-6"
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "DAR"
                  }
                ],
                "strength": "extensible",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-valueabsentreason"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.notDone, Event.notDoneReason  (maps to valeu[x] or dataAbsentReason)"
                },
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": "value.nullFlavor"
                }
              ]
            },
            {
              "id": "Observation.interpretation",
              "path": "Observation.interpretation",
              "short": "High, low, normal, etc.",
              "definition": "The assessment made based on the result of the observation.  Intended as a simple compact code often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result. Otherwise known as abnormal flag.",
              "requirements": "For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result.",
              "alias": [
                "Abnormal Flag"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.interpretation",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationInterpretation"
                  }
                ],
                "strength": "extensible",
                "description": "Codes identifying interpretations of observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-interpretation"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-8"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "363713009 |Has interpretation|"
                }
              ]
            },
            {
              "id": "Observation.comment",
              "path": "Observation.comment",
              "short": "Comments about result",
              "definition": "May include statements about significant, unexpected or unreliable values, or information about the source of the value where this may be relevant to the interpretation of the result.",
              "requirements": "Need to be able to provide free text additional information.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.comment",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.note"
                },
                {
                  "identity": "v2",
                  "map": "NTE.3 (partner NTE to OBX, or sometimes another (child?) OBX)"
                },
                {
                  "identity": "rim",
                  "map": "subjectOf.observationEvent[code=\"annotation\"].value"
                }
              ]
            },
            {
              "id": "Observation.bodySite",
              "path": "Observation.bodySite",
              "short": "Observed body part",
              "definition": "Indicates the site on the subject's body where the observation was made (i.e. the target site).",
              "comment": "Only used if not implicit in code found in Observation.code.  In many systems, this may be represented as a related observation instead of an inline component.   If the use case requires BodySite to be handled as a separate resource (e.g. to identify and track separately) then use the standard extension[ body-site-instance](extension-body-site-instance.html).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.bodySite",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "BodySite"
                  }
                ],
                "strength": "example",
                "description": "Codes describing anatomical locations. May include laterality.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/body-site"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 123037004 |Body structure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-20"
                },
                {
                  "identity": "rim",
                  "map": "targetSiteCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "718497002 |Inherent location|"
                }
              ]
            },
            {
              "id": "Observation.method",
              "path": "Observation.method",
              "short": "How it was done",
              "definition": "Indicates the mechanism used to perform the observation.",
              "comment": "Only used if not implicit in code for Observation.code.",
              "requirements": "In some cases, method can impact results and is thus used for determining whether results can be compared or determining significance of results.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.method",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationMethod"
                  }
                ],
                "strength": "example",
                "description": "Methods for simple observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-methods"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-17"
                },
                {
                  "identity": "rim",
                  "map": "methodCode"
                }
              ]
            },
            {
              "id": "Observation.specimen",
              "path": "Observation.specimen",
              "short": "Specimen used for this observation",
              "definition": "The specimen that was used when this observation was made.",
              "comment": "Should only be used if not implicit in code found in `Observation.code`.  Observations are not made on specimens themselves; they are made on a subject, but in many cases by the means of a specimen. Note that although specimens are often involved, they are not always tracked and reported explicitly. Also note that observation resources may be used in contexts that track the specimen explicitly (e.g. Diagnostic Report).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.specimen",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Specimen"
                }
              ],
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 123038009 |Specimen|"
                },
                {
                  "identity": "v2",
                  "map": "SPM segment"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=SPC].specimen"
                },
                {
                  "identity": "sct-attr",
                  "map": "704319004 |Inherent in|"
                }
              ]
            },
            {
              "id": "Observation.device",
              "path": "Observation.device",
              "short": "(Measurement) Device",
              "definition": "The device used to generate the observation data.",
              "comment": "An extension should be used if further typing of the device is needed.  Devices used to support obtaining an observation can be represented using either an extension or through the Observation.related element.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.device",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/DeviceMetric"
                }
              ],
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 49062001 |Device|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-17 / PRT -10"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=DEV]"
                },
                {
                  "identity": "sct-attr",
                  "map": "424226004 |Using device|"
                }
              ]
            },
            {
              "id": "Observation.referenceRange",
              "path": "Observation.referenceRange",
              "short": "Provides guide for interpretation",
              "definition": "Guidance on how to interpret the value by comparison to a normal or recommended range.",
              "comment": "Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.",
              "requirements": "Knowing what values are considered \"normal\" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.referenceRange",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "key": "obs-3",
                  "severity": "error",
                  "human": "Must have at least a low or a high or text",
                  "expression": "low.exists() or high.exists() or text.exists()",
                  "xpath": "(exists(f:low) or exists(f:high)or exists(f:text))"
                }
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX.7"
                },
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.id",
              "path": "Observation.referenceRange.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.extension",
              "path": "Observation.referenceRange.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.modifierExtension",
              "path": "Observation.referenceRange.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.low",
              "path": "Observation.referenceRange.low",
              "short": "Low Range, if relevant",
              "definition": "The value of the low bound of the reference range.  The low bound of the reference range endpoint is inclusive of the value (e.g.  reference range is >=5 - <=9).   If the low bound is omitted,  it is assumed to be meaningless (e.g. reference range is <=2.3).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.low",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity",
                  "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
                }
              ],
              "condition": [
                "obs-3"
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-7"
                },
                {
                  "identity": "rim",
                  "map": "value:IVL_PQ.low"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.high",
              "path": "Observation.referenceRange.high",
              "short": "High Range, if relevant",
              "definition": "The value of the high bound of the reference range.  The high bound of the reference range endpoint is inclusive of the value (e.g.  reference range is >=5 - <=9).   If the high bound is omitted,  it is assumed to be meaningless (e.g. reference range is >= 2.3).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.high",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity",
                  "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
                }
              ],
              "condition": [
                "obs-3"
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-7"
                },
                {
                  "identity": "rim",
                  "map": "value:IVL_PQ.high"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.type",
              "path": "Observation.referenceRange.type",
              "short": "Reference range qualifier",
              "definition": "Codes to indicate the what part of the targeted reference population it applies to. For example, the normal or therapeutic range.",
              "comment": "This SHOULD be populated if there is more than one range.  If this element is not present then the normal range is assumed.",
              "requirements": "Need to be able to say what kind of reference range this is - normal, recommended, therapeutic, etc,  - for proper interpretation.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.type",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRangeMeaning"
                  }
                ],
                "strength": "extensible",
                "description": "Code for the meaning of a reference range.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/referencerange-meaning"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values| OR  \r< 365860008 |General clinical state finding| \rOR \r< 250171008 |Clinical history or observation findings| OR  \r< 415229000 |Racial group| OR \r< 365400002 |Finding of puberty stage| OR\r< 443938003 |Procedure carried out on subject|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-10"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.appliesTo",
              "path": "Observation.referenceRange.appliesTo",
              "short": "Reference range population",
              "definition": "Codes to indicate the target population this reference range applies to.  For example, a reference range may be based on the normal population or a particular sex or race.",
              "comment": "This SHOULD be populated if there is more than one range.  If this element is not present then the normal population is assumed.",
              "requirements": "Need to be able to identify the target population for proper interpretation.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.referenceRange.appliesTo",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRangeType"
                  }
                ],
                "strength": "example",
                "description": "Codes identifying the population the reference range applies to.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/referencerange-appliesto"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values| OR  \r< 365860008 |General clinical state finding| \rOR \r< 250171008 |Clinical history or observation findings| OR  \r< 415229000 |Racial group| OR \r< 365400002 |Finding of puberty stage| OR\r< 443938003 |Procedure carried out on subject|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-10"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.age",
              "path": "Observation.referenceRange.age",
              "short": "Applicable age range, if relevant",
              "definition": "The age at which this reference range is applicable. This is a neonatal age (e.g. number of weeks at term) if the meaning says so.",
              "requirements": "Some analytes vary greatly over age.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.age",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Range"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=PRCN].targetObservationCriterion[code=\"age\"].value"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.text",
              "path": "Observation.referenceRange.text",
              "short": "Text based reference range in an observation",
              "definition": "Text based reference range in an observation which may be used when a quantitative range is not appropriate for an observation.  An example would be a reference value of \"Negative\" or a list or table of 'normals'.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.text",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-7"
                },
                {
                  "identity": "rim",
                  "map": "value:ST"
                }
              ]
            },
            {
              "id": "Observation.related",
              "path": "Observation.related",
              "short": "Used when reporting vital signs panel components",
              "definition": "Used when reporting vital signs panel components.",
              "comment": "For a discussion on the ways Observations can assembled in groups together see [Notes below](observation.html#4.20.4).",
              "requirements": "Normally, an observation will have either a value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and a set of related observations or sometimes a QuestionnaireResponse from which the measure is derived.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.related",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "Relationships established by OBX-4 usage"
                },
                {
                  "identity": "rim",
                  "map": "outBoundRelationship"
                }
              ]
            },
            {
              "id": "Observation.related.id",
              "path": "Observation.related.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.related.extension",
              "path": "Observation.related.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.related.modifierExtension",
              "path": "Observation.related.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.related.type",
              "path": "Observation.related.type",
              "short": "has-member | derived-from | sequel-to | replaces | qualified-by | interfered-by",
              "definition": "A code specifying the kind of relationship that exists with the target resource.",
              "comment": "The \"derived-from\" type is the only logical choice when referencing the QuestionnaireAnswer resource.",
              "requirements": "A relationship type SHOULD be provided.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.related.type",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "fixedCode": "has-member",
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRelationshipType"
                  }
                ],
                "strength": "required",
                "description": "Codes specifying how two observations are related.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-relationshiptypes"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": ".typeCode"
                }
              ]
            },
            {
              "id": "Observation.related.target",
              "path": "Observation.related.target",
              "short": "Resource that is related to this one",
              "definition": "A reference to the observation or [QuestionnaireResponse](questionnaireresponse.html#) resource that is related to this observation.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.related.target",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/vitalsigns"
                }
              ],
              "mustSupport": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".targetObservation"
                }
              ]
            },
            {
              "id": "Observation.component",
              "path": "Observation.component",
              "short": "Used when reporting systolic and diastolic blood pressure.",
              "definition": "Used when reporting systolic and diastolic blood pressure.",
              "comment": "For a discussion on the ways Observations can be assembled in groups together see [Notes](observation.html#notes) below.",
              "requirements": "Component observations share the same attributes in the Observation resource as the primary observation and are always treated a part of a single observation (they are not separable).   However, the reference range for the primary observation value is not inherited by the component values and is required when appropriate for each component observation.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.component",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "key": "vs-3",
                  "severity": "error",
                  "human": "If there is no a value a data absent reason must be present",
                  "expression": "value.exists() or dataAbsentReason.exists()",
                  "xpath": "exists(f:*[starts-with(local-name(.), 'value')]) or exists(f:dataAbsentReason)"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "containment by OBX-4?"
                },
                {
                  "identity": "rim",
                  "map": "outBoundRelationship[typeCode=COMP]"
                }
              ]
            },
            {
              "id": "Observation.component.id",
              "path": "Observation.component.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.extension",
              "path": "Observation.component.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.modifierExtension",
              "path": "Observation.component.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.component.code",
              "path": "Observation.component.code",
              "short": "Type of component observation (code / type)",
              "definition": "Describes what was observed. Sometimes this is called the observation \"code\".",
              "requirements": "Knowing what kind of observation is being made is essential to understanding the observation.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.component.code",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSigns"
                  }
                ],
                "strength": "extensible",
                "description": "This identifies the vital sign result type.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-vitalsignresult"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity| OR \r< 386053000 |Evaluation procedure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-3"
                },
                {
                  "identity": "rim",
                  "map": "code"
                },
                {
                  "identity": "w5",
                  "map": "what"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity",
              "path": "Observation.component.valueQuantity",
              "short": "Vital Sign Value recorded with UCUM",
              "definition": "Vital Sign Value recorded with UCUM.",
              "comment": "Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value.   For boolean values use valueCodeableConcept and select codes from <http://hl7.org/fhir/ValueSet/v2-0136> (these \"yes/no\" concepts can be mapped to the display name \"true/false\" or other mutually exclusive terms that may be needed\").  The element, Observation.value[x], has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueRatio, valueChoice, valuePeriod, valueSampleData, or valueString (the name format is \"'value' + the type name\" with a capital on the first letter of the type).",
              "requirements": "9. SHALL contain exactly one [1..1] value with @xsi:type=\"PQ\" (CONF:7305).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.value[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSignsUnits"
                  }
                ],
                "strength": "required",
                "description": "Common UCUM units for recording Vital Signs",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/ucum-vitals-common"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "363714003 |Interprets| < 441742003 |Evaluation finding|"
                },
                {
                  "identity": "v2",
                  "map": "OBX.2, OBX.5, OBX.6"
                },
                {
                  "identity": "rim",
                  "map": "value"
                },
                {
                  "identity": "sct-attr",
                  "map": "363714003 |Interprets|"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.id",
              "path": "Observation.component.valueQuantity.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.extension",
              "path": "Observation.component.valueQuantity.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.value",
              "path": "Observation.component.valueQuantity.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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.value",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "decimal"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.component.valueQuantity.comparator",
              "path": "Observation.component.valueQuantity.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",
              "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": "v2",
                  "map": "SN.1  / CQ.1"
                },
                {
                  "identity": "rim",
                  "map": "IVL properties"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.unit",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "Observation.component.valueQuantity.unit",
              "short": "Unit representation",
              "definition": "A human-readable form of the unit.",
              "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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.unit",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "PQ.unit"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.system",
              "path": "Observation.component.valueQuantity.system",
              "short": "System that defines coded unit form",
              "definition": "The identification of the system that provides the coded form of the unit.",
              "requirements": "Need to know the system that defines the coded form of the unit.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Quantity.system",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://unitsofmeasure.org",
              "condition": [
                "qty-3"
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "CO.codeSystem, PQ.translation.codeSystem"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.code",
              "path": "Observation.component.valueQuantity.code",
              "short": "Coded responses from the common UCUM units for vital signs value set.",
              "definition": "Coded responses from the common UCUM units for vital signs value set.",
              "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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.code",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "PQ.code, MO.currency, PQ.translation.code"
                }
              ]
            },
            {
              "id": "Observation.component.dataAbsentReason",
              "path": "Observation.component.dataAbsentReason",
              "short": "Why the component result is missing",
              "definition": "Provides a reason why the expected value in the element Observation.value[x] is missing.",
              "comment": "\"Null\" or exceptional values can be represented two ways in FHIR Observations.  One way is to simply include them in the value set and represent the exceptions in the value.  For example, measurement values for a serology test could be  \"detected\", \"not detected\", \"inconclusive\", or  \"test not done\".   The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values.  For example, the dataAbsentReason code \"error\" could be used when the measurement was not completed.  Because of these options, use-case agreements are required to interpret general observations for exceptional values.",
              "requirements": "For many results it is necessary to handle exceptional values in measurements.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.dataAbsentReason",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "condition": [
                "obs-6"
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "DAR"
                  }
                ],
                "strength": "extensible",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-valueabsentreason"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": "value.nullFlavor"
                }
              ]
            },
            {
              "id": "Observation.component.interpretation",
              "path": "Observation.component.interpretation",
              "short": "High, low, normal, etc.",
              "definition": "The assessment made based on the result of the observation.  Intended as a simple compact code often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result. Otherwise known as abnormal flag.",
              "comment": "The component interpretation applies only to the individual component value.  For an overall interpretation all components together use thes Observation.interpretation element.",
              "requirements": "For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result.",
              "alias": [
                "Abnormal Flag"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.interpretation",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationInterpretation"
                  }
                ],
                "strength": "extensible",
                "description": "Codes identifying interpretations of observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-interpretation"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-8"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "363713009 |Has interpretation|"
                }
              ]
            },
            {
              "id": "Observation.component.referenceRange",
              "path": "Observation.component.referenceRange",
              "short": "Provides guide for interpretation of component result",
              "definition": "Guidance on how to interpret the value by comparison to a normal or recommended range.",
              "comment": "Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.",
              "requirements": "Knowing what values are considered \"normal\" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.component.referenceRange",
                "min": 0,
                "max": "*"
              },
              "contentReference": "#Observation.referenceRange",
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX.7"
                },
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]"
                }
              ]
            }
          ]
        },
        "differential": {
          "element": [
            {
              "id": "Observation",
              "path": "Observation",
              "short": "FHIR Vital Signs Profile",
              "definition": "The FHIR Vitals Signs profile sets a minimum expectations for the Observation Resource to record, search and fetch the vital signs associated with a patient.",
              "alias": [
                "Vital Signs",
                "Measurement",
                "Results",
                "Tests"
              ],
              "min": 0,
              "max": "*",
              "constraint": [
                {
                  "key": "vs-2",
                  "severity": "error",
                  "human": "If there is no component or related element then either a value[x] or a data absent reason must be present",
                  "expression": "(component.empty() and related.empty()) implies (dataAbsentReason or value)",
                  "xpath": "exists(f:component) or exists(f:related) or exists(f:*[starts-with(local-name(.), 'value')]) or exists(f:dataAbsentReason)"
                }
              ]
            },
            {
              "id": "Observation.status",
              "path": "Observation.status",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "code"
                }
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "Status"
                  }
                ],
                "strength": "required",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-status"
                }
              }
            },
            {
              "id": "Observation.category",
              "path": "Observation.category",
              "min": 1,
              "max": "*",
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "condition": [
                "vs-4"
              ],
              "constraint": [
                {
                  "key": "vs-4",
                  "severity": "error",
                  "human": "Must have a category of 'vital-signs' and a code system 'http://hl7.org/fhir/observation-category'",
                  "expression": "where(coding.system='http://hl7.org/fhir/observation-category' and coding.code='vital-signs').exists()",
                  "xpath": "exists(f:coding/code[@value='vital-signs']) and exists(f:coding/system[@value='http://hl7.org/fhir/observation-category'])"
                }
              ],
              "mustSupport": true
            },
            {
              "id": "Observation.code",
              "path": "Observation.code",
              "short": "Coded Responses from C-CDA Vital Sign Results",
              "definition": "Coded Responses from C-CDA Vital Sign Results.",
              "requirements": "5. SHALL contain exactly one [1..1] code, where the @code SHOULD be selected from ValueSet HITSP Vital Sign Result Type 2.16.840.1.113883.3.88.12.80.62 DYNAMIC (CONF:7301).",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSigns"
                  }
                ],
                "strength": "extensible",
                "description": "This identifies the vital sign result type.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-vitalsignresult"
                }
              }
            },
            {
              "id": "Observation.subject",
              "path": "Observation.subject",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                }
              ],
              "mustSupport": true
            },
            {
              "id": "Observation.effective[x]",
              "path": "Observation.effective[x]",
              "short": "Often just a dateTime for Vital Signs",
              "definition": "Often just a dateTime for Vital Signs.",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "dateTime"
                },
                {
                  "code": "Period"
                }
              ],
              "condition": [
                "vs-1"
              ],
              "constraint": [
                {
                  "key": "vs-1",
                  "severity": "error",
                  "human": "Datetime must be at least to day.",
                  "expression": "($this as dateTime).toString().length() >= 8",
                  "xpath": "f:matches(effectiveDateTime,/\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d([+-][0-2]\\d:[0-5]\\d|Z)/)"
                }
              ],
              "mustSupport": true
            },
            {
              "id": "Observation.valueQuantity",
              "path": "Observation.valueQuantity",
              "short": "Vital Sign Value recorded with UCUM",
              "definition": "Vital Sign Value recorded with UCUM.",
              "requirements": "9. SHALL contain exactly one [1..1] value with @xsi:type=\"PQ\" (CONF:7305).",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "Quantity"
                }
              ],
              "condition": [
                "vs-2"
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSignsUnits"
                  }
                ],
                "strength": "required",
                "description": "Common UCUM units for recording Vital Signs",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/ucum-vitals-common"
                }
              }
            },
            {
              "id": "Observation.valueQuantity.value",
              "path": "Observation.valueQuantity.value",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "decimal"
                }
              ],
              "mustSupport": true
            },
            {
              "id": "Observation.valueQuantity.unit",
              "path": "Observation.valueQuantity.unit",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "string"
                }
              ],
              "mustSupport": true
            },
            {
              "id": "Observation.valueQuantity.system",
              "path": "Observation.valueQuantity.system",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://unitsofmeasure.org",
              "mustSupport": true
            },
            {
              "id": "Observation.valueQuantity.code",
              "path": "Observation.valueQuantity.code",
              "short": "Coded responses from the common UCUM units for vital signs value set.",
              "definition": "Coded responses from the common UCUM units for vital signs value set.",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "code"
                }
              ],
              "mustSupport": true
            },
            {
              "id": "Observation.dataAbsentReason",
              "path": "Observation.dataAbsentReason",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "condition": [
                "vs-2"
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "DAR"
                  }
                ],
                "strength": "extensible",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-valueabsentreason"
                }
              }
            },
            {
              "id": "Observation.related",
              "path": "Observation.related",
              "short": "Used when reporting vital signs panel components",
              "definition": "Used when reporting vital signs panel components.",
              "mustSupport": true
            },
            {
              "id": "Observation.related.type",
              "path": "Observation.related.type",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "code"
                }
              ],
              "fixedCode": "has-member",
              "mustSupport": true
            },
            {
              "id": "Observation.related.target",
              "path": "Observation.related.target",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/vitalsigns"
                }
              ],
              "mustSupport": true
            },
            {
              "id": "Observation.component",
              "path": "Observation.component",
              "short": "Used when reporting systolic and diastolic blood pressure.",
              "definition": "Used when reporting systolic and diastolic blood pressure.",
              "constraint": [
                {
                  "key": "vs-3",
                  "severity": "error",
                  "human": "If there is no a value a data absent reason must be present",
                  "expression": "value.exists() or dataAbsentReason.exists()",
                  "xpath": "exists(f:*[starts-with(local-name(.), 'value')]) or exists(f:dataAbsentReason)"
                }
              ],
              "mustSupport": true
            },
            {
              "id": "Observation.component.code",
              "path": "Observation.component.code",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSigns"
                  }
                ],
                "strength": "extensible",
                "description": "This identifies the vital sign result type.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-vitalsignresult"
                }
              }
            },
            {
              "id": "Observation.component.valueQuantity",
              "path": "Observation.component.valueQuantity",
              "short": "Vital Sign Value recorded with UCUM",
              "definition": "Vital Sign Value recorded with UCUM.",
              "requirements": "9. SHALL contain exactly one [1..1] value with @xsi:type=\"PQ\" (CONF:7305).",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "Quantity"
                }
              ],
              "condition": [
                "vs-3"
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSignsUnits"
                  }
                ],
                "strength": "required",
                "description": "Common UCUM units for recording Vital Signs",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/ucum-vitals-common"
                }
              }
            },
            {
              "id": "Observation.component.valueQuantity.value",
              "path": "Observation.component.valueQuantity.value",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "decimal"
                }
              ],
              "mustSupport": true
            },
            {
              "id": "Observation.component.valueQuantity.unit",
              "path": "Observation.component.valueQuantity.unit",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "string"
                }
              ],
              "mustSupport": true
            },
            {
              "id": "Observation.component.valueQuantity.system",
              "path": "Observation.component.valueQuantity.system",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://unitsofmeasure.org",
              "mustSupport": true
            },
            {
              "id": "Observation.component.valueQuantity.code",
              "path": "Observation.component.valueQuantity.code",
              "short": "Coded responses from the common UCUM units for vital signs value set.",
              "definition": "Coded responses from the common UCUM units for vital signs value set.",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "code"
                }
              ],
              "mustSupport": true
            },
            {
              "id": "Observation.component.dataAbsentReason",
              "path": "Observation.component.dataAbsentReason",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "condition": [
                "vs-3"
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "DAR"
                  }
                ],
                "strength": "extensible",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-valueabsentreason"
                }
              }
            }
          ]
        }
      }
    },
    {
      "fullUrl": "http://hl7.org/fhir/StructureDefinition/bodyweight",
      "resource": {
        "resourceType": "StructureDefinition",
        "id": "bodyweight",
        "text": {
          "status": "generated",
          "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">to do</div>"
        },
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-summary",
            "valueMarkdown": "####Complete Summary of the Mandatory Requirements\r\r1.  One code in `Observation.code` which must have\r    -   a fixed `Observation.code.coding.system`=**'http ://loinc.org'**\r    -   a fixed  `Observation.code.coding.code`= **'29463-7'**\r    -   Other additional codes are allowed - e.g. more specific LOINC\r        Codes, SNOMED CT concepts, system specific codes. All codes\r        SHALL have an system value\r2.  `Observation.valueQuantity.code` = **'kg', 'g', or '[lb_av]'**"
          }
        ],
        "url": "http://hl7.org/fhir/StructureDefinition/bodyweight",
        "name": "Vital Signs Profile",
        "title": "VitalSigns",
        "status": "draft",
        "experimental": false,
        "date": "2016-03-25",
        "publisher": "Health Level Seven International (Orders and Observations Workgroup)",
        "contact": [
          {
            "telecom": [
              {
                "system": "url",
                "value": "http://www.hl7.org/Special/committees/orders/index.cfm Orders and Observations"
              }
            ]
          }
        ],
        "description": "FHIR Body Weight Profile",
        "fhirVersion": "3.0.1",
        "mapping": [
          {
            "identity": "workflow",
            "uri": "http://hl7.org/fhir/workflow",
            "name": "Workflow Mapping"
          },
          {
            "identity": "sct-concept",
            "uri": "http://snomed.info/conceptdomain",
            "name": "SNOMED CT Concept Domain Binding"
          },
          {
            "identity": "v2",
            "uri": "http://hl7.org/v2",
            "name": "HL7 v2 Mapping"
          },
          {
            "identity": "rim",
            "uri": "http://hl7.org/v3",
            "name": "RIM Mapping"
          },
          {
            "identity": "w5",
            "uri": "http://hl7.org/fhir/w5",
            "name": "W5 Mapping"
          },
          {
            "identity": "sct-attr",
            "uri": "http://snomed.info/sct",
            "name": "SNOMED CT Attribute Binding"
          }
        ],
        "kind": "resource",
        "abstract": false,
        "type": "Observation",
        "baseDefinition": "http://hl7.org/fhir/StructureDefinition/vitalsigns",
        "derivation": "constraint",
        "snapshot": {
          "element": [
            {
              "id": "Observation",
              "path": "Observation",
              "short": "FHIR Body Weight Profile",
              "definition": "This profile defines  how to represent body weight observations in FHIR using a standard LOINC code and UCUM units of measure.",
              "comment": "Used for simple observations such as device measurements, laboratory atomic results, vital signs, height, weight, smoking status, comments, etc.  Other resources are used to provide context for observations such as lab reports, etc.",
              "alias": [
                "Vital Signs",
                "Measurement",
                "Results",
                "Tests"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation",
                "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)",
                  "source": "DomainResource"
                },
                {
                  "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)",
                  "source": "DomainResource"
                },
                {
                  "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))",
                  "source": "DomainResource"
                },
                {
                  "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))]))",
                  "source": "DomainResource"
                },
                {
                  "key": "obs-7",
                  "severity": "error",
                  "human": "If code is the same as a component code then the value element associated with the code SHALL NOT be present",
                  "expression": "value.empty() or code!=component.code",
                  "xpath": "not(exists(f:*[starts-with(local-name(.), 'value')])) or not(count(for $coding in f:code/f:coding return parent::*/f:component/f:code/f:coding[f:code/@value=$coding/f:code/@value and f:system/@value=$coding/f:system/@value])=0)",
                  "source": "Observation"
                },
                {
                  "key": "obs-6",
                  "severity": "error",
                  "human": "dataAbsentReason SHALL only be present if Observation.value[x] is not present",
                  "expression": "dataAbsentReason.empty() or value.empty()",
                  "xpath": "not(exists(f:dataAbsentReason)) or (not(exists(*[starts-with(local-name(.), 'value')])))",
                  "source": "Observation"
                },
                {
                  "key": "vs-2",
                  "severity": "error",
                  "human": "If there is no component or related element then either a value[x] or a data absent reason must be present",
                  "expression": "(component.empty() and related.empty()) implies (dataAbsentReason or value)",
                  "xpath": "exists(f:component) or exists(f:related) or exists(f:*[starts-with(local-name(.), 'value')]) or exists(f:dataAbsentReason)",
                  "source": "Observation"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Entity. Role, or Act"
                },
                {
                  "identity": "workflow",
                  "map": "Event"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity|"
                },
                {
                  "identity": "v2",
                  "map": "OBX"
                },
                {
                  "identity": "rim",
                  "map": "Observation[classCode=OBS, moodCode=EVN]"
                },
                {
                  "identity": "w5",
                  "map": "clinical.diagnostics"
                }
              ]
            },
            {
              "id": "Observation.id",
              "path": "Observation.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "Observation.meta",
              "path": "Observation.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "Observation.implicitRules",
              "path": "Observation.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"
                }
              ],
              "isModifier": true,
              "isSummary": true
            },
            {
              "id": "Observation.language",
              "path": "Observation.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"
                }
              ],
              "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"
                }
              }
            },
            {
              "id": "Observation.text",
              "path": "Observation.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": [
                "dom-1"
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Act.text?"
                }
              ]
            },
            {
              "id": "Observation.contained",
              "path": "Observation.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": "N/A"
                }
              ]
            },
            {
              "id": "Observation.extension",
              "path": "Observation.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.modifierExtension",
              "path": "Observation.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 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"
                }
              ],
              "isModifier": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.identifier",
              "path": "Observation.identifier",
              "short": "Business Identifier for observation",
              "definition": "A unique identifier assigned to this observation.",
              "requirements": "Allows observations to be distinguished and referenced.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.identifier",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Identifier"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.identifier"
                },
                {
                  "identity": "v2",
                  "map": "OBX.21  For OBX segments from systems without OBX-21 support a combination of ORC/OBR and OBX must be negotiated between trading partners to uniquely identify the OBX segment. Depending on how V2 has been implemented each of these may be an option: 1) OBR-3 + OBX-3 + OBX-4 or 2) OBR-3 + OBR-4 + OBX-3 + OBX-4 or 2) some other way to uniquely ID the OBR/ORC + OBX-3 + OBX-4."
                },
                {
                  "identity": "rim",
                  "map": "id"
                },
                {
                  "identity": "w5",
                  "map": "id"
                }
              ]
            },
            {
              "id": "Observation.basedOn",
              "path": "Observation.basedOn",
              "short": "Fulfills plan, proposal or order",
              "definition": "A plan, proposal or order that is fulfilled in whole or in part by this event.",
              "requirements": "Allows tracing of authorization for the event and tracking whether proposals/recommendations were acted upon.",
              "alias": [
                "Fulfills"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.basedOn",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/CarePlan"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/DeviceRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ImmunizationRecommendation"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/NutritionOrder"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ProcedureRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ReferralRequest"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.basedOn"
                },
                {
                  "identity": "v2",
                  "map": "ORC"
                },
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=FLFS].target"
                }
              ]
            },
            {
              "id": "Observation.status",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-display-hint",
                  "valueString": "default: final"
                }
              ],
              "path": "Observation.status",
              "short": "registered | preliminary | final | amended +",
              "definition": "The status of the result value.",
              "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
              "requirements": "Need to track the status of individual results. Some results are finalized before the whole report is finalized.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.status",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "mustSupport": true,
              "isModifier": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "Status"
                  }
                ],
                "strength": "required",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-status"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.status"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 445584004 |Report by finality status|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-11"
                },
                {
                  "identity": "rim",
                  "map": "status  Amended & Final are differentiated by whether it is the subject of a ControlAct event with a type of \"revise\""
                },
                {
                  "identity": "w5",
                  "map": "status"
                }
              ]
            },
            {
              "id": "Observation.category",
              "path": "Observation.category",
              "short": "Classification of  type of observation",
              "definition": "A code that classifies the general type of observation being made.",
              "comment": "In addition to the required category valueset, this element allows various categorization schemes based on the owner’s definition of the category and effectively multiple categories can be used at once.  The level of granularity is defined by the category concepts in the value set.",
              "requirements": "Used for filtering what observations are retrieved and displayed.",
              "min": 1,
              "max": "*",
              "base": {
                "path": "Observation.category",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "constraint": [
                {
                  "key": "vs-4",
                  "severity": "error",
                  "human": "Must have a category of 'vital-signs' and a code system 'http://hl7.org/fhir/observation-category'",
                  "expression": "where(coding.system='http://hl7.org/fhir/observation-category' and coding.code='vital-signs').exists()",
                  "xpath": "exists(f:coding/code[@value='vital-signs']) and exists(f:coding/system[@value='http://hl7.org/fhir/observation-category'])"
                }
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationCategory"
                  }
                ],
                "strength": "preferred",
                "description": "Codes for high level observation categories.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-category"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=\"COMP].target[classCode=\"LIST\", moodCode=\"EVN\"].code"
                },
                {
                  "identity": "w5",
                  "map": "class"
                }
              ]
            },
            {
              "id": "Observation.code",
              "path": "Observation.code",
              "short": "Body Weight",
              "definition": "Body Weight.",
              "comment": "additional codes that translate or map to this code are allowed.  For example a more granular LOINC code or code that is used locally in a system.",
              "requirements": "5. SHALL contain exactly one [1..1] code, where the @code SHOULD be selected from ValueSet HITSP Vital Sign Result Type 2.16.840.1.113883.3.88.12.80.62 DYNAMIC (CONF:7301).",
              "alias": [
                "Name",
                "Test",
                "Name"
              ],
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.code",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSigns"
                  }
                ],
                "strength": "extensible",
                "description": "This identifies the vital sign result type.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-vitalsignresult"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.code"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity| OR < 386053000 |Evaluation procedure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-3"
                },
                {
                  "identity": "rim",
                  "map": "code"
                },
                {
                  "identity": "sct-attr",
                  "map": "116680003 |Is a|"
                },
                {
                  "identity": "w5",
                  "map": "what"
                }
              ]
            },
            {
              "id": "Observation.code.id",
              "path": "Observation.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.code.extension",
              "path": "Observation.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.code.coding",
              "path": "Observation.code.coding",
              "slicing": {
                "discriminator": [
                  {
                    "type": "value",
                    "path": "code"
                  }
                ],
                "ordered": false,
                "rules": "open"
              },
              "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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.code.coding:bodyweightcode",
              "path": "Observation.code.coding",
              "sliceName": "BodyWeightCode",
              "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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.code.coding:bodyweightcode.id",
              "path": "Observation.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.code.coding:bodyweightcode.extension",
              "path": "Observation.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.code.coding:bodyweightcode.system",
              "path": "Observation.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": 0,
              "max": "1",
              "base": {
                "path": "Coding.system",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://loinc.org",
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "C*E.3"
                },
                {
                  "identity": "rim",
                  "map": "./codeSystem"
                },
                {
                  "identity": "orim",
                  "map": "fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem"
                }
              ]
            },
            {
              "id": "Observation.code.coding:bodyweightcode.version",
              "path": "Observation.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": "1",
              "base": {
                "path": "Coding.version",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "C*E.7"
                },
                {
                  "identity": "rim",
                  "map": "./codeSystemVersion"
                },
                {
                  "identity": "orim",
                  "map": "fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion"
                }
              ]
            },
            {
              "id": "Observation.code.coding:bodyweightcode.code",
              "path": "Observation.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).",
              "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"
                }
              ],
              "fixedCode": "29463-7",
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "C*E.1"
                },
                {
                  "identity": "rim",
                  "map": "./code"
                },
                {
                  "identity": "orim",
                  "map": "fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code"
                }
              ]
            },
            {
              "id": "Observation.code.coding:bodyweightcode.display",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "Observation.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.",
              "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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.code.coding:bodyweightcode.userSelected",
              "path": "Observation.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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.code.text",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "Observation.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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.subject",
              "path": "Observation.subject",
              "short": "Who and/or what this is about",
              "definition": "The patient, or group of patients, location, or device whose characteristics (direct or indirect) are described by the observation and into whose record the observation is placed.  Comments: Indirect characteristics may be those of a specimen, fetus, donor,  other observer (for example a relative or EMT), or any observation made about the subject.",
              "comment": "One would expect this element to be a cardinality  of 1..1.  The only circumstance in which the subject can be missing is when the observation is made by a device that does not know the patient. In this case, the observation SHALL be matched to a patient through some context/channel matching technique, and at this point, the observation should be updated.\r\rIf the target of the observation is different than the subject, the general extension [observation-focal-subject](extension-observation-focal-subject.html).  may be used.  However, the distinction between the patient's own value for an observation versus that of the fetus, or the donor or blood product unit, etc., are often specified in the observation code.",
              "requirements": "Observations have no value if you don't know who or what they're about.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.subject",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.subject"
                },
                {
                  "identity": "v2",
                  "map": "PID-3"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=SBJ]"
                },
                {
                  "identity": "w5",
                  "map": "who.focus"
                }
              ]
            },
            {
              "id": "Observation.context",
              "path": "Observation.context",
              "short": "Healthcare event during which this observation is made",
              "definition": "The healthcare event  (e.g. a patient and healthcare provider interaction) during which this observation is made.",
              "comment": "This will typically be the encounter the event occurred within, but some events may be initiated prior to or after the official completion of an encounter or episode but still be tied to the context of the encounter or episode (e.g. pre-admission lab tests).",
              "requirements": "For some observations it may be important to know the link between an observation and a particular encounter.",
              "alias": [
                "Encounter"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.context",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
                }
              ],
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.context"
                },
                {
                  "identity": "v2",
                  "map": "PV1"
                },
                {
                  "identity": "rim",
                  "map": "inboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN]"
                },
                {
                  "identity": "w5",
                  "map": "context"
                }
              ]
            },
            {
              "id": "Observation.effective[x]",
              "path": "Observation.effective[x]",
              "short": "Often just a dateTime for Vital Signs",
              "definition": "Often just a dateTime for Vital Signs.",
              "comment": "At least a date should be present unless this observation is a historical report.",
              "requirements": "Knowing when an observation was deemed true is important to its relevance as well as determining trends.",
              "alias": [
                "Occurrence"
              ],
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.effective[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "dateTime"
                },
                {
                  "code": "Period"
                }
              ],
              "constraint": [
                {
                  "key": "vs-1",
                  "severity": "error",
                  "human": "Datetime must be at least to day.",
                  "expression": "($this as dateTime).toString().length() >= 8",
                  "xpath": "f:matches(effectiveDateTime,/\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d([+-][0-2]\\d:[0-5]\\d|Z)/)"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.occurrence[x]"
                },
                {
                  "identity": "v2",
                  "map": "OBX-14, and/or OBX-19 after v2.4  (depends on who observation made)"
                },
                {
                  "identity": "rim",
                  "map": "effectiveTime"
                },
                {
                  "identity": "w5",
                  "map": "when.done"
                }
              ]
            },
            {
              "id": "Observation.issued",
              "path": "Observation.issued",
              "short": "Date/Time this was made available",
              "definition": "The date and time this observation was made available to providers, typically after the results have been reviewed and verified.",
              "comment": "Updated when the result is updated.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.issued",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "instant"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBR.22 (or MSH.7), or perhaps OBX-19 (depends on who observation made)"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=AUT].time"
                },
                {
                  "identity": "w5",
                  "map": "when.recorded"
                }
              ]
            },
            {
              "id": "Observation.performer",
              "path": "Observation.performer",
              "short": "Who is responsible for the observation",
              "definition": "Who was responsible for asserting the observed value as \"true\".",
              "requirements": "May give a degree of confidence in the observation and also indicates where follow-up questions should be directed.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.performer",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.performer"
                },
                {
                  "identity": "v2",
                  "map": "OBX.15 / (Practitioner)  OBX-16,  PRT-5:PRT-4='RO' /  (Device)  OBX-18 , PRT-10:PRT-4='EQUIP' / (Organization)  OBX-23,  PRT-8:PRT-4='PO'"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=PRF]"
                },
                {
                  "identity": "w5",
                  "map": "who.actor"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity",
              "path": "Observation.valueQuantity",
              "short": "Vital Sign Value recorded with UCUM",
              "definition": "Vital Sign Value recorded with UCUM.",
              "comment": "Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. This element has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueString, valueBoolean, valueRange, valueRatio, valueSampledData, valueAttachment, valueTime, valueDateTime, or valuePeriod. (The name format is \"'value' + the type name\" with a capital on the first letter of the type).\r\r\rIf the data element is usually coded or if the type associated with the Observation.value defines a coded value, use CodeableConcept instead of string datatype even if the value is uncoded text.  A value set is bound to the ValueCodeableConcept element.    For further discussion and examples see the  [notes section](observation.html#notes) below.",
              "requirements": "9. SHALL contain exactly one [1..1] value with @xsi:type=\"PQ\" (CONF:7305).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.value[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity"
                }
              ],
              "condition": [
                "obs-7"
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSignsUnits"
                  }
                ],
                "strength": "required",
                "description": "Common UCUM units for recording Vital Signs",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/ucum-vitals-common"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.notDone, Event.notDoneReason  (maps to valeu[x] or dataAbsentReason)"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 441742003 |Evaluation finding|"
                },
                {
                  "identity": "v2",
                  "map": "OBX.2, OBX.5, OBX.6"
                },
                {
                  "identity": "rim",
                  "map": "value"
                },
                {
                  "identity": "sct-attr",
                  "map": "363714003 |Interprets|"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.id",
              "path": "Observation.valueQuantity.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.extension",
              "path": "Observation.valueQuantity.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.value",
              "path": "Observation.valueQuantity.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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.value",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "decimal"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.valueQuantity.comparator",
              "path": "Observation.valueQuantity.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",
              "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": "v2",
                  "map": "SN.1  / CQ.1"
                },
                {
                  "identity": "rim",
                  "map": "IVL properties"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.unit",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "Observation.valueQuantity.unit",
              "short": "Unit representation",
              "definition": "A human-readable form of the unit.",
              "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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.unit",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "PQ.unit"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.system",
              "path": "Observation.valueQuantity.system",
              "short": "System that defines coded unit form",
              "definition": "The identification of the system that provides the coded form of the unit.",
              "requirements": "Need to know the system that defines the coded form of the unit.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Quantity.system",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://unitsofmeasure.org",
              "condition": [
                "qty-3"
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "CO.codeSystem, PQ.translation.codeSystem"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.code",
              "path": "Observation.valueQuantity.code",
              "short": "Coded responses from the common UCUM units for vital signs value set.",
              "definition": "Coded responses from the common UCUM units for vital signs value set.",
              "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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.code",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "BodyWeightUnits"
                  }
                ],
                "strength": "required",
                "description": "Common UCUM units for Body Weight",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/ucum-bodyweight"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "PQ.code, MO.currency, PQ.translation.code"
                }
              ]
            },
            {
              "id": "Observation.dataAbsentReason",
              "path": "Observation.dataAbsentReason",
              "short": "Why the result is missing",
              "definition": "Provides a reason why the expected value in the element Observation.value[x] is missing.",
              "comment": "Null or exceptional values can be represented two ways in FHIR Observations.  One way is to simply include them in the value set and represent the exceptions in the value.  For example, measurement values for a serology test could be  \"detected\", \"not detected\", \"inconclusive\", or  \"specimen unsatisfactory\".   The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values.  For example, the dataAbsentReason code \"error\" could be used when the measurement was not completed. Note that an observation may only be reported if there are values to report. For example differential cell counts values may be reported only when > 0.  Because of these options, use-case agreements are required to interpret general observations for null or exceptional values.",
              "requirements": "For many results it is necessary to handle exceptional values in measurements.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.dataAbsentReason",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "condition": [
                "obs-6"
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "DAR"
                  }
                ],
                "strength": "extensible",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-valueabsentreason"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.notDone, Event.notDoneReason  (maps to valeu[x] or dataAbsentReason)"
                },
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": "value.nullFlavor"
                }
              ]
            },
            {
              "id": "Observation.interpretation",
              "path": "Observation.interpretation",
              "short": "High, low, normal, etc.",
              "definition": "The assessment made based on the result of the observation.  Intended as a simple compact code often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result. Otherwise known as abnormal flag.",
              "requirements": "For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result.",
              "alias": [
                "Abnormal Flag"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.interpretation",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationInterpretation"
                  }
                ],
                "strength": "extensible",
                "description": "Codes identifying interpretations of observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-interpretation"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-8"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "363713009 |Has interpretation|"
                }
              ]
            },
            {
              "id": "Observation.comment",
              "path": "Observation.comment",
              "short": "Comments about result",
              "definition": "May include statements about significant, unexpected or unreliable values, or information about the source of the value where this may be relevant to the interpretation of the result.",
              "requirements": "Need to be able to provide free text additional information.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.comment",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.note"
                },
                {
                  "identity": "v2",
                  "map": "NTE.3 (partner NTE to OBX, or sometimes another (child?) OBX)"
                },
                {
                  "identity": "rim",
                  "map": "subjectOf.observationEvent[code=\"annotation\"].value"
                }
              ]
            },
            {
              "id": "Observation.bodySite",
              "path": "Observation.bodySite",
              "short": "Observed body part",
              "definition": "Indicates the site on the subject's body where the observation was made (i.e. the target site).",
              "comment": "Only used if not implicit in code found in Observation.code.  In many systems, this may be represented as a related observation instead of an inline component.   If the use case requires BodySite to be handled as a separate resource (e.g. to identify and track separately) then use the standard extension[ body-site-instance](extension-body-site-instance.html).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.bodySite",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "BodySite"
                  }
                ],
                "strength": "example",
                "description": "Codes describing anatomical locations. May include laterality.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/body-site"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 123037004 |Body structure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-20"
                },
                {
                  "identity": "rim",
                  "map": "targetSiteCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "718497002 |Inherent location|"
                }
              ]
            },
            {
              "id": "Observation.method",
              "path": "Observation.method",
              "short": "How it was done",
              "definition": "Indicates the mechanism used to perform the observation.",
              "comment": "Only used if not implicit in code for Observation.code.",
              "requirements": "In some cases, method can impact results and is thus used for determining whether results can be compared or determining significance of results.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.method",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationMethod"
                  }
                ],
                "strength": "example",
                "description": "Methods for simple observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-methods"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-17"
                },
                {
                  "identity": "rim",
                  "map": "methodCode"
                }
              ]
            },
            {
              "id": "Observation.specimen",
              "path": "Observation.specimen",
              "short": "Specimen used for this observation",
              "definition": "The specimen that was used when this observation was made.",
              "comment": "Should only be used if not implicit in code found in `Observation.code`.  Observations are not made on specimens themselves; they are made on a subject, but in many cases by the means of a specimen. Note that although specimens are often involved, they are not always tracked and reported explicitly. Also note that observation resources may be used in contexts that track the specimen explicitly (e.g. Diagnostic Report).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.specimen",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Specimen"
                }
              ],
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 123038009 |Specimen|"
                },
                {
                  "identity": "v2",
                  "map": "SPM segment"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=SPC].specimen"
                },
                {
                  "identity": "sct-attr",
                  "map": "704319004 |Inherent in|"
                }
              ]
            },
            {
              "id": "Observation.device",
              "path": "Observation.device",
              "short": "(Measurement) Device",
              "definition": "The device used to generate the observation data.",
              "comment": "An extension should be used if further typing of the device is needed.  Devices used to support obtaining an observation can be represented using either an extension or through the Observation.related element.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.device",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/DeviceMetric"
                }
              ],
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 49062001 |Device|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-17 / PRT -10"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=DEV]"
                },
                {
                  "identity": "sct-attr",
                  "map": "424226004 |Using device|"
                }
              ]
            },
            {
              "id": "Observation.referenceRange",
              "path": "Observation.referenceRange",
              "short": "Provides guide for interpretation",
              "definition": "Guidance on how to interpret the value by comparison to a normal or recommended range.",
              "comment": "Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.",
              "requirements": "Knowing what values are considered \"normal\" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.referenceRange",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "key": "obs-3",
                  "severity": "error",
                  "human": "Must have at least a low or a high or text",
                  "expression": "low.exists() or high.exists() or text.exists()",
                  "xpath": "(exists(f:low) or exists(f:high)or exists(f:text))"
                }
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX.7"
                },
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.id",
              "path": "Observation.referenceRange.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.extension",
              "path": "Observation.referenceRange.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.modifierExtension",
              "path": "Observation.referenceRange.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.low",
              "path": "Observation.referenceRange.low",
              "short": "Low Range, if relevant",
              "definition": "The value of the low bound of the reference range.  The low bound of the reference range endpoint is inclusive of the value (e.g.  reference range is >=5 - <=9).   If the low bound is omitted,  it is assumed to be meaningless (e.g. reference range is <=2.3).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.low",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity",
                  "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
                }
              ],
              "condition": [
                "obs-3"
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-7"
                },
                {
                  "identity": "rim",
                  "map": "value:IVL_PQ.low"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.high",
              "path": "Observation.referenceRange.high",
              "short": "High Range, if relevant",
              "definition": "The value of the high bound of the reference range.  The high bound of the reference range endpoint is inclusive of the value (e.g.  reference range is >=5 - <=9).   If the high bound is omitted,  it is assumed to be meaningless (e.g. reference range is >= 2.3).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.high",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity",
                  "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
                }
              ],
              "condition": [
                "obs-3"
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-7"
                },
                {
                  "identity": "rim",
                  "map": "value:IVL_PQ.high"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.type",
              "path": "Observation.referenceRange.type",
              "short": "Reference range qualifier",
              "definition": "Codes to indicate the what part of the targeted reference population it applies to. For example, the normal or therapeutic range.",
              "comment": "This SHOULD be populated if there is more than one range.  If this element is not present then the normal range is assumed.",
              "requirements": "Need to be able to say what kind of reference range this is - normal, recommended, therapeutic, etc,  - for proper interpretation.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.type",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRangeMeaning"
                  }
                ],
                "strength": "extensible",
                "description": "Code for the meaning of a reference range.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/referencerange-meaning"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values| OR  \r< 365860008 |General clinical state finding| \rOR \r< 250171008 |Clinical history or observation findings| OR  \r< 415229000 |Racial group| OR \r< 365400002 |Finding of puberty stage| OR\r< 443938003 |Procedure carried out on subject|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-10"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.appliesTo",
              "path": "Observation.referenceRange.appliesTo",
              "short": "Reference range population",
              "definition": "Codes to indicate the target population this reference range applies to.  For example, a reference range may be based on the normal population or a particular sex or race.",
              "comment": "This SHOULD be populated if there is more than one range.  If this element is not present then the normal population is assumed.",
              "requirements": "Need to be able to identify the target population for proper interpretation.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.referenceRange.appliesTo",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRangeType"
                  }
                ],
                "strength": "example",
                "description": "Codes identifying the population the reference range applies to.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/referencerange-appliesto"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values| OR  \r< 365860008 |General clinical state finding| \rOR \r< 250171008 |Clinical history or observation findings| OR  \r< 415229000 |Racial group| OR \r< 365400002 |Finding of puberty stage| OR\r< 443938003 |Procedure carried out on subject|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-10"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.age",
              "path": "Observation.referenceRange.age",
              "short": "Applicable age range, if relevant",
              "definition": "The age at which this reference range is applicable. This is a neonatal age (e.g. number of weeks at term) if the meaning says so.",
              "requirements": "Some analytes vary greatly over age.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.age",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Range"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=PRCN].targetObservationCriterion[code=\"age\"].value"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.text",
              "path": "Observation.referenceRange.text",
              "short": "Text based reference range in an observation",
              "definition": "Text based reference range in an observation which may be used when a quantitative range is not appropriate for an observation.  An example would be a reference value of \"Negative\" or a list or table of 'normals'.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.text",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-7"
                },
                {
                  "identity": "rim",
                  "map": "value:ST"
                }
              ]
            },
            {
              "id": "Observation.related",
              "path": "Observation.related",
              "short": "Used when reporting vital signs panel components",
              "definition": "Used when reporting vital signs panel components.",
              "comment": "For a discussion on the ways Observations can assembled in groups together see [Notes below](observation.html#4.20.4).",
              "requirements": "Normally, an observation will have either a value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and a set of related observations or sometimes a QuestionnaireResponse from which the measure is derived.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.related",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "Relationships established by OBX-4 usage"
                },
                {
                  "identity": "rim",
                  "map": "outBoundRelationship"
                }
              ]
            },
            {
              "id": "Observation.related.id",
              "path": "Observation.related.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.related.extension",
              "path": "Observation.related.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.related.modifierExtension",
              "path": "Observation.related.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.related.type",
              "path": "Observation.related.type",
              "short": "has-member | derived-from | sequel-to | replaces | qualified-by | interfered-by",
              "definition": "A code specifying the kind of relationship that exists with the target resource.",
              "comment": "The \"derived-from\" type is the only logical choice when referencing the QuestionnaireAnswer resource.",
              "requirements": "A relationship type SHOULD be provided.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.related.type",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "fixedCode": "has-member",
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRelationshipType"
                  }
                ],
                "strength": "required",
                "description": "Codes specifying how two observations are related.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-relationshiptypes"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": ".typeCode"
                }
              ]
            },
            {
              "id": "Observation.related.target",
              "path": "Observation.related.target",
              "short": "Resource that is related to this one",
              "definition": "A reference to the observation or [QuestionnaireResponse](questionnaireresponse.html#) resource that is related to this observation.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.related.target",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/vitalsigns"
                }
              ],
              "mustSupport": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".targetObservation"
                }
              ]
            },
            {
              "id": "Observation.component",
              "path": "Observation.component",
              "short": "Used when reporting systolic and diastolic blood pressure.",
              "definition": "Used when reporting systolic and diastolic blood pressure.",
              "comment": "For a discussion on the ways Observations can be assembled in groups together see [Notes](observation.html#notes) below.",
              "requirements": "Component observations share the same attributes in the Observation resource as the primary observation and are always treated a part of a single observation (they are not separable).   However, the reference range for the primary observation value is not inherited by the component values and is required when appropriate for each component observation.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.component",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "key": "vs-3",
                  "severity": "error",
                  "human": "If there is no a value a data absent reason must be present",
                  "expression": "value.exists() or dataAbsentReason.exists()",
                  "xpath": "exists(f:*[starts-with(local-name(.), 'value')]) or exists(f:dataAbsentReason)"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "containment by OBX-4?"
                },
                {
                  "identity": "rim",
                  "map": "outBoundRelationship[typeCode=COMP]"
                }
              ]
            },
            {
              "id": "Observation.component.id",
              "path": "Observation.component.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.extension",
              "path": "Observation.component.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.modifierExtension",
              "path": "Observation.component.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.component.code",
              "path": "Observation.component.code",
              "short": "Type of component observation (code / type)",
              "definition": "Describes what was observed. Sometimes this is called the observation \"code\".",
              "requirements": "Knowing what kind of observation is being made is essential to understanding the observation.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.component.code",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSigns"
                  }
                ],
                "strength": "extensible",
                "description": "This identifies the vital sign result type.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-vitalsignresult"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity| OR \r< 386053000 |Evaluation procedure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-3"
                },
                {
                  "identity": "rim",
                  "map": "code"
                },
                {
                  "identity": "w5",
                  "map": "what"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity",
              "path": "Observation.component.valueQuantity",
              "short": "Vital Sign Value recorded with UCUM",
              "definition": "Vital Sign Value recorded with UCUM.",
              "comment": "Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value.   For boolean values use valueCodeableConcept and select codes from <http://hl7.org/fhir/ValueSet/v2-0136> (these \"yes/no\" concepts can be mapped to the display name \"true/false\" or other mutually exclusive terms that may be needed\").  The element, Observation.value[x], has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueRatio, valueChoice, valuePeriod, valueSampleData, or valueString (the name format is \"'value' + the type name\" with a capital on the first letter of the type).",
              "requirements": "9. SHALL contain exactly one [1..1] value with @xsi:type=\"PQ\" (CONF:7305).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.value[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSignsUnits"
                  }
                ],
                "strength": "required",
                "description": "Common UCUM units for recording Vital Signs",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/ucum-vitals-common"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "363714003 |Interprets| < 441742003 |Evaluation finding|"
                },
                {
                  "identity": "v2",
                  "map": "OBX.2, OBX.5, OBX.6"
                },
                {
                  "identity": "rim",
                  "map": "value"
                },
                {
                  "identity": "sct-attr",
                  "map": "363714003 |Interprets|"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.id",
              "path": "Observation.component.valueQuantity.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.extension",
              "path": "Observation.component.valueQuantity.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.value",
              "path": "Observation.component.valueQuantity.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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.value",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "decimal"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.component.valueQuantity.comparator",
              "path": "Observation.component.valueQuantity.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",
              "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": "v2",
                  "map": "SN.1  / CQ.1"
                },
                {
                  "identity": "rim",
                  "map": "IVL properties"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.unit",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "Observation.component.valueQuantity.unit",
              "short": "Unit representation",
              "definition": "A human-readable form of the unit.",
              "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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.unit",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "PQ.unit"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.system",
              "path": "Observation.component.valueQuantity.system",
              "short": "System that defines coded unit form",
              "definition": "The identification of the system that provides the coded form of the unit.",
              "requirements": "Need to know the system that defines the coded form of the unit.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Quantity.system",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://unitsofmeasure.org",
              "condition": [
                "qty-3"
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "CO.codeSystem, PQ.translation.codeSystem"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.code",
              "path": "Observation.component.valueQuantity.code",
              "short": "Coded responses from the common UCUM units for vital signs value set.",
              "definition": "Coded responses from the common UCUM units for vital signs value set.",
              "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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.code",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "PQ.code, MO.currency, PQ.translation.code"
                }
              ]
            },
            {
              "id": "Observation.component.dataAbsentReason",
              "path": "Observation.component.dataAbsentReason",
              "short": "Why the component result is missing",
              "definition": "Provides a reason why the expected value in the element Observation.value[x] is missing.",
              "comment": "\"Null\" or exceptional values can be represented two ways in FHIR Observations.  One way is to simply include them in the value set and represent the exceptions in the value.  For example, measurement values for a serology test could be  \"detected\", \"not detected\", \"inconclusive\", or  \"test not done\".   The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values.  For example, the dataAbsentReason code \"error\" could be used when the measurement was not completed.  Because of these options, use-case agreements are required to interpret general observations for exceptional values.",
              "requirements": "For many results it is necessary to handle exceptional values in measurements.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.dataAbsentReason",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "condition": [
                "obs-6"
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "DAR"
                  }
                ],
                "strength": "extensible",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-valueabsentreason"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": "value.nullFlavor"
                }
              ]
            },
            {
              "id": "Observation.component.interpretation",
              "path": "Observation.component.interpretation",
              "short": "High, low, normal, etc.",
              "definition": "The assessment made based on the result of the observation.  Intended as a simple compact code often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result. Otherwise known as abnormal flag.",
              "comment": "The component interpretation applies only to the individual component value.  For an overall interpretation all components together use thes Observation.interpretation element.",
              "requirements": "For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result.",
              "alias": [
                "Abnormal Flag"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.interpretation",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationInterpretation"
                  }
                ],
                "strength": "extensible",
                "description": "Codes identifying interpretations of observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-interpretation"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-8"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "363713009 |Has interpretation|"
                }
              ]
            },
            {
              "id": "Observation.component.referenceRange",
              "path": "Observation.component.referenceRange",
              "short": "Provides guide for interpretation of component result",
              "definition": "Guidance on how to interpret the value by comparison to a normal or recommended range.",
              "comment": "Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.",
              "requirements": "Knowing what values are considered \"normal\" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.component.referenceRange",
                "min": 0,
                "max": "*"
              },
              "contentReference": "#Observation.referenceRange",
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX.7"
                },
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]"
                }
              ]
            }
          ]
        },
        "differential": {
          "element": [
            {
              "id": "Observation",
              "path": "Observation",
              "short": "FHIR Body Weight Profile",
              "definition": "This profile defines  how to represent body weight observations in FHIR using a standard LOINC code and UCUM units of measure.",
              "min": 0,
              "max": "*"
            },
            {
              "id": "Observation.code",
              "path": "Observation.code",
              "short": "Body Weight",
              "definition": "Body Weight.",
              "comment": "additional codes that translate or map to this code are allowed.  For example a more granular LOINC code or code that is used locally in a system.",
              "alias": [
                "Test",
                "Name"
              ]
            },
            {
              "id": "Observation.code.coding",
              "path": "Observation.code.coding",
              "slicing": {
                "discriminator": [
                  {
                    "type": "value",
                    "path": "code"
                  }
                ],
                "ordered": false,
                "rules": "open"
              }
            },
            {
              "id": "Observation.code.coding:bodyweightcode",
              "path": "Observation.code.coding",
              "sliceName": "BodyWeightCode"
            },
            {
              "id": "Observation.code.coding:bodyweightcode.system",
              "path": "Observation.code.coding.system",
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://loinc.org"
            },
            {
              "id": "Observation.code.coding:bodyweightcode.code",
              "path": "Observation.code.coding.code",
              "type": [
                {
                  "code": "code"
                }
              ],
              "fixedCode": "29463-7"
            },
            {
              "id": "Observation.valueQuantity",
              "path": "Observation.valueQuantity"
            },
            {
              "id": "Observation.valueQuantity.code",
              "path": "Observation.valueQuantity.code",
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "BodyWeightUnits"
                  }
                ],
                "strength": "required",
                "description": "Common UCUM units for Body Weight",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/ucum-bodyweight"
                }
              }
            }
          ]
        }
      }
    },
    {
      "fullUrl": "http://hl7.org/fhir/StructureDefinition/resprate",
      "resource": {
        "resourceType": "StructureDefinition",
        "id": "resprate",
        "text": {
          "status": "generated",
          "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">to do</div>"
        },
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-summary",
            "valueMarkdown": "####Complete Summary of the Mandatory Requirements\r\r1.  One code in `Observation.code` which must have\r    -   a fixed `Observation.code.coding.system`=**'http ://loinc.org'**\r    -   a fixed  `Observation.code.coding.code`= **'9279-1'**\r    -   Other additional codes are allowed - e.g. more specific LOINC\r        Codes, SNOMED CT concepts, system specific codes. All codes\r        SHALL have an system value\r2.  a fixed`Observation.valueQuantity.code` = **'/min'**"
          }
        ],
        "url": "http://hl7.org/fhir/StructureDefinition/resprate",
        "name": "Vital Signs Profile",
        "title": "VitalSigns",
        "status": "draft",
        "experimental": false,
        "date": "2016-03-25",
        "publisher": "Health Level Seven International (Orders and Observations Workgroup)",
        "contact": [
          {
            "telecom": [
              {
                "system": "url",
                "value": "http://www.hl7.org/Special/committees/orders/index.cfm Orders and Observations"
              }
            ]
          }
        ],
        "description": "FHIR Respiratory Rate Profile",
        "fhirVersion": "3.0.1",
        "mapping": [
          {
            "identity": "workflow",
            "uri": "http://hl7.org/fhir/workflow",
            "name": "Workflow Mapping"
          },
          {
            "identity": "sct-concept",
            "uri": "http://snomed.info/conceptdomain",
            "name": "SNOMED CT Concept Domain Binding"
          },
          {
            "identity": "v2",
            "uri": "http://hl7.org/v2",
            "name": "HL7 v2 Mapping"
          },
          {
            "identity": "rim",
            "uri": "http://hl7.org/v3",
            "name": "RIM Mapping"
          },
          {
            "identity": "w5",
            "uri": "http://hl7.org/fhir/w5",
            "name": "W5 Mapping"
          },
          {
            "identity": "sct-attr",
            "uri": "http://snomed.info/sct",
            "name": "SNOMED CT Attribute Binding"
          }
        ],
        "kind": "resource",
        "abstract": false,
        "type": "Observation",
        "baseDefinition": "http://hl7.org/fhir/StructureDefinition/vitalsigns",
        "derivation": "constraint",
        "snapshot": {
          "element": [
            {
              "id": "Observation",
              "path": "Observation",
              "short": "FHIR Respiratory Rate Profile",
              "definition": "This profile defines  how to represent Respiratory Rate observations in FHIR using a standard LOINC code and UCUM units of measure.",
              "comment": "Used for simple observations such as device measurements, laboratory atomic results, vital signs, height, weight, smoking status, comments, etc.  Other resources are used to provide context for observations such as lab reports, etc.",
              "alias": [
                "Vital Signs",
                "Measurement",
                "Results",
                "Tests"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation",
                "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)",
                  "source": "DomainResource"
                },
                {
                  "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)",
                  "source": "DomainResource"
                },
                {
                  "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))",
                  "source": "DomainResource"
                },
                {
                  "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))]))",
                  "source": "DomainResource"
                },
                {
                  "key": "obs-7",
                  "severity": "error",
                  "human": "If code is the same as a component code then the value element associated with the code SHALL NOT be present",
                  "expression": "value.empty() or code!=component.code",
                  "xpath": "not(exists(f:*[starts-with(local-name(.), 'value')])) or not(count(for $coding in f:code/f:coding return parent::*/f:component/f:code/f:coding[f:code/@value=$coding/f:code/@value and f:system/@value=$coding/f:system/@value])=0)",
                  "source": "Observation"
                },
                {
                  "key": "obs-6",
                  "severity": "error",
                  "human": "dataAbsentReason SHALL only be present if Observation.value[x] is not present",
                  "expression": "dataAbsentReason.empty() or value.empty()",
                  "xpath": "not(exists(f:dataAbsentReason)) or (not(exists(*[starts-with(local-name(.), 'value')])))",
                  "source": "Observation"
                },
                {
                  "key": "vs-2",
                  "severity": "error",
                  "human": "If there is no component or related element then either a value[x] or a data absent reason must be present",
                  "expression": "(component.empty() and related.empty()) implies (dataAbsentReason or value)",
                  "xpath": "exists(f:component) or exists(f:related) or exists(f:*[starts-with(local-name(.), 'value')]) or exists(f:dataAbsentReason)",
                  "source": "Observation"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Entity. Role, or Act"
                },
                {
                  "identity": "workflow",
                  "map": "Event"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity|"
                },
                {
                  "identity": "v2",
                  "map": "OBX"
                },
                {
                  "identity": "rim",
                  "map": "Observation[classCode=OBS, moodCode=EVN]"
                },
                {
                  "identity": "w5",
                  "map": "clinical.diagnostics"
                }
              ]
            },
            {
              "id": "Observation.id",
              "path": "Observation.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "Observation.meta",
              "path": "Observation.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "Observation.implicitRules",
              "path": "Observation.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"
                }
              ],
              "isModifier": true,
              "isSummary": true
            },
            {
              "id": "Observation.language",
              "path": "Observation.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"
                }
              ],
              "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"
                }
              }
            },
            {
              "id": "Observation.text",
              "path": "Observation.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": [
                "dom-1"
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Act.text?"
                }
              ]
            },
            {
              "id": "Observation.contained",
              "path": "Observation.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": "N/A"
                }
              ]
            },
            {
              "id": "Observation.extension",
              "path": "Observation.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.modifierExtension",
              "path": "Observation.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 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"
                }
              ],
              "isModifier": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.identifier",
              "path": "Observation.identifier",
              "short": "Business Identifier for observation",
              "definition": "A unique identifier assigned to this observation.",
              "requirements": "Allows observations to be distinguished and referenced.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.identifier",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Identifier"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.identifier"
                },
                {
                  "identity": "v2",
                  "map": "OBX.21  For OBX segments from systems without OBX-21 support a combination of ORC/OBR and OBX must be negotiated between trading partners to uniquely identify the OBX segment. Depending on how V2 has been implemented each of these may be an option: 1) OBR-3 + OBX-3 + OBX-4 or 2) OBR-3 + OBR-4 + OBX-3 + OBX-4 or 2) some other way to uniquely ID the OBR/ORC + OBX-3 + OBX-4."
                },
                {
                  "identity": "rim",
                  "map": "id"
                },
                {
                  "identity": "w5",
                  "map": "id"
                }
              ]
            },
            {
              "id": "Observation.basedOn",
              "path": "Observation.basedOn",
              "short": "Fulfills plan, proposal or order",
              "definition": "A plan, proposal or order that is fulfilled in whole or in part by this event.",
              "requirements": "Allows tracing of authorization for the event and tracking whether proposals/recommendations were acted upon.",
              "alias": [
                "Fulfills"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.basedOn",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/CarePlan"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/DeviceRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ImmunizationRecommendation"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/NutritionOrder"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ProcedureRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ReferralRequest"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.basedOn"
                },
                {
                  "identity": "v2",
                  "map": "ORC"
                },
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=FLFS].target"
                }
              ]
            },
            {
              "id": "Observation.status",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-display-hint",
                  "valueString": "default: final"
                }
              ],
              "path": "Observation.status",
              "short": "registered | preliminary | final | amended +",
              "definition": "The status of the result value.",
              "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
              "requirements": "Need to track the status of individual results. Some results are finalized before the whole report is finalized.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.status",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "mustSupport": true,
              "isModifier": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "Status"
                  }
                ],
                "strength": "required",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-status"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.status"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 445584004 |Report by finality status|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-11"
                },
                {
                  "identity": "rim",
                  "map": "status  Amended & Final are differentiated by whether it is the subject of a ControlAct event with a type of \"revise\""
                },
                {
                  "identity": "w5",
                  "map": "status"
                }
              ]
            },
            {
              "id": "Observation.category",
              "path": "Observation.category",
              "short": "Classification of  type of observation",
              "definition": "A code that classifies the general type of observation being made.",
              "comment": "In addition to the required category valueset, this element allows various categorization schemes based on the owner’s definition of the category and effectively multiple categories can be used at once.  The level of granularity is defined by the category concepts in the value set.",
              "requirements": "Used for filtering what observations are retrieved and displayed.",
              "min": 1,
              "max": "*",
              "base": {
                "path": "Observation.category",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "constraint": [
                {
                  "key": "vs-4",
                  "severity": "error",
                  "human": "Must have a category of 'vital-signs' and a code system 'http://hl7.org/fhir/observation-category'",
                  "expression": "where(coding.system='http://hl7.org/fhir/observation-category' and coding.code='vital-signs').exists()",
                  "xpath": "exists(f:coding/code[@value='vital-signs']) and exists(f:coding/system[@value='http://hl7.org/fhir/observation-category'])"
                }
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationCategory"
                  }
                ],
                "strength": "preferred",
                "description": "Codes for high level observation categories.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-category"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=\"COMP].target[classCode=\"LIST\", moodCode=\"EVN\"].code"
                },
                {
                  "identity": "w5",
                  "map": "class"
                }
              ]
            },
            {
              "id": "Observation.code",
              "path": "Observation.code",
              "short": "Respiratory Rate",
              "definition": "Respiratory Rate.",
              "comment": "additional codes that translate or map to this code are allowed.  For example a more granular LOINC code or code that is used locally in a system.",
              "requirements": "5. SHALL contain exactly one [1..1] code, where the @code SHOULD be selected from ValueSet HITSP Vital Sign Result Type 2.16.840.1.113883.3.88.12.80.62 DYNAMIC (CONF:7301).",
              "alias": [
                "Name",
                "Test",
                "Name"
              ],
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.code",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSigns"
                  }
                ],
                "strength": "extensible",
                "description": "This identifies the vital sign result type.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-vitalsignresult"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.code"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity| OR < 386053000 |Evaluation procedure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-3"
                },
                {
                  "identity": "rim",
                  "map": "code"
                },
                {
                  "identity": "sct-attr",
                  "map": "116680003 |Is a|"
                },
                {
                  "identity": "w5",
                  "map": "what"
                }
              ]
            },
            {
              "id": "Observation.code.id",
              "path": "Observation.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.code.extension",
              "path": "Observation.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.code.coding",
              "path": "Observation.code.coding",
              "slicing": {
                "discriminator": [
                  {
                    "type": "value",
                    "path": "code"
                  }
                ],
                "ordered": false,
                "rules": "open"
              },
              "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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.code.coding:respratecode",
              "path": "Observation.code.coding",
              "sliceName": "RespRateCode",
              "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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.code.coding:respratecode.id",
              "path": "Observation.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.code.coding:respratecode.extension",
              "path": "Observation.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.code.coding:respratecode.system",
              "path": "Observation.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": 0,
              "max": "1",
              "base": {
                "path": "Coding.system",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://loinc.org",
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "C*E.3"
                },
                {
                  "identity": "rim",
                  "map": "./codeSystem"
                },
                {
                  "identity": "orim",
                  "map": "fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem"
                }
              ]
            },
            {
              "id": "Observation.code.coding:respratecode.version",
              "path": "Observation.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": "1",
              "base": {
                "path": "Coding.version",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "C*E.7"
                },
                {
                  "identity": "rim",
                  "map": "./codeSystemVersion"
                },
                {
                  "identity": "orim",
                  "map": "fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion"
                }
              ]
            },
            {
              "id": "Observation.code.coding:respratecode.code",
              "path": "Observation.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).",
              "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"
                }
              ],
              "fixedCode": "9279-1",
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "C*E.1"
                },
                {
                  "identity": "rim",
                  "map": "./code"
                },
                {
                  "identity": "orim",
                  "map": "fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code"
                }
              ]
            },
            {
              "id": "Observation.code.coding:respratecode.display",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "Observation.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.",
              "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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.code.coding:respratecode.userSelected",
              "path": "Observation.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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.code.text",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "Observation.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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.subject",
              "path": "Observation.subject",
              "short": "Who and/or what this is about",
              "definition": "The patient, or group of patients, location, or device whose characteristics (direct or indirect) are described by the observation and into whose record the observation is placed.  Comments: Indirect characteristics may be those of a specimen, fetus, donor,  other observer (for example a relative or EMT), or any observation made about the subject.",
              "comment": "One would expect this element to be a cardinality  of 1..1.  The only circumstance in which the subject can be missing is when the observation is made by a device that does not know the patient. In this case, the observation SHALL be matched to a patient through some context/channel matching technique, and at this point, the observation should be updated.\r\rIf the target of the observation is different than the subject, the general extension [observation-focal-subject](extension-observation-focal-subject.html).  may be used.  However, the distinction between the patient's own value for an observation versus that of the fetus, or the donor or blood product unit, etc., are often specified in the observation code.",
              "requirements": "Observations have no value if you don't know who or what they're about.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.subject",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.subject"
                },
                {
                  "identity": "v2",
                  "map": "PID-3"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=SBJ]"
                },
                {
                  "identity": "w5",
                  "map": "who.focus"
                }
              ]
            },
            {
              "id": "Observation.context",
              "path": "Observation.context",
              "short": "Healthcare event during which this observation is made",
              "definition": "The healthcare event  (e.g. a patient and healthcare provider interaction) during which this observation is made.",
              "comment": "This will typically be the encounter the event occurred within, but some events may be initiated prior to or after the official completion of an encounter or episode but still be tied to the context of the encounter or episode (e.g. pre-admission lab tests).",
              "requirements": "For some observations it may be important to know the link between an observation and a particular encounter.",
              "alias": [
                "Encounter"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.context",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
                }
              ],
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.context"
                },
                {
                  "identity": "v2",
                  "map": "PV1"
                },
                {
                  "identity": "rim",
                  "map": "inboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN]"
                },
                {
                  "identity": "w5",
                  "map": "context"
                }
              ]
            },
            {
              "id": "Observation.effective[x]",
              "path": "Observation.effective[x]",
              "short": "Often just a dateTime for Vital Signs",
              "definition": "Often just a dateTime for Vital Signs.",
              "comment": "At least a date should be present unless this observation is a historical report.",
              "requirements": "Knowing when an observation was deemed true is important to its relevance as well as determining trends.",
              "alias": [
                "Occurrence"
              ],
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.effective[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "dateTime"
                },
                {
                  "code": "Period"
                }
              ],
              "constraint": [
                {
                  "key": "vs-1",
                  "severity": "error",
                  "human": "Datetime must be at least to day.",
                  "expression": "($this as dateTime).toString().length() >= 8",
                  "xpath": "f:matches(effectiveDateTime,/\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d([+-][0-2]\\d:[0-5]\\d|Z)/)"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.occurrence[x]"
                },
                {
                  "identity": "v2",
                  "map": "OBX-14, and/or OBX-19 after v2.4  (depends on who observation made)"
                },
                {
                  "identity": "rim",
                  "map": "effectiveTime"
                },
                {
                  "identity": "w5",
                  "map": "when.done"
                }
              ]
            },
            {
              "id": "Observation.issued",
              "path": "Observation.issued",
              "short": "Date/Time this was made available",
              "definition": "The date and time this observation was made available to providers, typically after the results have been reviewed and verified.",
              "comment": "Updated when the result is updated.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.issued",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "instant"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBR.22 (or MSH.7), or perhaps OBX-19 (depends on who observation made)"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=AUT].time"
                },
                {
                  "identity": "w5",
                  "map": "when.recorded"
                }
              ]
            },
            {
              "id": "Observation.performer",
              "path": "Observation.performer",
              "short": "Who is responsible for the observation",
              "definition": "Who was responsible for asserting the observed value as \"true\".",
              "requirements": "May give a degree of confidence in the observation and also indicates where follow-up questions should be directed.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.performer",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.performer"
                },
                {
                  "identity": "v2",
                  "map": "OBX.15 / (Practitioner)  OBX-16,  PRT-5:PRT-4='RO' /  (Device)  OBX-18 , PRT-10:PRT-4='EQUIP' / (Organization)  OBX-23,  PRT-8:PRT-4='PO'"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=PRF]"
                },
                {
                  "identity": "w5",
                  "map": "who.actor"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity",
              "path": "Observation.valueQuantity",
              "short": "Vital Sign Value recorded with UCUM",
              "definition": "Vital Sign Value recorded with UCUM.",
              "comment": "Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. This element has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueString, valueBoolean, valueRange, valueRatio, valueSampledData, valueAttachment, valueTime, valueDateTime, or valuePeriod. (The name format is \"'value' + the type name\" with a capital on the first letter of the type).\r\r\rIf the data element is usually coded or if the type associated with the Observation.value defines a coded value, use CodeableConcept instead of string datatype even if the value is uncoded text.  A value set is bound to the ValueCodeableConcept element.    For further discussion and examples see the  [notes section](observation.html#notes) below.",
              "requirements": "9. SHALL contain exactly one [1..1] value with @xsi:type=\"PQ\" (CONF:7305).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.value[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity"
                }
              ],
              "condition": [
                "obs-7"
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSignsUnits"
                  }
                ],
                "strength": "required",
                "description": "Common UCUM units for recording Vital Signs",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/ucum-vitals-common"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.notDone, Event.notDoneReason  (maps to valeu[x] or dataAbsentReason)"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 441742003 |Evaluation finding|"
                },
                {
                  "identity": "v2",
                  "map": "OBX.2, OBX.5, OBX.6"
                },
                {
                  "identity": "rim",
                  "map": "value"
                },
                {
                  "identity": "sct-attr",
                  "map": "363714003 |Interprets|"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.id",
              "path": "Observation.valueQuantity.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.extension",
              "path": "Observation.valueQuantity.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.value",
              "path": "Observation.valueQuantity.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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.value",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "decimal"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.valueQuantity.comparator",
              "path": "Observation.valueQuantity.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",
              "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": "v2",
                  "map": "SN.1  / CQ.1"
                },
                {
                  "identity": "rim",
                  "map": "IVL properties"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.unit",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "Observation.valueQuantity.unit",
              "short": "Unit representation",
              "definition": "A human-readable form of the unit.",
              "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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.unit",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "PQ.unit"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.system",
              "path": "Observation.valueQuantity.system",
              "short": "System that defines coded unit form",
              "definition": "The identification of the system that provides the coded form of the unit.",
              "requirements": "Need to know the system that defines the coded form of the unit.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Quantity.system",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://unitsofmeasure.org",
              "condition": [
                "qty-3"
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "CO.codeSystem, PQ.translation.codeSystem"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.code",
              "path": "Observation.valueQuantity.code",
              "short": "Coded responses from the common UCUM units for vital signs value set.",
              "definition": "Coded responses from the common UCUM units for vital signs value set.",
              "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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.code",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "fixedCode": "/min",
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "PQ.code, MO.currency, PQ.translation.code"
                }
              ]
            },
            {
              "id": "Observation.dataAbsentReason",
              "path": "Observation.dataAbsentReason",
              "short": "Why the result is missing",
              "definition": "Provides a reason why the expected value in the element Observation.value[x] is missing.",
              "comment": "Null or exceptional values can be represented two ways in FHIR Observations.  One way is to simply include them in the value set and represent the exceptions in the value.  For example, measurement values for a serology test could be  \"detected\", \"not detected\", \"inconclusive\", or  \"specimen unsatisfactory\".   The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values.  For example, the dataAbsentReason code \"error\" could be used when the measurement was not completed. Note that an observation may only be reported if there are values to report. For example differential cell counts values may be reported only when > 0.  Because of these options, use-case agreements are required to interpret general observations for null or exceptional values.",
              "requirements": "For many results it is necessary to handle exceptional values in measurements.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.dataAbsentReason",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "condition": [
                "obs-6"
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "DAR"
                  }
                ],
                "strength": "extensible",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-valueabsentreason"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.notDone, Event.notDoneReason  (maps to valeu[x] or dataAbsentReason)"
                },
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": "value.nullFlavor"
                }
              ]
            },
            {
              "id": "Observation.interpretation",
              "path": "Observation.interpretation",
              "short": "High, low, normal, etc.",
              "definition": "The assessment made based on the result of the observation.  Intended as a simple compact code often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result. Otherwise known as abnormal flag.",
              "requirements": "For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result.",
              "alias": [
                "Abnormal Flag"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.interpretation",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationInterpretation"
                  }
                ],
                "strength": "extensible",
                "description": "Codes identifying interpretations of observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-interpretation"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-8"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "363713009 |Has interpretation|"
                }
              ]
            },
            {
              "id": "Observation.comment",
              "path": "Observation.comment",
              "short": "Comments about result",
              "definition": "May include statements about significant, unexpected or unreliable values, or information about the source of the value where this may be relevant to the interpretation of the result.",
              "requirements": "Need to be able to provide free text additional information.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.comment",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.note"
                },
                {
                  "identity": "v2",
                  "map": "NTE.3 (partner NTE to OBX, or sometimes another (child?) OBX)"
                },
                {
                  "identity": "rim",
                  "map": "subjectOf.observationEvent[code=\"annotation\"].value"
                }
              ]
            },
            {
              "id": "Observation.bodySite",
              "path": "Observation.bodySite",
              "short": "Observed body part",
              "definition": "Indicates the site on the subject's body where the observation was made (i.e. the target site).",
              "comment": "Only used if not implicit in code found in Observation.code.  In many systems, this may be represented as a related observation instead of an inline component.   If the use case requires BodySite to be handled as a separate resource (e.g. to identify and track separately) then use the standard extension[ body-site-instance](extension-body-site-instance.html).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.bodySite",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "BodySite"
                  }
                ],
                "strength": "example",
                "description": "Codes describing anatomical locations. May include laterality.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/body-site"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 123037004 |Body structure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-20"
                },
                {
                  "identity": "rim",
                  "map": "targetSiteCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "718497002 |Inherent location|"
                }
              ]
            },
            {
              "id": "Observation.method",
              "path": "Observation.method",
              "short": "How it was done",
              "definition": "Indicates the mechanism used to perform the observation.",
              "comment": "Only used if not implicit in code for Observation.code.",
              "requirements": "In some cases, method can impact results and is thus used for determining whether results can be compared or determining significance of results.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.method",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationMethod"
                  }
                ],
                "strength": "example",
                "description": "Methods for simple observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-methods"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-17"
                },
                {
                  "identity": "rim",
                  "map": "methodCode"
                }
              ]
            },
            {
              "id": "Observation.specimen",
              "path": "Observation.specimen",
              "short": "Specimen used for this observation",
              "definition": "The specimen that was used when this observation was made.",
              "comment": "Should only be used if not implicit in code found in `Observation.code`.  Observations are not made on specimens themselves; they are made on a subject, but in many cases by the means of a specimen. Note that although specimens are often involved, they are not always tracked and reported explicitly. Also note that observation resources may be used in contexts that track the specimen explicitly (e.g. Diagnostic Report).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.specimen",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Specimen"
                }
              ],
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 123038009 |Specimen|"
                },
                {
                  "identity": "v2",
                  "map": "SPM segment"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=SPC].specimen"
                },
                {
                  "identity": "sct-attr",
                  "map": "704319004 |Inherent in|"
                }
              ]
            },
            {
              "id": "Observation.device",
              "path": "Observation.device",
              "short": "(Measurement) Device",
              "definition": "The device used to generate the observation data.",
              "comment": "An extension should be used if further typing of the device is needed.  Devices used to support obtaining an observation can be represented using either an extension or through the Observation.related element.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.device",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/DeviceMetric"
                }
              ],
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 49062001 |Device|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-17 / PRT -10"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=DEV]"
                },
                {
                  "identity": "sct-attr",
                  "map": "424226004 |Using device|"
                }
              ]
            },
            {
              "id": "Observation.referenceRange",
              "path": "Observation.referenceRange",
              "short": "Provides guide for interpretation",
              "definition": "Guidance on how to interpret the value by comparison to a normal or recommended range.",
              "comment": "Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.",
              "requirements": "Knowing what values are considered \"normal\" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.referenceRange",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "key": "obs-3",
                  "severity": "error",
                  "human": "Must have at least a low or a high or text",
                  "expression": "low.exists() or high.exists() or text.exists()",
                  "xpath": "(exists(f:low) or exists(f:high)or exists(f:text))"
                }
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX.7"
                },
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.id",
              "path": "Observation.referenceRange.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.extension",
              "path": "Observation.referenceRange.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.modifierExtension",
              "path": "Observation.referenceRange.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.low",
              "path": "Observation.referenceRange.low",
              "short": "Low Range, if relevant",
              "definition": "The value of the low bound of the reference range.  The low bound of the reference range endpoint is inclusive of the value (e.g.  reference range is >=5 - <=9).   If the low bound is omitted,  it is assumed to be meaningless (e.g. reference range is <=2.3).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.low",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity",
                  "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
                }
              ],
              "condition": [
                "obs-3"
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-7"
                },
                {
                  "identity": "rim",
                  "map": "value:IVL_PQ.low"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.high",
              "path": "Observation.referenceRange.high",
              "short": "High Range, if relevant",
              "definition": "The value of the high bound of the reference range.  The high bound of the reference range endpoint is inclusive of the value (e.g.  reference range is >=5 - <=9).   If the high bound is omitted,  it is assumed to be meaningless (e.g. reference range is >= 2.3).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.high",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity",
                  "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
                }
              ],
              "condition": [
                "obs-3"
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-7"
                },
                {
                  "identity": "rim",
                  "map": "value:IVL_PQ.high"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.type",
              "path": "Observation.referenceRange.type",
              "short": "Reference range qualifier",
              "definition": "Codes to indicate the what part of the targeted reference population it applies to. For example, the normal or therapeutic range.",
              "comment": "This SHOULD be populated if there is more than one range.  If this element is not present then the normal range is assumed.",
              "requirements": "Need to be able to say what kind of reference range this is - normal, recommended, therapeutic, etc,  - for proper interpretation.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.type",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRangeMeaning"
                  }
                ],
                "strength": "extensible",
                "description": "Code for the meaning of a reference range.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/referencerange-meaning"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values| OR  \r< 365860008 |General clinical state finding| \rOR \r< 250171008 |Clinical history or observation findings| OR  \r< 415229000 |Racial group| OR \r< 365400002 |Finding of puberty stage| OR\r< 443938003 |Procedure carried out on subject|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-10"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.appliesTo",
              "path": "Observation.referenceRange.appliesTo",
              "short": "Reference range population",
              "definition": "Codes to indicate the target population this reference range applies to.  For example, a reference range may be based on the normal population or a particular sex or race.",
              "comment": "This SHOULD be populated if there is more than one range.  If this element is not present then the normal population is assumed.",
              "requirements": "Need to be able to identify the target population for proper interpretation.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.referenceRange.appliesTo",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRangeType"
                  }
                ],
                "strength": "example",
                "description": "Codes identifying the population the reference range applies to.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/referencerange-appliesto"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values| OR  \r< 365860008 |General clinical state finding| \rOR \r< 250171008 |Clinical history or observation findings| OR  \r< 415229000 |Racial group| OR \r< 365400002 |Finding of puberty stage| OR\r< 443938003 |Procedure carried out on subject|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-10"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.age",
              "path": "Observation.referenceRange.age",
              "short": "Applicable age range, if relevant",
              "definition": "The age at which this reference range is applicable. This is a neonatal age (e.g. number of weeks at term) if the meaning says so.",
              "requirements": "Some analytes vary greatly over age.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.age",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Range"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=PRCN].targetObservationCriterion[code=\"age\"].value"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.text",
              "path": "Observation.referenceRange.text",
              "short": "Text based reference range in an observation",
              "definition": "Text based reference range in an observation which may be used when a quantitative range is not appropriate for an observation.  An example would be a reference value of \"Negative\" or a list or table of 'normals'.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.text",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-7"
                },
                {
                  "identity": "rim",
                  "map": "value:ST"
                }
              ]
            },
            {
              "id": "Observation.related",
              "path": "Observation.related",
              "short": "Used when reporting vital signs panel components",
              "definition": "Used when reporting vital signs panel components.",
              "comment": "For a discussion on the ways Observations can assembled in groups together see [Notes below](observation.html#4.20.4).",
              "requirements": "Normally, an observation will have either a value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and a set of related observations or sometimes a QuestionnaireResponse from which the measure is derived.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.related",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "Relationships established by OBX-4 usage"
                },
                {
                  "identity": "rim",
                  "map": "outBoundRelationship"
                }
              ]
            },
            {
              "id": "Observation.related.id",
              "path": "Observation.related.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.related.extension",
              "path": "Observation.related.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.related.modifierExtension",
              "path": "Observation.related.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.related.type",
              "path": "Observation.related.type",
              "short": "has-member | derived-from | sequel-to | replaces | qualified-by | interfered-by",
              "definition": "A code specifying the kind of relationship that exists with the target resource.",
              "comment": "The \"derived-from\" type is the only logical choice when referencing the QuestionnaireAnswer resource.",
              "requirements": "A relationship type SHOULD be provided.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.related.type",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "fixedCode": "has-member",
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRelationshipType"
                  }
                ],
                "strength": "required",
                "description": "Codes specifying how two observations are related.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-relationshiptypes"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": ".typeCode"
                }
              ]
            },
            {
              "id": "Observation.related.target",
              "path": "Observation.related.target",
              "short": "Resource that is related to this one",
              "definition": "A reference to the observation or [QuestionnaireResponse](questionnaireresponse.html#) resource that is related to this observation.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.related.target",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/vitalsigns"
                }
              ],
              "mustSupport": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".targetObservation"
                }
              ]
            },
            {
              "id": "Observation.component",
              "path": "Observation.component",
              "short": "Used when reporting systolic and diastolic blood pressure.",
              "definition": "Used when reporting systolic and diastolic blood pressure.",
              "comment": "For a discussion on the ways Observations can be assembled in groups together see [Notes](observation.html#notes) below.",
              "requirements": "Component observations share the same attributes in the Observation resource as the primary observation and are always treated a part of a single observation (they are not separable).   However, the reference range for the primary observation value is not inherited by the component values and is required when appropriate for each component observation.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.component",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "key": "vs-3",
                  "severity": "error",
                  "human": "If there is no a value a data absent reason must be present",
                  "expression": "value.exists() or dataAbsentReason.exists()",
                  "xpath": "exists(f:*[starts-with(local-name(.), 'value')]) or exists(f:dataAbsentReason)"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "containment by OBX-4?"
                },
                {
                  "identity": "rim",
                  "map": "outBoundRelationship[typeCode=COMP]"
                }
              ]
            },
            {
              "id": "Observation.component.id",
              "path": "Observation.component.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.extension",
              "path": "Observation.component.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.modifierExtension",
              "path": "Observation.component.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.component.code",
              "path": "Observation.component.code",
              "short": "Type of component observation (code / type)",
              "definition": "Describes what was observed. Sometimes this is called the observation \"code\".",
              "requirements": "Knowing what kind of observation is being made is essential to understanding the observation.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.component.code",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSigns"
                  }
                ],
                "strength": "extensible",
                "description": "This identifies the vital sign result type.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-vitalsignresult"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity| OR \r< 386053000 |Evaluation procedure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-3"
                },
                {
                  "identity": "rim",
                  "map": "code"
                },
                {
                  "identity": "w5",
                  "map": "what"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity",
              "path": "Observation.component.valueQuantity",
              "short": "Vital Sign Value recorded with UCUM",
              "definition": "Vital Sign Value recorded with UCUM.",
              "comment": "Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value.   For boolean values use valueCodeableConcept and select codes from <http://hl7.org/fhir/ValueSet/v2-0136> (these \"yes/no\" concepts can be mapped to the display name \"true/false\" or other mutually exclusive terms that may be needed\").  The element, Observation.value[x], has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueRatio, valueChoice, valuePeriod, valueSampleData, or valueString (the name format is \"'value' + the type name\" with a capital on the first letter of the type).",
              "requirements": "9. SHALL contain exactly one [1..1] value with @xsi:type=\"PQ\" (CONF:7305).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.value[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSignsUnits"
                  }
                ],
                "strength": "required",
                "description": "Common UCUM units for recording Vital Signs",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/ucum-vitals-common"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "363714003 |Interprets| < 441742003 |Evaluation finding|"
                },
                {
                  "identity": "v2",
                  "map": "OBX.2, OBX.5, OBX.6"
                },
                {
                  "identity": "rim",
                  "map": "value"
                },
                {
                  "identity": "sct-attr",
                  "map": "363714003 |Interprets|"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.id",
              "path": "Observation.component.valueQuantity.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.extension",
              "path": "Observation.component.valueQuantity.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.value",
              "path": "Observation.component.valueQuantity.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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.value",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "decimal"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.component.valueQuantity.comparator",
              "path": "Observation.component.valueQuantity.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",
              "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": "v2",
                  "map": "SN.1  / CQ.1"
                },
                {
                  "identity": "rim",
                  "map": "IVL properties"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.unit",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "Observation.component.valueQuantity.unit",
              "short": "Unit representation",
              "definition": "A human-readable form of the unit.",
              "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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.unit",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "PQ.unit"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.system",
              "path": "Observation.component.valueQuantity.system",
              "short": "System that defines coded unit form",
              "definition": "The identification of the system that provides the coded form of the unit.",
              "requirements": "Need to know the system that defines the coded form of the unit.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Quantity.system",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://unitsofmeasure.org",
              "condition": [
                "qty-3"
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "CO.codeSystem, PQ.translation.codeSystem"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.code",
              "path": "Observation.component.valueQuantity.code",
              "short": "Coded responses from the common UCUM units for vital signs value set.",
              "definition": "Coded responses from the common UCUM units for vital signs value set.",
              "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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.code",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "PQ.code, MO.currency, PQ.translation.code"
                }
              ]
            },
            {
              "id": "Observation.component.dataAbsentReason",
              "path": "Observation.component.dataAbsentReason",
              "short": "Why the component result is missing",
              "definition": "Provides a reason why the expected value in the element Observation.value[x] is missing.",
              "comment": "\"Null\" or exceptional values can be represented two ways in FHIR Observations.  One way is to simply include them in the value set and represent the exceptions in the value.  For example, measurement values for a serology test could be  \"detected\", \"not detected\", \"inconclusive\", or  \"test not done\".   The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values.  For example, the dataAbsentReason code \"error\" could be used when the measurement was not completed.  Because of these options, use-case agreements are required to interpret general observations for exceptional values.",
              "requirements": "For many results it is necessary to handle exceptional values in measurements.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.dataAbsentReason",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "condition": [
                "obs-6"
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "DAR"
                  }
                ],
                "strength": "extensible",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-valueabsentreason"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": "value.nullFlavor"
                }
              ]
            },
            {
              "id": "Observation.component.interpretation",
              "path": "Observation.component.interpretation",
              "short": "High, low, normal, etc.",
              "definition": "The assessment made based on the result of the observation.  Intended as a simple compact code often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result. Otherwise known as abnormal flag.",
              "comment": "The component interpretation applies only to the individual component value.  For an overall interpretation all components together use thes Observation.interpretation element.",
              "requirements": "For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result.",
              "alias": [
                "Abnormal Flag"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.interpretation",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationInterpretation"
                  }
                ],
                "strength": "extensible",
                "description": "Codes identifying interpretations of observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-interpretation"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-8"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "363713009 |Has interpretation|"
                }
              ]
            },
            {
              "id": "Observation.component.referenceRange",
              "path": "Observation.component.referenceRange",
              "short": "Provides guide for interpretation of component result",
              "definition": "Guidance on how to interpret the value by comparison to a normal or recommended range.",
              "comment": "Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.",
              "requirements": "Knowing what values are considered \"normal\" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.component.referenceRange",
                "min": 0,
                "max": "*"
              },
              "contentReference": "#Observation.referenceRange",
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX.7"
                },
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]"
                }
              ]
            }
          ]
        },
        "differential": {
          "element": [
            {
              "id": "Observation",
              "path": "Observation",
              "short": "FHIR Respiratory Rate Profile",
              "definition": "This profile defines  how to represent Respiratory Rate observations in FHIR using a standard LOINC code and UCUM units of measure.",
              "min": 0,
              "max": "*"
            },
            {
              "id": "Observation.code",
              "path": "Observation.code",
              "short": "Respiratory Rate",
              "definition": "Respiratory Rate.",
              "comment": "additional codes that translate or map to this code are allowed.  For example a more granular LOINC code or code that is used locally in a system.",
              "alias": [
                "Test",
                "Name"
              ]
            },
            {
              "id": "Observation.code.coding",
              "path": "Observation.code.coding",
              "slicing": {
                "discriminator": [
                  {
                    "type": "value",
                    "path": "code"
                  }
                ],
                "ordered": false,
                "rules": "open"
              }
            },
            {
              "id": "Observation.code.coding:respratecode",
              "path": "Observation.code.coding",
              "sliceName": "RespRateCode"
            },
            {
              "id": "Observation.code.coding:respratecode.system",
              "path": "Observation.code.coding.system",
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://loinc.org"
            },
            {
              "id": "Observation.code.coding:respratecode.code",
              "path": "Observation.code.coding.code",
              "type": [
                {
                  "code": "code"
                }
              ],
              "fixedCode": "9279-1"
            },
            {
              "id": "Observation.valueQuantity",
              "path": "Observation.valueQuantity"
            },
            {
              "id": "Observation.valueQuantity.code",
              "path": "Observation.valueQuantity.code",
              "type": [
                {
                  "code": "code"
                }
              ],
              "fixedCode": "/min"
            }
          ]
        }
      }
    },
    {
      "fullUrl": "http://hl7.org/fhir/StructureDefinition/heartrate",
      "resource": {
        "resourceType": "StructureDefinition",
        "id": "heartrate",
        "text": {
          "status": "generated",
          "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">to do</div>"
        },
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-summary",
            "valueMarkdown": "####Complete Summary of the Mandatory Requirements\r\r1.  One code in `Observation.code` which must have\r    -   a fixed `Observation.code.coding.system`=**'http ://loinc.org'**\r    -   a fixed  `Observation.code.coding.code`= **'8867-4'**\r    -   Other additional codes are allowed - e.g. more specific LOINC\r        Codes, SNOMED CT concepts, system specific codes. All codes\r        SHALL have an system value\r2.  a fixed`Observation.valueQuantity.code` = **'/min'**"
          }
        ],
        "url": "http://hl7.org/fhir/StructureDefinition/heartrate",
        "name": "Vital Signs Profile",
        "title": "VitalSigns",
        "status": "draft",
        "experimental": false,
        "date": "2016-03-25",
        "publisher": "Health Level Seven International (Orders and Observations Workgroup)",
        "contact": [
          {
            "telecom": [
              {
                "system": "url",
                "value": "http://www.hl7.org/Special/committees/orders/index.cfm Orders and Observations"
              }
            ]
          }
        ],
        "description": "FHIR Heart Rate Profile",
        "fhirVersion": "3.0.1",
        "mapping": [
          {
            "identity": "workflow",
            "uri": "http://hl7.org/fhir/workflow",
            "name": "Workflow Mapping"
          },
          {
            "identity": "sct-concept",
            "uri": "http://snomed.info/conceptdomain",
            "name": "SNOMED CT Concept Domain Binding"
          },
          {
            "identity": "v2",
            "uri": "http://hl7.org/v2",
            "name": "HL7 v2 Mapping"
          },
          {
            "identity": "rim",
            "uri": "http://hl7.org/v3",
            "name": "RIM Mapping"
          },
          {
            "identity": "w5",
            "uri": "http://hl7.org/fhir/w5",
            "name": "W5 Mapping"
          },
          {
            "identity": "sct-attr",
            "uri": "http://snomed.info/sct",
            "name": "SNOMED CT Attribute Binding"
          }
        ],
        "kind": "resource",
        "abstract": false,
        "type": "Observation",
        "baseDefinition": "http://hl7.org/fhir/StructureDefinition/vitalsigns",
        "derivation": "constraint",
        "snapshot": {
          "element": [
            {
              "id": "Observation",
              "path": "Observation",
              "short": "FHIR Heart Rate Profile",
              "definition": "This profile defines how to represent heart rate observations in FHIR using a standard LOINC code and UCUM units of measure.",
              "comment": "Used for simple observations such as device measurements, laboratory atomic results, vital signs, height, weight, smoking status, comments, etc.  Other resources are used to provide context for observations such as lab reports, etc.",
              "alias": [
                "Vital Signs",
                "Measurement",
                "Results",
                "Tests"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation",
                "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)",
                  "source": "DomainResource"
                },
                {
                  "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)",
                  "source": "DomainResource"
                },
                {
                  "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))",
                  "source": "DomainResource"
                },
                {
                  "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))]))",
                  "source": "DomainResource"
                },
                {
                  "key": "obs-7",
                  "severity": "error",
                  "human": "If code is the same as a component code then the value element associated with the code SHALL NOT be present",
                  "expression": "value.empty() or code!=component.code",
                  "xpath": "not(exists(f:*[starts-with(local-name(.), 'value')])) or not(count(for $coding in f:code/f:coding return parent::*/f:component/f:code/f:coding[f:code/@value=$coding/f:code/@value and f:system/@value=$coding/f:system/@value])=0)",
                  "source": "Observation"
                },
                {
                  "key": "obs-6",
                  "severity": "error",
                  "human": "dataAbsentReason SHALL only be present if Observation.value[x] is not present",
                  "expression": "dataAbsentReason.empty() or value.empty()",
                  "xpath": "not(exists(f:dataAbsentReason)) or (not(exists(*[starts-with(local-name(.), 'value')])))",
                  "source": "Observation"
                },
                {
                  "key": "vs-2",
                  "severity": "error",
                  "human": "If there is no component or related element then either a value[x] or a data absent reason must be present",
                  "expression": "(component.empty() and related.empty()) implies (dataAbsentReason or value)",
                  "xpath": "exists(f:component) or exists(f:related) or exists(f:*[starts-with(local-name(.), 'value')]) or exists(f:dataAbsentReason)",
                  "source": "Observation"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Entity. Role, or Act"
                },
                {
                  "identity": "workflow",
                  "map": "Event"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity|"
                },
                {
                  "identity": "v2",
                  "map": "OBX"
                },
                {
                  "identity": "rim",
                  "map": "Observation[classCode=OBS, moodCode=EVN]"
                },
                {
                  "identity": "w5",
                  "map": "clinical.diagnostics"
                }
              ]
            },
            {
              "id": "Observation.id",
              "path": "Observation.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "Observation.meta",
              "path": "Observation.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "Observation.implicitRules",
              "path": "Observation.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"
                }
              ],
              "isModifier": true,
              "isSummary": true
            },
            {
              "id": "Observation.language",
              "path": "Observation.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"
                }
              ],
              "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"
                }
              }
            },
            {
              "id": "Observation.text",
              "path": "Observation.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": [
                "dom-1"
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Act.text?"
                }
              ]
            },
            {
              "id": "Observation.contained",
              "path": "Observation.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": "N/A"
                }
              ]
            },
            {
              "id": "Observation.extension",
              "path": "Observation.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.modifierExtension",
              "path": "Observation.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 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"
                }
              ],
              "isModifier": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.identifier",
              "path": "Observation.identifier",
              "short": "Business Identifier for observation",
              "definition": "A unique identifier assigned to this observation.",
              "requirements": "Allows observations to be distinguished and referenced.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.identifier",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Identifier"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.identifier"
                },
                {
                  "identity": "v2",
                  "map": "OBX.21  For OBX segments from systems without OBX-21 support a combination of ORC/OBR and OBX must be negotiated between trading partners to uniquely identify the OBX segment. Depending on how V2 has been implemented each of these may be an option: 1) OBR-3 + OBX-3 + OBX-4 or 2) OBR-3 + OBR-4 + OBX-3 + OBX-4 or 2) some other way to uniquely ID the OBR/ORC + OBX-3 + OBX-4."
                },
                {
                  "identity": "rim",
                  "map": "id"
                },
                {
                  "identity": "w5",
                  "map": "id"
                }
              ]
            },
            {
              "id": "Observation.basedOn",
              "path": "Observation.basedOn",
              "short": "Fulfills plan, proposal or order",
              "definition": "A plan, proposal or order that is fulfilled in whole or in part by this event.",
              "requirements": "Allows tracing of authorization for the event and tracking whether proposals/recommendations were acted upon.",
              "alias": [
                "Fulfills"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.basedOn",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/CarePlan"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/DeviceRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ImmunizationRecommendation"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/NutritionOrder"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ProcedureRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ReferralRequest"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.basedOn"
                },
                {
                  "identity": "v2",
                  "map": "ORC"
                },
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=FLFS].target"
                }
              ]
            },
            {
              "id": "Observation.status",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-display-hint",
                  "valueString": "default: final"
                }
              ],
              "path": "Observation.status",
              "short": "registered | preliminary | final | amended +",
              "definition": "The status of the result value.",
              "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
              "requirements": "Need to track the status of individual results. Some results are finalized before the whole report is finalized.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.status",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "mustSupport": true,
              "isModifier": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "Status"
                  }
                ],
                "strength": "required",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-status"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.status"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 445584004 |Report by finality status|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-11"
                },
                {
                  "identity": "rim",
                  "map": "status  Amended & Final are differentiated by whether it is the subject of a ControlAct event with a type of \"revise\""
                },
                {
                  "identity": "w5",
                  "map": "status"
                }
              ]
            },
            {
              "id": "Observation.category",
              "path": "Observation.category",
              "short": "Classification of  type of observation",
              "definition": "A code that classifies the general type of observation being made.",
              "comment": "In addition to the required category valueset, this element allows various categorization schemes based on the owner’s definition of the category and effectively multiple categories can be used at once.  The level of granularity is defined by the category concepts in the value set.",
              "requirements": "Used for filtering what observations are retrieved and displayed.",
              "min": 1,
              "max": "*",
              "base": {
                "path": "Observation.category",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "constraint": [
                {
                  "key": "vs-4",
                  "severity": "error",
                  "human": "Must have a category of 'vital-signs' and a code system 'http://hl7.org/fhir/observation-category'",
                  "expression": "where(coding.system='http://hl7.org/fhir/observation-category' and coding.code='vital-signs').exists()",
                  "xpath": "exists(f:coding/code[@value='vital-signs']) and exists(f:coding/system[@value='http://hl7.org/fhir/observation-category'])"
                }
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationCategory"
                  }
                ],
                "strength": "preferred",
                "description": "Codes for high level observation categories.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-category"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=\"COMP].target[classCode=\"LIST\", moodCode=\"EVN\"].code"
                },
                {
                  "identity": "w5",
                  "map": "class"
                }
              ]
            },
            {
              "id": "Observation.code",
              "path": "Observation.code",
              "short": "Heart Rate",
              "definition": "Heart Rate.",
              "comment": "additional codes that translate or map to this code are allowed.  For example a more granular LOINC code or code that is used locally in a system.",
              "requirements": "5. SHALL contain exactly one [1..1] code, where the @code SHOULD be selected from ValueSet HITSP Vital Sign Result Type 2.16.840.1.113883.3.88.12.80.62 DYNAMIC (CONF:7301).",
              "alias": [
                "Name",
                "Test",
                "Name"
              ],
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.code",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSigns"
                  }
                ],
                "strength": "extensible",
                "description": "This identifies the vital sign result type.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-vitalsignresult"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.code"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity| OR < 386053000 |Evaluation procedure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-3"
                },
                {
                  "identity": "rim",
                  "map": "code"
                },
                {
                  "identity": "sct-attr",
                  "map": "116680003 |Is a|"
                },
                {
                  "identity": "w5",
                  "map": "what"
                }
              ]
            },
            {
              "id": "Observation.code.id",
              "path": "Observation.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.code.extension",
              "path": "Observation.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.code.coding",
              "path": "Observation.code.coding",
              "slicing": {
                "discriminator": [
                  {
                    "type": "value",
                    "path": "code"
                  }
                ],
                "ordered": false,
                "rules": "open"
              },
              "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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.code.coding:heartratecode",
              "path": "Observation.code.coding",
              "sliceName": "HeartRateCode",
              "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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.code.coding:heartratecode.id",
              "path": "Observation.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.code.coding:heartratecode.extension",
              "path": "Observation.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.code.coding:heartratecode.system",
              "path": "Observation.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": 0,
              "max": "1",
              "base": {
                "path": "Coding.system",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://loinc.org",
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "C*E.3"
                },
                {
                  "identity": "rim",
                  "map": "./codeSystem"
                },
                {
                  "identity": "orim",
                  "map": "fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem"
                }
              ]
            },
            {
              "id": "Observation.code.coding:heartratecode.version",
              "path": "Observation.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": "1",
              "base": {
                "path": "Coding.version",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "C*E.7"
                },
                {
                  "identity": "rim",
                  "map": "./codeSystemVersion"
                },
                {
                  "identity": "orim",
                  "map": "fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion"
                }
              ]
            },
            {
              "id": "Observation.code.coding:heartratecode.code",
              "path": "Observation.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).",
              "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"
                }
              ],
              "fixedCode": "8867-4",
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "C*E.1"
                },
                {
                  "identity": "rim",
                  "map": "./code"
                },
                {
                  "identity": "orim",
                  "map": "fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code"
                }
              ]
            },
            {
              "id": "Observation.code.coding:heartratecode.display",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "Observation.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.",
              "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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.code.coding:heartratecode.userSelected",
              "path": "Observation.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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.code.text",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "Observation.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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.subject",
              "path": "Observation.subject",
              "short": "Who and/or what this is about",
              "definition": "The patient, or group of patients, location, or device whose characteristics (direct or indirect) are described by the observation and into whose record the observation is placed.  Comments: Indirect characteristics may be those of a specimen, fetus, donor,  other observer (for example a relative or EMT), or any observation made about the subject.",
              "comment": "One would expect this element to be a cardinality  of 1..1.  The only circumstance in which the subject can be missing is when the observation is made by a device that does not know the patient. In this case, the observation SHALL be matched to a patient through some context/channel matching technique, and at this point, the observation should be updated.\r\rIf the target of the observation is different than the subject, the general extension [observation-focal-subject](extension-observation-focal-subject.html).  may be used.  However, the distinction between the patient's own value for an observation versus that of the fetus, or the donor or blood product unit, etc., are often specified in the observation code.",
              "requirements": "Observations have no value if you don't know who or what they're about.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.subject",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.subject"
                },
                {
                  "identity": "v2",
                  "map": "PID-3"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=SBJ]"
                },
                {
                  "identity": "w5",
                  "map": "who.focus"
                }
              ]
            },
            {
              "id": "Observation.context",
              "path": "Observation.context",
              "short": "Healthcare event during which this observation is made",
              "definition": "The healthcare event  (e.g. a patient and healthcare provider interaction) during which this observation is made.",
              "comment": "This will typically be the encounter the event occurred within, but some events may be initiated prior to or after the official completion of an encounter or episode but still be tied to the context of the encounter or episode (e.g. pre-admission lab tests).",
              "requirements": "For some observations it may be important to know the link between an observation and a particular encounter.",
              "alias": [
                "Encounter"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.context",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
                }
              ],
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.context"
                },
                {
                  "identity": "v2",
                  "map": "PV1"
                },
                {
                  "identity": "rim",
                  "map": "inboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN]"
                },
                {
                  "identity": "w5",
                  "map": "context"
                }
              ]
            },
            {
              "id": "Observation.effective[x]",
              "path": "Observation.effective[x]",
              "short": "Often just a dateTime for Vital Signs",
              "definition": "Often just a dateTime for Vital Signs.",
              "comment": "At least a date should be present unless this observation is a historical report.",
              "requirements": "Knowing when an observation was deemed true is important to its relevance as well as determining trends.",
              "alias": [
                "Occurrence"
              ],
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.effective[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "dateTime"
                },
                {
                  "code": "Period"
                }
              ],
              "constraint": [
                {
                  "key": "vs-1",
                  "severity": "error",
                  "human": "Datetime must be at least to day.",
                  "expression": "($this as dateTime).toString().length() >= 8",
                  "xpath": "f:matches(effectiveDateTime,/\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d([+-][0-2]\\d:[0-5]\\d|Z)/)"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.occurrence[x]"
                },
                {
                  "identity": "v2",
                  "map": "OBX-14, and/or OBX-19 after v2.4  (depends on who observation made)"
                },
                {
                  "identity": "rim",
                  "map": "effectiveTime"
                },
                {
                  "identity": "w5",
                  "map": "when.done"
                }
              ]
            },
            {
              "id": "Observation.issued",
              "path": "Observation.issued",
              "short": "Date/Time this was made available",
              "definition": "The date and time this observation was made available to providers, typically after the results have been reviewed and verified.",
              "comment": "Updated when the result is updated.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.issued",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "instant"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBR.22 (or MSH.7), or perhaps OBX-19 (depends on who observation made)"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=AUT].time"
                },
                {
                  "identity": "w5",
                  "map": "when.recorded"
                }
              ]
            },
            {
              "id": "Observation.performer",
              "path": "Observation.performer",
              "short": "Who is responsible for the observation",
              "definition": "Who was responsible for asserting the observed value as \"true\".",
              "requirements": "May give a degree of confidence in the observation and also indicates where follow-up questions should be directed.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.performer",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.performer"
                },
                {
                  "identity": "v2",
                  "map": "OBX.15 / (Practitioner)  OBX-16,  PRT-5:PRT-4='RO' /  (Device)  OBX-18 , PRT-10:PRT-4='EQUIP' / (Organization)  OBX-23,  PRT-8:PRT-4='PO'"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=PRF]"
                },
                {
                  "identity": "w5",
                  "map": "who.actor"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity",
              "path": "Observation.valueQuantity",
              "short": "Vital Sign Value recorded with UCUM",
              "definition": "Vital Sign Value recorded with UCUM.",
              "comment": "Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. This element has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueString, valueBoolean, valueRange, valueRatio, valueSampledData, valueAttachment, valueTime, valueDateTime, or valuePeriod. (The name format is \"'value' + the type name\" with a capital on the first letter of the type).\r\r\rIf the data element is usually coded or if the type associated with the Observation.value defines a coded value, use CodeableConcept instead of string datatype even if the value is uncoded text.  A value set is bound to the ValueCodeableConcept element.    For further discussion and examples see the  [notes section](observation.html#notes) below.",
              "requirements": "9. SHALL contain exactly one [1..1] value with @xsi:type=\"PQ\" (CONF:7305).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.value[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity"
                }
              ],
              "condition": [
                "obs-7"
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSignsUnits"
                  }
                ],
                "strength": "required",
                "description": "Common UCUM units for recording Vital Signs",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/ucum-vitals-common"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.notDone, Event.notDoneReason  (maps to valeu[x] or dataAbsentReason)"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 441742003 |Evaluation finding|"
                },
                {
                  "identity": "v2",
                  "map": "OBX.2, OBX.5, OBX.6"
                },
                {
                  "identity": "rim",
                  "map": "value"
                },
                {
                  "identity": "sct-attr",
                  "map": "363714003 |Interprets|"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.id",
              "path": "Observation.valueQuantity.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.extension",
              "path": "Observation.valueQuantity.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.value",
              "path": "Observation.valueQuantity.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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.value",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "decimal"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.valueQuantity.comparator",
              "path": "Observation.valueQuantity.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",
              "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": "v2",
                  "map": "SN.1  / CQ.1"
                },
                {
                  "identity": "rim",
                  "map": "IVL properties"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.unit",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "Observation.valueQuantity.unit",
              "short": "Unit representation",
              "definition": "A human-readable form of the unit.",
              "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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.unit",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "PQ.unit"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.system",
              "path": "Observation.valueQuantity.system",
              "short": "System that defines coded unit form",
              "definition": "The identification of the system that provides the coded form of the unit.",
              "requirements": "Need to know the system that defines the coded form of the unit.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Quantity.system",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://unitsofmeasure.org",
              "condition": [
                "qty-3"
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "CO.codeSystem, PQ.translation.codeSystem"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.code",
              "path": "Observation.valueQuantity.code",
              "short": "Coded responses from the common UCUM units for vital signs value set.",
              "definition": "Coded responses from the common UCUM units for vital signs value set.",
              "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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.code",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "fixedCode": "/min",
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "PQ.code, MO.currency, PQ.translation.code"
                }
              ]
            },
            {
              "id": "Observation.dataAbsentReason",
              "path": "Observation.dataAbsentReason",
              "short": "Why the result is missing",
              "definition": "Provides a reason why the expected value in the element Observation.value[x] is missing.",
              "comment": "Null or exceptional values can be represented two ways in FHIR Observations.  One way is to simply include them in the value set and represent the exceptions in the value.  For example, measurement values for a serology test could be  \"detected\", \"not detected\", \"inconclusive\", or  \"specimen unsatisfactory\".   The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values.  For example, the dataAbsentReason code \"error\" could be used when the measurement was not completed. Note that an observation may only be reported if there are values to report. For example differential cell counts values may be reported only when > 0.  Because of these options, use-case agreements are required to interpret general observations for null or exceptional values.",
              "requirements": "For many results it is necessary to handle exceptional values in measurements.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.dataAbsentReason",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "condition": [
                "obs-6"
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "DAR"
                  }
                ],
                "strength": "extensible",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-valueabsentreason"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.notDone, Event.notDoneReason  (maps to valeu[x] or dataAbsentReason)"
                },
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": "value.nullFlavor"
                }
              ]
            },
            {
              "id": "Observation.interpretation",
              "path": "Observation.interpretation",
              "short": "High, low, normal, etc.",
              "definition": "The assessment made based on the result of the observation.  Intended as a simple compact code often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result. Otherwise known as abnormal flag.",
              "requirements": "For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result.",
              "alias": [
                "Abnormal Flag"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.interpretation",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationInterpretation"
                  }
                ],
                "strength": "extensible",
                "description": "Codes identifying interpretations of observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-interpretation"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-8"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "363713009 |Has interpretation|"
                }
              ]
            },
            {
              "id": "Observation.comment",
              "path": "Observation.comment",
              "short": "Comments about result",
              "definition": "May include statements about significant, unexpected or unreliable values, or information about the source of the value where this may be relevant to the interpretation of the result.",
              "requirements": "Need to be able to provide free text additional information.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.comment",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.note"
                },
                {
                  "identity": "v2",
                  "map": "NTE.3 (partner NTE to OBX, or sometimes another (child?) OBX)"
                },
                {
                  "identity": "rim",
                  "map": "subjectOf.observationEvent[code=\"annotation\"].value"
                }
              ]
            },
            {
              "id": "Observation.bodySite",
              "path": "Observation.bodySite",
              "short": "Observed body part",
              "definition": "Indicates the site on the subject's body where the observation was made (i.e. the target site).",
              "comment": "Only used if not implicit in code found in Observation.code.  In many systems, this may be represented as a related observation instead of an inline component.   If the use case requires BodySite to be handled as a separate resource (e.g. to identify and track separately) then use the standard extension[ body-site-instance](extension-body-site-instance.html).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.bodySite",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "BodySite"
                  }
                ],
                "strength": "example",
                "description": "Codes describing anatomical locations. May include laterality.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/body-site"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 123037004 |Body structure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-20"
                },
                {
                  "identity": "rim",
                  "map": "targetSiteCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "718497002 |Inherent location|"
                }
              ]
            },
            {
              "id": "Observation.method",
              "path": "Observation.method",
              "short": "How it was done",
              "definition": "Indicates the mechanism used to perform the observation.",
              "comment": "Only used if not implicit in code for Observation.code.",
              "requirements": "In some cases, method can impact results and is thus used for determining whether results can be compared or determining significance of results.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.method",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationMethod"
                  }
                ],
                "strength": "example",
                "description": "Methods for simple observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-methods"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-17"
                },
                {
                  "identity": "rim",
                  "map": "methodCode"
                }
              ]
            },
            {
              "id": "Observation.specimen",
              "path": "Observation.specimen",
              "short": "Specimen used for this observation",
              "definition": "The specimen that was used when this observation was made.",
              "comment": "Should only be used if not implicit in code found in `Observation.code`.  Observations are not made on specimens themselves; they are made on a subject, but in many cases by the means of a specimen. Note that although specimens are often involved, they are not always tracked and reported explicitly. Also note that observation resources may be used in contexts that track the specimen explicitly (e.g. Diagnostic Report).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.specimen",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Specimen"
                }
              ],
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 123038009 |Specimen|"
                },
                {
                  "identity": "v2",
                  "map": "SPM segment"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=SPC].specimen"
                },
                {
                  "identity": "sct-attr",
                  "map": "704319004 |Inherent in|"
                }
              ]
            },
            {
              "id": "Observation.device",
              "path": "Observation.device",
              "short": "(Measurement) Device",
              "definition": "The device used to generate the observation data.",
              "comment": "An extension should be used if further typing of the device is needed.  Devices used to support obtaining an observation can be represented using either an extension or through the Observation.related element.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.device",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/DeviceMetric"
                }
              ],
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 49062001 |Device|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-17 / PRT -10"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=DEV]"
                },
                {
                  "identity": "sct-attr",
                  "map": "424226004 |Using device|"
                }
              ]
            },
            {
              "id": "Observation.referenceRange",
              "path": "Observation.referenceRange",
              "short": "Provides guide for interpretation",
              "definition": "Guidance on how to interpret the value by comparison to a normal or recommended range.",
              "comment": "Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.",
              "requirements": "Knowing what values are considered \"normal\" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.referenceRange",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "key": "obs-3",
                  "severity": "error",
                  "human": "Must have at least a low or a high or text",
                  "expression": "low.exists() or high.exists() or text.exists()",
                  "xpath": "(exists(f:low) or exists(f:high)or exists(f:text))"
                }
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX.7"
                },
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.id",
              "path": "Observation.referenceRange.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.extension",
              "path": "Observation.referenceRange.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.modifierExtension",
              "path": "Observation.referenceRange.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.low",
              "path": "Observation.referenceRange.low",
              "short": "Low Range, if relevant",
              "definition": "The value of the low bound of the reference range.  The low bound of the reference range endpoint is inclusive of the value (e.g.  reference range is >=5 - <=9).   If the low bound is omitted,  it is assumed to be meaningless (e.g. reference range is <=2.3).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.low",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity",
                  "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
                }
              ],
              "condition": [
                "obs-3"
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-7"
                },
                {
                  "identity": "rim",
                  "map": "value:IVL_PQ.low"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.high",
              "path": "Observation.referenceRange.high",
              "short": "High Range, if relevant",
              "definition": "The value of the high bound of the reference range.  The high bound of the reference range endpoint is inclusive of the value (e.g.  reference range is >=5 - <=9).   If the high bound is omitted,  it is assumed to be meaningless (e.g. reference range is >= 2.3).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.high",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity",
                  "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
                }
              ],
              "condition": [
                "obs-3"
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-7"
                },
                {
                  "identity": "rim",
                  "map": "value:IVL_PQ.high"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.type",
              "path": "Observation.referenceRange.type",
              "short": "Reference range qualifier",
              "definition": "Codes to indicate the what part of the targeted reference population it applies to. For example, the normal or therapeutic range.",
              "comment": "This SHOULD be populated if there is more than one range.  If this element is not present then the normal range is assumed.",
              "requirements": "Need to be able to say what kind of reference range this is - normal, recommended, therapeutic, etc,  - for proper interpretation.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.type",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRangeMeaning"
                  }
                ],
                "strength": "extensible",
                "description": "Code for the meaning of a reference range.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/referencerange-meaning"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values| OR  \r< 365860008 |General clinical state finding| \rOR \r< 250171008 |Clinical history or observation findings| OR  \r< 415229000 |Racial group| OR \r< 365400002 |Finding of puberty stage| OR\r< 443938003 |Procedure carried out on subject|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-10"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.appliesTo",
              "path": "Observation.referenceRange.appliesTo",
              "short": "Reference range population",
              "definition": "Codes to indicate the target population this reference range applies to.  For example, a reference range may be based on the normal population or a particular sex or race.",
              "comment": "This SHOULD be populated if there is more than one range.  If this element is not present then the normal population is assumed.",
              "requirements": "Need to be able to identify the target population for proper interpretation.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.referenceRange.appliesTo",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRangeType"
                  }
                ],
                "strength": "example",
                "description": "Codes identifying the population the reference range applies to.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/referencerange-appliesto"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values| OR  \r< 365860008 |General clinical state finding| \rOR \r< 250171008 |Clinical history or observation findings| OR  \r< 415229000 |Racial group| OR \r< 365400002 |Finding of puberty stage| OR\r< 443938003 |Procedure carried out on subject|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-10"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.age",
              "path": "Observation.referenceRange.age",
              "short": "Applicable age range, if relevant",
              "definition": "The age at which this reference range is applicable. This is a neonatal age (e.g. number of weeks at term) if the meaning says so.",
              "requirements": "Some analytes vary greatly over age.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.age",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Range"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=PRCN].targetObservationCriterion[code=\"age\"].value"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.text",
              "path": "Observation.referenceRange.text",
              "short": "Text based reference range in an observation",
              "definition": "Text based reference range in an observation which may be used when a quantitative range is not appropriate for an observation.  An example would be a reference value of \"Negative\" or a list or table of 'normals'.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.text",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-7"
                },
                {
                  "identity": "rim",
                  "map": "value:ST"
                }
              ]
            },
            {
              "id": "Observation.related",
              "path": "Observation.related",
              "short": "Used when reporting vital signs panel components",
              "definition": "Used when reporting vital signs panel components.",
              "comment": "For a discussion on the ways Observations can assembled in groups together see [Notes below](observation.html#4.20.4).",
              "requirements": "Normally, an observation will have either a value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and a set of related observations or sometimes a QuestionnaireResponse from which the measure is derived.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.related",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "Relationships established by OBX-4 usage"
                },
                {
                  "identity": "rim",
                  "map": "outBoundRelationship"
                }
              ]
            },
            {
              "id": "Observation.related.id",
              "path": "Observation.related.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.related.extension",
              "path": "Observation.related.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.related.modifierExtension",
              "path": "Observation.related.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.related.type",
              "path": "Observation.related.type",
              "short": "has-member | derived-from | sequel-to | replaces | qualified-by | interfered-by",
              "definition": "A code specifying the kind of relationship that exists with the target resource.",
              "comment": "The \"derived-from\" type is the only logical choice when referencing the QuestionnaireAnswer resource.",
              "requirements": "A relationship type SHOULD be provided.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.related.type",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "fixedCode": "has-member",
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRelationshipType"
                  }
                ],
                "strength": "required",
                "description": "Codes specifying how two observations are related.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-relationshiptypes"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": ".typeCode"
                }
              ]
            },
            {
              "id": "Observation.related.target",
              "path": "Observation.related.target",
              "short": "Resource that is related to this one",
              "definition": "A reference to the observation or [QuestionnaireResponse](questionnaireresponse.html#) resource that is related to this observation.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.related.target",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/vitalsigns"
                }
              ],
              "mustSupport": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".targetObservation"
                }
              ]
            },
            {
              "id": "Observation.component",
              "path": "Observation.component",
              "short": "Used when reporting systolic and diastolic blood pressure.",
              "definition": "Used when reporting systolic and diastolic blood pressure.",
              "comment": "For a discussion on the ways Observations can be assembled in groups together see [Notes](observation.html#notes) below.",
              "requirements": "Component observations share the same attributes in the Observation resource as the primary observation and are always treated a part of a single observation (they are not separable).   However, the reference range for the primary observation value is not inherited by the component values and is required when appropriate for each component observation.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.component",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "key": "vs-3",
                  "severity": "error",
                  "human": "If there is no a value a data absent reason must be present",
                  "expression": "value.exists() or dataAbsentReason.exists()",
                  "xpath": "exists(f:*[starts-with(local-name(.), 'value')]) or exists(f:dataAbsentReason)"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "containment by OBX-4?"
                },
                {
                  "identity": "rim",
                  "map": "outBoundRelationship[typeCode=COMP]"
                }
              ]
            },
            {
              "id": "Observation.component.id",
              "path": "Observation.component.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.extension",
              "path": "Observation.component.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.modifierExtension",
              "path": "Observation.component.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.component.code",
              "path": "Observation.component.code",
              "short": "Type of component observation (code / type)",
              "definition": "Describes what was observed. Sometimes this is called the observation \"code\".",
              "requirements": "Knowing what kind of observation is being made is essential to understanding the observation.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.component.code",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSigns"
                  }
                ],
                "strength": "extensible",
                "description": "This identifies the vital sign result type.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-vitalsignresult"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity| OR \r< 386053000 |Evaluation procedure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-3"
                },
                {
                  "identity": "rim",
                  "map": "code"
                },
                {
                  "identity": "w5",
                  "map": "what"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity",
              "path": "Observation.component.valueQuantity",
              "short": "Vital Sign Value recorded with UCUM",
              "definition": "Vital Sign Value recorded with UCUM.",
              "comment": "Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value.   For boolean values use valueCodeableConcept and select codes from <http://hl7.org/fhir/ValueSet/v2-0136> (these \"yes/no\" concepts can be mapped to the display name \"true/false\" or other mutually exclusive terms that may be needed\").  The element, Observation.value[x], has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueRatio, valueChoice, valuePeriod, valueSampleData, or valueString (the name format is \"'value' + the type name\" with a capital on the first letter of the type).",
              "requirements": "9. SHALL contain exactly one [1..1] value with @xsi:type=\"PQ\" (CONF:7305).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.value[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSignsUnits"
                  }
                ],
                "strength": "required",
                "description": "Common UCUM units for recording Vital Signs",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/ucum-vitals-common"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "363714003 |Interprets| < 441742003 |Evaluation finding|"
                },
                {
                  "identity": "v2",
                  "map": "OBX.2, OBX.5, OBX.6"
                },
                {
                  "identity": "rim",
                  "map": "value"
                },
                {
                  "identity": "sct-attr",
                  "map": "363714003 |Interprets|"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.id",
              "path": "Observation.component.valueQuantity.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.extension",
              "path": "Observation.component.valueQuantity.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.value",
              "path": "Observation.component.valueQuantity.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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.value",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "decimal"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.component.valueQuantity.comparator",
              "path": "Observation.component.valueQuantity.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",
              "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": "v2",
                  "map": "SN.1  / CQ.1"
                },
                {
                  "identity": "rim",
                  "map": "IVL properties"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.unit",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "Observation.component.valueQuantity.unit",
              "short": "Unit representation",
              "definition": "A human-readable form of the unit.",
              "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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.unit",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "PQ.unit"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.system",
              "path": "Observation.component.valueQuantity.system",
              "short": "System that defines coded unit form",
              "definition": "The identification of the system that provides the coded form of the unit.",
              "requirements": "Need to know the system that defines the coded form of the unit.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Quantity.system",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://unitsofmeasure.org",
              "condition": [
                "qty-3"
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "CO.codeSystem, PQ.translation.codeSystem"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.code",
              "path": "Observation.component.valueQuantity.code",
              "short": "Coded responses from the common UCUM units for vital signs value set.",
              "definition": "Coded responses from the common UCUM units for vital signs value set.",
              "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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.code",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "PQ.code, MO.currency, PQ.translation.code"
                }
              ]
            },
            {
              "id": "Observation.component.dataAbsentReason",
              "path": "Observation.component.dataAbsentReason",
              "short": "Why the component result is missing",
              "definition": "Provides a reason why the expected value in the element Observation.value[x] is missing.",
              "comment": "\"Null\" or exceptional values can be represented two ways in FHIR Observations.  One way is to simply include them in the value set and represent the exceptions in the value.  For example, measurement values for a serology test could be  \"detected\", \"not detected\", \"inconclusive\", or  \"test not done\".   The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values.  For example, the dataAbsentReason code \"error\" could be used when the measurement was not completed.  Because of these options, use-case agreements are required to interpret general observations for exceptional values.",
              "requirements": "For many results it is necessary to handle exceptional values in measurements.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.dataAbsentReason",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "condition": [
                "obs-6"
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "DAR"
                  }
                ],
                "strength": "extensible",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-valueabsentreason"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": "value.nullFlavor"
                }
              ]
            },
            {
              "id": "Observation.component.interpretation",
              "path": "Observation.component.interpretation",
              "short": "High, low, normal, etc.",
              "definition": "The assessment made based on the result of the observation.  Intended as a simple compact code often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result. Otherwise known as abnormal flag.",
              "comment": "The component interpretation applies only to the individual component value.  For an overall interpretation all components together use thes Observation.interpretation element.",
              "requirements": "For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result.",
              "alias": [
                "Abnormal Flag"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.interpretation",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationInterpretation"
                  }
                ],
                "strength": "extensible",
                "description": "Codes identifying interpretations of observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-interpretation"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-8"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "363713009 |Has interpretation|"
                }
              ]
            },
            {
              "id": "Observation.component.referenceRange",
              "path": "Observation.component.referenceRange",
              "short": "Provides guide for interpretation of component result",
              "definition": "Guidance on how to interpret the value by comparison to a normal or recommended range.",
              "comment": "Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.",
              "requirements": "Knowing what values are considered \"normal\" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.component.referenceRange",
                "min": 0,
                "max": "*"
              },
              "contentReference": "#Observation.referenceRange",
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX.7"
                },
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]"
                }
              ]
            }
          ]
        },
        "differential": {
          "element": [
            {
              "id": "Observation",
              "path": "Observation",
              "short": "FHIR Heart Rate Profile",
              "definition": "This profile defines how to represent heart rate observations in FHIR using a standard LOINC code and UCUM units of measure.",
              "min": 0,
              "max": "*"
            },
            {
              "id": "Observation.code",
              "path": "Observation.code",
              "short": "Heart Rate",
              "definition": "Heart Rate.",
              "comment": "additional codes that translate or map to this code are allowed.  For example a more granular LOINC code or code that is used locally in a system.",
              "alias": [
                "Test",
                "Name"
              ]
            },
            {
              "id": "Observation.code.coding",
              "path": "Observation.code.coding",
              "slicing": {
                "discriminator": [
                  {
                    "type": "value",
                    "path": "code"
                  }
                ],
                "ordered": false,
                "rules": "open"
              }
            },
            {
              "id": "Observation.code.coding:heartratecode",
              "path": "Observation.code.coding",
              "sliceName": "HeartRateCode"
            },
            {
              "id": "Observation.code.coding:heartratecode.system",
              "path": "Observation.code.coding.system",
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://loinc.org"
            },
            {
              "id": "Observation.code.coding:heartratecode.code",
              "path": "Observation.code.coding.code",
              "type": [
                {
                  "code": "code"
                }
              ],
              "fixedCode": "8867-4"
            },
            {
              "id": "Observation.valueQuantity",
              "path": "Observation.valueQuantity"
            },
            {
              "id": "Observation.valueQuantity.code",
              "path": "Observation.valueQuantity.code",
              "type": [
                {
                  "code": "code"
                }
              ],
              "fixedCode": "/min"
            }
          ]
        }
      }
    },
    {
      "fullUrl": "http://hl7.org/fhir/StructureDefinition/bodytemp",
      "resource": {
        "resourceType": "StructureDefinition",
        "id": "bodytemp",
        "text": {
          "status": "generated",
          "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">to do</div>"
        },
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-summary",
            "valueMarkdown": "####Complete Summary of the Mandatory Requirements\r\r1.  One code in `Observation.code` which must have\r    -   a fixed `Observation.code.coding.system`=**'http ://loinc.org'**\r    -   a fixed  `Observation.code.coding.code`= **'8310-5'**\r    -   Other additional codes are allowed - e.g. more specific LOINC\r        Codes, SNOMED CT concepts, system specific codes. All codes\r        SHALL have an system value\r2.  a fixed`Observation.valueQuantity.code` = **'Cel', or '[degF]'**"
          }
        ],
        "url": "http://hl7.org/fhir/StructureDefinition/bodytemp",
        "name": "Vital Signs Profile",
        "title": "VitalSigns",
        "status": "draft",
        "experimental": false,
        "date": "2016-03-25",
        "publisher": "Health Level Seven International (Orders and Observations Workgroup)",
        "contact": [
          {
            "telecom": [
              {
                "system": "url",
                "value": "http://www.hl7.org/Special/committees/orders/index.cfm Orders and Observations"
              }
            ]
          }
        ],
        "description": "FHIR Body Temperature Profile",
        "fhirVersion": "3.0.1",
        "mapping": [
          {
            "identity": "workflow",
            "uri": "http://hl7.org/fhir/workflow",
            "name": "Workflow Mapping"
          },
          {
            "identity": "sct-concept",
            "uri": "http://snomed.info/conceptdomain",
            "name": "SNOMED CT Concept Domain Binding"
          },
          {
            "identity": "v2",
            "uri": "http://hl7.org/v2",
            "name": "HL7 v2 Mapping"
          },
          {
            "identity": "rim",
            "uri": "http://hl7.org/v3",
            "name": "RIM Mapping"
          },
          {
            "identity": "w5",
            "uri": "http://hl7.org/fhir/w5",
            "name": "W5 Mapping"
          },
          {
            "identity": "sct-attr",
            "uri": "http://snomed.info/sct",
            "name": "SNOMED CT Attribute Binding"
          }
        ],
        "kind": "resource",
        "abstract": false,
        "type": "Observation",
        "baseDefinition": "http://hl7.org/fhir/StructureDefinition/vitalsigns",
        "derivation": "constraint",
        "snapshot": {
          "element": [
            {
              "id": "Observation",
              "path": "Observation",
              "short": "FHIR Body Temperature Profile",
              "definition": "This profile defines  how to represent Body Temperature observations in FHIR using a standard LOINC code and UCUM units of measure.",
              "comment": "Used for simple observations such as device measurements, laboratory atomic results, vital signs, height, weight, smoking status, comments, etc.  Other resources are used to provide context for observations such as lab reports, etc.",
              "alias": [
                "Vital Signs",
                "Measurement",
                "Results",
                "Tests"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation",
                "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)",
                  "source": "DomainResource"
                },
                {
                  "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)",
                  "source": "DomainResource"
                },
                {
                  "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))",
                  "source": "DomainResource"
                },
                {
                  "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))]))",
                  "source": "DomainResource"
                },
                {
                  "key": "obs-7",
                  "severity": "error",
                  "human": "If code is the same as a component code then the value element associated with the code SHALL NOT be present",
                  "expression": "value.empty() or code!=component.code",
                  "xpath": "not(exists(f:*[starts-with(local-name(.), 'value')])) or not(count(for $coding in f:code/f:coding return parent::*/f:component/f:code/f:coding[f:code/@value=$coding/f:code/@value and f:system/@value=$coding/f:system/@value])=0)",
                  "source": "Observation"
                },
                {
                  "key": "obs-6",
                  "severity": "error",
                  "human": "dataAbsentReason SHALL only be present if Observation.value[x] is not present",
                  "expression": "dataAbsentReason.empty() or value.empty()",
                  "xpath": "not(exists(f:dataAbsentReason)) or (not(exists(*[starts-with(local-name(.), 'value')])))",
                  "source": "Observation"
                },
                {
                  "key": "vs-2",
                  "severity": "error",
                  "human": "If there is no component or related element then either a value[x] or a data absent reason must be present",
                  "expression": "(component.empty() and related.empty()) implies (dataAbsentReason or value)",
                  "xpath": "exists(f:component) or exists(f:related) or exists(f:*[starts-with(local-name(.), 'value')]) or exists(f:dataAbsentReason)",
                  "source": "Observation"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Entity. Role, or Act"
                },
                {
                  "identity": "workflow",
                  "map": "Event"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity|"
                },
                {
                  "identity": "v2",
                  "map": "OBX"
                },
                {
                  "identity": "rim",
                  "map": "Observation[classCode=OBS, moodCode=EVN]"
                },
                {
                  "identity": "w5",
                  "map": "clinical.diagnostics"
                }
              ]
            },
            {
              "id": "Observation.id",
              "path": "Observation.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "Observation.meta",
              "path": "Observation.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "Observation.implicitRules",
              "path": "Observation.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"
                }
              ],
              "isModifier": true,
              "isSummary": true
            },
            {
              "id": "Observation.language",
              "path": "Observation.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"
                }
              ],
              "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"
                }
              }
            },
            {
              "id": "Observation.text",
              "path": "Observation.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": [
                "dom-1"
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Act.text?"
                }
              ]
            },
            {
              "id": "Observation.contained",
              "path": "Observation.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": "N/A"
                }
              ]
            },
            {
              "id": "Observation.extension",
              "path": "Observation.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.modifierExtension",
              "path": "Observation.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 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"
                }
              ],
              "isModifier": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.identifier",
              "path": "Observation.identifier",
              "short": "Business Identifier for observation",
              "definition": "A unique identifier assigned to this observation.",
              "requirements": "Allows observations to be distinguished and referenced.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.identifier",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Identifier"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.identifier"
                },
                {
                  "identity": "v2",
                  "map": "OBX.21  For OBX segments from systems without OBX-21 support a combination of ORC/OBR and OBX must be negotiated between trading partners to uniquely identify the OBX segment. Depending on how V2 has been implemented each of these may be an option: 1) OBR-3 + OBX-3 + OBX-4 or 2) OBR-3 + OBR-4 + OBX-3 + OBX-4 or 2) some other way to uniquely ID the OBR/ORC + OBX-3 + OBX-4."
                },
                {
                  "identity": "rim",
                  "map": "id"
                },
                {
                  "identity": "w5",
                  "map": "id"
                }
              ]
            },
            {
              "id": "Observation.basedOn",
              "path": "Observation.basedOn",
              "short": "Fulfills plan, proposal or order",
              "definition": "A plan, proposal or order that is fulfilled in whole or in part by this event.",
              "requirements": "Allows tracing of authorization for the event and tracking whether proposals/recommendations were acted upon.",
              "alias": [
                "Fulfills"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.basedOn",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/CarePlan"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/DeviceRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ImmunizationRecommendation"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/NutritionOrder"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ProcedureRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ReferralRequest"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.basedOn"
                },
                {
                  "identity": "v2",
                  "map": "ORC"
                },
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=FLFS].target"
                }
              ]
            },
            {
              "id": "Observation.status",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-display-hint",
                  "valueString": "default: final"
                }
              ],
              "path": "Observation.status",
              "short": "registered | preliminary | final | amended +",
              "definition": "The status of the result value.",
              "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
              "requirements": "Need to track the status of individual results. Some results are finalized before the whole report is finalized.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.status",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "mustSupport": true,
              "isModifier": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "Status"
                  }
                ],
                "strength": "required",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-status"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.status"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 445584004 |Report by finality status|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-11"
                },
                {
                  "identity": "rim",
                  "map": "status  Amended & Final are differentiated by whether it is the subject of a ControlAct event with a type of \"revise\""
                },
                {
                  "identity": "w5",
                  "map": "status"
                }
              ]
            },
            {
              "id": "Observation.category",
              "path": "Observation.category",
              "short": "Classification of  type of observation",
              "definition": "A code that classifies the general type of observation being made.",
              "comment": "In addition to the required category valueset, this element allows various categorization schemes based on the owner’s definition of the category and effectively multiple categories can be used at once.  The level of granularity is defined by the category concepts in the value set.",
              "requirements": "Used for filtering what observations are retrieved and displayed.",
              "min": 1,
              "max": "*",
              "base": {
                "path": "Observation.category",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "constraint": [
                {
                  "key": "vs-4",
                  "severity": "error",
                  "human": "Must have a category of 'vital-signs' and a code system 'http://hl7.org/fhir/observation-category'",
                  "expression": "where(coding.system='http://hl7.org/fhir/observation-category' and coding.code='vital-signs').exists()",
                  "xpath": "exists(f:coding/code[@value='vital-signs']) and exists(f:coding/system[@value='http://hl7.org/fhir/observation-category'])"
                }
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationCategory"
                  }
                ],
                "strength": "preferred",
                "description": "Codes for high level observation categories.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-category"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=\"COMP].target[classCode=\"LIST\", moodCode=\"EVN\"].code"
                },
                {
                  "identity": "w5",
                  "map": "class"
                }
              ]
            },
            {
              "id": "Observation.code",
              "path": "Observation.code",
              "short": "Body Temperature",
              "definition": "Body Temperature.",
              "comment": "additional codes that translate or map to this code are allowed.  For example a more granular LOINC code or code that is used locally in a system.",
              "requirements": "5. SHALL contain exactly one [1..1] code, where the @code SHOULD be selected from ValueSet HITSP Vital Sign Result Type 2.16.840.1.113883.3.88.12.80.62 DYNAMIC (CONF:7301).",
              "alias": [
                "Name",
                "Test",
                "Name"
              ],
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.code",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSigns"
                  }
                ],
                "strength": "extensible",
                "description": "This identifies the vital sign result type.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-vitalsignresult"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.code"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity| OR < 386053000 |Evaluation procedure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-3"
                },
                {
                  "identity": "rim",
                  "map": "code"
                },
                {
                  "identity": "sct-attr",
                  "map": "116680003 |Is a|"
                },
                {
                  "identity": "w5",
                  "map": "what"
                }
              ]
            },
            {
              "id": "Observation.code.id",
              "path": "Observation.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.code.extension",
              "path": "Observation.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.code.coding",
              "path": "Observation.code.coding",
              "slicing": {
                "discriminator": [
                  {
                    "type": "value",
                    "path": "code"
                  }
                ],
                "ordered": false,
                "rules": "open"
              },
              "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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.code.coding:bodytempcode",
              "path": "Observation.code.coding",
              "sliceName": "BodyTempCode",
              "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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.code.coding:bodytempcode.id",
              "path": "Observation.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.code.coding:bodytempcode.extension",
              "path": "Observation.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.code.coding:bodytempcode.system",
              "path": "Observation.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": 0,
              "max": "1",
              "base": {
                "path": "Coding.system",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://loinc.org",
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "C*E.3"
                },
                {
                  "identity": "rim",
                  "map": "./codeSystem"
                },
                {
                  "identity": "orim",
                  "map": "fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem"
                }
              ]
            },
            {
              "id": "Observation.code.coding:bodytempcode.version",
              "path": "Observation.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": "1",
              "base": {
                "path": "Coding.version",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "C*E.7"
                },
                {
                  "identity": "rim",
                  "map": "./codeSystemVersion"
                },
                {
                  "identity": "orim",
                  "map": "fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion"
                }
              ]
            },
            {
              "id": "Observation.code.coding:bodytempcode.code",
              "path": "Observation.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).",
              "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"
                }
              ],
              "fixedCode": "8310-5",
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "C*E.1"
                },
                {
                  "identity": "rim",
                  "map": "./code"
                },
                {
                  "identity": "orim",
                  "map": "fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code"
                }
              ]
            },
            {
              "id": "Observation.code.coding:bodytempcode.display",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "Observation.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.",
              "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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.code.coding:bodytempcode.userSelected",
              "path": "Observation.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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.code.text",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "Observation.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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.subject",
              "path": "Observation.subject",
              "short": "Who and/or what this is about",
              "definition": "The patient, or group of patients, location, or device whose characteristics (direct or indirect) are described by the observation and into whose record the observation is placed.  Comments: Indirect characteristics may be those of a specimen, fetus, donor,  other observer (for example a relative or EMT), or any observation made about the subject.",
              "comment": "One would expect this element to be a cardinality  of 1..1.  The only circumstance in which the subject can be missing is when the observation is made by a device that does not know the patient. In this case, the observation SHALL be matched to a patient through some context/channel matching technique, and at this point, the observation should be updated.\r\rIf the target of the observation is different than the subject, the general extension [observation-focal-subject](extension-observation-focal-subject.html).  may be used.  However, the distinction between the patient's own value for an observation versus that of the fetus, or the donor or blood product unit, etc., are often specified in the observation code.",
              "requirements": "Observations have no value if you don't know who or what they're about.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.subject",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.subject"
                },
                {
                  "identity": "v2",
                  "map": "PID-3"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=SBJ]"
                },
                {
                  "identity": "w5",
                  "map": "who.focus"
                }
              ]
            },
            {
              "id": "Observation.context",
              "path": "Observation.context",
              "short": "Healthcare event during which this observation is made",
              "definition": "The healthcare event  (e.g. a patient and healthcare provider interaction) during which this observation is made.",
              "comment": "This will typically be the encounter the event occurred within, but some events may be initiated prior to or after the official completion of an encounter or episode but still be tied to the context of the encounter or episode (e.g. pre-admission lab tests).",
              "requirements": "For some observations it may be important to know the link between an observation and a particular encounter.",
              "alias": [
                "Encounter"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.context",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
                }
              ],
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.context"
                },
                {
                  "identity": "v2",
                  "map": "PV1"
                },
                {
                  "identity": "rim",
                  "map": "inboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN]"
                },
                {
                  "identity": "w5",
                  "map": "context"
                }
              ]
            },
            {
              "id": "Observation.effective[x]",
              "path": "Observation.effective[x]",
              "short": "Often just a dateTime for Vital Signs",
              "definition": "Often just a dateTime for Vital Signs.",
              "comment": "At least a date should be present unless this observation is a historical report.",
              "requirements": "Knowing when an observation was deemed true is important to its relevance as well as determining trends.",
              "alias": [
                "Occurrence"
              ],
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.effective[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "dateTime"
                },
                {
                  "code": "Period"
                }
              ],
              "constraint": [
                {
                  "key": "vs-1",
                  "severity": "error",
                  "human": "Datetime must be at least to day.",
                  "expression": "($this as dateTime).toString().length() >= 8",
                  "xpath": "f:matches(effectiveDateTime,/\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d([+-][0-2]\\d:[0-5]\\d|Z)/)"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.occurrence[x]"
                },
                {
                  "identity": "v2",
                  "map": "OBX-14, and/or OBX-19 after v2.4  (depends on who observation made)"
                },
                {
                  "identity": "rim",
                  "map": "effectiveTime"
                },
                {
                  "identity": "w5",
                  "map": "when.done"
                }
              ]
            },
            {
              "id": "Observation.issued",
              "path": "Observation.issued",
              "short": "Date/Time this was made available",
              "definition": "The date and time this observation was made available to providers, typically after the results have been reviewed and verified.",
              "comment": "Updated when the result is updated.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.issued",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "instant"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBR.22 (or MSH.7), or perhaps OBX-19 (depends on who observation made)"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=AUT].time"
                },
                {
                  "identity": "w5",
                  "map": "when.recorded"
                }
              ]
            },
            {
              "id": "Observation.performer",
              "path": "Observation.performer",
              "short": "Who is responsible for the observation",
              "definition": "Who was responsible for asserting the observed value as \"true\".",
              "requirements": "May give a degree of confidence in the observation and also indicates where follow-up questions should be directed.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.performer",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.performer"
                },
                {
                  "identity": "v2",
                  "map": "OBX.15 / (Practitioner)  OBX-16,  PRT-5:PRT-4='RO' /  (Device)  OBX-18 , PRT-10:PRT-4='EQUIP' / (Organization)  OBX-23,  PRT-8:PRT-4='PO'"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=PRF]"
                },
                {
                  "identity": "w5",
                  "map": "who.actor"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity",
              "path": "Observation.valueQuantity",
              "short": "Vital Sign Value recorded with UCUM",
              "definition": "Vital Sign Value recorded with UCUM.",
              "comment": "Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. This element has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueString, valueBoolean, valueRange, valueRatio, valueSampledData, valueAttachment, valueTime, valueDateTime, or valuePeriod. (The name format is \"'value' + the type name\" with a capital on the first letter of the type).\r\r\rIf the data element is usually coded or if the type associated with the Observation.value defines a coded value, use CodeableConcept instead of string datatype even if the value is uncoded text.  A value set is bound to the ValueCodeableConcept element.    For further discussion and examples see the  [notes section](observation.html#notes) below.",
              "requirements": "9. SHALL contain exactly one [1..1] value with @xsi:type=\"PQ\" (CONF:7305).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.value[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity"
                }
              ],
              "condition": [
                "obs-7"
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSignsUnits"
                  }
                ],
                "strength": "required",
                "description": "Common UCUM units for recording Vital Signs",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/ucum-vitals-common"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.notDone, Event.notDoneReason  (maps to valeu[x] or dataAbsentReason)"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 441742003 |Evaluation finding|"
                },
                {
                  "identity": "v2",
                  "map": "OBX.2, OBX.5, OBX.6"
                },
                {
                  "identity": "rim",
                  "map": "value"
                },
                {
                  "identity": "sct-attr",
                  "map": "363714003 |Interprets|"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.id",
              "path": "Observation.valueQuantity.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.extension",
              "path": "Observation.valueQuantity.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.value",
              "path": "Observation.valueQuantity.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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.value",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "decimal"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.valueQuantity.comparator",
              "path": "Observation.valueQuantity.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",
              "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": "v2",
                  "map": "SN.1  / CQ.1"
                },
                {
                  "identity": "rim",
                  "map": "IVL properties"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.unit",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "Observation.valueQuantity.unit",
              "short": "Unit representation",
              "definition": "A human-readable form of the unit.",
              "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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.unit",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "PQ.unit"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.system",
              "path": "Observation.valueQuantity.system",
              "short": "System that defines coded unit form",
              "definition": "The identification of the system that provides the coded form of the unit.",
              "requirements": "Need to know the system that defines the coded form of the unit.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Quantity.system",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://unitsofmeasure.org",
              "condition": [
                "qty-3"
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "CO.codeSystem, PQ.translation.codeSystem"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.code",
              "path": "Observation.valueQuantity.code",
              "short": "Coded responses from the common UCUM units for vital signs value set.",
              "definition": "Coded responses from the common UCUM units for vital signs value set.",
              "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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.code",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "BodyTempUnits"
                  }
                ],
                "strength": "required",
                "description": "Common UCUM units for Body Temperature",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/ucum-bodytemp"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "PQ.code, MO.currency, PQ.translation.code"
                }
              ]
            },
            {
              "id": "Observation.dataAbsentReason",
              "path": "Observation.dataAbsentReason",
              "short": "Why the result is missing",
              "definition": "Provides a reason why the expected value in the element Observation.value[x] is missing.",
              "comment": "Null or exceptional values can be represented two ways in FHIR Observations.  One way is to simply include them in the value set and represent the exceptions in the value.  For example, measurement values for a serology test could be  \"detected\", \"not detected\", \"inconclusive\", or  \"specimen unsatisfactory\".   The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values.  For example, the dataAbsentReason code \"error\" could be used when the measurement was not completed. Note that an observation may only be reported if there are values to report. For example differential cell counts values may be reported only when > 0.  Because of these options, use-case agreements are required to interpret general observations for null or exceptional values.",
              "requirements": "For many results it is necessary to handle exceptional values in measurements.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.dataAbsentReason",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "condition": [
                "obs-6"
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "DAR"
                  }
                ],
                "strength": "extensible",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-valueabsentreason"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.notDone, Event.notDoneReason  (maps to valeu[x] or dataAbsentReason)"
                },
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": "value.nullFlavor"
                }
              ]
            },
            {
              "id": "Observation.interpretation",
              "path": "Observation.interpretation",
              "short": "High, low, normal, etc.",
              "definition": "The assessment made based on the result of the observation.  Intended as a simple compact code often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result. Otherwise known as abnormal flag.",
              "requirements": "For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result.",
              "alias": [
                "Abnormal Flag"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.interpretation",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationInterpretation"
                  }
                ],
                "strength": "extensible",
                "description": "Codes identifying interpretations of observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-interpretation"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-8"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "363713009 |Has interpretation|"
                }
              ]
            },
            {
              "id": "Observation.comment",
              "path": "Observation.comment",
              "short": "Comments about result",
              "definition": "May include statements about significant, unexpected or unreliable values, or information about the source of the value where this may be relevant to the interpretation of the result.",
              "requirements": "Need to be able to provide free text additional information.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.comment",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.note"
                },
                {
                  "identity": "v2",
                  "map": "NTE.3 (partner NTE to OBX, or sometimes another (child?) OBX)"
                },
                {
                  "identity": "rim",
                  "map": "subjectOf.observationEvent[code=\"annotation\"].value"
                }
              ]
            },
            {
              "id": "Observation.bodySite",
              "path": "Observation.bodySite",
              "short": "Observed body part",
              "definition": "Indicates the site on the subject's body where the observation was made (i.e. the target site).",
              "comment": "Only used if not implicit in code found in Observation.code.  In many systems, this may be represented as a related observation instead of an inline component.   If the use case requires BodySite to be handled as a separate resource (e.g. to identify and track separately) then use the standard extension[ body-site-instance](extension-body-site-instance.html).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.bodySite",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "BodySite"
                  }
                ],
                "strength": "example",
                "description": "Codes describing anatomical locations. May include laterality.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/body-site"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 123037004 |Body structure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-20"
                },
                {
                  "identity": "rim",
                  "map": "targetSiteCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "718497002 |Inherent location|"
                }
              ]
            },
            {
              "id": "Observation.method",
              "path": "Observation.method",
              "short": "How it was done",
              "definition": "Indicates the mechanism used to perform the observation.",
              "comment": "Only used if not implicit in code for Observation.code.",
              "requirements": "In some cases, method can impact results and is thus used for determining whether results can be compared or determining significance of results.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.method",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationMethod"
                  }
                ],
                "strength": "example",
                "description": "Methods for simple observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-methods"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-17"
                },
                {
                  "identity": "rim",
                  "map": "methodCode"
                }
              ]
            },
            {
              "id": "Observation.specimen",
              "path": "Observation.specimen",
              "short": "Specimen used for this observation",
              "definition": "The specimen that was used when this observation was made.",
              "comment": "Should only be used if not implicit in code found in `Observation.code`.  Observations are not made on specimens themselves; they are made on a subject, but in many cases by the means of a specimen. Note that although specimens are often involved, they are not always tracked and reported explicitly. Also note that observation resources may be used in contexts that track the specimen explicitly (e.g. Diagnostic Report).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.specimen",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Specimen"
                }
              ],
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 123038009 |Specimen|"
                },
                {
                  "identity": "v2",
                  "map": "SPM segment"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=SPC].specimen"
                },
                {
                  "identity": "sct-attr",
                  "map": "704319004 |Inherent in|"
                }
              ]
            },
            {
              "id": "Observation.device",
              "path": "Observation.device",
              "short": "(Measurement) Device",
              "definition": "The device used to generate the observation data.",
              "comment": "An extension should be used if further typing of the device is needed.  Devices used to support obtaining an observation can be represented using either an extension or through the Observation.related element.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.device",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/DeviceMetric"
                }
              ],
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 49062001 |Device|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-17 / PRT -10"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=DEV]"
                },
                {
                  "identity": "sct-attr",
                  "map": "424226004 |Using device|"
                }
              ]
            },
            {
              "id": "Observation.referenceRange",
              "path": "Observation.referenceRange",
              "short": "Provides guide for interpretation",
              "definition": "Guidance on how to interpret the value by comparison to a normal or recommended range.",
              "comment": "Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.",
              "requirements": "Knowing what values are considered \"normal\" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.referenceRange",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "key": "obs-3",
                  "severity": "error",
                  "human": "Must have at least a low or a high or text",
                  "expression": "low.exists() or high.exists() or text.exists()",
                  "xpath": "(exists(f:low) or exists(f:high)or exists(f:text))"
                }
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX.7"
                },
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.id",
              "path": "Observation.referenceRange.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.extension",
              "path": "Observation.referenceRange.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.modifierExtension",
              "path": "Observation.referenceRange.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.low",
              "path": "Observation.referenceRange.low",
              "short": "Low Range, if relevant",
              "definition": "The value of the low bound of the reference range.  The low bound of the reference range endpoint is inclusive of the value (e.g.  reference range is >=5 - <=9).   If the low bound is omitted,  it is assumed to be meaningless (e.g. reference range is <=2.3).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.low",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity",
                  "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
                }
              ],
              "condition": [
                "obs-3"
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-7"
                },
                {
                  "identity": "rim",
                  "map": "value:IVL_PQ.low"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.high",
              "path": "Observation.referenceRange.high",
              "short": "High Range, if relevant",
              "definition": "The value of the high bound of the reference range.  The high bound of the reference range endpoint is inclusive of the value (e.g.  reference range is >=5 - <=9).   If the high bound is omitted,  it is assumed to be meaningless (e.g. reference range is >= 2.3).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.high",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity",
                  "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
                }
              ],
              "condition": [
                "obs-3"
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-7"
                },
                {
                  "identity": "rim",
                  "map": "value:IVL_PQ.high"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.type",
              "path": "Observation.referenceRange.type",
              "short": "Reference range qualifier",
              "definition": "Codes to indicate the what part of the targeted reference population it applies to. For example, the normal or therapeutic range.",
              "comment": "This SHOULD be populated if there is more than one range.  If this element is not present then the normal range is assumed.",
              "requirements": "Need to be able to say what kind of reference range this is - normal, recommended, therapeutic, etc,  - for proper interpretation.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.type",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRangeMeaning"
                  }
                ],
                "strength": "extensible",
                "description": "Code for the meaning of a reference range.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/referencerange-meaning"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values| OR  \r< 365860008 |General clinical state finding| \rOR \r< 250171008 |Clinical history or observation findings| OR  \r< 415229000 |Racial group| OR \r< 365400002 |Finding of puberty stage| OR\r< 443938003 |Procedure carried out on subject|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-10"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.appliesTo",
              "path": "Observation.referenceRange.appliesTo",
              "short": "Reference range population",
              "definition": "Codes to indicate the target population this reference range applies to.  For example, a reference range may be based on the normal population or a particular sex or race.",
              "comment": "This SHOULD be populated if there is more than one range.  If this element is not present then the normal population is assumed.",
              "requirements": "Need to be able to identify the target population for proper interpretation.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.referenceRange.appliesTo",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRangeType"
                  }
                ],
                "strength": "example",
                "description": "Codes identifying the population the reference range applies to.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/referencerange-appliesto"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values| OR  \r< 365860008 |General clinical state finding| \rOR \r< 250171008 |Clinical history or observation findings| OR  \r< 415229000 |Racial group| OR \r< 365400002 |Finding of puberty stage| OR\r< 443938003 |Procedure carried out on subject|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-10"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.age",
              "path": "Observation.referenceRange.age",
              "short": "Applicable age range, if relevant",
              "definition": "The age at which this reference range is applicable. This is a neonatal age (e.g. number of weeks at term) if the meaning says so.",
              "requirements": "Some analytes vary greatly over age.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.age",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Range"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=PRCN].targetObservationCriterion[code=\"age\"].value"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.text",
              "path": "Observation.referenceRange.text",
              "short": "Text based reference range in an observation",
              "definition": "Text based reference range in an observation which may be used when a quantitative range is not appropriate for an observation.  An example would be a reference value of \"Negative\" or a list or table of 'normals'.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.text",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-7"
                },
                {
                  "identity": "rim",
                  "map": "value:ST"
                }
              ]
            },
            {
              "id": "Observation.related",
              "path": "Observation.related",
              "short": "Used when reporting vital signs panel components",
              "definition": "Used when reporting vital signs panel components.",
              "comment": "For a discussion on the ways Observations can assembled in groups together see [Notes below](observation.html#4.20.4).",
              "requirements": "Normally, an observation will have either a value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and a set of related observations or sometimes a QuestionnaireResponse from which the measure is derived.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.related",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "Relationships established by OBX-4 usage"
                },
                {
                  "identity": "rim",
                  "map": "outBoundRelationship"
                }
              ]
            },
            {
              "id": "Observation.related.id",
              "path": "Observation.related.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.related.extension",
              "path": "Observation.related.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.related.modifierExtension",
              "path": "Observation.related.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.related.type",
              "path": "Observation.related.type",
              "short": "has-member | derived-from | sequel-to | replaces | qualified-by | interfered-by",
              "definition": "A code specifying the kind of relationship that exists with the target resource.",
              "comment": "The \"derived-from\" type is the only logical choice when referencing the QuestionnaireAnswer resource.",
              "requirements": "A relationship type SHOULD be provided.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.related.type",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "fixedCode": "has-member",
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRelationshipType"
                  }
                ],
                "strength": "required",
                "description": "Codes specifying how two observations are related.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-relationshiptypes"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": ".typeCode"
                }
              ]
            },
            {
              "id": "Observation.related.target",
              "path": "Observation.related.target",
              "short": "Resource that is related to this one",
              "definition": "A reference to the observation or [QuestionnaireResponse](questionnaireresponse.html#) resource that is related to this observation.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.related.target",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/vitalsigns"
                }
              ],
              "mustSupport": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".targetObservation"
                }
              ]
            },
            {
              "id": "Observation.component",
              "path": "Observation.component",
              "short": "Used when reporting systolic and diastolic blood pressure.",
              "definition": "Used when reporting systolic and diastolic blood pressure.",
              "comment": "For a discussion on the ways Observations can be assembled in groups together see [Notes](observation.html#notes) below.",
              "requirements": "Component observations share the same attributes in the Observation resource as the primary observation and are always treated a part of a single observation (they are not separable).   However, the reference range for the primary observation value is not inherited by the component values and is required when appropriate for each component observation.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.component",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "key": "vs-3",
                  "severity": "error",
                  "human": "If there is no a value a data absent reason must be present",
                  "expression": "value.exists() or dataAbsentReason.exists()",
                  "xpath": "exists(f:*[starts-with(local-name(.), 'value')]) or exists(f:dataAbsentReason)"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "containment by OBX-4?"
                },
                {
                  "identity": "rim",
                  "map": "outBoundRelationship[typeCode=COMP]"
                }
              ]
            },
            {
              "id": "Observation.component.id",
              "path": "Observation.component.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.extension",
              "path": "Observation.component.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.modifierExtension",
              "path": "Observation.component.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.component.code",
              "path": "Observation.component.code",
              "short": "Type of component observation (code / type)",
              "definition": "Describes what was observed. Sometimes this is called the observation \"code\".",
              "requirements": "Knowing what kind of observation is being made is essential to understanding the observation.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.component.code",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSigns"
                  }
                ],
                "strength": "extensible",
                "description": "This identifies the vital sign result type.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-vitalsignresult"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity| OR \r< 386053000 |Evaluation procedure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-3"
                },
                {
                  "identity": "rim",
                  "map": "code"
                },
                {
                  "identity": "w5",
                  "map": "what"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity",
              "path": "Observation.component.valueQuantity",
              "short": "Vital Sign Value recorded with UCUM",
              "definition": "Vital Sign Value recorded with UCUM.",
              "comment": "Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value.   For boolean values use valueCodeableConcept and select codes from <http://hl7.org/fhir/ValueSet/v2-0136> (these \"yes/no\" concepts can be mapped to the display name \"true/false\" or other mutually exclusive terms that may be needed\").  The element, Observation.value[x], has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueRatio, valueChoice, valuePeriod, valueSampleData, or valueString (the name format is \"'value' + the type name\" with a capital on the first letter of the type).",
              "requirements": "9. SHALL contain exactly one [1..1] value with @xsi:type=\"PQ\" (CONF:7305).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.value[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSignsUnits"
                  }
                ],
                "strength": "required",
                "description": "Common UCUM units for recording Vital Signs",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/ucum-vitals-common"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "363714003 |Interprets| < 441742003 |Evaluation finding|"
                },
                {
                  "identity": "v2",
                  "map": "OBX.2, OBX.5, OBX.6"
                },
                {
                  "identity": "rim",
                  "map": "value"
                },
                {
                  "identity": "sct-attr",
                  "map": "363714003 |Interprets|"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.id",
              "path": "Observation.component.valueQuantity.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.extension",
              "path": "Observation.component.valueQuantity.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.value",
              "path": "Observation.component.valueQuantity.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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.value",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "decimal"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.component.valueQuantity.comparator",
              "path": "Observation.component.valueQuantity.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",
              "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": "v2",
                  "map": "SN.1  / CQ.1"
                },
                {
                  "identity": "rim",
                  "map": "IVL properties"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.unit",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "Observation.component.valueQuantity.unit",
              "short": "Unit representation",
              "definition": "A human-readable form of the unit.",
              "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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.unit",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "PQ.unit"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.system",
              "path": "Observation.component.valueQuantity.system",
              "short": "System that defines coded unit form",
              "definition": "The identification of the system that provides the coded form of the unit.",
              "requirements": "Need to know the system that defines the coded form of the unit.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Quantity.system",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://unitsofmeasure.org",
              "condition": [
                "qty-3"
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "CO.codeSystem, PQ.translation.codeSystem"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.code",
              "path": "Observation.component.valueQuantity.code",
              "short": "Coded responses from the common UCUM units for vital signs value set.",
              "definition": "Coded responses from the common UCUM units for vital signs value set.",
              "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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.code",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "PQ.code, MO.currency, PQ.translation.code"
                }
              ]
            },
            {
              "id": "Observation.component.dataAbsentReason",
              "path": "Observation.component.dataAbsentReason",
              "short": "Why the component result is missing",
              "definition": "Provides a reason why the expected value in the element Observation.value[x] is missing.",
              "comment": "\"Null\" or exceptional values can be represented two ways in FHIR Observations.  One way is to simply include them in the value set and represent the exceptions in the value.  For example, measurement values for a serology test could be  \"detected\", \"not detected\", \"inconclusive\", or  \"test not done\".   The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values.  For example, the dataAbsentReason code \"error\" could be used when the measurement was not completed.  Because of these options, use-case agreements are required to interpret general observations for exceptional values.",
              "requirements": "For many results it is necessary to handle exceptional values in measurements.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.dataAbsentReason",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "condition": [
                "obs-6"
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "DAR"
                  }
                ],
                "strength": "extensible",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-valueabsentreason"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": "value.nullFlavor"
                }
              ]
            },
            {
              "id": "Observation.component.interpretation",
              "path": "Observation.component.interpretation",
              "short": "High, low, normal, etc.",
              "definition": "The assessment made based on the result of the observation.  Intended as a simple compact code often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result. Otherwise known as abnormal flag.",
              "comment": "The component interpretation applies only to the individual component value.  For an overall interpretation all components together use thes Observation.interpretation element.",
              "requirements": "For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result.",
              "alias": [
                "Abnormal Flag"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.interpretation",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationInterpretation"
                  }
                ],
                "strength": "extensible",
                "description": "Codes identifying interpretations of observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-interpretation"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-8"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "363713009 |Has interpretation|"
                }
              ]
            },
            {
              "id": "Observation.component.referenceRange",
              "path": "Observation.component.referenceRange",
              "short": "Provides guide for interpretation of component result",
              "definition": "Guidance on how to interpret the value by comparison to a normal or recommended range.",
              "comment": "Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.",
              "requirements": "Knowing what values are considered \"normal\" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.component.referenceRange",
                "min": 0,
                "max": "*"
              },
              "contentReference": "#Observation.referenceRange",
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX.7"
                },
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]"
                }
              ]
            }
          ]
        },
        "differential": {
          "element": [
            {
              "id": "Observation",
              "path": "Observation",
              "short": "FHIR Body Temperature Profile",
              "definition": "This profile defines  how to represent Body Temperature observations in FHIR using a standard LOINC code and UCUM units of measure.",
              "min": 0,
              "max": "*"
            },
            {
              "id": "Observation.code",
              "path": "Observation.code",
              "short": "Body Temperature",
              "definition": "Body Temperature.",
              "comment": "additional codes that translate or map to this code are allowed.  For example a more granular LOINC code or code that is used locally in a system.",
              "alias": [
                "Test",
                "Name"
              ]
            },
            {
              "id": "Observation.code.coding",
              "path": "Observation.code.coding",
              "slicing": {
                "discriminator": [
                  {
                    "type": "value",
                    "path": "code"
                  }
                ],
                "ordered": false,
                "rules": "open"
              }
            },
            {
              "id": "Observation.code.coding:bodytempcode",
              "path": "Observation.code.coding",
              "sliceName": "BodyTempCode"
            },
            {
              "id": "Observation.code.coding:bodytempcode.system",
              "path": "Observation.code.coding.system",
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://loinc.org"
            },
            {
              "id": "Observation.code.coding:bodytempcode.code",
              "path": "Observation.code.coding.code",
              "type": [
                {
                  "code": "code"
                }
              ],
              "fixedCode": "8310-5"
            },
            {
              "id": "Observation.valueQuantity",
              "path": "Observation.valueQuantity"
            },
            {
              "id": "Observation.valueQuantity.code",
              "path": "Observation.valueQuantity.code",
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "BodyTempUnits"
                  }
                ],
                "strength": "required",
                "description": "Common UCUM units for Body Temperature",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/ucum-bodytemp"
                }
              }
            }
          ]
        }
      }
    },
    {
      "fullUrl": "http://hl7.org/fhir/StructureDefinition/bodyheight",
      "resource": {
        "resourceType": "StructureDefinition",
        "id": "bodyheight",
        "text": {
          "status": "generated",
          "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">to do</div>"
        },
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-summary",
            "valueMarkdown": "####Complete Summary of the Mandatory Requirements\r\r1.  One code in `Observation.code` which must have\r    -   a fixed `Observation.code.coding.system`=**'http ://loinc.org'**\r    -   a fixed  `Observation.code.coding.code`= **'8302-2'**\r    -   Other additional codes are allowed - e.g. more specific LOINC\r        Codes, SNOMED CT concepts, system specific codes. All codes\r        SHALL have an system value\r2.  a fixed`Observation.valueQuantity.code` = **'cm', or '[in_i]'**"
          }
        ],
        "url": "http://hl7.org/fhir/StructureDefinition/bodyheight",
        "name": "Vital Signs Profile",
        "title": "VitalSigns",
        "status": "draft",
        "experimental": false,
        "date": "2016-03-25",
        "publisher": "Health Level Seven International (Orders and Observations Workgroup)",
        "contact": [
          {
            "telecom": [
              {
                "system": "url",
                "value": "http://www.hl7.org/Special/committees/orders/index.cfm Orders and Observations"
              }
            ]
          }
        ],
        "description": "FHIR Body Height Profile",
        "fhirVersion": "3.0.1",
        "mapping": [
          {
            "identity": "workflow",
            "uri": "http://hl7.org/fhir/workflow",
            "name": "Workflow Mapping"
          },
          {
            "identity": "sct-concept",
            "uri": "http://snomed.info/conceptdomain",
            "name": "SNOMED CT Concept Domain Binding"
          },
          {
            "identity": "v2",
            "uri": "http://hl7.org/v2",
            "name": "HL7 v2 Mapping"
          },
          {
            "identity": "rim",
            "uri": "http://hl7.org/v3",
            "name": "RIM Mapping"
          },
          {
            "identity": "w5",
            "uri": "http://hl7.org/fhir/w5",
            "name": "W5 Mapping"
          },
          {
            "identity": "sct-attr",
            "uri": "http://snomed.info/sct",
            "name": "SNOMED CT Attribute Binding"
          }
        ],
        "kind": "resource",
        "abstract": false,
        "type": "Observation",
        "baseDefinition": "http://hl7.org/fhir/StructureDefinition/vitalsigns",
        "derivation": "constraint",
        "snapshot": {
          "element": [
            {
              "id": "Observation",
              "path": "Observation",
              "short": "FHIR Body Height Profile",
              "definition": "This profile defines  how to represent Body Height observations in FHIR using a standard LOINC code and UCUM units of measure.",
              "comment": "Used for simple observations such as device measurements, laboratory atomic results, vital signs, height, weight, smoking status, comments, etc.  Other resources are used to provide context for observations such as lab reports, etc.",
              "alias": [
                "Vital Signs",
                "Measurement",
                "Results",
                "Tests"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation",
                "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)",
                  "source": "DomainResource"
                },
                {
                  "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)",
                  "source": "DomainResource"
                },
                {
                  "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))",
                  "source": "DomainResource"
                },
                {
                  "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))]))",
                  "source": "DomainResource"
                },
                {
                  "key": "obs-7",
                  "severity": "error",
                  "human": "If code is the same as a component code then the value element associated with the code SHALL NOT be present",
                  "expression": "value.empty() or code!=component.code",
                  "xpath": "not(exists(f:*[starts-with(local-name(.), 'value')])) or not(count(for $coding in f:code/f:coding return parent::*/f:component/f:code/f:coding[f:code/@value=$coding/f:code/@value and f:system/@value=$coding/f:system/@value])=0)",
                  "source": "Observation"
                },
                {
                  "key": "obs-6",
                  "severity": "error",
                  "human": "dataAbsentReason SHALL only be present if Observation.value[x] is not present",
                  "expression": "dataAbsentReason.empty() or value.empty()",
                  "xpath": "not(exists(f:dataAbsentReason)) or (not(exists(*[starts-with(local-name(.), 'value')])))",
                  "source": "Observation"
                },
                {
                  "key": "vs-2",
                  "severity": "error",
                  "human": "If there is no component or related element then either a value[x] or a data absent reason must be present",
                  "expression": "(component.empty() and related.empty()) implies (dataAbsentReason or value)",
                  "xpath": "exists(f:component) or exists(f:related) or exists(f:*[starts-with(local-name(.), 'value')]) or exists(f:dataAbsentReason)",
                  "source": "Observation"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Entity. Role, or Act"
                },
                {
                  "identity": "workflow",
                  "map": "Event"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity|"
                },
                {
                  "identity": "v2",
                  "map": "OBX"
                },
                {
                  "identity": "rim",
                  "map": "Observation[classCode=OBS, moodCode=EVN]"
                },
                {
                  "identity": "w5",
                  "map": "clinical.diagnostics"
                }
              ]
            },
            {
              "id": "Observation.id",
              "path": "Observation.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "Observation.meta",
              "path": "Observation.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "Observation.implicitRules",
              "path": "Observation.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"
                }
              ],
              "isModifier": true,
              "isSummary": true
            },
            {
              "id": "Observation.language",
              "path": "Observation.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"
                }
              ],
              "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"
                }
              }
            },
            {
              "id": "Observation.text",
              "path": "Observation.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": [
                "dom-1"
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Act.text?"
                }
              ]
            },
            {
              "id": "Observation.contained",
              "path": "Observation.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": "N/A"
                }
              ]
            },
            {
              "id": "Observation.extension",
              "path": "Observation.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.modifierExtension",
              "path": "Observation.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 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"
                }
              ],
              "isModifier": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.identifier",
              "path": "Observation.identifier",
              "short": "Business Identifier for observation",
              "definition": "A unique identifier assigned to this observation.",
              "requirements": "Allows observations to be distinguished and referenced.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.identifier",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Identifier"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.identifier"
                },
                {
                  "identity": "v2",
                  "map": "OBX.21  For OBX segments from systems without OBX-21 support a combination of ORC/OBR and OBX must be negotiated between trading partners to uniquely identify the OBX segment. Depending on how V2 has been implemented each of these may be an option: 1) OBR-3 + OBX-3 + OBX-4 or 2) OBR-3 + OBR-4 + OBX-3 + OBX-4 or 2) some other way to uniquely ID the OBR/ORC + OBX-3 + OBX-4."
                },
                {
                  "identity": "rim",
                  "map": "id"
                },
                {
                  "identity": "w5",
                  "map": "id"
                }
              ]
            },
            {
              "id": "Observation.basedOn",
              "path": "Observation.basedOn",
              "short": "Fulfills plan, proposal or order",
              "definition": "A plan, proposal or order that is fulfilled in whole or in part by this event.",
              "requirements": "Allows tracing of authorization for the event and tracking whether proposals/recommendations were acted upon.",
              "alias": [
                "Fulfills"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.basedOn",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/CarePlan"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/DeviceRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ImmunizationRecommendation"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/NutritionOrder"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ProcedureRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ReferralRequest"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.basedOn"
                },
                {
                  "identity": "v2",
                  "map": "ORC"
                },
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=FLFS].target"
                }
              ]
            },
            {
              "id": "Observation.status",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-display-hint",
                  "valueString": "default: final"
                }
              ],
              "path": "Observation.status",
              "short": "registered | preliminary | final | amended +",
              "definition": "The status of the result value.",
              "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
              "requirements": "Need to track the status of individual results. Some results are finalized before the whole report is finalized.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.status",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "mustSupport": true,
              "isModifier": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "Status"
                  }
                ],
                "strength": "required",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-status"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.status"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 445584004 |Report by finality status|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-11"
                },
                {
                  "identity": "rim",
                  "map": "status  Amended & Final are differentiated by whether it is the subject of a ControlAct event with a type of \"revise\""
                },
                {
                  "identity": "w5",
                  "map": "status"
                }
              ]
            },
            {
              "id": "Observation.category",
              "path": "Observation.category",
              "short": "Classification of  type of observation",
              "definition": "A code that classifies the general type of observation being made.",
              "comment": "In addition to the required category valueset, this element allows various categorization schemes based on the owner’s definition of the category and effectively multiple categories can be used at once.  The level of granularity is defined by the category concepts in the value set.",
              "requirements": "Used for filtering what observations are retrieved and displayed.",
              "min": 1,
              "max": "*",
              "base": {
                "path": "Observation.category",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "constraint": [
                {
                  "key": "vs-4",
                  "severity": "error",
                  "human": "Must have a category of 'vital-signs' and a code system 'http://hl7.org/fhir/observation-category'",
                  "expression": "where(coding.system='http://hl7.org/fhir/observation-category' and coding.code='vital-signs').exists()",
                  "xpath": "exists(f:coding/code[@value='vital-signs']) and exists(f:coding/system[@value='http://hl7.org/fhir/observation-category'])"
                }
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationCategory"
                  }
                ],
                "strength": "preferred",
                "description": "Codes for high level observation categories.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-category"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=\"COMP].target[classCode=\"LIST\", moodCode=\"EVN\"].code"
                },
                {
                  "identity": "w5",
                  "map": "class"
                }
              ]
            },
            {
              "id": "Observation.code",
              "path": "Observation.code",
              "short": "Body Height",
              "definition": "Body Height.",
              "comment": "additional codes that translate or map to this code are allowed.  For example a more granular LOINC code or code that is used locally in a system.",
              "requirements": "5. SHALL contain exactly one [1..1] code, where the @code SHOULD be selected from ValueSet HITSP Vital Sign Result Type 2.16.840.1.113883.3.88.12.80.62 DYNAMIC (CONF:7301).",
              "alias": [
                "Name",
                "Test",
                "Name"
              ],
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.code",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSigns"
                  }
                ],
                "strength": "extensible",
                "description": "This identifies the vital sign result type.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-vitalsignresult"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.code"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity| OR < 386053000 |Evaluation procedure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-3"
                },
                {
                  "identity": "rim",
                  "map": "code"
                },
                {
                  "identity": "sct-attr",
                  "map": "116680003 |Is a|"
                },
                {
                  "identity": "w5",
                  "map": "what"
                }
              ]
            },
            {
              "id": "Observation.code.id",
              "path": "Observation.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.code.extension",
              "path": "Observation.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.code.coding",
              "path": "Observation.code.coding",
              "slicing": {
                "discriminator": [
                  {
                    "type": "value",
                    "path": "code"
                  }
                ],
                "ordered": false,
                "rules": "open"
              },
              "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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.code.coding:bodyheightcode",
              "path": "Observation.code.coding",
              "sliceName": "BodyHeightCode",
              "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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.code.coding:bodyheightcode.id",
              "path": "Observation.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.code.coding:bodyheightcode.extension",
              "path": "Observation.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.code.coding:bodyheightcode.system",
              "path": "Observation.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": 0,
              "max": "1",
              "base": {
                "path": "Coding.system",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://loinc.org",
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "C*E.3"
                },
                {
                  "identity": "rim",
                  "map": "./codeSystem"
                },
                {
                  "identity": "orim",
                  "map": "fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem"
                }
              ]
            },
            {
              "id": "Observation.code.coding:bodyheightcode.version",
              "path": "Observation.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": "1",
              "base": {
                "path": "Coding.version",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "C*E.7"
                },
                {
                  "identity": "rim",
                  "map": "./codeSystemVersion"
                },
                {
                  "identity": "orim",
                  "map": "fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion"
                }
              ]
            },
            {
              "id": "Observation.code.coding:bodyheightcode.code",
              "path": "Observation.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).",
              "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"
                }
              ],
              "fixedCode": "8302-2",
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "C*E.1"
                },
                {
                  "identity": "rim",
                  "map": "./code"
                },
                {
                  "identity": "orim",
                  "map": "fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code"
                }
              ]
            },
            {
              "id": "Observation.code.coding:bodyheightcode.display",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "Observation.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.",
              "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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.code.coding:bodyheightcode.userSelected",
              "path": "Observation.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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.code.text",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "Observation.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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.subject",
              "path": "Observation.subject",
              "short": "Who and/or what this is about",
              "definition": "The patient, or group of patients, location, or device whose characteristics (direct or indirect) are described by the observation and into whose record the observation is placed.  Comments: Indirect characteristics may be those of a specimen, fetus, donor,  other observer (for example a relative or EMT), or any observation made about the subject.",
              "comment": "One would expect this element to be a cardinality  of 1..1.  The only circumstance in which the subject can be missing is when the observation is made by a device that does not know the patient. In this case, the observation SHALL be matched to a patient through some context/channel matching technique, and at this point, the observation should be updated.\r\rIf the target of the observation is different than the subject, the general extension [observation-focal-subject](extension-observation-focal-subject.html).  may be used.  However, the distinction between the patient's own value for an observation versus that of the fetus, or the donor or blood product unit, etc., are often specified in the observation code.",
              "requirements": "Observations have no value if you don't know who or what they're about.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.subject",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.subject"
                },
                {
                  "identity": "v2",
                  "map": "PID-3"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=SBJ]"
                },
                {
                  "identity": "w5",
                  "map": "who.focus"
                }
              ]
            },
            {
              "id": "Observation.context",
              "path": "Observation.context",
              "short": "Healthcare event during which this observation is made",
              "definition": "The healthcare event  (e.g. a patient and healthcare provider interaction) during which this observation is made.",
              "comment": "This will typically be the encounter the event occurred within, but some events may be initiated prior to or after the official completion of an encounter or episode but still be tied to the context of the encounter or episode (e.g. pre-admission lab tests).",
              "requirements": "For some observations it may be important to know the link between an observation and a particular encounter.",
              "alias": [
                "Encounter"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.context",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
                }
              ],
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.context"
                },
                {
                  "identity": "v2",
                  "map": "PV1"
                },
                {
                  "identity": "rim",
                  "map": "inboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN]"
                },
                {
                  "identity": "w5",
                  "map": "context"
                }
              ]
            },
            {
              "id": "Observation.effective[x]",
              "path": "Observation.effective[x]",
              "short": "Often just a dateTime for Vital Signs",
              "definition": "Often just a dateTime for Vital Signs.",
              "comment": "At least a date should be present unless this observation is a historical report.",
              "requirements": "Knowing when an observation was deemed true is important to its relevance as well as determining trends.",
              "alias": [
                "Occurrence"
              ],
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.effective[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "dateTime"
                },
                {
                  "code": "Period"
                }
              ],
              "constraint": [
                {
                  "key": "vs-1",
                  "severity": "error",
                  "human": "Datetime must be at least to day.",
                  "expression": "($this as dateTime).toString().length() >= 8",
                  "xpath": "f:matches(effectiveDateTime,/\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d([+-][0-2]\\d:[0-5]\\d|Z)/)"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.occurrence[x]"
                },
                {
                  "identity": "v2",
                  "map": "OBX-14, and/or OBX-19 after v2.4  (depends on who observation made)"
                },
                {
                  "identity": "rim",
                  "map": "effectiveTime"
                },
                {
                  "identity": "w5",
                  "map": "when.done"
                }
              ]
            },
            {
              "id": "Observation.issued",
              "path": "Observation.issued",
              "short": "Date/Time this was made available",
              "definition": "The date and time this observation was made available to providers, typically after the results have been reviewed and verified.",
              "comment": "Updated when the result is updated.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.issued",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "instant"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBR.22 (or MSH.7), or perhaps OBX-19 (depends on who observation made)"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=AUT].time"
                },
                {
                  "identity": "w5",
                  "map": "when.recorded"
                }
              ]
            },
            {
              "id": "Observation.performer",
              "path": "Observation.performer",
              "short": "Who is responsible for the observation",
              "definition": "Who was responsible for asserting the observed value as \"true\".",
              "requirements": "May give a degree of confidence in the observation and also indicates where follow-up questions should be directed.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.performer",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.performer"
                },
                {
                  "identity": "v2",
                  "map": "OBX.15 / (Practitioner)  OBX-16,  PRT-5:PRT-4='RO' /  (Device)  OBX-18 , PRT-10:PRT-4='EQUIP' / (Organization)  OBX-23,  PRT-8:PRT-4='PO'"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=PRF]"
                },
                {
                  "identity": "w5",
                  "map": "who.actor"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity",
              "path": "Observation.valueQuantity",
              "short": "Vital Sign Value recorded with UCUM",
              "definition": "Vital Sign Value recorded with UCUM.",
              "comment": "Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. This element has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueString, valueBoolean, valueRange, valueRatio, valueSampledData, valueAttachment, valueTime, valueDateTime, or valuePeriod. (The name format is \"'value' + the type name\" with a capital on the first letter of the type).\r\r\rIf the data element is usually coded or if the type associated with the Observation.value defines a coded value, use CodeableConcept instead of string datatype even if the value is uncoded text.  A value set is bound to the ValueCodeableConcept element.    For further discussion and examples see the  [notes section](observation.html#notes) below.",
              "requirements": "9. SHALL contain exactly one [1..1] value with @xsi:type=\"PQ\" (CONF:7305).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.value[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity"
                }
              ],
              "condition": [
                "obs-7"
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSignsUnits"
                  }
                ],
                "strength": "required",
                "description": "Common UCUM units for recording Vital Signs",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/ucum-vitals-common"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.notDone, Event.notDoneReason  (maps to valeu[x] or dataAbsentReason)"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 441742003 |Evaluation finding|"
                },
                {
                  "identity": "v2",
                  "map": "OBX.2, OBX.5, OBX.6"
                },
                {
                  "identity": "rim",
                  "map": "value"
                },
                {
                  "identity": "sct-attr",
                  "map": "363714003 |Interprets|"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.id",
              "path": "Observation.valueQuantity.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.extension",
              "path": "Observation.valueQuantity.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.value",
              "path": "Observation.valueQuantity.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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.value",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "decimal"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.valueQuantity.comparator",
              "path": "Observation.valueQuantity.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",
              "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": "v2",
                  "map": "SN.1  / CQ.1"
                },
                {
                  "identity": "rim",
                  "map": "IVL properties"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.unit",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "Observation.valueQuantity.unit",
              "short": "Unit representation",
              "definition": "A human-readable form of the unit.",
              "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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.unit",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "PQ.unit"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.system",
              "path": "Observation.valueQuantity.system",
              "short": "System that defines coded unit form",
              "definition": "The identification of the system that provides the coded form of the unit.",
              "requirements": "Need to know the system that defines the coded form of the unit.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Quantity.system",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://unitsofmeasure.org",
              "condition": [
                "qty-3"
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "CO.codeSystem, PQ.translation.codeSystem"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.code",
              "path": "Observation.valueQuantity.code",
              "short": "Coded responses from the common UCUM units for vital signs value set.",
              "definition": "Coded responses from the common UCUM units for vital signs value set.",
              "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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.code",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "BodyLengthUnits"
                  }
                ],
                "strength": "required",
                "description": "Common UCUM units for Body Length measures such as Body Height and Head Circumference",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/ucum-bodylength"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "PQ.code, MO.currency, PQ.translation.code"
                }
              ]
            },
            {
              "id": "Observation.dataAbsentReason",
              "path": "Observation.dataAbsentReason",
              "short": "Why the result is missing",
              "definition": "Provides a reason why the expected value in the element Observation.value[x] is missing.",
              "comment": "Null or exceptional values can be represented two ways in FHIR Observations.  One way is to simply include them in the value set and represent the exceptions in the value.  For example, measurement values for a serology test could be  \"detected\", \"not detected\", \"inconclusive\", or  \"specimen unsatisfactory\".   The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values.  For example, the dataAbsentReason code \"error\" could be used when the measurement was not completed. Note that an observation may only be reported if there are values to report. For example differential cell counts values may be reported only when > 0.  Because of these options, use-case agreements are required to interpret general observations for null or exceptional values.",
              "requirements": "For many results it is necessary to handle exceptional values in measurements.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.dataAbsentReason",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "condition": [
                "obs-6"
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "DAR"
                  }
                ],
                "strength": "extensible",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-valueabsentreason"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.notDone, Event.notDoneReason  (maps to valeu[x] or dataAbsentReason)"
                },
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": "value.nullFlavor"
                }
              ]
            },
            {
              "id": "Observation.interpretation",
              "path": "Observation.interpretation",
              "short": "High, low, normal, etc.",
              "definition": "The assessment made based on the result of the observation.  Intended as a simple compact code often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result. Otherwise known as abnormal flag.",
              "requirements": "For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result.",
              "alias": [
                "Abnormal Flag"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.interpretation",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationInterpretation"
                  }
                ],
                "strength": "extensible",
                "description": "Codes identifying interpretations of observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-interpretation"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-8"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "363713009 |Has interpretation|"
                }
              ]
            },
            {
              "id": "Observation.comment",
              "path": "Observation.comment",
              "short": "Comments about result",
              "definition": "May include statements about significant, unexpected or unreliable values, or information about the source of the value where this may be relevant to the interpretation of the result.",
              "requirements": "Need to be able to provide free text additional information.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.comment",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.note"
                },
                {
                  "identity": "v2",
                  "map": "NTE.3 (partner NTE to OBX, or sometimes another (child?) OBX)"
                },
                {
                  "identity": "rim",
                  "map": "subjectOf.observationEvent[code=\"annotation\"].value"
                }
              ]
            },
            {
              "id": "Observation.bodySite",
              "path": "Observation.bodySite",
              "short": "Observed body part",
              "definition": "Indicates the site on the subject's body where the observation was made (i.e. the target site).",
              "comment": "Only used if not implicit in code found in Observation.code.  In many systems, this may be represented as a related observation instead of an inline component.   If the use case requires BodySite to be handled as a separate resource (e.g. to identify and track separately) then use the standard extension[ body-site-instance](extension-body-site-instance.html).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.bodySite",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "BodySite"
                  }
                ],
                "strength": "example",
                "description": "Codes describing anatomical locations. May include laterality.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/body-site"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 123037004 |Body structure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-20"
                },
                {
                  "identity": "rim",
                  "map": "targetSiteCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "718497002 |Inherent location|"
                }
              ]
            },
            {
              "id": "Observation.method",
              "path": "Observation.method",
              "short": "How it was done",
              "definition": "Indicates the mechanism used to perform the observation.",
              "comment": "Only used if not implicit in code for Observation.code.",
              "requirements": "In some cases, method can impact results and is thus used for determining whether results can be compared or determining significance of results.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.method",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationMethod"
                  }
                ],
                "strength": "example",
                "description": "Methods for simple observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-methods"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-17"
                },
                {
                  "identity": "rim",
                  "map": "methodCode"
                }
              ]
            },
            {
              "id": "Observation.specimen",
              "path": "Observation.specimen",
              "short": "Specimen used for this observation",
              "definition": "The specimen that was used when this observation was made.",
              "comment": "Should only be used if not implicit in code found in `Observation.code`.  Observations are not made on specimens themselves; they are made on a subject, but in many cases by the means of a specimen. Note that although specimens are often involved, they are not always tracked and reported explicitly. Also note that observation resources may be used in contexts that track the specimen explicitly (e.g. Diagnostic Report).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.specimen",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Specimen"
                }
              ],
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 123038009 |Specimen|"
                },
                {
                  "identity": "v2",
                  "map": "SPM segment"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=SPC].specimen"
                },
                {
                  "identity": "sct-attr",
                  "map": "704319004 |Inherent in|"
                }
              ]
            },
            {
              "id": "Observation.device",
              "path": "Observation.device",
              "short": "(Measurement) Device",
              "definition": "The device used to generate the observation data.",
              "comment": "An extension should be used if further typing of the device is needed.  Devices used to support obtaining an observation can be represented using either an extension or through the Observation.related element.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.device",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/DeviceMetric"
                }
              ],
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 49062001 |Device|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-17 / PRT -10"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=DEV]"
                },
                {
                  "identity": "sct-attr",
                  "map": "424226004 |Using device|"
                }
              ]
            },
            {
              "id": "Observation.referenceRange",
              "path": "Observation.referenceRange",
              "short": "Provides guide for interpretation",
              "definition": "Guidance on how to interpret the value by comparison to a normal or recommended range.",
              "comment": "Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.",
              "requirements": "Knowing what values are considered \"normal\" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.referenceRange",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "key": "obs-3",
                  "severity": "error",
                  "human": "Must have at least a low or a high or text",
                  "expression": "low.exists() or high.exists() or text.exists()",
                  "xpath": "(exists(f:low) or exists(f:high)or exists(f:text))"
                }
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX.7"
                },
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.id",
              "path": "Observation.referenceRange.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.extension",
              "path": "Observation.referenceRange.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.modifierExtension",
              "path": "Observation.referenceRange.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.low",
              "path": "Observation.referenceRange.low",
              "short": "Low Range, if relevant",
              "definition": "The value of the low bound of the reference range.  The low bound of the reference range endpoint is inclusive of the value (e.g.  reference range is >=5 - <=9).   If the low bound is omitted,  it is assumed to be meaningless (e.g. reference range is <=2.3).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.low",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity",
                  "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
                }
              ],
              "condition": [
                "obs-3"
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-7"
                },
                {
                  "identity": "rim",
                  "map": "value:IVL_PQ.low"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.high",
              "path": "Observation.referenceRange.high",
              "short": "High Range, if relevant",
              "definition": "The value of the high bound of the reference range.  The high bound of the reference range endpoint is inclusive of the value (e.g.  reference range is >=5 - <=9).   If the high bound is omitted,  it is assumed to be meaningless (e.g. reference range is >= 2.3).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.high",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity",
                  "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
                }
              ],
              "condition": [
                "obs-3"
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-7"
                },
                {
                  "identity": "rim",
                  "map": "value:IVL_PQ.high"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.type",
              "path": "Observation.referenceRange.type",
              "short": "Reference range qualifier",
              "definition": "Codes to indicate the what part of the targeted reference population it applies to. For example, the normal or therapeutic range.",
              "comment": "This SHOULD be populated if there is more than one range.  If this element is not present then the normal range is assumed.",
              "requirements": "Need to be able to say what kind of reference range this is - normal, recommended, therapeutic, etc,  - for proper interpretation.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.type",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRangeMeaning"
                  }
                ],
                "strength": "extensible",
                "description": "Code for the meaning of a reference range.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/referencerange-meaning"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values| OR  \r< 365860008 |General clinical state finding| \rOR \r< 250171008 |Clinical history or observation findings| OR  \r< 415229000 |Racial group| OR \r< 365400002 |Finding of puberty stage| OR\r< 443938003 |Procedure carried out on subject|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-10"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.appliesTo",
              "path": "Observation.referenceRange.appliesTo",
              "short": "Reference range population",
              "definition": "Codes to indicate the target population this reference range applies to.  For example, a reference range may be based on the normal population or a particular sex or race.",
              "comment": "This SHOULD be populated if there is more than one range.  If this element is not present then the normal population is assumed.",
              "requirements": "Need to be able to identify the target population for proper interpretation.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.referenceRange.appliesTo",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRangeType"
                  }
                ],
                "strength": "example",
                "description": "Codes identifying the population the reference range applies to.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/referencerange-appliesto"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values| OR  \r< 365860008 |General clinical state finding| \rOR \r< 250171008 |Clinical history or observation findings| OR  \r< 415229000 |Racial group| OR \r< 365400002 |Finding of puberty stage| OR\r< 443938003 |Procedure carried out on subject|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-10"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.age",
              "path": "Observation.referenceRange.age",
              "short": "Applicable age range, if relevant",
              "definition": "The age at which this reference range is applicable. This is a neonatal age (e.g. number of weeks at term) if the meaning says so.",
              "requirements": "Some analytes vary greatly over age.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.age",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Range"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=PRCN].targetObservationCriterion[code=\"age\"].value"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.text",
              "path": "Observation.referenceRange.text",
              "short": "Text based reference range in an observation",
              "definition": "Text based reference range in an observation which may be used when a quantitative range is not appropriate for an observation.  An example would be a reference value of \"Negative\" or a list or table of 'normals'.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.text",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-7"
                },
                {
                  "identity": "rim",
                  "map": "value:ST"
                }
              ]
            },
            {
              "id": "Observation.related",
              "path": "Observation.related",
              "short": "Used when reporting vital signs panel components",
              "definition": "Used when reporting vital signs panel components.",
              "comment": "For a discussion on the ways Observations can assembled in groups together see [Notes below](observation.html#4.20.4).",
              "requirements": "Normally, an observation will have either a value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and a set of related observations or sometimes a QuestionnaireResponse from which the measure is derived.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.related",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "Relationships established by OBX-4 usage"
                },
                {
                  "identity": "rim",
                  "map": "outBoundRelationship"
                }
              ]
            },
            {
              "id": "Observation.related.id",
              "path": "Observation.related.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.related.extension",
              "path": "Observation.related.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.related.modifierExtension",
              "path": "Observation.related.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.related.type",
              "path": "Observation.related.type",
              "short": "has-member | derived-from | sequel-to | replaces | qualified-by | interfered-by",
              "definition": "A code specifying the kind of relationship that exists with the target resource.",
              "comment": "The \"derived-from\" type is the only logical choice when referencing the QuestionnaireAnswer resource.",
              "requirements": "A relationship type SHOULD be provided.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.related.type",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "fixedCode": "has-member",
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRelationshipType"
                  }
                ],
                "strength": "required",
                "description": "Codes specifying how two observations are related.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-relationshiptypes"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": ".typeCode"
                }
              ]
            },
            {
              "id": "Observation.related.target",
              "path": "Observation.related.target",
              "short": "Resource that is related to this one",
              "definition": "A reference to the observation or [QuestionnaireResponse](questionnaireresponse.html#) resource that is related to this observation.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.related.target",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/vitalsigns"
                }
              ],
              "mustSupport": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".targetObservation"
                }
              ]
            },
            {
              "id": "Observation.component",
              "path": "Observation.component",
              "short": "Used when reporting systolic and diastolic blood pressure.",
              "definition": "Used when reporting systolic and diastolic blood pressure.",
              "comment": "For a discussion on the ways Observations can be assembled in groups together see [Notes](observation.html#notes) below.",
              "requirements": "Component observations share the same attributes in the Observation resource as the primary observation and are always treated a part of a single observation (they are not separable).   However, the reference range for the primary observation value is not inherited by the component values and is required when appropriate for each component observation.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.component",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "key": "vs-3",
                  "severity": "error",
                  "human": "If there is no a value a data absent reason must be present",
                  "expression": "value.exists() or dataAbsentReason.exists()",
                  "xpath": "exists(f:*[starts-with(local-name(.), 'value')]) or exists(f:dataAbsentReason)"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "containment by OBX-4?"
                },
                {
                  "identity": "rim",
                  "map": "outBoundRelationship[typeCode=COMP]"
                }
              ]
            },
            {
              "id": "Observation.component.id",
              "path": "Observation.component.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.extension",
              "path": "Observation.component.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.modifierExtension",
              "path": "Observation.component.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.component.code",
              "path": "Observation.component.code",
              "short": "Type of component observation (code / type)",
              "definition": "Describes what was observed. Sometimes this is called the observation \"code\".",
              "requirements": "Knowing what kind of observation is being made is essential to understanding the observation.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.component.code",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSigns"
                  }
                ],
                "strength": "extensible",
                "description": "This identifies the vital sign result type.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-vitalsignresult"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity| OR \r< 386053000 |Evaluation procedure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-3"
                },
                {
                  "identity": "rim",
                  "map": "code"
                },
                {
                  "identity": "w5",
                  "map": "what"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity",
              "path": "Observation.component.valueQuantity",
              "short": "Vital Sign Value recorded with UCUM",
              "definition": "Vital Sign Value recorded with UCUM.",
              "comment": "Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value.   For boolean values use valueCodeableConcept and select codes from <http://hl7.org/fhir/ValueSet/v2-0136> (these \"yes/no\" concepts can be mapped to the display name \"true/false\" or other mutually exclusive terms that may be needed\").  The element, Observation.value[x], has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueRatio, valueChoice, valuePeriod, valueSampleData, or valueString (the name format is \"'value' + the type name\" with a capital on the first letter of the type).",
              "requirements": "9. SHALL contain exactly one [1..1] value with @xsi:type=\"PQ\" (CONF:7305).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.value[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSignsUnits"
                  }
                ],
                "strength": "required",
                "description": "Common UCUM units for recording Vital Signs",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/ucum-vitals-common"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "363714003 |Interprets| < 441742003 |Evaluation finding|"
                },
                {
                  "identity": "v2",
                  "map": "OBX.2, OBX.5, OBX.6"
                },
                {
                  "identity": "rim",
                  "map": "value"
                },
                {
                  "identity": "sct-attr",
                  "map": "363714003 |Interprets|"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.id",
              "path": "Observation.component.valueQuantity.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.extension",
              "path": "Observation.component.valueQuantity.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.value",
              "path": "Observation.component.valueQuantity.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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.value",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "decimal"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.component.valueQuantity.comparator",
              "path": "Observation.component.valueQuantity.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",
              "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": "v2",
                  "map": "SN.1  / CQ.1"
                },
                {
                  "identity": "rim",
                  "map": "IVL properties"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.unit",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "Observation.component.valueQuantity.unit",
              "short": "Unit representation",
              "definition": "A human-readable form of the unit.",
              "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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.unit",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "PQ.unit"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.system",
              "path": "Observation.component.valueQuantity.system",
              "short": "System that defines coded unit form",
              "definition": "The identification of the system that provides the coded form of the unit.",
              "requirements": "Need to know the system that defines the coded form of the unit.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Quantity.system",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://unitsofmeasure.org",
              "condition": [
                "qty-3"
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "CO.codeSystem, PQ.translation.codeSystem"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.code",
              "path": "Observation.component.valueQuantity.code",
              "short": "Coded responses from the common UCUM units for vital signs value set.",
              "definition": "Coded responses from the common UCUM units for vital signs value set.",
              "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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.code",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "PQ.code, MO.currency, PQ.translation.code"
                }
              ]
            },
            {
              "id": "Observation.component.dataAbsentReason",
              "path": "Observation.component.dataAbsentReason",
              "short": "Why the component result is missing",
              "definition": "Provides a reason why the expected value in the element Observation.value[x] is missing.",
              "comment": "\"Null\" or exceptional values can be represented two ways in FHIR Observations.  One way is to simply include them in the value set and represent the exceptions in the value.  For example, measurement values for a serology test could be  \"detected\", \"not detected\", \"inconclusive\", or  \"test not done\".   The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values.  For example, the dataAbsentReason code \"error\" could be used when the measurement was not completed.  Because of these options, use-case agreements are required to interpret general observations for exceptional values.",
              "requirements": "For many results it is necessary to handle exceptional values in measurements.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.dataAbsentReason",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "condition": [
                "obs-6"
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "DAR"
                  }
                ],
                "strength": "extensible",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-valueabsentreason"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": "value.nullFlavor"
                }
              ]
            },
            {
              "id": "Observation.component.interpretation",
              "path": "Observation.component.interpretation",
              "short": "High, low, normal, etc.",
              "definition": "The assessment made based on the result of the observation.  Intended as a simple compact code often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result. Otherwise known as abnormal flag.",
              "comment": "The component interpretation applies only to the individual component value.  For an overall interpretation all components together use thes Observation.interpretation element.",
              "requirements": "For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result.",
              "alias": [
                "Abnormal Flag"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.interpretation",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationInterpretation"
                  }
                ],
                "strength": "extensible",
                "description": "Codes identifying interpretations of observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-interpretation"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-8"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "363713009 |Has interpretation|"
                }
              ]
            },
            {
              "id": "Observation.component.referenceRange",
              "path": "Observation.component.referenceRange",
              "short": "Provides guide for interpretation of component result",
              "definition": "Guidance on how to interpret the value by comparison to a normal or recommended range.",
              "comment": "Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.",
              "requirements": "Knowing what values are considered \"normal\" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.component.referenceRange",
                "min": 0,
                "max": "*"
              },
              "contentReference": "#Observation.referenceRange",
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX.7"
                },
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]"
                }
              ]
            }
          ]
        },
        "differential": {
          "element": [
            {
              "id": "Observation",
              "path": "Observation",
              "short": "FHIR Body Height Profile",
              "definition": "This profile defines  how to represent Body Height observations in FHIR using a standard LOINC code and UCUM units of measure.",
              "min": 0,
              "max": "*"
            },
            {
              "id": "Observation.code",
              "path": "Observation.code",
              "short": "Body Height",
              "definition": "Body Height.",
              "comment": "additional codes that translate or map to this code are allowed.  For example a more granular LOINC code or code that is used locally in a system.",
              "alias": [
                "Test",
                "Name"
              ]
            },
            {
              "id": "Observation.code.coding",
              "path": "Observation.code.coding",
              "slicing": {
                "discriminator": [
                  {
                    "type": "value",
                    "path": "code"
                  }
                ],
                "ordered": false,
                "rules": "open"
              }
            },
            {
              "id": "Observation.code.coding:bodyheightcode",
              "path": "Observation.code.coding",
              "sliceName": "BodyHeightCode"
            },
            {
              "id": "Observation.code.coding:bodyheightcode.system",
              "path": "Observation.code.coding.system",
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://loinc.org"
            },
            {
              "id": "Observation.code.coding:bodyheightcode.code",
              "path": "Observation.code.coding.code",
              "type": [
                {
                  "code": "code"
                }
              ],
              "fixedCode": "8302-2"
            },
            {
              "id": "Observation.valueQuantity",
              "path": "Observation.valueQuantity"
            },
            {
              "id": "Observation.valueQuantity.code",
              "path": "Observation.valueQuantity.code",
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "BodyLengthUnits"
                  }
                ],
                "strength": "required",
                "description": "Common UCUM units for Body Length measures such as Body Height and Head Circumference",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/ucum-bodylength"
                }
              }
            }
          ]
        }
      }
    },
    {
      "fullUrl": "http://hl7.org/fhir/StructureDefinition/bodylength",
      "resource": {
        "resourceType": "StructureDefinition",
        "id": "bodylength",
        "text": {
          "status": "generated",
          "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">to do</div>"
        },
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-summary",
            "valueMarkdown": "####Complete Summary of the Mandatory Requirements\r\r1.  One code in `Observation.code` which must have\r    -   a fixed `Observation.code.coding.system`=**'http ://loinc.org'**\r    -   a fixed  `Observation.code.coding.code`= **'8306-3'**\r    -   Other additional codes are allowed - e.g. more specific LOINC\r        Codes, SNOMED CT concepts, system specific codes. All codes\r        SHALL have an system value\r2.  a fixed`Observation.valueQuantity.code` = **'cm', or '[in_i]'**"
          }
        ],
        "url": "http://hl7.org/fhir/StructureDefinition/bodylength",
        "name": "Vital Signs Profile",
        "title": "VitalSigns",
        "status": "draft",
        "experimental": false,
        "date": "2016-03-25",
        "publisher": "Health Level Seven International (Orders and Observations Workgroup)",
        "contact": [
          {
            "telecom": [
              {
                "system": "url",
                "value": "http://www.hl7.org/Special/committees/orders/index.cfm Orders and Observations"
              }
            ]
          }
        ],
        "description": "FHIR Body Length Profile",
        "fhirVersion": "3.0.1",
        "mapping": [
          {
            "identity": "workflow",
            "uri": "http://hl7.org/fhir/workflow",
            "name": "Workflow Mapping"
          },
          {
            "identity": "sct-concept",
            "uri": "http://snomed.info/conceptdomain",
            "name": "SNOMED CT Concept Domain Binding"
          },
          {
            "identity": "v2",
            "uri": "http://hl7.org/v2",
            "name": "HL7 v2 Mapping"
          },
          {
            "identity": "rim",
            "uri": "http://hl7.org/v3",
            "name": "RIM Mapping"
          },
          {
            "identity": "w5",
            "uri": "http://hl7.org/fhir/w5",
            "name": "W5 Mapping"
          },
          {
            "identity": "sct-attr",
            "uri": "http://snomed.info/sct",
            "name": "SNOMED CT Attribute Binding"
          }
        ],
        "kind": "resource",
        "abstract": false,
        "type": "Observation",
        "baseDefinition": "http://hl7.org/fhir/StructureDefinition/vitalsigns",
        "derivation": "constraint",
        "snapshot": {
          "element": [
            {
              "id": "Observation",
              "path": "Observation",
              "short": "FHIR Body Length Profile",
              "definition": "This profile defines  how to represent Body Length observations in FHIR using a standard LOINC code and UCUM units of measure.",
              "comment": "Used for simple observations such as device measurements, laboratory atomic results, vital signs, height, weight, smoking status, comments, etc.  Other resources are used to provide context for observations such as lab reports, etc.",
              "alias": [
                "Vital Signs",
                "Measurement",
                "Results",
                "Tests"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation",
                "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)",
                  "source": "DomainResource"
                },
                {
                  "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)",
                  "source": "DomainResource"
                },
                {
                  "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))",
                  "source": "DomainResource"
                },
                {
                  "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))]))",
                  "source": "DomainResource"
                },
                {
                  "key": "obs-7",
                  "severity": "error",
                  "human": "If code is the same as a component code then the value element associated with the code SHALL NOT be present",
                  "expression": "value.empty() or code!=component.code",
                  "xpath": "not(exists(f:*[starts-with(local-name(.), 'value')])) or not(count(for $coding in f:code/f:coding return parent::*/f:component/f:code/f:coding[f:code/@value=$coding/f:code/@value and f:system/@value=$coding/f:system/@value])=0)",
                  "source": "Observation"
                },
                {
                  "key": "obs-6",
                  "severity": "error",
                  "human": "dataAbsentReason SHALL only be present if Observation.value[x] is not present",
                  "expression": "dataAbsentReason.empty() or value.empty()",
                  "xpath": "not(exists(f:dataAbsentReason)) or (not(exists(*[starts-with(local-name(.), 'value')])))",
                  "source": "Observation"
                },
                {
                  "key": "vs-2",
                  "severity": "error",
                  "human": "If there is no component or related element then either a value[x] or a data absent reason must be present",
                  "expression": "(component.empty() and related.empty()) implies (dataAbsentReason or value)",
                  "xpath": "exists(f:component) or exists(f:related) or exists(f:*[starts-with(local-name(.), 'value')]) or exists(f:dataAbsentReason)",
                  "source": "Observation"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Entity. Role, or Act"
                },
                {
                  "identity": "workflow",
                  "map": "Event"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity|"
                },
                {
                  "identity": "v2",
                  "map": "OBX"
                },
                {
                  "identity": "rim",
                  "map": "Observation[classCode=OBS, moodCode=EVN]"
                },
                {
                  "identity": "w5",
                  "map": "clinical.diagnostics"
                }
              ]
            },
            {
              "id": "Observation.id",
              "path": "Observation.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "Observation.meta",
              "path": "Observation.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "Observation.implicitRules",
              "path": "Observation.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"
                }
              ],
              "isModifier": true,
              "isSummary": true
            },
            {
              "id": "Observation.language",
              "path": "Observation.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"
                }
              ],
              "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"
                }
              }
            },
            {
              "id": "Observation.text",
              "path": "Observation.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": [
                "dom-1"
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Act.text?"
                }
              ]
            },
            {
              "id": "Observation.contained",
              "path": "Observation.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": "N/A"
                }
              ]
            },
            {
              "id": "Observation.extension",
              "path": "Observation.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.modifierExtension",
              "path": "Observation.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 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"
                }
              ],
              "isModifier": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.identifier",
              "path": "Observation.identifier",
              "short": "Business Identifier for observation",
              "definition": "A unique identifier assigned to this observation.",
              "requirements": "Allows observations to be distinguished and referenced.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.identifier",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Identifier"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.identifier"
                },
                {
                  "identity": "v2",
                  "map": "OBX.21  For OBX segments from systems without OBX-21 support a combination of ORC/OBR and OBX must be negotiated between trading partners to uniquely identify the OBX segment. Depending on how V2 has been implemented each of these may be an option: 1) OBR-3 + OBX-3 + OBX-4 or 2) OBR-3 + OBR-4 + OBX-3 + OBX-4 or 2) some other way to uniquely ID the OBR/ORC + OBX-3 + OBX-4."
                },
                {
                  "identity": "rim",
                  "map": "id"
                },
                {
                  "identity": "w5",
                  "map": "id"
                }
              ]
            },
            {
              "id": "Observation.basedOn",
              "path": "Observation.basedOn",
              "short": "Fulfills plan, proposal or order",
              "definition": "A plan, proposal or order that is fulfilled in whole or in part by this event.",
              "requirements": "Allows tracing of authorization for the event and tracking whether proposals/recommendations were acted upon.",
              "alias": [
                "Fulfills"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.basedOn",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/CarePlan"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/DeviceRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ImmunizationRecommendation"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/NutritionOrder"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ProcedureRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ReferralRequest"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.basedOn"
                },
                {
                  "identity": "v2",
                  "map": "ORC"
                },
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=FLFS].target"
                }
              ]
            },
            {
              "id": "Observation.status",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-display-hint",
                  "valueString": "default: final"
                }
              ],
              "path": "Observation.status",
              "short": "registered | preliminary | final | amended +",
              "definition": "The status of the result value.",
              "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
              "requirements": "Need to track the status of individual results. Some results are finalized before the whole report is finalized.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.status",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "mustSupport": true,
              "isModifier": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "Status"
                  }
                ],
                "strength": "required",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-status"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.status"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 445584004 |Report by finality status|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-11"
                },
                {
                  "identity": "rim",
                  "map": "status  Amended & Final are differentiated by whether it is the subject of a ControlAct event with a type of \"revise\""
                },
                {
                  "identity": "w5",
                  "map": "status"
                }
              ]
            },
            {
              "id": "Observation.category",
              "path": "Observation.category",
              "short": "Classification of  type of observation",
              "definition": "A code that classifies the general type of observation being made.",
              "comment": "In addition to the required category valueset, this element allows various categorization schemes based on the owner’s definition of the category and effectively multiple categories can be used at once.  The level of granularity is defined by the category concepts in the value set.",
              "requirements": "Used for filtering what observations are retrieved and displayed.",
              "min": 1,
              "max": "*",
              "base": {
                "path": "Observation.category",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "constraint": [
                {
                  "key": "vs-4",
                  "severity": "error",
                  "human": "Must have a category of 'vital-signs' and a code system 'http://hl7.org/fhir/observation-category'",
                  "expression": "where(coding.system='http://hl7.org/fhir/observation-category' and coding.code='vital-signs').exists()",
                  "xpath": "exists(f:coding/code[@value='vital-signs']) and exists(f:coding/system[@value='http://hl7.org/fhir/observation-category'])"
                }
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationCategory"
                  }
                ],
                "strength": "preferred",
                "description": "Codes for high level observation categories.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-category"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=\"COMP].target[classCode=\"LIST\", moodCode=\"EVN\"].code"
                },
                {
                  "identity": "w5",
                  "map": "class"
                }
              ]
            },
            {
              "id": "Observation.code",
              "path": "Observation.code",
              "short": "Body Length",
              "definition": "Body Length.",
              "comment": "additional codes that translate or map to this code are allowed.  For example a more granular LOINC code or code that is used locally in a system.",
              "requirements": "5. SHALL contain exactly one [1..1] code, where the @code SHOULD be selected from ValueSet HITSP Vital Sign Result Type 2.16.840.1.113883.3.88.12.80.62 DYNAMIC (CONF:7301).",
              "alias": [
                "Name",
                "Test",
                "Name"
              ],
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.code",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSigns"
                  }
                ],
                "strength": "extensible",
                "description": "This identifies the vital sign result type.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-vitalsignresult"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.code"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity| OR < 386053000 |Evaluation procedure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-3"
                },
                {
                  "identity": "rim",
                  "map": "code"
                },
                {
                  "identity": "sct-attr",
                  "map": "116680003 |Is a|"
                },
                {
                  "identity": "w5",
                  "map": "what"
                }
              ]
            },
            {
              "id": "Observation.code.id",
              "path": "Observation.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.code.extension",
              "path": "Observation.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.code.coding",
              "path": "Observation.code.coding",
              "slicing": {
                "discriminator": [
                  {
                    "type": "value",
                    "path": "code"
                  }
                ],
                "ordered": false,
                "rules": "open"
              },
              "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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.code.coding:bodylengthcode",
              "path": "Observation.code.coding",
              "sliceName": "BodyLengthCode",
              "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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.code.coding:bodylengthcode.id",
              "path": "Observation.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.code.coding:bodylengthcode.extension",
              "path": "Observation.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.code.coding:bodylengthcode.system",
              "path": "Observation.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": 0,
              "max": "1",
              "base": {
                "path": "Coding.system",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://loinc.org",
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "C*E.3"
                },
                {
                  "identity": "rim",
                  "map": "./codeSystem"
                },
                {
                  "identity": "orim",
                  "map": "fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem"
                }
              ]
            },
            {
              "id": "Observation.code.coding:bodylengthcode.version",
              "path": "Observation.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": "1",
              "base": {
                "path": "Coding.version",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "C*E.7"
                },
                {
                  "identity": "rim",
                  "map": "./codeSystemVersion"
                },
                {
                  "identity": "orim",
                  "map": "fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion"
                }
              ]
            },
            {
              "id": "Observation.code.coding:bodylengthcode.code",
              "path": "Observation.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).",
              "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"
                }
              ],
              "fixedCode": "8306-3",
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "C*E.1"
                },
                {
                  "identity": "rim",
                  "map": "./code"
                },
                {
                  "identity": "orim",
                  "map": "fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code"
                }
              ]
            },
            {
              "id": "Observation.code.coding:bodylengthcode.display",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "Observation.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.",
              "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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.code.coding:bodylengthcode.userSelected",
              "path": "Observation.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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.code.text",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "Observation.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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.subject",
              "path": "Observation.subject",
              "short": "Who and/or what this is about",
              "definition": "The patient, or group of patients, location, or device whose characteristics (direct or indirect) are described by the observation and into whose record the observation is placed.  Comments: Indirect characteristics may be those of a specimen, fetus, donor,  other observer (for example a relative or EMT), or any observation made about the subject.",
              "comment": "One would expect this element to be a cardinality  of 1..1.  The only circumstance in which the subject can be missing is when the observation is made by a device that does not know the patient. In this case, the observation SHALL be matched to a patient through some context/channel matching technique, and at this point, the observation should be updated.\r\rIf the target of the observation is different than the subject, the general extension [observation-focal-subject](extension-observation-focal-subject.html).  may be used.  However, the distinction between the patient's own value for an observation versus that of the fetus, or the donor or blood product unit, etc., are often specified in the observation code.",
              "requirements": "Observations have no value if you don't know who or what they're about.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.subject",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.subject"
                },
                {
                  "identity": "v2",
                  "map": "PID-3"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=SBJ]"
                },
                {
                  "identity": "w5",
                  "map": "who.focus"
                }
              ]
            },
            {
              "id": "Observation.context",
              "path": "Observation.context",
              "short": "Healthcare event during which this observation is made",
              "definition": "The healthcare event  (e.g. a patient and healthcare provider interaction) during which this observation is made.",
              "comment": "This will typically be the encounter the event occurred within, but some events may be initiated prior to or after the official completion of an encounter or episode but still be tied to the context of the encounter or episode (e.g. pre-admission lab tests).",
              "requirements": "For some observations it may be important to know the link between an observation and a particular encounter.",
              "alias": [
                "Encounter"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.context",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
                }
              ],
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.context"
                },
                {
                  "identity": "v2",
                  "map": "PV1"
                },
                {
                  "identity": "rim",
                  "map": "inboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN]"
                },
                {
                  "identity": "w5",
                  "map": "context"
                }
              ]
            },
            {
              "id": "Observation.effective[x]",
              "path": "Observation.effective[x]",
              "short": "Often just a dateTime for Vital Signs",
              "definition": "Often just a dateTime for Vital Signs.",
              "comment": "At least a date should be present unless this observation is a historical report.",
              "requirements": "Knowing when an observation was deemed true is important to its relevance as well as determining trends.",
              "alias": [
                "Occurrence"
              ],
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.effective[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "dateTime"
                },
                {
                  "code": "Period"
                }
              ],
              "constraint": [
                {
                  "key": "vs-1",
                  "severity": "error",
                  "human": "Datetime must be at least to day.",
                  "expression": "($this as dateTime).toString().length() >= 8",
                  "xpath": "f:matches(effectiveDateTime,/\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d([+-][0-2]\\d:[0-5]\\d|Z)/)"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.occurrence[x]"
                },
                {
                  "identity": "v2",
                  "map": "OBX-14, and/or OBX-19 after v2.4  (depends on who observation made)"
                },
                {
                  "identity": "rim",
                  "map": "effectiveTime"
                },
                {
                  "identity": "w5",
                  "map": "when.done"
                }
              ]
            },
            {
              "id": "Observation.issued",
              "path": "Observation.issued",
              "short": "Date/Time this was made available",
              "definition": "The date and time this observation was made available to providers, typically after the results have been reviewed and verified.",
              "comment": "Updated when the result is updated.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.issued",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "instant"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBR.22 (or MSH.7), or perhaps OBX-19 (depends on who observation made)"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=AUT].time"
                },
                {
                  "identity": "w5",
                  "map": "when.recorded"
                }
              ]
            },
            {
              "id": "Observation.performer",
              "path": "Observation.performer",
              "short": "Who is responsible for the observation",
              "definition": "Who was responsible for asserting the observed value as \"true\".",
              "requirements": "May give a degree of confidence in the observation and also indicates where follow-up questions should be directed.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.performer",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.performer"
                },
                {
                  "identity": "v2",
                  "map": "OBX.15 / (Practitioner)  OBX-16,  PRT-5:PRT-4='RO' /  (Device)  OBX-18 , PRT-10:PRT-4='EQUIP' / (Organization)  OBX-23,  PRT-8:PRT-4='PO'"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=PRF]"
                },
                {
                  "identity": "w5",
                  "map": "who.actor"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity",
              "path": "Observation.valueQuantity",
              "short": "Vital Sign Value recorded with UCUM",
              "definition": "Vital Sign Value recorded with UCUM.",
              "comment": "Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. This element has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueString, valueBoolean, valueRange, valueRatio, valueSampledData, valueAttachment, valueTime, valueDateTime, or valuePeriod. (The name format is \"'value' + the type name\" with a capital on the first letter of the type).\r\r\rIf the data element is usually coded or if the type associated with the Observation.value defines a coded value, use CodeableConcept instead of string datatype even if the value is uncoded text.  A value set is bound to the ValueCodeableConcept element.    For further discussion and examples see the  [notes section](observation.html#notes) below.",
              "requirements": "9. SHALL contain exactly one [1..1] value with @xsi:type=\"PQ\" (CONF:7305).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.value[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity"
                }
              ],
              "condition": [
                "obs-7"
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSignsUnits"
                  }
                ],
                "strength": "required",
                "description": "Common UCUM units for recording Vital Signs",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/ucum-vitals-common"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.notDone, Event.notDoneReason  (maps to valeu[x] or dataAbsentReason)"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 441742003 |Evaluation finding|"
                },
                {
                  "identity": "v2",
                  "map": "OBX.2, OBX.5, OBX.6"
                },
                {
                  "identity": "rim",
                  "map": "value"
                },
                {
                  "identity": "sct-attr",
                  "map": "363714003 |Interprets|"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.id",
              "path": "Observation.valueQuantity.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.extension",
              "path": "Observation.valueQuantity.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.value",
              "path": "Observation.valueQuantity.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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.value",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "decimal"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.valueQuantity.comparator",
              "path": "Observation.valueQuantity.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",
              "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": "v2",
                  "map": "SN.1  / CQ.1"
                },
                {
                  "identity": "rim",
                  "map": "IVL properties"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.unit",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "Observation.valueQuantity.unit",
              "short": "Unit representation",
              "definition": "A human-readable form of the unit.",
              "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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.unit",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "PQ.unit"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.system",
              "path": "Observation.valueQuantity.system",
              "short": "System that defines coded unit form",
              "definition": "The identification of the system that provides the coded form of the unit.",
              "requirements": "Need to know the system that defines the coded form of the unit.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Quantity.system",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://unitsofmeasure.org",
              "condition": [
                "qty-3"
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "CO.codeSystem, PQ.translation.codeSystem"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.code",
              "path": "Observation.valueQuantity.code",
              "short": "Coded responses from the common UCUM units for vital signs value set.",
              "definition": "Coded responses from the common UCUM units for vital signs value set.",
              "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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.code",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "BodyLengthUnits"
                  }
                ],
                "strength": "required",
                "description": "Common UCUM units for Body Length measures such as Body Height and Head Circumference",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/ucum-bodylength"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "PQ.code, MO.currency, PQ.translation.code"
                }
              ]
            },
            {
              "id": "Observation.dataAbsentReason",
              "path": "Observation.dataAbsentReason",
              "short": "Why the result is missing",
              "definition": "Provides a reason why the expected value in the element Observation.value[x] is missing.",
              "comment": "Null or exceptional values can be represented two ways in FHIR Observations.  One way is to simply include them in the value set and represent the exceptions in the value.  For example, measurement values for a serology test could be  \"detected\", \"not detected\", \"inconclusive\", or  \"specimen unsatisfactory\".   The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values.  For example, the dataAbsentReason code \"error\" could be used when the measurement was not completed. Note that an observation may only be reported if there are values to report. For example differential cell counts values may be reported only when > 0.  Because of these options, use-case agreements are required to interpret general observations for null or exceptional values.",
              "requirements": "For many results it is necessary to handle exceptional values in measurements.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.dataAbsentReason",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "condition": [
                "obs-6"
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "DAR"
                  }
                ],
                "strength": "extensible",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-valueabsentreason"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.notDone, Event.notDoneReason  (maps to valeu[x] or dataAbsentReason)"
                },
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": "value.nullFlavor"
                }
              ]
            },
            {
              "id": "Observation.interpretation",
              "path": "Observation.interpretation",
              "short": "High, low, normal, etc.",
              "definition": "The assessment made based on the result of the observation.  Intended as a simple compact code often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result. Otherwise known as abnormal flag.",
              "requirements": "For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result.",
              "alias": [
                "Abnormal Flag"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.interpretation",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationInterpretation"
                  }
                ],
                "strength": "extensible",
                "description": "Codes identifying interpretations of observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-interpretation"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-8"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "363713009 |Has interpretation|"
                }
              ]
            },
            {
              "id": "Observation.comment",
              "path": "Observation.comment",
              "short": "Comments about result",
              "definition": "May include statements about significant, unexpected or unreliable values, or information about the source of the value where this may be relevant to the interpretation of the result.",
              "requirements": "Need to be able to provide free text additional information.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.comment",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.note"
                },
                {
                  "identity": "v2",
                  "map": "NTE.3 (partner NTE to OBX, or sometimes another (child?) OBX)"
                },
                {
                  "identity": "rim",
                  "map": "subjectOf.observationEvent[code=\"annotation\"].value"
                }
              ]
            },
            {
              "id": "Observation.bodySite",
              "path": "Observation.bodySite",
              "short": "Observed body part",
              "definition": "Indicates the site on the subject's body where the observation was made (i.e. the target site).",
              "comment": "Only used if not implicit in code found in Observation.code.  In many systems, this may be represented as a related observation instead of an inline component.   If the use case requires BodySite to be handled as a separate resource (e.g. to identify and track separately) then use the standard extension[ body-site-instance](extension-body-site-instance.html).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.bodySite",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "BodySite"
                  }
                ],
                "strength": "example",
                "description": "Codes describing anatomical locations. May include laterality.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/body-site"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 123037004 |Body structure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-20"
                },
                {
                  "identity": "rim",
                  "map": "targetSiteCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "718497002 |Inherent location|"
                }
              ]
            },
            {
              "id": "Observation.method",
              "path": "Observation.method",
              "short": "How it was done",
              "definition": "Indicates the mechanism used to perform the observation.",
              "comment": "Only used if not implicit in code for Observation.code.",
              "requirements": "In some cases, method can impact results and is thus used for determining whether results can be compared or determining significance of results.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.method",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationMethod"
                  }
                ],
                "strength": "example",
                "description": "Methods for simple observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-methods"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-17"
                },
                {
                  "identity": "rim",
                  "map": "methodCode"
                }
              ]
            },
            {
              "id": "Observation.specimen",
              "path": "Observation.specimen",
              "short": "Specimen used for this observation",
              "definition": "The specimen that was used when this observation was made.",
              "comment": "Should only be used if not implicit in code found in `Observation.code`.  Observations are not made on specimens themselves; they are made on a subject, but in many cases by the means of a specimen. Note that although specimens are often involved, they are not always tracked and reported explicitly. Also note that observation resources may be used in contexts that track the specimen explicitly (e.g. Diagnostic Report).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.specimen",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Specimen"
                }
              ],
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 123038009 |Specimen|"
                },
                {
                  "identity": "v2",
                  "map": "SPM segment"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=SPC].specimen"
                },
                {
                  "identity": "sct-attr",
                  "map": "704319004 |Inherent in|"
                }
              ]
            },
            {
              "id": "Observation.device",
              "path": "Observation.device",
              "short": "(Measurement) Device",
              "definition": "The device used to generate the observation data.",
              "comment": "An extension should be used if further typing of the device is needed.  Devices used to support obtaining an observation can be represented using either an extension or through the Observation.related element.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.device",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/DeviceMetric"
                }
              ],
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 49062001 |Device|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-17 / PRT -10"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=DEV]"
                },
                {
                  "identity": "sct-attr",
                  "map": "424226004 |Using device|"
                }
              ]
            },
            {
              "id": "Observation.referenceRange",
              "path": "Observation.referenceRange",
              "short": "Provides guide for interpretation",
              "definition": "Guidance on how to interpret the value by comparison to a normal or recommended range.",
              "comment": "Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.",
              "requirements": "Knowing what values are considered \"normal\" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.referenceRange",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "key": "obs-3",
                  "severity": "error",
                  "human": "Must have at least a low or a high or text",
                  "expression": "low.exists() or high.exists() or text.exists()",
                  "xpath": "(exists(f:low) or exists(f:high)or exists(f:text))"
                }
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX.7"
                },
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.id",
              "path": "Observation.referenceRange.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.extension",
              "path": "Observation.referenceRange.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.modifierExtension",
              "path": "Observation.referenceRange.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.low",
              "path": "Observation.referenceRange.low",
              "short": "Low Range, if relevant",
              "definition": "The value of the low bound of the reference range.  The low bound of the reference range endpoint is inclusive of the value (e.g.  reference range is >=5 - <=9).   If the low bound is omitted,  it is assumed to be meaningless (e.g. reference range is <=2.3).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.low",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity",
                  "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
                }
              ],
              "condition": [
                "obs-3"
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-7"
                },
                {
                  "identity": "rim",
                  "map": "value:IVL_PQ.low"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.high",
              "path": "Observation.referenceRange.high",
              "short": "High Range, if relevant",
              "definition": "The value of the high bound of the reference range.  The high bound of the reference range endpoint is inclusive of the value (e.g.  reference range is >=5 - <=9).   If the high bound is omitted,  it is assumed to be meaningless (e.g. reference range is >= 2.3).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.high",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity",
                  "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
                }
              ],
              "condition": [
                "obs-3"
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-7"
                },
                {
                  "identity": "rim",
                  "map": "value:IVL_PQ.high"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.type",
              "path": "Observation.referenceRange.type",
              "short": "Reference range qualifier",
              "definition": "Codes to indicate the what part of the targeted reference population it applies to. For example, the normal or therapeutic range.",
              "comment": "This SHOULD be populated if there is more than one range.  If this element is not present then the normal range is assumed.",
              "requirements": "Need to be able to say what kind of reference range this is - normal, recommended, therapeutic, etc,  - for proper interpretation.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.type",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRangeMeaning"
                  }
                ],
                "strength": "extensible",
                "description": "Code for the meaning of a reference range.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/referencerange-meaning"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values| OR  \r< 365860008 |General clinical state finding| \rOR \r< 250171008 |Clinical history or observation findings| OR  \r< 415229000 |Racial group| OR \r< 365400002 |Finding of puberty stage| OR\r< 443938003 |Procedure carried out on subject|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-10"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.appliesTo",
              "path": "Observation.referenceRange.appliesTo",
              "short": "Reference range population",
              "definition": "Codes to indicate the target population this reference range applies to.  For example, a reference range may be based on the normal population or a particular sex or race.",
              "comment": "This SHOULD be populated if there is more than one range.  If this element is not present then the normal population is assumed.",
              "requirements": "Need to be able to identify the target population for proper interpretation.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.referenceRange.appliesTo",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRangeType"
                  }
                ],
                "strength": "example",
                "description": "Codes identifying the population the reference range applies to.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/referencerange-appliesto"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values| OR  \r< 365860008 |General clinical state finding| \rOR \r< 250171008 |Clinical history or observation findings| OR  \r< 415229000 |Racial group| OR \r< 365400002 |Finding of puberty stage| OR\r< 443938003 |Procedure carried out on subject|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-10"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.age",
              "path": "Observation.referenceRange.age",
              "short": "Applicable age range, if relevant",
              "definition": "The age at which this reference range is applicable. This is a neonatal age (e.g. number of weeks at term) if the meaning says so.",
              "requirements": "Some analytes vary greatly over age.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.age",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Range"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=PRCN].targetObservationCriterion[code=\"age\"].value"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.text",
              "path": "Observation.referenceRange.text",
              "short": "Text based reference range in an observation",
              "definition": "Text based reference range in an observation which may be used when a quantitative range is not appropriate for an observation.  An example would be a reference value of \"Negative\" or a list or table of 'normals'.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.text",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-7"
                },
                {
                  "identity": "rim",
                  "map": "value:ST"
                }
              ]
            },
            {
              "id": "Observation.related",
              "path": "Observation.related",
              "short": "Used when reporting vital signs panel components",
              "definition": "Used when reporting vital signs panel components.",
              "comment": "For a discussion on the ways Observations can assembled in groups together see [Notes below](observation.html#4.20.4).",
              "requirements": "Normally, an observation will have either a value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and a set of related observations or sometimes a QuestionnaireResponse from which the measure is derived.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.related",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "Relationships established by OBX-4 usage"
                },
                {
                  "identity": "rim",
                  "map": "outBoundRelationship"
                }
              ]
            },
            {
              "id": "Observation.related.id",
              "path": "Observation.related.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.related.extension",
              "path": "Observation.related.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.related.modifierExtension",
              "path": "Observation.related.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.related.type",
              "path": "Observation.related.type",
              "short": "has-member | derived-from | sequel-to | replaces | qualified-by | interfered-by",
              "definition": "A code specifying the kind of relationship that exists with the target resource.",
              "comment": "The \"derived-from\" type is the only logical choice when referencing the QuestionnaireAnswer resource.",
              "requirements": "A relationship type SHOULD be provided.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.related.type",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "fixedCode": "has-member",
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRelationshipType"
                  }
                ],
                "strength": "required",
                "description": "Codes specifying how two observations are related.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-relationshiptypes"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": ".typeCode"
                }
              ]
            },
            {
              "id": "Observation.related.target",
              "path": "Observation.related.target",
              "short": "Resource that is related to this one",
              "definition": "A reference to the observation or [QuestionnaireResponse](questionnaireresponse.html#) resource that is related to this observation.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.related.target",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/vitalsigns"
                }
              ],
              "mustSupport": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".targetObservation"
                }
              ]
            },
            {
              "id": "Observation.component",
              "path": "Observation.component",
              "short": "Used when reporting systolic and diastolic blood pressure.",
              "definition": "Used when reporting systolic and diastolic blood pressure.",
              "comment": "For a discussion on the ways Observations can be assembled in groups together see [Notes](observation.html#notes) below.",
              "requirements": "Component observations share the same attributes in the Observation resource as the primary observation and are always treated a part of a single observation (they are not separable).   However, the reference range for the primary observation value is not inherited by the component values and is required when appropriate for each component observation.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.component",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "key": "vs-3",
                  "severity": "error",
                  "human": "If there is no a value a data absent reason must be present",
                  "expression": "value.exists() or dataAbsentReason.exists()",
                  "xpath": "exists(f:*[starts-with(local-name(.), 'value')]) or exists(f:dataAbsentReason)"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "containment by OBX-4?"
                },
                {
                  "identity": "rim",
                  "map": "outBoundRelationship[typeCode=COMP]"
                }
              ]
            },
            {
              "id": "Observation.component.id",
              "path": "Observation.component.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.extension",
              "path": "Observation.component.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.modifierExtension",
              "path": "Observation.component.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.component.code",
              "path": "Observation.component.code",
              "short": "Type of component observation (code / type)",
              "definition": "Describes what was observed. Sometimes this is called the observation \"code\".",
              "requirements": "Knowing what kind of observation is being made is essential to understanding the observation.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.component.code",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSigns"
                  }
                ],
                "strength": "extensible",
                "description": "This identifies the vital sign result type.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-vitalsignresult"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity| OR \r< 386053000 |Evaluation procedure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-3"
                },
                {
                  "identity": "rim",
                  "map": "code"
                },
                {
                  "identity": "w5",
                  "map": "what"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity",
              "path": "Observation.component.valueQuantity",
              "short": "Vital Sign Value recorded with UCUM",
              "definition": "Vital Sign Value recorded with UCUM.",
              "comment": "Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value.   For boolean values use valueCodeableConcept and select codes from <http://hl7.org/fhir/ValueSet/v2-0136> (these \"yes/no\" concepts can be mapped to the display name \"true/false\" or other mutually exclusive terms that may be needed\").  The element, Observation.value[x], has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueRatio, valueChoice, valuePeriod, valueSampleData, or valueString (the name format is \"'value' + the type name\" with a capital on the first letter of the type).",
              "requirements": "9. SHALL contain exactly one [1..1] value with @xsi:type=\"PQ\" (CONF:7305).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.value[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSignsUnits"
                  }
                ],
                "strength": "required",
                "description": "Common UCUM units for recording Vital Signs",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/ucum-vitals-common"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "363714003 |Interprets| < 441742003 |Evaluation finding|"
                },
                {
                  "identity": "v2",
                  "map": "OBX.2, OBX.5, OBX.6"
                },
                {
                  "identity": "rim",
                  "map": "value"
                },
                {
                  "identity": "sct-attr",
                  "map": "363714003 |Interprets|"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.id",
              "path": "Observation.component.valueQuantity.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.extension",
              "path": "Observation.component.valueQuantity.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.value",
              "path": "Observation.component.valueQuantity.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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.value",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "decimal"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.component.valueQuantity.comparator",
              "path": "Observation.component.valueQuantity.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",
              "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": "v2",
                  "map": "SN.1  / CQ.1"
                },
                {
                  "identity": "rim",
                  "map": "IVL properties"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.unit",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "Observation.component.valueQuantity.unit",
              "short": "Unit representation",
              "definition": "A human-readable form of the unit.",
              "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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.unit",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "PQ.unit"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.system",
              "path": "Observation.component.valueQuantity.system",
              "short": "System that defines coded unit form",
              "definition": "The identification of the system that provides the coded form of the unit.",
              "requirements": "Need to know the system that defines the coded form of the unit.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Quantity.system",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://unitsofmeasure.org",
              "condition": [
                "qty-3"
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "CO.codeSystem, PQ.translation.codeSystem"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.code",
              "path": "Observation.component.valueQuantity.code",
              "short": "Coded responses from the common UCUM units for vital signs value set.",
              "definition": "Coded responses from the common UCUM units for vital signs value set.",
              "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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.code",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "PQ.code, MO.currency, PQ.translation.code"
                }
              ]
            },
            {
              "id": "Observation.component.dataAbsentReason",
              "path": "Observation.component.dataAbsentReason",
              "short": "Why the component result is missing",
              "definition": "Provides a reason why the expected value in the element Observation.value[x] is missing.",
              "comment": "\"Null\" or exceptional values can be represented two ways in FHIR Observations.  One way is to simply include them in the value set and represent the exceptions in the value.  For example, measurement values for a serology test could be  \"detected\", \"not detected\", \"inconclusive\", or  \"test not done\".   The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values.  For example, the dataAbsentReason code \"error\" could be used when the measurement was not completed.  Because of these options, use-case agreements are required to interpret general observations for exceptional values.",
              "requirements": "For many results it is necessary to handle exceptional values in measurements.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.dataAbsentReason",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "condition": [
                "obs-6"
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "DAR"
                  }
                ],
                "strength": "extensible",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-valueabsentreason"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": "value.nullFlavor"
                }
              ]
            },
            {
              "id": "Observation.component.interpretation",
              "path": "Observation.component.interpretation",
              "short": "High, low, normal, etc.",
              "definition": "The assessment made based on the result of the observation.  Intended as a simple compact code often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result. Otherwise known as abnormal flag.",
              "comment": "The component interpretation applies only to the individual component value.  For an overall interpretation all components together use thes Observation.interpretation element.",
              "requirements": "For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result.",
              "alias": [
                "Abnormal Flag"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.interpretation",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationInterpretation"
                  }
                ],
                "strength": "extensible",
                "description": "Codes identifying interpretations of observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-interpretation"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-8"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "363713009 |Has interpretation|"
                }
              ]
            },
            {
              "id": "Observation.component.referenceRange",
              "path": "Observation.component.referenceRange",
              "short": "Provides guide for interpretation of component result",
              "definition": "Guidance on how to interpret the value by comparison to a normal or recommended range.",
              "comment": "Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.",
              "requirements": "Knowing what values are considered \"normal\" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.component.referenceRange",
                "min": 0,
                "max": "*"
              },
              "contentReference": "#Observation.referenceRange",
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX.7"
                },
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]"
                }
              ]
            }
          ]
        },
        "differential": {
          "element": [
            {
              "id": "Observation",
              "path": "Observation",
              "short": "FHIR Body Length Profile",
              "definition": "This profile defines  how to represent Body Length observations in FHIR using a standard LOINC code and UCUM units of measure.",
              "min": 0,
              "max": "*"
            },
            {
              "id": "Observation.code",
              "path": "Observation.code",
              "short": "Body Length",
              "definition": "Body Length.",
              "comment": "additional codes that translate or map to this code are allowed.  For example a more granular LOINC code or code that is used locally in a system.",
              "alias": [
                "Test",
                "Name"
              ]
            },
            {
              "id": "Observation.code.coding",
              "path": "Observation.code.coding",
              "slicing": {
                "discriminator": [
                  {
                    "type": "value",
                    "path": "code"
                  }
                ],
                "ordered": false,
                "rules": "open"
              }
            },
            {
              "id": "Observation.code.coding:bodylengthcode",
              "path": "Observation.code.coding",
              "sliceName": "BodyLengthCode"
            },
            {
              "id": "Observation.code.coding:bodylengthcode.system",
              "path": "Observation.code.coding.system",
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://loinc.org"
            },
            {
              "id": "Observation.code.coding:bodylengthcode.code",
              "path": "Observation.code.coding.code",
              "type": [
                {
                  "code": "code"
                }
              ],
              "fixedCode": "8306-3"
            },
            {
              "id": "Observation.valueQuantity",
              "path": "Observation.valueQuantity"
            },
            {
              "id": "Observation.valueQuantity.code",
              "path": "Observation.valueQuantity.code",
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "BodyLengthUnits"
                  }
                ],
                "strength": "required",
                "description": "Common UCUM units for Body Length measures such as Body Height and Head Circumference",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/ucum-bodylength"
                }
              }
            }
          ]
        }
      }
    },
    {
      "fullUrl": "http://hl7.org/fhir/StructureDefinition/headcircum",
      "resource": {
        "resourceType": "StructureDefinition",
        "id": "headcircum",
        "text": {
          "status": "generated",
          "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">to do</div>"
        },
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-summary",
            "valueMarkdown": "####Complete Summary of the Mandatory Requirements\r\r1.  One code in `Observation.code` which must have\r    -   a fixed `Observation.code.coding.system`=**'http ://loinc.org'**\r    -   a fixed  `Observation.code.coding.code`= **'8287-5'**\r    -   Other additional codes are allowed - e.g. more specific LOINC\r        Codes, SNOMED CT concepts, system specific codes. All codes\r        SHALL have an system value\r2.  a fixed`Observation.valueQuantity.code` = **'cm', or '[in_i]'**"
          }
        ],
        "url": "http://hl7.org/fhir/StructureDefinition/headcircum",
        "name": "Vital Signs Profile",
        "title": "VitalSigns",
        "status": "draft",
        "experimental": false,
        "date": "2016-03-25",
        "publisher": "Health Level Seven International (Orders and Observations Workgroup)",
        "contact": [
          {
            "telecom": [
              {
                "system": "url",
                "value": "http://www.hl7.org/Special/committees/orders/index.cfm Orders and Observations"
              }
            ]
          }
        ],
        "description": "FHIR Head Circumference Profile",
        "fhirVersion": "3.0.1",
        "mapping": [
          {
            "identity": "workflow",
            "uri": "http://hl7.org/fhir/workflow",
            "name": "Workflow Mapping"
          },
          {
            "identity": "sct-concept",
            "uri": "http://snomed.info/conceptdomain",
            "name": "SNOMED CT Concept Domain Binding"
          },
          {
            "identity": "v2",
            "uri": "http://hl7.org/v2",
            "name": "HL7 v2 Mapping"
          },
          {
            "identity": "rim",
            "uri": "http://hl7.org/v3",
            "name": "RIM Mapping"
          },
          {
            "identity": "w5",
            "uri": "http://hl7.org/fhir/w5",
            "name": "W5 Mapping"
          },
          {
            "identity": "sct-attr",
            "uri": "http://snomed.info/sct",
            "name": "SNOMED CT Attribute Binding"
          }
        ],
        "kind": "resource",
        "abstract": false,
        "type": "Observation",
        "baseDefinition": "http://hl7.org/fhir/StructureDefinition/vitalsigns",
        "derivation": "constraint",
        "snapshot": {
          "element": [
            {
              "id": "Observation",
              "path": "Observation",
              "short": "FHIR Head Circumference Profile",
              "definition": "This profile defines  how to represent Head Circumference observations in FHIR using a standard LOINC code and UCUM units of measure.",
              "comment": "Used for simple observations such as device measurements, laboratory atomic results, vital signs, height, weight, smoking status, comments, etc.  Other resources are used to provide context for observations such as lab reports, etc.",
              "alias": [
                "Vital Signs",
                "Measurement",
                "Results",
                "Tests"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation",
                "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)",
                  "source": "DomainResource"
                },
                {
                  "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)",
                  "source": "DomainResource"
                },
                {
                  "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))",
                  "source": "DomainResource"
                },
                {
                  "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))]))",
                  "source": "DomainResource"
                },
                {
                  "key": "obs-7",
                  "severity": "error",
                  "human": "If code is the same as a component code then the value element associated with the code SHALL NOT be present",
                  "expression": "value.empty() or code!=component.code",
                  "xpath": "not(exists(f:*[starts-with(local-name(.), 'value')])) or not(count(for $coding in f:code/f:coding return parent::*/f:component/f:code/f:coding[f:code/@value=$coding/f:code/@value and f:system/@value=$coding/f:system/@value])=0)",
                  "source": "Observation"
                },
                {
                  "key": "obs-6",
                  "severity": "error",
                  "human": "dataAbsentReason SHALL only be present if Observation.value[x] is not present",
                  "expression": "dataAbsentReason.empty() or value.empty()",
                  "xpath": "not(exists(f:dataAbsentReason)) or (not(exists(*[starts-with(local-name(.), 'value')])))",
                  "source": "Observation"
                },
                {
                  "key": "vs-2",
                  "severity": "error",
                  "human": "If there is no component or related element then either a value[x] or a data absent reason must be present",
                  "expression": "(component.empty() and related.empty()) implies (dataAbsentReason or value)",
                  "xpath": "exists(f:component) or exists(f:related) or exists(f:*[starts-with(local-name(.), 'value')]) or exists(f:dataAbsentReason)",
                  "source": "Observation"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Entity. Role, or Act"
                },
                {
                  "identity": "workflow",
                  "map": "Event"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity|"
                },
                {
                  "identity": "v2",
                  "map": "OBX"
                },
                {
                  "identity": "rim",
                  "map": "Observation[classCode=OBS, moodCode=EVN]"
                },
                {
                  "identity": "w5",
                  "map": "clinical.diagnostics"
                }
              ]
            },
            {
              "id": "Observation.id",
              "path": "Observation.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "Observation.meta",
              "path": "Observation.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "Observation.implicitRules",
              "path": "Observation.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"
                }
              ],
              "isModifier": true,
              "isSummary": true
            },
            {
              "id": "Observation.language",
              "path": "Observation.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"
                }
              ],
              "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"
                }
              }
            },
            {
              "id": "Observation.text",
              "path": "Observation.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": [
                "dom-1"
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Act.text?"
                }
              ]
            },
            {
              "id": "Observation.contained",
              "path": "Observation.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": "N/A"
                }
              ]
            },
            {
              "id": "Observation.extension",
              "path": "Observation.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.modifierExtension",
              "path": "Observation.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 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"
                }
              ],
              "isModifier": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.identifier",
              "path": "Observation.identifier",
              "short": "Business Identifier for observation",
              "definition": "A unique identifier assigned to this observation.",
              "requirements": "Allows observations to be distinguished and referenced.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.identifier",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Identifier"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.identifier"
                },
                {
                  "identity": "v2",
                  "map": "OBX.21  For OBX segments from systems without OBX-21 support a combination of ORC/OBR and OBX must be negotiated between trading partners to uniquely identify the OBX segment. Depending on how V2 has been implemented each of these may be an option: 1) OBR-3 + OBX-3 + OBX-4 or 2) OBR-3 + OBR-4 + OBX-3 + OBX-4 or 2) some other way to uniquely ID the OBR/ORC + OBX-3 + OBX-4."
                },
                {
                  "identity": "rim",
                  "map": "id"
                },
                {
                  "identity": "w5",
                  "map": "id"
                }
              ]
            },
            {
              "id": "Observation.basedOn",
              "path": "Observation.basedOn",
              "short": "Fulfills plan, proposal or order",
              "definition": "A plan, proposal or order that is fulfilled in whole or in part by this event.",
              "requirements": "Allows tracing of authorization for the event and tracking whether proposals/recommendations were acted upon.",
              "alias": [
                "Fulfills"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.basedOn",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/CarePlan"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/DeviceRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ImmunizationRecommendation"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/NutritionOrder"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ProcedureRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ReferralRequest"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.basedOn"
                },
                {
                  "identity": "v2",
                  "map": "ORC"
                },
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=FLFS].target"
                }
              ]
            },
            {
              "id": "Observation.status",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-display-hint",
                  "valueString": "default: final"
                }
              ],
              "path": "Observation.status",
              "short": "registered | preliminary | final | amended +",
              "definition": "The status of the result value.",
              "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
              "requirements": "Need to track the status of individual results. Some results are finalized before the whole report is finalized.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.status",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "mustSupport": true,
              "isModifier": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "Status"
                  }
                ],
                "strength": "required",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-status"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.status"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 445584004 |Report by finality status|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-11"
                },
                {
                  "identity": "rim",
                  "map": "status  Amended & Final are differentiated by whether it is the subject of a ControlAct event with a type of \"revise\""
                },
                {
                  "identity": "w5",
                  "map": "status"
                }
              ]
            },
            {
              "id": "Observation.category",
              "path": "Observation.category",
              "short": "Classification of  type of observation",
              "definition": "A code that classifies the general type of observation being made.",
              "comment": "In addition to the required category valueset, this element allows various categorization schemes based on the owner’s definition of the category and effectively multiple categories can be used at once.  The level of granularity is defined by the category concepts in the value set.",
              "requirements": "Used for filtering what observations are retrieved and displayed.",
              "min": 1,
              "max": "*",
              "base": {
                "path": "Observation.category",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "constraint": [
                {
                  "key": "vs-4",
                  "severity": "error",
                  "human": "Must have a category of 'vital-signs' and a code system 'http://hl7.org/fhir/observation-category'",
                  "expression": "where(coding.system='http://hl7.org/fhir/observation-category' and coding.code='vital-signs').exists()",
                  "xpath": "exists(f:coding/code[@value='vital-signs']) and exists(f:coding/system[@value='http://hl7.org/fhir/observation-category'])"
                }
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationCategory"
                  }
                ],
                "strength": "preferred",
                "description": "Codes for high level observation categories.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-category"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=\"COMP].target[classCode=\"LIST\", moodCode=\"EVN\"].code"
                },
                {
                  "identity": "w5",
                  "map": "class"
                }
              ]
            },
            {
              "id": "Observation.code",
              "path": "Observation.code",
              "short": "Head Circumference",
              "definition": "Head Circumference.",
              "comment": "additional codes that translate or map to this code are allowed.  For example a more granular LOINC code or code that is used locally in a system.",
              "requirements": "5. SHALL contain exactly one [1..1] code, where the @code SHOULD be selected from ValueSet HITSP Vital Sign Result Type 2.16.840.1.113883.3.88.12.80.62 DYNAMIC (CONF:7301).",
              "alias": [
                "Name",
                "Test",
                "Name"
              ],
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.code",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSigns"
                  }
                ],
                "strength": "extensible",
                "description": "This identifies the vital sign result type.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-vitalsignresult"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.code"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity| OR < 386053000 |Evaluation procedure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-3"
                },
                {
                  "identity": "rim",
                  "map": "code"
                },
                {
                  "identity": "sct-attr",
                  "map": "116680003 |Is a|"
                },
                {
                  "identity": "w5",
                  "map": "what"
                }
              ]
            },
            {
              "id": "Observation.code.id",
              "path": "Observation.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.code.extension",
              "path": "Observation.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.code.coding",
              "path": "Observation.code.coding",
              "slicing": {
                "discriminator": [
                  {
                    "type": "value",
                    "path": "code"
                  }
                ],
                "ordered": false,
                "rules": "open"
              },
              "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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.code.coding:headcircumcode",
              "path": "Observation.code.coding",
              "sliceName": "HeadCircumCode",
              "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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.code.coding:headcircumcode.id",
              "path": "Observation.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.code.coding:headcircumcode.extension",
              "path": "Observation.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.code.coding:headcircumcode.system",
              "path": "Observation.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": 0,
              "max": "1",
              "base": {
                "path": "Coding.system",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://loinc.org",
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "C*E.3"
                },
                {
                  "identity": "rim",
                  "map": "./codeSystem"
                },
                {
                  "identity": "orim",
                  "map": "fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem"
                }
              ]
            },
            {
              "id": "Observation.code.coding:headcircumcode.version",
              "path": "Observation.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": "1",
              "base": {
                "path": "Coding.version",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "C*E.7"
                },
                {
                  "identity": "rim",
                  "map": "./codeSystemVersion"
                },
                {
                  "identity": "orim",
                  "map": "fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion"
                }
              ]
            },
            {
              "id": "Observation.code.coding:headcircumcode.code",
              "path": "Observation.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).",
              "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"
                }
              ],
              "fixedCode": "8287-5",
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "C*E.1"
                },
                {
                  "identity": "rim",
                  "map": "./code"
                },
                {
                  "identity": "orim",
                  "map": "fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code"
                }
              ]
            },
            {
              "id": "Observation.code.coding:headcircumcode.display",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "Observation.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.",
              "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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.code.coding:headcircumcode.userSelected",
              "path": "Observation.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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.code.text",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "Observation.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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.subject",
              "path": "Observation.subject",
              "short": "Who and/or what this is about",
              "definition": "The patient, or group of patients, location, or device whose characteristics (direct or indirect) are described by the observation and into whose record the observation is placed.  Comments: Indirect characteristics may be those of a specimen, fetus, donor,  other observer (for example a relative or EMT), or any observation made about the subject.",
              "comment": "One would expect this element to be a cardinality  of 1..1.  The only circumstance in which the subject can be missing is when the observation is made by a device that does not know the patient. In this case, the observation SHALL be matched to a patient through some context/channel matching technique, and at this point, the observation should be updated.\r\rIf the target of the observation is different than the subject, the general extension [observation-focal-subject](extension-observation-focal-subject.html).  may be used.  However, the distinction between the patient's own value for an observation versus that of the fetus, or the donor or blood product unit, etc., are often specified in the observation code.",
              "requirements": "Observations have no value if you don't know who or what they're about.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.subject",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.subject"
                },
                {
                  "identity": "v2",
                  "map": "PID-3"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=SBJ]"
                },
                {
                  "identity": "w5",
                  "map": "who.focus"
                }
              ]
            },
            {
              "id": "Observation.context",
              "path": "Observation.context",
              "short": "Healthcare event during which this observation is made",
              "definition": "The healthcare event  (e.g. a patient and healthcare provider interaction) during which this observation is made.",
              "comment": "This will typically be the encounter the event occurred within, but some events may be initiated prior to or after the official completion of an encounter or episode but still be tied to the context of the encounter or episode (e.g. pre-admission lab tests).",
              "requirements": "For some observations it may be important to know the link between an observation and a particular encounter.",
              "alias": [
                "Encounter"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.context",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
                }
              ],
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.context"
                },
                {
                  "identity": "v2",
                  "map": "PV1"
                },
                {
                  "identity": "rim",
                  "map": "inboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN]"
                },
                {
                  "identity": "w5",
                  "map": "context"
                }
              ]
            },
            {
              "id": "Observation.effective[x]",
              "path": "Observation.effective[x]",
              "short": "Often just a dateTime for Vital Signs",
              "definition": "Often just a dateTime for Vital Signs.",
              "comment": "At least a date should be present unless this observation is a historical report.",
              "requirements": "Knowing when an observation was deemed true is important to its relevance as well as determining trends.",
              "alias": [
                "Occurrence"
              ],
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.effective[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "dateTime"
                },
                {
                  "code": "Period"
                }
              ],
              "constraint": [
                {
                  "key": "vs-1",
                  "severity": "error",
                  "human": "Datetime must be at least to day.",
                  "expression": "($this as dateTime).toString().length() >= 8",
                  "xpath": "f:matches(effectiveDateTime,/\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d([+-][0-2]\\d:[0-5]\\d|Z)/)"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.occurrence[x]"
                },
                {
                  "identity": "v2",
                  "map": "OBX-14, and/or OBX-19 after v2.4  (depends on who observation made)"
                },
                {
                  "identity": "rim",
                  "map": "effectiveTime"
                },
                {
                  "identity": "w5",
                  "map": "when.done"
                }
              ]
            },
            {
              "id": "Observation.issued",
              "path": "Observation.issued",
              "short": "Date/Time this was made available",
              "definition": "The date and time this observation was made available to providers, typically after the results have been reviewed and verified.",
              "comment": "Updated when the result is updated.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.issued",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "instant"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBR.22 (or MSH.7), or perhaps OBX-19 (depends on who observation made)"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=AUT].time"
                },
                {
                  "identity": "w5",
                  "map": "when.recorded"
                }
              ]
            },
            {
              "id": "Observation.performer",
              "path": "Observation.performer",
              "short": "Who is responsible for the observation",
              "definition": "Who was responsible for asserting the observed value as \"true\".",
              "requirements": "May give a degree of confidence in the observation and also indicates where follow-up questions should be directed.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.performer",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.performer"
                },
                {
                  "identity": "v2",
                  "map": "OBX.15 / (Practitioner)  OBX-16,  PRT-5:PRT-4='RO' /  (Device)  OBX-18 , PRT-10:PRT-4='EQUIP' / (Organization)  OBX-23,  PRT-8:PRT-4='PO'"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=PRF]"
                },
                {
                  "identity": "w5",
                  "map": "who.actor"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity",
              "path": "Observation.valueQuantity",
              "short": "Vital Sign Value recorded with UCUM",
              "definition": "Vital Sign Value recorded with UCUM.",
              "comment": "Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. This element has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueString, valueBoolean, valueRange, valueRatio, valueSampledData, valueAttachment, valueTime, valueDateTime, or valuePeriod. (The name format is \"'value' + the type name\" with a capital on the first letter of the type).\r\r\rIf the data element is usually coded or if the type associated with the Observation.value defines a coded value, use CodeableConcept instead of string datatype even if the value is uncoded text.  A value set is bound to the ValueCodeableConcept element.    For further discussion and examples see the  [notes section](observation.html#notes) below.",
              "requirements": "9. SHALL contain exactly one [1..1] value with @xsi:type=\"PQ\" (CONF:7305).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.value[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity"
                }
              ],
              "condition": [
                "obs-7"
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSignsUnits"
                  }
                ],
                "strength": "required",
                "description": "Common UCUM units for recording Vital Signs",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/ucum-vitals-common"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.notDone, Event.notDoneReason  (maps to valeu[x] or dataAbsentReason)"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 441742003 |Evaluation finding|"
                },
                {
                  "identity": "v2",
                  "map": "OBX.2, OBX.5, OBX.6"
                },
                {
                  "identity": "rim",
                  "map": "value"
                },
                {
                  "identity": "sct-attr",
                  "map": "363714003 |Interprets|"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.id",
              "path": "Observation.valueQuantity.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.extension",
              "path": "Observation.valueQuantity.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.value",
              "path": "Observation.valueQuantity.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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.value",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "decimal"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.valueQuantity.comparator",
              "path": "Observation.valueQuantity.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",
              "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": "v2",
                  "map": "SN.1  / CQ.1"
                },
                {
                  "identity": "rim",
                  "map": "IVL properties"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.unit",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "Observation.valueQuantity.unit",
              "short": "Unit representation",
              "definition": "A human-readable form of the unit.",
              "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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.unit",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "PQ.unit"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.system",
              "path": "Observation.valueQuantity.system",
              "short": "System that defines coded unit form",
              "definition": "The identification of the system that provides the coded form of the unit.",
              "requirements": "Need to know the system that defines the coded form of the unit.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Quantity.system",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://unitsofmeasure.org",
              "condition": [
                "qty-3"
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "CO.codeSystem, PQ.translation.codeSystem"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.code",
              "path": "Observation.valueQuantity.code",
              "short": "Coded responses from the common UCUM units for vital signs value set.",
              "definition": "Coded responses from the common UCUM units for vital signs value set.",
              "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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.code",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "BodyLengthUnits"
                  }
                ],
                "strength": "required",
                "description": "Common UCUM units for Body Length measures such as Body Height and Head Circumference",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/ucum-bodylength"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "PQ.code, MO.currency, PQ.translation.code"
                }
              ]
            },
            {
              "id": "Observation.dataAbsentReason",
              "path": "Observation.dataAbsentReason",
              "short": "Why the result is missing",
              "definition": "Provides a reason why the expected value in the element Observation.value[x] is missing.",
              "comment": "Null or exceptional values can be represented two ways in FHIR Observations.  One way is to simply include them in the value set and represent the exceptions in the value.  For example, measurement values for a serology test could be  \"detected\", \"not detected\", \"inconclusive\", or  \"specimen unsatisfactory\".   The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values.  For example, the dataAbsentReason code \"error\" could be used when the measurement was not completed. Note that an observation may only be reported if there are values to report. For example differential cell counts values may be reported only when > 0.  Because of these options, use-case agreements are required to interpret general observations for null or exceptional values.",
              "requirements": "For many results it is necessary to handle exceptional values in measurements.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.dataAbsentReason",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "condition": [
                "obs-6"
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "DAR"
                  }
                ],
                "strength": "extensible",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-valueabsentreason"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.notDone, Event.notDoneReason  (maps to valeu[x] or dataAbsentReason)"
                },
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": "value.nullFlavor"
                }
              ]
            },
            {
              "id": "Observation.interpretation",
              "path": "Observation.interpretation",
              "short": "High, low, normal, etc.",
              "definition": "The assessment made based on the result of the observation.  Intended as a simple compact code often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result. Otherwise known as abnormal flag.",
              "requirements": "For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result.",
              "alias": [
                "Abnormal Flag"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.interpretation",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationInterpretation"
                  }
                ],
                "strength": "extensible",
                "description": "Codes identifying interpretations of observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-interpretation"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-8"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "363713009 |Has interpretation|"
                }
              ]
            },
            {
              "id": "Observation.comment",
              "path": "Observation.comment",
              "short": "Comments about result",
              "definition": "May include statements about significant, unexpected or unreliable values, or information about the source of the value where this may be relevant to the interpretation of the result.",
              "requirements": "Need to be able to provide free text additional information.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.comment",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.note"
                },
                {
                  "identity": "v2",
                  "map": "NTE.3 (partner NTE to OBX, or sometimes another (child?) OBX)"
                },
                {
                  "identity": "rim",
                  "map": "subjectOf.observationEvent[code=\"annotation\"].value"
                }
              ]
            },
            {
              "id": "Observation.bodySite",
              "path": "Observation.bodySite",
              "short": "Observed body part",
              "definition": "Indicates the site on the subject's body where the observation was made (i.e. the target site).",
              "comment": "Only used if not implicit in code found in Observation.code.  In many systems, this may be represented as a related observation instead of an inline component.   If the use case requires BodySite to be handled as a separate resource (e.g. to identify and track separately) then use the standard extension[ body-site-instance](extension-body-site-instance.html).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.bodySite",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "BodySite"
                  }
                ],
                "strength": "example",
                "description": "Codes describing anatomical locations. May include laterality.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/body-site"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 123037004 |Body structure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-20"
                },
                {
                  "identity": "rim",
                  "map": "targetSiteCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "718497002 |Inherent location|"
                }
              ]
            },
            {
              "id": "Observation.method",
              "path": "Observation.method",
              "short": "How it was done",
              "definition": "Indicates the mechanism used to perform the observation.",
              "comment": "Only used if not implicit in code for Observation.code.",
              "requirements": "In some cases, method can impact results and is thus used for determining whether results can be compared or determining significance of results.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.method",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationMethod"
                  }
                ],
                "strength": "example",
                "description": "Methods for simple observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-methods"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-17"
                },
                {
                  "identity": "rim",
                  "map": "methodCode"
                }
              ]
            },
            {
              "id": "Observation.specimen",
              "path": "Observation.specimen",
              "short": "Specimen used for this observation",
              "definition": "The specimen that was used when this observation was made.",
              "comment": "Should only be used if not implicit in code found in `Observation.code`.  Observations are not made on specimens themselves; they are made on a subject, but in many cases by the means of a specimen. Note that although specimens are often involved, they are not always tracked and reported explicitly. Also note that observation resources may be used in contexts that track the specimen explicitly (e.g. Diagnostic Report).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.specimen",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Specimen"
                }
              ],
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 123038009 |Specimen|"
                },
                {
                  "identity": "v2",
                  "map": "SPM segment"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=SPC].specimen"
                },
                {
                  "identity": "sct-attr",
                  "map": "704319004 |Inherent in|"
                }
              ]
            },
            {
              "id": "Observation.device",
              "path": "Observation.device",
              "short": "(Measurement) Device",
              "definition": "The device used to generate the observation data.",
              "comment": "An extension should be used if further typing of the device is needed.  Devices used to support obtaining an observation can be represented using either an extension or through the Observation.related element.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.device",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/DeviceMetric"
                }
              ],
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 49062001 |Device|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-17 / PRT -10"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=DEV]"
                },
                {
                  "identity": "sct-attr",
                  "map": "424226004 |Using device|"
                }
              ]
            },
            {
              "id": "Observation.referenceRange",
              "path": "Observation.referenceRange",
              "short": "Provides guide for interpretation",
              "definition": "Guidance on how to interpret the value by comparison to a normal or recommended range.",
              "comment": "Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.",
              "requirements": "Knowing what values are considered \"normal\" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.referenceRange",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "key": "obs-3",
                  "severity": "error",
                  "human": "Must have at least a low or a high or text",
                  "expression": "low.exists() or high.exists() or text.exists()",
                  "xpath": "(exists(f:low) or exists(f:high)or exists(f:text))"
                }
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX.7"
                },
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.id",
              "path": "Observation.referenceRange.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.extension",
              "path": "Observation.referenceRange.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.modifierExtension",
              "path": "Observation.referenceRange.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.low",
              "path": "Observation.referenceRange.low",
              "short": "Low Range, if relevant",
              "definition": "The value of the low bound of the reference range.  The low bound of the reference range endpoint is inclusive of the value (e.g.  reference range is >=5 - <=9).   If the low bound is omitted,  it is assumed to be meaningless (e.g. reference range is <=2.3).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.low",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity",
                  "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
                }
              ],
              "condition": [
                "obs-3"
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-7"
                },
                {
                  "identity": "rim",
                  "map": "value:IVL_PQ.low"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.high",
              "path": "Observation.referenceRange.high",
              "short": "High Range, if relevant",
              "definition": "The value of the high bound of the reference range.  The high bound of the reference range endpoint is inclusive of the value (e.g.  reference range is >=5 - <=9).   If the high bound is omitted,  it is assumed to be meaningless (e.g. reference range is >= 2.3).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.high",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity",
                  "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
                }
              ],
              "condition": [
                "obs-3"
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-7"
                },
                {
                  "identity": "rim",
                  "map": "value:IVL_PQ.high"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.type",
              "path": "Observation.referenceRange.type",
              "short": "Reference range qualifier",
              "definition": "Codes to indicate the what part of the targeted reference population it applies to. For example, the normal or therapeutic range.",
              "comment": "This SHOULD be populated if there is more than one range.  If this element is not present then the normal range is assumed.",
              "requirements": "Need to be able to say what kind of reference range this is - normal, recommended, therapeutic, etc,  - for proper interpretation.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.type",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRangeMeaning"
                  }
                ],
                "strength": "extensible",
                "description": "Code for the meaning of a reference range.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/referencerange-meaning"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values| OR  \r< 365860008 |General clinical state finding| \rOR \r< 250171008 |Clinical history or observation findings| OR  \r< 415229000 |Racial group| OR \r< 365400002 |Finding of puberty stage| OR\r< 443938003 |Procedure carried out on subject|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-10"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.appliesTo",
              "path": "Observation.referenceRange.appliesTo",
              "short": "Reference range population",
              "definition": "Codes to indicate the target population this reference range applies to.  For example, a reference range may be based on the normal population or a particular sex or race.",
              "comment": "This SHOULD be populated if there is more than one range.  If this element is not present then the normal population is assumed.",
              "requirements": "Need to be able to identify the target population for proper interpretation.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.referenceRange.appliesTo",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRangeType"
                  }
                ],
                "strength": "example",
                "description": "Codes identifying the population the reference range applies to.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/referencerange-appliesto"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values| OR  \r< 365860008 |General clinical state finding| \rOR \r< 250171008 |Clinical history or observation findings| OR  \r< 415229000 |Racial group| OR \r< 365400002 |Finding of puberty stage| OR\r< 443938003 |Procedure carried out on subject|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-10"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.age",
              "path": "Observation.referenceRange.age",
              "short": "Applicable age range, if relevant",
              "definition": "The age at which this reference range is applicable. This is a neonatal age (e.g. number of weeks at term) if the meaning says so.",
              "requirements": "Some analytes vary greatly over age.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.age",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Range"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=PRCN].targetObservationCriterion[code=\"age\"].value"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.text",
              "path": "Observation.referenceRange.text",
              "short": "Text based reference range in an observation",
              "definition": "Text based reference range in an observation which may be used when a quantitative range is not appropriate for an observation.  An example would be a reference value of \"Negative\" or a list or table of 'normals'.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.text",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-7"
                },
                {
                  "identity": "rim",
                  "map": "value:ST"
                }
              ]
            },
            {
              "id": "Observation.related",
              "path": "Observation.related",
              "short": "Used when reporting vital signs panel components",
              "definition": "Used when reporting vital signs panel components.",
              "comment": "For a discussion on the ways Observations can assembled in groups together see [Notes below](observation.html#4.20.4).",
              "requirements": "Normally, an observation will have either a value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and a set of related observations or sometimes a QuestionnaireResponse from which the measure is derived.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.related",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "Relationships established by OBX-4 usage"
                },
                {
                  "identity": "rim",
                  "map": "outBoundRelationship"
                }
              ]
            },
            {
              "id": "Observation.related.id",
              "path": "Observation.related.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.related.extension",
              "path": "Observation.related.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.related.modifierExtension",
              "path": "Observation.related.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.related.type",
              "path": "Observation.related.type",
              "short": "has-member | derived-from | sequel-to | replaces | qualified-by | interfered-by",
              "definition": "A code specifying the kind of relationship that exists with the target resource.",
              "comment": "The \"derived-from\" type is the only logical choice when referencing the QuestionnaireAnswer resource.",
              "requirements": "A relationship type SHOULD be provided.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.related.type",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "fixedCode": "has-member",
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRelationshipType"
                  }
                ],
                "strength": "required",
                "description": "Codes specifying how two observations are related.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-relationshiptypes"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": ".typeCode"
                }
              ]
            },
            {
              "id": "Observation.related.target",
              "path": "Observation.related.target",
              "short": "Resource that is related to this one",
              "definition": "A reference to the observation or [QuestionnaireResponse](questionnaireresponse.html#) resource that is related to this observation.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.related.target",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/vitalsigns"
                }
              ],
              "mustSupport": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".targetObservation"
                }
              ]
            },
            {
              "id": "Observation.component",
              "path": "Observation.component",
              "short": "Used when reporting systolic and diastolic blood pressure.",
              "definition": "Used when reporting systolic and diastolic blood pressure.",
              "comment": "For a discussion on the ways Observations can be assembled in groups together see [Notes](observation.html#notes) below.",
              "requirements": "Component observations share the same attributes in the Observation resource as the primary observation and are always treated a part of a single observation (they are not separable).   However, the reference range for the primary observation value is not inherited by the component values and is required when appropriate for each component observation.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.component",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "key": "vs-3",
                  "severity": "error",
                  "human": "If there is no a value a data absent reason must be present",
                  "expression": "value.exists() or dataAbsentReason.exists()",
                  "xpath": "exists(f:*[starts-with(local-name(.), 'value')]) or exists(f:dataAbsentReason)"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "containment by OBX-4?"
                },
                {
                  "identity": "rim",
                  "map": "outBoundRelationship[typeCode=COMP]"
                }
              ]
            },
            {
              "id": "Observation.component.id",
              "path": "Observation.component.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.extension",
              "path": "Observation.component.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.modifierExtension",
              "path": "Observation.component.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.component.code",
              "path": "Observation.component.code",
              "short": "Type of component observation (code / type)",
              "definition": "Describes what was observed. Sometimes this is called the observation \"code\".",
              "requirements": "Knowing what kind of observation is being made is essential to understanding the observation.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.component.code",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSigns"
                  }
                ],
                "strength": "extensible",
                "description": "This identifies the vital sign result type.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-vitalsignresult"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity| OR \r< 386053000 |Evaluation procedure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-3"
                },
                {
                  "identity": "rim",
                  "map": "code"
                },
                {
                  "identity": "w5",
                  "map": "what"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity",
              "path": "Observation.component.valueQuantity",
              "short": "Vital Sign Value recorded with UCUM",
              "definition": "Vital Sign Value recorded with UCUM.",
              "comment": "Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value.   For boolean values use valueCodeableConcept and select codes from <http://hl7.org/fhir/ValueSet/v2-0136> (these \"yes/no\" concepts can be mapped to the display name \"true/false\" or other mutually exclusive terms that may be needed\").  The element, Observation.value[x], has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueRatio, valueChoice, valuePeriod, valueSampleData, or valueString (the name format is \"'value' + the type name\" with a capital on the first letter of the type).",
              "requirements": "9. SHALL contain exactly one [1..1] value with @xsi:type=\"PQ\" (CONF:7305).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.value[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSignsUnits"
                  }
                ],
                "strength": "required",
                "description": "Common UCUM units for recording Vital Signs",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/ucum-vitals-common"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "363714003 |Interprets| < 441742003 |Evaluation finding|"
                },
                {
                  "identity": "v2",
                  "map": "OBX.2, OBX.5, OBX.6"
                },
                {
                  "identity": "rim",
                  "map": "value"
                },
                {
                  "identity": "sct-attr",
                  "map": "363714003 |Interprets|"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.id",
              "path": "Observation.component.valueQuantity.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.extension",
              "path": "Observation.component.valueQuantity.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.value",
              "path": "Observation.component.valueQuantity.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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.value",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "decimal"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.component.valueQuantity.comparator",
              "path": "Observation.component.valueQuantity.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",
              "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": "v2",
                  "map": "SN.1  / CQ.1"
                },
                {
                  "identity": "rim",
                  "map": "IVL properties"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.unit",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "Observation.component.valueQuantity.unit",
              "short": "Unit representation",
              "definition": "A human-readable form of the unit.",
              "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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.unit",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "PQ.unit"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.system",
              "path": "Observation.component.valueQuantity.system",
              "short": "System that defines coded unit form",
              "definition": "The identification of the system that provides the coded form of the unit.",
              "requirements": "Need to know the system that defines the coded form of the unit.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Quantity.system",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://unitsofmeasure.org",
              "condition": [
                "qty-3"
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "CO.codeSystem, PQ.translation.codeSystem"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.code",
              "path": "Observation.component.valueQuantity.code",
              "short": "Coded responses from the common UCUM units for vital signs value set.",
              "definition": "Coded responses from the common UCUM units for vital signs value set.",
              "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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.code",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "PQ.code, MO.currency, PQ.translation.code"
                }
              ]
            },
            {
              "id": "Observation.component.dataAbsentReason",
              "path": "Observation.component.dataAbsentReason",
              "short": "Why the component result is missing",
              "definition": "Provides a reason why the expected value in the element Observation.value[x] is missing.",
              "comment": "\"Null\" or exceptional values can be represented two ways in FHIR Observations.  One way is to simply include them in the value set and represent the exceptions in the value.  For example, measurement values for a serology test could be  \"detected\", \"not detected\", \"inconclusive\", or  \"test not done\".   The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values.  For example, the dataAbsentReason code \"error\" could be used when the measurement was not completed.  Because of these options, use-case agreements are required to interpret general observations for exceptional values.",
              "requirements": "For many results it is necessary to handle exceptional values in measurements.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.dataAbsentReason",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "condition": [
                "obs-6"
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "DAR"
                  }
                ],
                "strength": "extensible",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-valueabsentreason"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": "value.nullFlavor"
                }
              ]
            },
            {
              "id": "Observation.component.interpretation",
              "path": "Observation.component.interpretation",
              "short": "High, low, normal, etc.",
              "definition": "The assessment made based on the result of the observation.  Intended as a simple compact code often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result. Otherwise known as abnormal flag.",
              "comment": "The component interpretation applies only to the individual component value.  For an overall interpretation all components together use thes Observation.interpretation element.",
              "requirements": "For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result.",
              "alias": [
                "Abnormal Flag"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.interpretation",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationInterpretation"
                  }
                ],
                "strength": "extensible",
                "description": "Codes identifying interpretations of observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-interpretation"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-8"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "363713009 |Has interpretation|"
                }
              ]
            },
            {
              "id": "Observation.component.referenceRange",
              "path": "Observation.component.referenceRange",
              "short": "Provides guide for interpretation of component result",
              "definition": "Guidance on how to interpret the value by comparison to a normal or recommended range.",
              "comment": "Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.",
              "requirements": "Knowing what values are considered \"normal\" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.component.referenceRange",
                "min": 0,
                "max": "*"
              },
              "contentReference": "#Observation.referenceRange",
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX.7"
                },
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]"
                }
              ]
            }
          ]
        },
        "differential": {
          "element": [
            {
              "id": "Observation",
              "path": "Observation",
              "short": "FHIR Head Circumference Profile",
              "definition": "This profile defines  how to represent Head Circumference observations in FHIR using a standard LOINC code and UCUM units of measure.",
              "min": 0,
              "max": "*"
            },
            {
              "id": "Observation.code",
              "path": "Observation.code",
              "short": "Head Circumference",
              "definition": "Head Circumference.",
              "comment": "additional codes that translate or map to this code are allowed.  For example a more granular LOINC code or code that is used locally in a system.",
              "alias": [
                "Test",
                "Name"
              ]
            },
            {
              "id": "Observation.code.coding",
              "path": "Observation.code.coding",
              "slicing": {
                "discriminator": [
                  {
                    "type": "value",
                    "path": "code"
                  }
                ],
                "ordered": false,
                "rules": "open"
              }
            },
            {
              "id": "Observation.code.coding:headcircumcode",
              "path": "Observation.code.coding",
              "sliceName": "HeadCircumCode"
            },
            {
              "id": "Observation.code.coding:headcircumcode.system",
              "path": "Observation.code.coding.system",
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://loinc.org"
            },
            {
              "id": "Observation.code.coding:headcircumcode.code",
              "path": "Observation.code.coding.code",
              "type": [
                {
                  "code": "code"
                }
              ],
              "fixedCode": "8287-5"
            },
            {
              "id": "Observation.valueQuantity",
              "path": "Observation.valueQuantity"
            },
            {
              "id": "Observation.valueQuantity.code",
              "path": "Observation.valueQuantity.code",
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "BodyLengthUnits"
                  }
                ],
                "strength": "required",
                "description": "Common UCUM units for Body Length measures such as Body Height and Head Circumference",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/ucum-bodylength"
                }
              }
            }
          ]
        }
      }
    },
    {
      "fullUrl": "http://hl7.org/fhir/StructureDefinition/oxygensat",
      "resource": {
        "resourceType": "StructureDefinition",
        "id": "oxygensat",
        "text": {
          "status": "generated",
          "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">to do</div>"
        },
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-summary",
            "valueMarkdown": "\"####Complete Summary of the Mandatory Requirements\r\r1.  One code in `Observation.code` which must have\r    -   a fixed `Observation.code.coding.system`=**'http ://loinc.org'**\r    -   a fixed  `Observation.code.coding.code`= **'59408-5'**\r    -   Other additional codes are allowed - e.g. more specific LOINC\r        Codes, SNOMED CT concepts, system specific codes. All codes\r        SHALL have an system value\r2.  a fixed`Observation.valueQuantity.code` = **'%'**\r\""
          }
        ],
        "url": "http://hl7.org/fhir/StructureDefinition/oxygensat",
        "name": "Vital Signs Profile",
        "title": "VitalSigns",
        "status": "draft",
        "experimental": false,
        "date": "2016-03-25",
        "publisher": "Health Level Seven International (Orders and Observations Workgroup)",
        "contact": [
          {
            "telecom": [
              {
                "system": "url",
                "value": "http://www.hl7.org/Special/committees/orders/index.cfm Orders and Observations"
              }
            ]
          }
        ],
        "description": "FHIR Oxygen Saturation Profile",
        "fhirVersion": "3.0.1",
        "mapping": [
          {
            "identity": "workflow",
            "uri": "http://hl7.org/fhir/workflow",
            "name": "Workflow Mapping"
          },
          {
            "identity": "sct-concept",
            "uri": "http://snomed.info/conceptdomain",
            "name": "SNOMED CT Concept Domain Binding"
          },
          {
            "identity": "v2",
            "uri": "http://hl7.org/v2",
            "name": "HL7 v2 Mapping"
          },
          {
            "identity": "rim",
            "uri": "http://hl7.org/v3",
            "name": "RIM Mapping"
          },
          {
            "identity": "w5",
            "uri": "http://hl7.org/fhir/w5",
            "name": "W5 Mapping"
          },
          {
            "identity": "sct-attr",
            "uri": "http://snomed.info/sct",
            "name": "SNOMED CT Attribute Binding"
          }
        ],
        "kind": "resource",
        "abstract": false,
        "type": "Observation",
        "baseDefinition": "http://hl7.org/fhir/StructureDefinition/vitalsigns",
        "derivation": "constraint",
        "snapshot": {
          "element": [
            {
              "id": "Observation",
              "path": "Observation",
              "short": "FHIR Oxygen Saturation Profile",
              "definition": "This profile defines  how to represent Oxygen Saturation observations in FHIR using a standard LOINC code and UCUM units of measure.",
              "comment": "Used for simple observations such as device measurements, laboratory atomic results, vital signs, height, weight, smoking status, comments, etc.  Other resources are used to provide context for observations such as lab reports, etc.",
              "alias": [
                "Vital Signs",
                "Measurement",
                "Results",
                "Tests"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation",
                "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)",
                  "source": "DomainResource"
                },
                {
                  "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)",
                  "source": "DomainResource"
                },
                {
                  "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))",
                  "source": "DomainResource"
                },
                {
                  "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))]))",
                  "source": "DomainResource"
                },
                {
                  "key": "obs-7",
                  "severity": "error",
                  "human": "If code is the same as a component code then the value element associated with the code SHALL NOT be present",
                  "expression": "value.empty() or code!=component.code",
                  "xpath": "not(exists(f:*[starts-with(local-name(.), 'value')])) or not(count(for $coding in f:code/f:coding return parent::*/f:component/f:code/f:coding[f:code/@value=$coding/f:code/@value and f:system/@value=$coding/f:system/@value])=0)",
                  "source": "Observation"
                },
                {
                  "key": "obs-6",
                  "severity": "error",
                  "human": "dataAbsentReason SHALL only be present if Observation.value[x] is not present",
                  "expression": "dataAbsentReason.empty() or value.empty()",
                  "xpath": "not(exists(f:dataAbsentReason)) or (not(exists(*[starts-with(local-name(.), 'value')])))",
                  "source": "Observation"
                },
                {
                  "key": "vs-2",
                  "severity": "error",
                  "human": "If there is no component or related element then either a value[x] or a data absent reason must be present",
                  "expression": "(component.empty() and related.empty()) implies (dataAbsentReason or value)",
                  "xpath": "exists(f:component) or exists(f:related) or exists(f:*[starts-with(local-name(.), 'value')]) or exists(f:dataAbsentReason)",
                  "source": "Observation"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Entity. Role, or Act"
                },
                {
                  "identity": "workflow",
                  "map": "Event"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity|"
                },
                {
                  "identity": "v2",
                  "map": "OBX"
                },
                {
                  "identity": "rim",
                  "map": "Observation[classCode=OBS, moodCode=EVN]"
                },
                {
                  "identity": "w5",
                  "map": "clinical.diagnostics"
                }
              ]
            },
            {
              "id": "Observation.id",
              "path": "Observation.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "Observation.meta",
              "path": "Observation.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "Observation.implicitRules",
              "path": "Observation.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"
                }
              ],
              "isModifier": true,
              "isSummary": true
            },
            {
              "id": "Observation.language",
              "path": "Observation.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"
                }
              ],
              "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"
                }
              }
            },
            {
              "id": "Observation.text",
              "path": "Observation.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": [
                "dom-1"
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Act.text?"
                }
              ]
            },
            {
              "id": "Observation.contained",
              "path": "Observation.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": "N/A"
                }
              ]
            },
            {
              "id": "Observation.extension",
              "path": "Observation.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.modifierExtension",
              "path": "Observation.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 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"
                }
              ],
              "isModifier": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.identifier",
              "path": "Observation.identifier",
              "short": "Business Identifier for observation",
              "definition": "A unique identifier assigned to this observation.",
              "requirements": "Allows observations to be distinguished and referenced.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.identifier",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Identifier"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.identifier"
                },
                {
                  "identity": "v2",
                  "map": "OBX.21  For OBX segments from systems without OBX-21 support a combination of ORC/OBR and OBX must be negotiated between trading partners to uniquely identify the OBX segment. Depending on how V2 has been implemented each of these may be an option: 1) OBR-3 + OBX-3 + OBX-4 or 2) OBR-3 + OBR-4 + OBX-3 + OBX-4 or 2) some other way to uniquely ID the OBR/ORC + OBX-3 + OBX-4."
                },
                {
                  "identity": "rim",
                  "map": "id"
                },
                {
                  "identity": "w5",
                  "map": "id"
                }
              ]
            },
            {
              "id": "Observation.basedOn",
              "path": "Observation.basedOn",
              "short": "Fulfills plan, proposal or order",
              "definition": "A plan, proposal or order that is fulfilled in whole or in part by this event.",
              "requirements": "Allows tracing of authorization for the event and tracking whether proposals/recommendations were acted upon.",
              "alias": [
                "Fulfills"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.basedOn",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/CarePlan"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/DeviceRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ImmunizationRecommendation"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/NutritionOrder"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ProcedureRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ReferralRequest"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.basedOn"
                },
                {
                  "identity": "v2",
                  "map": "ORC"
                },
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=FLFS].target"
                }
              ]
            },
            {
              "id": "Observation.status",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-display-hint",
                  "valueString": "default: final"
                }
              ],
              "path": "Observation.status",
              "short": "registered | preliminary | final | amended +",
              "definition": "The status of the result value.",
              "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
              "requirements": "Need to track the status of individual results. Some results are finalized before the whole report is finalized.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.status",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "mustSupport": true,
              "isModifier": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "Status"
                  }
                ],
                "strength": "required",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-status"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.status"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 445584004 |Report by finality status|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-11"
                },
                {
                  "identity": "rim",
                  "map": "status  Amended & Final are differentiated by whether it is the subject of a ControlAct event with a type of \"revise\""
                },
                {
                  "identity": "w5",
                  "map": "status"
                }
              ]
            },
            {
              "id": "Observation.category",
              "path": "Observation.category",
              "short": "Classification of  type of observation",
              "definition": "A code that classifies the general type of observation being made.",
              "comment": "In addition to the required category valueset, this element allows various categorization schemes based on the owner’s definition of the category and effectively multiple categories can be used at once.  The level of granularity is defined by the category concepts in the value set.",
              "requirements": "Used for filtering what observations are retrieved and displayed.",
              "min": 1,
              "max": "*",
              "base": {
                "path": "Observation.category",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "constraint": [
                {
                  "key": "vs-4",
                  "severity": "error",
                  "human": "Must have a category of 'vital-signs' and a code system 'http://hl7.org/fhir/observation-category'",
                  "expression": "where(coding.system='http://hl7.org/fhir/observation-category' and coding.code='vital-signs').exists()",
                  "xpath": "exists(f:coding/code[@value='vital-signs']) and exists(f:coding/system[@value='http://hl7.org/fhir/observation-category'])"
                }
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationCategory"
                  }
                ],
                "strength": "preferred",
                "description": "Codes for high level observation categories.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-category"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=\"COMP].target[classCode=\"LIST\", moodCode=\"EVN\"].code"
                },
                {
                  "identity": "w5",
                  "map": "class"
                }
              ]
            },
            {
              "id": "Observation.code",
              "path": "Observation.code",
              "short": "Oxygen Saturation",
              "definition": "Oxygen Saturation.",
              "comment": "additional codes that translate or map to this code are allowed.  For example a more granular LOINC code or code that is used locally in a system.",
              "requirements": "5. SHALL contain exactly one [1..1] code, where the @code SHOULD be selected from ValueSet HITSP Vital Sign Result Type 2.16.840.1.113883.3.88.12.80.62 DYNAMIC (CONF:7301).",
              "alias": [
                "Name",
                "Test",
                "Name"
              ],
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.code",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSigns"
                  }
                ],
                "strength": "extensible",
                "description": "This identifies the vital sign result type.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-vitalsignresult"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.code"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity| OR < 386053000 |Evaluation procedure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-3"
                },
                {
                  "identity": "rim",
                  "map": "code"
                },
                {
                  "identity": "sct-attr",
                  "map": "116680003 |Is a|"
                },
                {
                  "identity": "w5",
                  "map": "what"
                }
              ]
            },
            {
              "id": "Observation.code.id",
              "path": "Observation.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.code.extension",
              "path": "Observation.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.code.coding",
              "path": "Observation.code.coding",
              "slicing": {
                "discriminator": [
                  {
                    "type": "value",
                    "path": "code"
                  }
                ],
                "ordered": false,
                "rules": "open"
              },
              "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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.code.coding:oxygensatcode",
              "path": "Observation.code.coding",
              "sliceName": "OxygenSatCode",
              "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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.code.coding:oxygensatcode.id",
              "path": "Observation.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.code.coding:oxygensatcode.extension",
              "path": "Observation.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.code.coding:oxygensatcode.system",
              "path": "Observation.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": 0,
              "max": "1",
              "base": {
                "path": "Coding.system",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://loinc.org",
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "C*E.3"
                },
                {
                  "identity": "rim",
                  "map": "./codeSystem"
                },
                {
                  "identity": "orim",
                  "map": "fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem"
                }
              ]
            },
            {
              "id": "Observation.code.coding:oxygensatcode.version",
              "path": "Observation.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": "1",
              "base": {
                "path": "Coding.version",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "C*E.7"
                },
                {
                  "identity": "rim",
                  "map": "./codeSystemVersion"
                },
                {
                  "identity": "orim",
                  "map": "fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion"
                }
              ]
            },
            {
              "id": "Observation.code.coding:oxygensatcode.code",
              "path": "Observation.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).",
              "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"
                }
              ],
              "fixedCode": "59408-5",
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "C*E.1"
                },
                {
                  "identity": "rim",
                  "map": "./code"
                },
                {
                  "identity": "orim",
                  "map": "fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code"
                }
              ]
            },
            {
              "id": "Observation.code.coding:oxygensatcode.display",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "Observation.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.",
              "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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.code.coding:oxygensatcode.userSelected",
              "path": "Observation.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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.code.text",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "Observation.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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.subject",
              "path": "Observation.subject",
              "short": "Who and/or what this is about",
              "definition": "The patient, or group of patients, location, or device whose characteristics (direct or indirect) are described by the observation and into whose record the observation is placed.  Comments: Indirect characteristics may be those of a specimen, fetus, donor,  other observer (for example a relative or EMT), or any observation made about the subject.",
              "comment": "One would expect this element to be a cardinality  of 1..1.  The only circumstance in which the subject can be missing is when the observation is made by a device that does not know the patient. In this case, the observation SHALL be matched to a patient through some context/channel matching technique, and at this point, the observation should be updated.\r\rIf the target of the observation is different than the subject, the general extension [observation-focal-subject](extension-observation-focal-subject.html).  may be used.  However, the distinction between the patient's own value for an observation versus that of the fetus, or the donor or blood product unit, etc., are often specified in the observation code.",
              "requirements": "Observations have no value if you don't know who or what they're about.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.subject",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.subject"
                },
                {
                  "identity": "v2",
                  "map": "PID-3"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=SBJ]"
                },
                {
                  "identity": "w5",
                  "map": "who.focus"
                }
              ]
            },
            {
              "id": "Observation.context",
              "path": "Observation.context",
              "short": "Healthcare event during which this observation is made",
              "definition": "The healthcare event  (e.g. a patient and healthcare provider interaction) during which this observation is made.",
              "comment": "This will typically be the encounter the event occurred within, but some events may be initiated prior to or after the official completion of an encounter or episode but still be tied to the context of the encounter or episode (e.g. pre-admission lab tests).",
              "requirements": "For some observations it may be important to know the link between an observation and a particular encounter.",
              "alias": [
                "Encounter"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.context",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
                }
              ],
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.context"
                },
                {
                  "identity": "v2",
                  "map": "PV1"
                },
                {
                  "identity": "rim",
                  "map": "inboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN]"
                },
                {
                  "identity": "w5",
                  "map": "context"
                }
              ]
            },
            {
              "id": "Observation.effective[x]",
              "path": "Observation.effective[x]",
              "short": "Often just a dateTime for Vital Signs",
              "definition": "Often just a dateTime for Vital Signs.",
              "comment": "At least a date should be present unless this observation is a historical report.",
              "requirements": "Knowing when an observation was deemed true is important to its relevance as well as determining trends.",
              "alias": [
                "Occurrence"
              ],
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.effective[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "dateTime"
                },
                {
                  "code": "Period"
                }
              ],
              "constraint": [
                {
                  "key": "vs-1",
                  "severity": "error",
                  "human": "Datetime must be at least to day.",
                  "expression": "($this as dateTime).toString().length() >= 8",
                  "xpath": "f:matches(effectiveDateTime,/\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d([+-][0-2]\\d:[0-5]\\d|Z)/)"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.occurrence[x]"
                },
                {
                  "identity": "v2",
                  "map": "OBX-14, and/or OBX-19 after v2.4  (depends on who observation made)"
                },
                {
                  "identity": "rim",
                  "map": "effectiveTime"
                },
                {
                  "identity": "w5",
                  "map": "when.done"
                }
              ]
            },
            {
              "id": "Observation.issued",
              "path": "Observation.issued",
              "short": "Date/Time this was made available",
              "definition": "The date and time this observation was made available to providers, typically after the results have been reviewed and verified.",
              "comment": "Updated when the result is updated.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.issued",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "instant"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBR.22 (or MSH.7), or perhaps OBX-19 (depends on who observation made)"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=AUT].time"
                },
                {
                  "identity": "w5",
                  "map": "when.recorded"
                }
              ]
            },
            {
              "id": "Observation.performer",
              "path": "Observation.performer",
              "short": "Who is responsible for the observation",
              "definition": "Who was responsible for asserting the observed value as \"true\".",
              "requirements": "May give a degree of confidence in the observation and also indicates where follow-up questions should be directed.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.performer",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.performer"
                },
                {
                  "identity": "v2",
                  "map": "OBX.15 / (Practitioner)  OBX-16,  PRT-5:PRT-4='RO' /  (Device)  OBX-18 , PRT-10:PRT-4='EQUIP' / (Organization)  OBX-23,  PRT-8:PRT-4='PO'"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=PRF]"
                },
                {
                  "identity": "w5",
                  "map": "who.actor"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity",
              "path": "Observation.valueQuantity",
              "short": "Vital Sign Value recorded with UCUM",
              "definition": "Vital Sign Value recorded with UCUM.",
              "comment": "Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. This element has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueString, valueBoolean, valueRange, valueRatio, valueSampledData, valueAttachment, valueTime, valueDateTime, or valuePeriod. (The name format is \"'value' + the type name\" with a capital on the first letter of the type).\r\r\rIf the data element is usually coded or if the type associated with the Observation.value defines a coded value, use CodeableConcept instead of string datatype even if the value is uncoded text.  A value set is bound to the ValueCodeableConcept element.    For further discussion and examples see the  [notes section](observation.html#notes) below.",
              "requirements": "9. SHALL contain exactly one [1..1] value with @xsi:type=\"PQ\" (CONF:7305).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.value[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity"
                }
              ],
              "condition": [
                "obs-7"
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSignsUnits"
                  }
                ],
                "strength": "required",
                "description": "Common UCUM units for recording Vital Signs",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/ucum-vitals-common"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.notDone, Event.notDoneReason  (maps to valeu[x] or dataAbsentReason)"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 441742003 |Evaluation finding|"
                },
                {
                  "identity": "v2",
                  "map": "OBX.2, OBX.5, OBX.6"
                },
                {
                  "identity": "rim",
                  "map": "value"
                },
                {
                  "identity": "sct-attr",
                  "map": "363714003 |Interprets|"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.id",
              "path": "Observation.valueQuantity.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.extension",
              "path": "Observation.valueQuantity.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.value",
              "path": "Observation.valueQuantity.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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.value",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "decimal"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.valueQuantity.comparator",
              "path": "Observation.valueQuantity.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",
              "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": "v2",
                  "map": "SN.1  / CQ.1"
                },
                {
                  "identity": "rim",
                  "map": "IVL properties"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.unit",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "Observation.valueQuantity.unit",
              "short": "Unit representation",
              "definition": "A human-readable form of the unit.",
              "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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.unit",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "PQ.unit"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.system",
              "path": "Observation.valueQuantity.system",
              "short": "System that defines coded unit form",
              "definition": "The identification of the system that provides the coded form of the unit.",
              "requirements": "Need to know the system that defines the coded form of the unit.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Quantity.system",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://unitsofmeasure.org",
              "condition": [
                "qty-3"
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "CO.codeSystem, PQ.translation.codeSystem"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.code",
              "path": "Observation.valueQuantity.code",
              "short": "Coded responses from the common UCUM units for vital signs value set.",
              "definition": "Coded responses from the common UCUM units for vital signs value set.",
              "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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.code",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "fixedCode": "%",
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "PQ.code, MO.currency, PQ.translation.code"
                }
              ]
            },
            {
              "id": "Observation.dataAbsentReason",
              "path": "Observation.dataAbsentReason",
              "short": "Why the result is missing",
              "definition": "Provides a reason why the expected value in the element Observation.value[x] is missing.",
              "comment": "Null or exceptional values can be represented two ways in FHIR Observations.  One way is to simply include them in the value set and represent the exceptions in the value.  For example, measurement values for a serology test could be  \"detected\", \"not detected\", \"inconclusive\", or  \"specimen unsatisfactory\".   The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values.  For example, the dataAbsentReason code \"error\" could be used when the measurement was not completed. Note that an observation may only be reported if there are values to report. For example differential cell counts values may be reported only when > 0.  Because of these options, use-case agreements are required to interpret general observations for null or exceptional values.",
              "requirements": "For many results it is necessary to handle exceptional values in measurements.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.dataAbsentReason",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "condition": [
                "obs-6"
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "DAR"
                  }
                ],
                "strength": "extensible",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-valueabsentreason"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.notDone, Event.notDoneReason  (maps to valeu[x] or dataAbsentReason)"
                },
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": "value.nullFlavor"
                }
              ]
            },
            {
              "id": "Observation.interpretation",
              "path": "Observation.interpretation",
              "short": "High, low, normal, etc.",
              "definition": "The assessment made based on the result of the observation.  Intended as a simple compact code often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result. Otherwise known as abnormal flag.",
              "requirements": "For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result.",
              "alias": [
                "Abnormal Flag"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.interpretation",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationInterpretation"
                  }
                ],
                "strength": "extensible",
                "description": "Codes identifying interpretations of observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-interpretation"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-8"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "363713009 |Has interpretation|"
                }
              ]
            },
            {
              "id": "Observation.comment",
              "path": "Observation.comment",
              "short": "Comments about result",
              "definition": "May include statements about significant, unexpected or unreliable values, or information about the source of the value where this may be relevant to the interpretation of the result.",
              "requirements": "Need to be able to provide free text additional information.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.comment",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.note"
                },
                {
                  "identity": "v2",
                  "map": "NTE.3 (partner NTE to OBX, or sometimes another (child?) OBX)"
                },
                {
                  "identity": "rim",
                  "map": "subjectOf.observationEvent[code=\"annotation\"].value"
                }
              ]
            },
            {
              "id": "Observation.bodySite",
              "path": "Observation.bodySite",
              "short": "Observed body part",
              "definition": "Indicates the site on the subject's body where the observation was made (i.e. the target site).",
              "comment": "Only used if not implicit in code found in Observation.code.  In many systems, this may be represented as a related observation instead of an inline component.   If the use case requires BodySite to be handled as a separate resource (e.g. to identify and track separately) then use the standard extension[ body-site-instance](extension-body-site-instance.html).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.bodySite",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "BodySite"
                  }
                ],
                "strength": "example",
                "description": "Codes describing anatomical locations. May include laterality.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/body-site"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 123037004 |Body structure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-20"
                },
                {
                  "identity": "rim",
                  "map": "targetSiteCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "718497002 |Inherent location|"
                }
              ]
            },
            {
              "id": "Observation.method",
              "path": "Observation.method",
              "short": "How it was done",
              "definition": "Indicates the mechanism used to perform the observation.",
              "comment": "Only used if not implicit in code for Observation.code.",
              "requirements": "In some cases, method can impact results and is thus used for determining whether results can be compared or determining significance of results.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.method",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationMethod"
                  }
                ],
                "strength": "example",
                "description": "Methods for simple observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-methods"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-17"
                },
                {
                  "identity": "rim",
                  "map": "methodCode"
                }
              ]
            },
            {
              "id": "Observation.specimen",
              "path": "Observation.specimen",
              "short": "Specimen used for this observation",
              "definition": "The specimen that was used when this observation was made.",
              "comment": "Should only be used if not implicit in code found in `Observation.code`.  Observations are not made on specimens themselves; they are made on a subject, but in many cases by the means of a specimen. Note that although specimens are often involved, they are not always tracked and reported explicitly. Also note that observation resources may be used in contexts that track the specimen explicitly (e.g. Diagnostic Report).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.specimen",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Specimen"
                }
              ],
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 123038009 |Specimen|"
                },
                {
                  "identity": "v2",
                  "map": "SPM segment"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=SPC].specimen"
                },
                {
                  "identity": "sct-attr",
                  "map": "704319004 |Inherent in|"
                }
              ]
            },
            {
              "id": "Observation.device",
              "path": "Observation.device",
              "short": "(Measurement) Device",
              "definition": "The device used to generate the observation data.",
              "comment": "An extension should be used if further typing of the device is needed.  Devices used to support obtaining an observation can be represented using either an extension or through the Observation.related element.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.device",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/DeviceMetric"
                }
              ],
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 49062001 |Device|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-17 / PRT -10"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=DEV]"
                },
                {
                  "identity": "sct-attr",
                  "map": "424226004 |Using device|"
                }
              ]
            },
            {
              "id": "Observation.referenceRange",
              "path": "Observation.referenceRange",
              "short": "Provides guide for interpretation",
              "definition": "Guidance on how to interpret the value by comparison to a normal or recommended range.",
              "comment": "Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.",
              "requirements": "Knowing what values are considered \"normal\" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.referenceRange",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "key": "obs-3",
                  "severity": "error",
                  "human": "Must have at least a low or a high or text",
                  "expression": "low.exists() or high.exists() or text.exists()",
                  "xpath": "(exists(f:low) or exists(f:high)or exists(f:text))"
                }
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX.7"
                },
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.id",
              "path": "Observation.referenceRange.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.extension",
              "path": "Observation.referenceRange.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.modifierExtension",
              "path": "Observation.referenceRange.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.low",
              "path": "Observation.referenceRange.low",
              "short": "Low Range, if relevant",
              "definition": "The value of the low bound of the reference range.  The low bound of the reference range endpoint is inclusive of the value (e.g.  reference range is >=5 - <=9).   If the low bound is omitted,  it is assumed to be meaningless (e.g. reference range is <=2.3).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.low",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity",
                  "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
                }
              ],
              "condition": [
                "obs-3"
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-7"
                },
                {
                  "identity": "rim",
                  "map": "value:IVL_PQ.low"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.high",
              "path": "Observation.referenceRange.high",
              "short": "High Range, if relevant",
              "definition": "The value of the high bound of the reference range.  The high bound of the reference range endpoint is inclusive of the value (e.g.  reference range is >=5 - <=9).   If the high bound is omitted,  it is assumed to be meaningless (e.g. reference range is >= 2.3).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.high",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity",
                  "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
                }
              ],
              "condition": [
                "obs-3"
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-7"
                },
                {
                  "identity": "rim",
                  "map": "value:IVL_PQ.high"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.type",
              "path": "Observation.referenceRange.type",
              "short": "Reference range qualifier",
              "definition": "Codes to indicate the what part of the targeted reference population it applies to. For example, the normal or therapeutic range.",
              "comment": "This SHOULD be populated if there is more than one range.  If this element is not present then the normal range is assumed.",
              "requirements": "Need to be able to say what kind of reference range this is - normal, recommended, therapeutic, etc,  - for proper interpretation.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.type",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRangeMeaning"
                  }
                ],
                "strength": "extensible",
                "description": "Code for the meaning of a reference range.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/referencerange-meaning"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values| OR  \r< 365860008 |General clinical state finding| \rOR \r< 250171008 |Clinical history or observation findings| OR  \r< 415229000 |Racial group| OR \r< 365400002 |Finding of puberty stage| OR\r< 443938003 |Procedure carried out on subject|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-10"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.appliesTo",
              "path": "Observation.referenceRange.appliesTo",
              "short": "Reference range population",
              "definition": "Codes to indicate the target population this reference range applies to.  For example, a reference range may be based on the normal population or a particular sex or race.",
              "comment": "This SHOULD be populated if there is more than one range.  If this element is not present then the normal population is assumed.",
              "requirements": "Need to be able to identify the target population for proper interpretation.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.referenceRange.appliesTo",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRangeType"
                  }
                ],
                "strength": "example",
                "description": "Codes identifying the population the reference range applies to.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/referencerange-appliesto"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values| OR  \r< 365860008 |General clinical state finding| \rOR \r< 250171008 |Clinical history or observation findings| OR  \r< 415229000 |Racial group| OR \r< 365400002 |Finding of puberty stage| OR\r< 443938003 |Procedure carried out on subject|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-10"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.age",
              "path": "Observation.referenceRange.age",
              "short": "Applicable age range, if relevant",
              "definition": "The age at which this reference range is applicable. This is a neonatal age (e.g. number of weeks at term) if the meaning says so.",
              "requirements": "Some analytes vary greatly over age.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.age",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Range"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=PRCN].targetObservationCriterion[code=\"age\"].value"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.text",
              "path": "Observation.referenceRange.text",
              "short": "Text based reference range in an observation",
              "definition": "Text based reference range in an observation which may be used when a quantitative range is not appropriate for an observation.  An example would be a reference value of \"Negative\" or a list or table of 'normals'.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.text",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-7"
                },
                {
                  "identity": "rim",
                  "map": "value:ST"
                }
              ]
            },
            {
              "id": "Observation.related",
              "path": "Observation.related",
              "short": "Used when reporting vital signs panel components",
              "definition": "Used when reporting vital signs panel components.",
              "comment": "For a discussion on the ways Observations can assembled in groups together see [Notes below](observation.html#4.20.4).",
              "requirements": "Normally, an observation will have either a value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and a set of related observations or sometimes a QuestionnaireResponse from which the measure is derived.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.related",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "Relationships established by OBX-4 usage"
                },
                {
                  "identity": "rim",
                  "map": "outBoundRelationship"
                }
              ]
            },
            {
              "id": "Observation.related.id",
              "path": "Observation.related.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.related.extension",
              "path": "Observation.related.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.related.modifierExtension",
              "path": "Observation.related.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.related.type",
              "path": "Observation.related.type",
              "short": "has-member | derived-from | sequel-to | replaces | qualified-by | interfered-by",
              "definition": "A code specifying the kind of relationship that exists with the target resource.",
              "comment": "The \"derived-from\" type is the only logical choice when referencing the QuestionnaireAnswer resource.",
              "requirements": "A relationship type SHOULD be provided.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.related.type",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "fixedCode": "has-member",
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRelationshipType"
                  }
                ],
                "strength": "required",
                "description": "Codes specifying how two observations are related.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-relationshiptypes"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": ".typeCode"
                }
              ]
            },
            {
              "id": "Observation.related.target",
              "path": "Observation.related.target",
              "short": "Resource that is related to this one",
              "definition": "A reference to the observation or [QuestionnaireResponse](questionnaireresponse.html#) resource that is related to this observation.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.related.target",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/vitalsigns"
                }
              ],
              "mustSupport": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".targetObservation"
                }
              ]
            },
            {
              "id": "Observation.component",
              "path": "Observation.component",
              "short": "Used when reporting systolic and diastolic blood pressure.",
              "definition": "Used when reporting systolic and diastolic blood pressure.",
              "comment": "For a discussion on the ways Observations can be assembled in groups together see [Notes](observation.html#notes) below.",
              "requirements": "Component observations share the same attributes in the Observation resource as the primary observation and are always treated a part of a single observation (they are not separable).   However, the reference range for the primary observation value is not inherited by the component values and is required when appropriate for each component observation.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.component",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "key": "vs-3",
                  "severity": "error",
                  "human": "If there is no a value a data absent reason must be present",
                  "expression": "value.exists() or dataAbsentReason.exists()",
                  "xpath": "exists(f:*[starts-with(local-name(.), 'value')]) or exists(f:dataAbsentReason)"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "containment by OBX-4?"
                },
                {
                  "identity": "rim",
                  "map": "outBoundRelationship[typeCode=COMP]"
                }
              ]
            },
            {
              "id": "Observation.component.id",
              "path": "Observation.component.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.extension",
              "path": "Observation.component.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.modifierExtension",
              "path": "Observation.component.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.component.code",
              "path": "Observation.component.code",
              "short": "Type of component observation (code / type)",
              "definition": "Describes what was observed. Sometimes this is called the observation \"code\".",
              "requirements": "Knowing what kind of observation is being made is essential to understanding the observation.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.component.code",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSigns"
                  }
                ],
                "strength": "extensible",
                "description": "This identifies the vital sign result type.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-vitalsignresult"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity| OR \r< 386053000 |Evaluation procedure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-3"
                },
                {
                  "identity": "rim",
                  "map": "code"
                },
                {
                  "identity": "w5",
                  "map": "what"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity",
              "path": "Observation.component.valueQuantity",
              "short": "Vital Sign Value recorded with UCUM",
              "definition": "Vital Sign Value recorded with UCUM.",
              "comment": "Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value.   For boolean values use valueCodeableConcept and select codes from <http://hl7.org/fhir/ValueSet/v2-0136> (these \"yes/no\" concepts can be mapped to the display name \"true/false\" or other mutually exclusive terms that may be needed\").  The element, Observation.value[x], has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueRatio, valueChoice, valuePeriod, valueSampleData, or valueString (the name format is \"'value' + the type name\" with a capital on the first letter of the type).",
              "requirements": "9. SHALL contain exactly one [1..1] value with @xsi:type=\"PQ\" (CONF:7305).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.value[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSignsUnits"
                  }
                ],
                "strength": "required",
                "description": "Common UCUM units for recording Vital Signs",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/ucum-vitals-common"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "363714003 |Interprets| < 441742003 |Evaluation finding|"
                },
                {
                  "identity": "v2",
                  "map": "OBX.2, OBX.5, OBX.6"
                },
                {
                  "identity": "rim",
                  "map": "value"
                },
                {
                  "identity": "sct-attr",
                  "map": "363714003 |Interprets|"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.id",
              "path": "Observation.component.valueQuantity.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.extension",
              "path": "Observation.component.valueQuantity.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.value",
              "path": "Observation.component.valueQuantity.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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.value",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "decimal"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.component.valueQuantity.comparator",
              "path": "Observation.component.valueQuantity.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",
              "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": "v2",
                  "map": "SN.1  / CQ.1"
                },
                {
                  "identity": "rim",
                  "map": "IVL properties"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.unit",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "Observation.component.valueQuantity.unit",
              "short": "Unit representation",
              "definition": "A human-readable form of the unit.",
              "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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.unit",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "PQ.unit"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.system",
              "path": "Observation.component.valueQuantity.system",
              "short": "System that defines coded unit form",
              "definition": "The identification of the system that provides the coded form of the unit.",
              "requirements": "Need to know the system that defines the coded form of the unit.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Quantity.system",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://unitsofmeasure.org",
              "condition": [
                "qty-3"
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "CO.codeSystem, PQ.translation.codeSystem"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.code",
              "path": "Observation.component.valueQuantity.code",
              "short": "Coded responses from the common UCUM units for vital signs value set.",
              "definition": "Coded responses from the common UCUM units for vital signs value set.",
              "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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.code",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "PQ.code, MO.currency, PQ.translation.code"
                }
              ]
            },
            {
              "id": "Observation.component.dataAbsentReason",
              "path": "Observation.component.dataAbsentReason",
              "short": "Why the component result is missing",
              "definition": "Provides a reason why the expected value in the element Observation.value[x] is missing.",
              "comment": "\"Null\" or exceptional values can be represented two ways in FHIR Observations.  One way is to simply include them in the value set and represent the exceptions in the value.  For example, measurement values for a serology test could be  \"detected\", \"not detected\", \"inconclusive\", or  \"test not done\".   The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values.  For example, the dataAbsentReason code \"error\" could be used when the measurement was not completed.  Because of these options, use-case agreements are required to interpret general observations for exceptional values.",
              "requirements": "For many results it is necessary to handle exceptional values in measurements.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.dataAbsentReason",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "condition": [
                "obs-6"
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "DAR"
                  }
                ],
                "strength": "extensible",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-valueabsentreason"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": "value.nullFlavor"
                }
              ]
            },
            {
              "id": "Observation.component.interpretation",
              "path": "Observation.component.interpretation",
              "short": "High, low, normal, etc.",
              "definition": "The assessment made based on the result of the observation.  Intended as a simple compact code often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result. Otherwise known as abnormal flag.",
              "comment": "The component interpretation applies only to the individual component value.  For an overall interpretation all components together use thes Observation.interpretation element.",
              "requirements": "For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result.",
              "alias": [
                "Abnormal Flag"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.interpretation",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationInterpretation"
                  }
                ],
                "strength": "extensible",
                "description": "Codes identifying interpretations of observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-interpretation"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-8"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "363713009 |Has interpretation|"
                }
              ]
            },
            {
              "id": "Observation.component.referenceRange",
              "path": "Observation.component.referenceRange",
              "short": "Provides guide for interpretation of component result",
              "definition": "Guidance on how to interpret the value by comparison to a normal or recommended range.",
              "comment": "Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.",
              "requirements": "Knowing what values are considered \"normal\" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.component.referenceRange",
                "min": 0,
                "max": "*"
              },
              "contentReference": "#Observation.referenceRange",
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX.7"
                },
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]"
                }
              ]
            }
          ]
        },
        "differential": {
          "element": [
            {
              "id": "Observation",
              "path": "Observation",
              "short": "FHIR Oxygen Saturation Profile",
              "definition": "This profile defines  how to represent Oxygen Saturation observations in FHIR using a standard LOINC code and UCUM units of measure.",
              "min": 0,
              "max": "*"
            },
            {
              "id": "Observation.code",
              "path": "Observation.code",
              "short": "Oxygen Saturation",
              "definition": "Oxygen Saturation.",
              "comment": "additional codes that translate or map to this code are allowed.  For example a more granular LOINC code or code that is used locally in a system.",
              "alias": [
                "Test",
                "Name"
              ]
            },
            {
              "id": "Observation.code.coding",
              "path": "Observation.code.coding",
              "slicing": {
                "discriminator": [
                  {
                    "type": "value",
                    "path": "code"
                  }
                ],
                "ordered": false,
                "rules": "open"
              }
            },
            {
              "id": "Observation.code.coding:oxygensatcode",
              "path": "Observation.code.coding",
              "sliceName": "OxygenSatCode"
            },
            {
              "id": "Observation.code.coding:oxygensatcode.system",
              "path": "Observation.code.coding.system",
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://loinc.org"
            },
            {
              "id": "Observation.code.coding:oxygensatcode.code",
              "path": "Observation.code.coding.code",
              "type": [
                {
                  "code": "code"
                }
              ],
              "fixedCode": "59408-5"
            },
            {
              "id": "Observation.valueQuantity",
              "path": "Observation.valueQuantity"
            },
            {
              "id": "Observation.valueQuantity.code",
              "path": "Observation.valueQuantity.code",
              "type": [
                {
                  "code": "code"
                }
              ],
              "fixedCode": "%"
            }
          ]
        }
      }
    },
    {
      "fullUrl": "http://hl7.org/fhir/StructureDefinition/bmi",
      "resource": {
        "resourceType": "StructureDefinition",
        "id": "bmi",
        "text": {
          "status": "generated",
          "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">to do</div>"
        },
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-summary",
            "valueMarkdown": "####Complete Summary of the Mandatory Requirements\r\r1.  One code in `Observation.code` which must have\r    -   a fixed `Observation.code.coding.system`=**'http ://loinc.org'**\r    -   a fixed  `Observation.code.coding.code`= **'39156-5'**\r    -   Other additional codes are allowed - e.g. more specific LOINC\r        Codes, SNOMED CT concepts, system specific codes. All codes\r        SHALL have an system value\r2.  a fixed`Observation.valueQuantity.code` = **'kg/m2'**"
          }
        ],
        "url": "http://hl7.org/fhir/StructureDefinition/bmi",
        "name": "Vital Signs Profile",
        "title": "VitalSigns",
        "status": "draft",
        "experimental": false,
        "date": "2016-03-25",
        "publisher": "Health Level Seven International (Orders and Observations Workgroup)",
        "contact": [
          {
            "telecom": [
              {
                "system": "url",
                "value": "http://www.hl7.org/Special/committees/orders/index.cfm Orders and Observations"
              }
            ]
          }
        ],
        "description": "FHIR Body Mass Index (BMI) Profile",
        "fhirVersion": "3.0.1",
        "mapping": [
          {
            "identity": "workflow",
            "uri": "http://hl7.org/fhir/workflow",
            "name": "Workflow Mapping"
          },
          {
            "identity": "sct-concept",
            "uri": "http://snomed.info/conceptdomain",
            "name": "SNOMED CT Concept Domain Binding"
          },
          {
            "identity": "v2",
            "uri": "http://hl7.org/v2",
            "name": "HL7 v2 Mapping"
          },
          {
            "identity": "rim",
            "uri": "http://hl7.org/v3",
            "name": "RIM Mapping"
          },
          {
            "identity": "w5",
            "uri": "http://hl7.org/fhir/w5",
            "name": "W5 Mapping"
          },
          {
            "identity": "sct-attr",
            "uri": "http://snomed.info/sct",
            "name": "SNOMED CT Attribute Binding"
          }
        ],
        "kind": "resource",
        "abstract": false,
        "type": "Observation",
        "baseDefinition": "http://hl7.org/fhir/StructureDefinition/vitalsigns",
        "derivation": "constraint",
        "snapshot": {
          "element": [
            {
              "id": "Observation",
              "path": "Observation",
              "short": "FHIR Body Mass Index (BMI) Profile",
              "definition": "This profile defines  how to represent Body Mass Index (BMI) observations in FHIR using a standard LOINC code and UCUM units of measure.",
              "comment": "Used for simple observations such as device measurements, laboratory atomic results, vital signs, height, weight, smoking status, comments, etc.  Other resources are used to provide context for observations such as lab reports, etc.",
              "alias": [
                "Vital Signs",
                "Measurement",
                "Results",
                "Tests"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation",
                "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)",
                  "source": "DomainResource"
                },
                {
                  "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)",
                  "source": "DomainResource"
                },
                {
                  "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))",
                  "source": "DomainResource"
                },
                {
                  "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))]))",
                  "source": "DomainResource"
                },
                {
                  "key": "obs-7",
                  "severity": "error",
                  "human": "If code is the same as a component code then the value element associated with the code SHALL NOT be present",
                  "expression": "value.empty() or code!=component.code",
                  "xpath": "not(exists(f:*[starts-with(local-name(.), 'value')])) or not(count(for $coding in f:code/f:coding return parent::*/f:component/f:code/f:coding[f:code/@value=$coding/f:code/@value and f:system/@value=$coding/f:system/@value])=0)",
                  "source": "Observation"
                },
                {
                  "key": "obs-6",
                  "severity": "error",
                  "human": "dataAbsentReason SHALL only be present if Observation.value[x] is not present",
                  "expression": "dataAbsentReason.empty() or value.empty()",
                  "xpath": "not(exists(f:dataAbsentReason)) or (not(exists(*[starts-with(local-name(.), 'value')])))",
                  "source": "Observation"
                },
                {
                  "key": "vs-2",
                  "severity": "error",
                  "human": "If there is no component or related element then either a value[x] or a data absent reason must be present",
                  "expression": "(component.empty() and related.empty()) implies (dataAbsentReason or value)",
                  "xpath": "exists(f:component) or exists(f:related) or exists(f:*[starts-with(local-name(.), 'value')]) or exists(f:dataAbsentReason)",
                  "source": "Observation"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Entity. Role, or Act"
                },
                {
                  "identity": "workflow",
                  "map": "Event"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity|"
                },
                {
                  "identity": "v2",
                  "map": "OBX"
                },
                {
                  "identity": "rim",
                  "map": "Observation[classCode=OBS, moodCode=EVN]"
                },
                {
                  "identity": "w5",
                  "map": "clinical.diagnostics"
                }
              ]
            },
            {
              "id": "Observation.id",
              "path": "Observation.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "Observation.meta",
              "path": "Observation.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "Observation.implicitRules",
              "path": "Observation.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"
                }
              ],
              "isModifier": true,
              "isSummary": true
            },
            {
              "id": "Observation.language",
              "path": "Observation.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"
                }
              ],
              "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"
                }
              }
            },
            {
              "id": "Observation.text",
              "path": "Observation.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": [
                "dom-1"
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Act.text?"
                }
              ]
            },
            {
              "id": "Observation.contained",
              "path": "Observation.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": "N/A"
                }
              ]
            },
            {
              "id": "Observation.extension",
              "path": "Observation.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.modifierExtension",
              "path": "Observation.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 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"
                }
              ],
              "isModifier": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.identifier",
              "path": "Observation.identifier",
              "short": "Business Identifier for observation",
              "definition": "A unique identifier assigned to this observation.",
              "requirements": "Allows observations to be distinguished and referenced.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.identifier",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Identifier"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.identifier"
                },
                {
                  "identity": "v2",
                  "map": "OBX.21  For OBX segments from systems without OBX-21 support a combination of ORC/OBR and OBX must be negotiated between trading partners to uniquely identify the OBX segment. Depending on how V2 has been implemented each of these may be an option: 1) OBR-3 + OBX-3 + OBX-4 or 2) OBR-3 + OBR-4 + OBX-3 + OBX-4 or 2) some other way to uniquely ID the OBR/ORC + OBX-3 + OBX-4."
                },
                {
                  "identity": "rim",
                  "map": "id"
                },
                {
                  "identity": "w5",
                  "map": "id"
                }
              ]
            },
            {
              "id": "Observation.basedOn",
              "path": "Observation.basedOn",
              "short": "Fulfills plan, proposal or order",
              "definition": "A plan, proposal or order that is fulfilled in whole or in part by this event.",
              "requirements": "Allows tracing of authorization for the event and tracking whether proposals/recommendations were acted upon.",
              "alias": [
                "Fulfills"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.basedOn",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/CarePlan"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/DeviceRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ImmunizationRecommendation"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/NutritionOrder"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ProcedureRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ReferralRequest"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.basedOn"
                },
                {
                  "identity": "v2",
                  "map": "ORC"
                },
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=FLFS].target"
                }
              ]
            },
            {
              "id": "Observation.status",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-display-hint",
                  "valueString": "default: final"
                }
              ],
              "path": "Observation.status",
              "short": "registered | preliminary | final | amended +",
              "definition": "The status of the result value.",
              "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
              "requirements": "Need to track the status of individual results. Some results are finalized before the whole report is finalized.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.status",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "mustSupport": true,
              "isModifier": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "Status"
                  }
                ],
                "strength": "required",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-status"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.status"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 445584004 |Report by finality status|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-11"
                },
                {
                  "identity": "rim",
                  "map": "status  Amended & Final are differentiated by whether it is the subject of a ControlAct event with a type of \"revise\""
                },
                {
                  "identity": "w5",
                  "map": "status"
                }
              ]
            },
            {
              "id": "Observation.category",
              "path": "Observation.category",
              "short": "Classification of  type of observation",
              "definition": "A code that classifies the general type of observation being made.",
              "comment": "In addition to the required category valueset, this element allows various categorization schemes based on the owner’s definition of the category and effectively multiple categories can be used at once.  The level of granularity is defined by the category concepts in the value set.",
              "requirements": "Used for filtering what observations are retrieved and displayed.",
              "min": 1,
              "max": "*",
              "base": {
                "path": "Observation.category",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "constraint": [
                {
                  "key": "vs-4",
                  "severity": "error",
                  "human": "Must have a category of 'vital-signs' and a code system 'http://hl7.org/fhir/observation-category'",
                  "expression": "where(coding.system='http://hl7.org/fhir/observation-category' and coding.code='vital-signs').exists()",
                  "xpath": "exists(f:coding/code[@value='vital-signs']) and exists(f:coding/system[@value='http://hl7.org/fhir/observation-category'])"
                }
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationCategory"
                  }
                ],
                "strength": "preferred",
                "description": "Codes for high level observation categories.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-category"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=\"COMP].target[classCode=\"LIST\", moodCode=\"EVN\"].code"
                },
                {
                  "identity": "w5",
                  "map": "class"
                }
              ]
            },
            {
              "id": "Observation.code",
              "path": "Observation.code",
              "short": "Body Mass Index (BMI)",
              "definition": "Body Mass Index (BMI).",
              "comment": "additional codes that translate or map to this code are allowed.  For example a more granular LOINC code or code that is used locally in a system.",
              "requirements": "5. SHALL contain exactly one [1..1] code, where the @code SHOULD be selected from ValueSet HITSP Vital Sign Result Type 2.16.840.1.113883.3.88.12.80.62 DYNAMIC (CONF:7301).",
              "alias": [
                "Name",
                "Test",
                "Name"
              ],
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.code",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSigns"
                  }
                ],
                "strength": "extensible",
                "description": "This identifies the vital sign result type.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-vitalsignresult"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.code"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity| OR < 386053000 |Evaluation procedure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-3"
                },
                {
                  "identity": "rim",
                  "map": "code"
                },
                {
                  "identity": "sct-attr",
                  "map": "116680003 |Is a|"
                },
                {
                  "identity": "w5",
                  "map": "what"
                }
              ]
            },
            {
              "id": "Observation.code.id",
              "path": "Observation.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.code.extension",
              "path": "Observation.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.code.coding",
              "path": "Observation.code.coding",
              "slicing": {
                "discriminator": [
                  {
                    "type": "value",
                    "path": "code"
                  }
                ],
                "ordered": false,
                "rules": "open"
              },
              "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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.code.coding:bmicode",
              "path": "Observation.code.coding",
              "sliceName": "BMICode",
              "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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.code.coding:bmicode.id",
              "path": "Observation.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.code.coding:bmicode.extension",
              "path": "Observation.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.code.coding:bmicode.system",
              "path": "Observation.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": 0,
              "max": "1",
              "base": {
                "path": "Coding.system",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://loinc.org",
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "C*E.3"
                },
                {
                  "identity": "rim",
                  "map": "./codeSystem"
                },
                {
                  "identity": "orim",
                  "map": "fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem"
                }
              ]
            },
            {
              "id": "Observation.code.coding:bmicode.version",
              "path": "Observation.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": "1",
              "base": {
                "path": "Coding.version",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "C*E.7"
                },
                {
                  "identity": "rim",
                  "map": "./codeSystemVersion"
                },
                {
                  "identity": "orim",
                  "map": "fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion"
                }
              ]
            },
            {
              "id": "Observation.code.coding:bmicode.code",
              "path": "Observation.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).",
              "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"
                }
              ],
              "fixedCode": "39156-5",
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "C*E.1"
                },
                {
                  "identity": "rim",
                  "map": "./code"
                },
                {
                  "identity": "orim",
                  "map": "fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code"
                }
              ]
            },
            {
              "id": "Observation.code.coding:bmicode.display",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "Observation.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.",
              "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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.code.coding:bmicode.userSelected",
              "path": "Observation.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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.code.text",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "Observation.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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.subject",
              "path": "Observation.subject",
              "short": "Who and/or what this is about",
              "definition": "The patient, or group of patients, location, or device whose characteristics (direct or indirect) are described by the observation and into whose record the observation is placed.  Comments: Indirect characteristics may be those of a specimen, fetus, donor,  other observer (for example a relative or EMT), or any observation made about the subject.",
              "comment": "One would expect this element to be a cardinality  of 1..1.  The only circumstance in which the subject can be missing is when the observation is made by a device that does not know the patient. In this case, the observation SHALL be matched to a patient through some context/channel matching technique, and at this point, the observation should be updated.\r\rIf the target of the observation is different than the subject, the general extension [observation-focal-subject](extension-observation-focal-subject.html).  may be used.  However, the distinction between the patient's own value for an observation versus that of the fetus, or the donor or blood product unit, etc., are often specified in the observation code.",
              "requirements": "Observations have no value if you don't know who or what they're about.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.subject",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.subject"
                },
                {
                  "identity": "v2",
                  "map": "PID-3"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=SBJ]"
                },
                {
                  "identity": "w5",
                  "map": "who.focus"
                }
              ]
            },
            {
              "id": "Observation.context",
              "path": "Observation.context",
              "short": "Healthcare event during which this observation is made",
              "definition": "The healthcare event  (e.g. a patient and healthcare provider interaction) during which this observation is made.",
              "comment": "This will typically be the encounter the event occurred within, but some events may be initiated prior to or after the official completion of an encounter or episode but still be tied to the context of the encounter or episode (e.g. pre-admission lab tests).",
              "requirements": "For some observations it may be important to know the link between an observation and a particular encounter.",
              "alias": [
                "Encounter"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.context",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
                }
              ],
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.context"
                },
                {
                  "identity": "v2",
                  "map": "PV1"
                },
                {
                  "identity": "rim",
                  "map": "inboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN]"
                },
                {
                  "identity": "w5",
                  "map": "context"
                }
              ]
            },
            {
              "id": "Observation.effective[x]",
              "path": "Observation.effective[x]",
              "short": "Often just a dateTime for Vital Signs",
              "definition": "Often just a dateTime for Vital Signs.",
              "comment": "At least a date should be present unless this observation is a historical report.",
              "requirements": "Knowing when an observation was deemed true is important to its relevance as well as determining trends.",
              "alias": [
                "Occurrence"
              ],
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.effective[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "dateTime"
                },
                {
                  "code": "Period"
                }
              ],
              "constraint": [
                {
                  "key": "vs-1",
                  "severity": "error",
                  "human": "Datetime must be at least to day.",
                  "expression": "($this as dateTime).toString().length() >= 8",
                  "xpath": "f:matches(effectiveDateTime,/\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d([+-][0-2]\\d:[0-5]\\d|Z)/)"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.occurrence[x]"
                },
                {
                  "identity": "v2",
                  "map": "OBX-14, and/or OBX-19 after v2.4  (depends on who observation made)"
                },
                {
                  "identity": "rim",
                  "map": "effectiveTime"
                },
                {
                  "identity": "w5",
                  "map": "when.done"
                }
              ]
            },
            {
              "id": "Observation.issued",
              "path": "Observation.issued",
              "short": "Date/Time this was made available",
              "definition": "The date and time this observation was made available to providers, typically after the results have been reviewed and verified.",
              "comment": "Updated when the result is updated.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.issued",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "instant"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBR.22 (or MSH.7), or perhaps OBX-19 (depends on who observation made)"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=AUT].time"
                },
                {
                  "identity": "w5",
                  "map": "when.recorded"
                }
              ]
            },
            {
              "id": "Observation.performer",
              "path": "Observation.performer",
              "short": "Who is responsible for the observation",
              "definition": "Who was responsible for asserting the observed value as \"true\".",
              "requirements": "May give a degree of confidence in the observation and also indicates where follow-up questions should be directed.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.performer",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.performer"
                },
                {
                  "identity": "v2",
                  "map": "OBX.15 / (Practitioner)  OBX-16,  PRT-5:PRT-4='RO' /  (Device)  OBX-18 , PRT-10:PRT-4='EQUIP' / (Organization)  OBX-23,  PRT-8:PRT-4='PO'"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=PRF]"
                },
                {
                  "identity": "w5",
                  "map": "who.actor"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity",
              "path": "Observation.valueQuantity",
              "short": "Vital Sign Value recorded with UCUM",
              "definition": "Vital Sign Value recorded with UCUM.",
              "comment": "Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. This element has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueString, valueBoolean, valueRange, valueRatio, valueSampledData, valueAttachment, valueTime, valueDateTime, or valuePeriod. (The name format is \"'value' + the type name\" with a capital on the first letter of the type).\r\r\rIf the data element is usually coded or if the type associated with the Observation.value defines a coded value, use CodeableConcept instead of string datatype even if the value is uncoded text.  A value set is bound to the ValueCodeableConcept element.    For further discussion and examples see the  [notes section](observation.html#notes) below.",
              "requirements": "9. SHALL contain exactly one [1..1] value with @xsi:type=\"PQ\" (CONF:7305).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.value[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity"
                }
              ],
              "condition": [
                "obs-7"
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSignsUnits"
                  }
                ],
                "strength": "required",
                "description": "Common UCUM units for recording Vital Signs",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/ucum-vitals-common"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.notDone, Event.notDoneReason  (maps to valeu[x] or dataAbsentReason)"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 441742003 |Evaluation finding|"
                },
                {
                  "identity": "v2",
                  "map": "OBX.2, OBX.5, OBX.6"
                },
                {
                  "identity": "rim",
                  "map": "value"
                },
                {
                  "identity": "sct-attr",
                  "map": "363714003 |Interprets|"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.id",
              "path": "Observation.valueQuantity.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.extension",
              "path": "Observation.valueQuantity.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.value",
              "path": "Observation.valueQuantity.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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.value",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "decimal"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.valueQuantity.comparator",
              "path": "Observation.valueQuantity.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",
              "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": "v2",
                  "map": "SN.1  / CQ.1"
                },
                {
                  "identity": "rim",
                  "map": "IVL properties"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.unit",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "Observation.valueQuantity.unit",
              "short": "Unit representation",
              "definition": "A human-readable form of the unit.",
              "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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.unit",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "PQ.unit"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.system",
              "path": "Observation.valueQuantity.system",
              "short": "System that defines coded unit form",
              "definition": "The identification of the system that provides the coded form of the unit.",
              "requirements": "Need to know the system that defines the coded form of the unit.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Quantity.system",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://unitsofmeasure.org",
              "condition": [
                "qty-3"
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "CO.codeSystem, PQ.translation.codeSystem"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.code",
              "path": "Observation.valueQuantity.code",
              "short": "Coded responses from the common UCUM units for vital signs value set.",
              "definition": "Coded responses from the common UCUM units for vital signs value set.",
              "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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.code",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "fixedCode": "kg/m2",
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "PQ.code, MO.currency, PQ.translation.code"
                }
              ]
            },
            {
              "id": "Observation.dataAbsentReason",
              "path": "Observation.dataAbsentReason",
              "short": "Why the result is missing",
              "definition": "Provides a reason why the expected value in the element Observation.value[x] is missing.",
              "comment": "Null or exceptional values can be represented two ways in FHIR Observations.  One way is to simply include them in the value set and represent the exceptions in the value.  For example, measurement values for a serology test could be  \"detected\", \"not detected\", \"inconclusive\", or  \"specimen unsatisfactory\".   The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values.  For example, the dataAbsentReason code \"error\" could be used when the measurement was not completed. Note that an observation may only be reported if there are values to report. For example differential cell counts values may be reported only when > 0.  Because of these options, use-case agreements are required to interpret general observations for null or exceptional values.",
              "requirements": "For many results it is necessary to handle exceptional values in measurements.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.dataAbsentReason",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "condition": [
                "obs-6"
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "DAR"
                  }
                ],
                "strength": "extensible",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-valueabsentreason"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.notDone, Event.notDoneReason  (maps to valeu[x] or dataAbsentReason)"
                },
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": "value.nullFlavor"
                }
              ]
            },
            {
              "id": "Observation.interpretation",
              "path": "Observation.interpretation",
              "short": "High, low, normal, etc.",
              "definition": "The assessment made based on the result of the observation.  Intended as a simple compact code often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result. Otherwise known as abnormal flag.",
              "requirements": "For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result.",
              "alias": [
                "Abnormal Flag"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.interpretation",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationInterpretation"
                  }
                ],
                "strength": "extensible",
                "description": "Codes identifying interpretations of observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-interpretation"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-8"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "363713009 |Has interpretation|"
                }
              ]
            },
            {
              "id": "Observation.comment",
              "path": "Observation.comment",
              "short": "Comments about result",
              "definition": "May include statements about significant, unexpected or unreliable values, or information about the source of the value where this may be relevant to the interpretation of the result.",
              "requirements": "Need to be able to provide free text additional information.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.comment",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.note"
                },
                {
                  "identity": "v2",
                  "map": "NTE.3 (partner NTE to OBX, or sometimes another (child?) OBX)"
                },
                {
                  "identity": "rim",
                  "map": "subjectOf.observationEvent[code=\"annotation\"].value"
                }
              ]
            },
            {
              "id": "Observation.bodySite",
              "path": "Observation.bodySite",
              "short": "Observed body part",
              "definition": "Indicates the site on the subject's body where the observation was made (i.e. the target site).",
              "comment": "Only used if not implicit in code found in Observation.code.  In many systems, this may be represented as a related observation instead of an inline component.   If the use case requires BodySite to be handled as a separate resource (e.g. to identify and track separately) then use the standard extension[ body-site-instance](extension-body-site-instance.html).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.bodySite",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "BodySite"
                  }
                ],
                "strength": "example",
                "description": "Codes describing anatomical locations. May include laterality.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/body-site"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 123037004 |Body structure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-20"
                },
                {
                  "identity": "rim",
                  "map": "targetSiteCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "718497002 |Inherent location|"
                }
              ]
            },
            {
              "id": "Observation.method",
              "path": "Observation.method",
              "short": "How it was done",
              "definition": "Indicates the mechanism used to perform the observation.",
              "comment": "Only used if not implicit in code for Observation.code.",
              "requirements": "In some cases, method can impact results and is thus used for determining whether results can be compared or determining significance of results.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.method",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationMethod"
                  }
                ],
                "strength": "example",
                "description": "Methods for simple observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-methods"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-17"
                },
                {
                  "identity": "rim",
                  "map": "methodCode"
                }
              ]
            },
            {
              "id": "Observation.specimen",
              "path": "Observation.specimen",
              "short": "Specimen used for this observation",
              "definition": "The specimen that was used when this observation was made.",
              "comment": "Should only be used if not implicit in code found in `Observation.code`.  Observations are not made on specimens themselves; they are made on a subject, but in many cases by the means of a specimen. Note that although specimens are often involved, they are not always tracked and reported explicitly. Also note that observation resources may be used in contexts that track the specimen explicitly (e.g. Diagnostic Report).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.specimen",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Specimen"
                }
              ],
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 123038009 |Specimen|"
                },
                {
                  "identity": "v2",
                  "map": "SPM segment"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=SPC].specimen"
                },
                {
                  "identity": "sct-attr",
                  "map": "704319004 |Inherent in|"
                }
              ]
            },
            {
              "id": "Observation.device",
              "path": "Observation.device",
              "short": "(Measurement) Device",
              "definition": "The device used to generate the observation data.",
              "comment": "An extension should be used if further typing of the device is needed.  Devices used to support obtaining an observation can be represented using either an extension or through the Observation.related element.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.device",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/DeviceMetric"
                }
              ],
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 49062001 |Device|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-17 / PRT -10"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=DEV]"
                },
                {
                  "identity": "sct-attr",
                  "map": "424226004 |Using device|"
                }
              ]
            },
            {
              "id": "Observation.referenceRange",
              "path": "Observation.referenceRange",
              "short": "Provides guide for interpretation",
              "definition": "Guidance on how to interpret the value by comparison to a normal or recommended range.",
              "comment": "Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.",
              "requirements": "Knowing what values are considered \"normal\" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.referenceRange",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "key": "obs-3",
                  "severity": "error",
                  "human": "Must have at least a low or a high or text",
                  "expression": "low.exists() or high.exists() or text.exists()",
                  "xpath": "(exists(f:low) or exists(f:high)or exists(f:text))"
                }
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX.7"
                },
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.id",
              "path": "Observation.referenceRange.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.extension",
              "path": "Observation.referenceRange.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.modifierExtension",
              "path": "Observation.referenceRange.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.low",
              "path": "Observation.referenceRange.low",
              "short": "Low Range, if relevant",
              "definition": "The value of the low bound of the reference range.  The low bound of the reference range endpoint is inclusive of the value (e.g.  reference range is >=5 - <=9).   If the low bound is omitted,  it is assumed to be meaningless (e.g. reference range is <=2.3).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.low",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity",
                  "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
                }
              ],
              "condition": [
                "obs-3"
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-7"
                },
                {
                  "identity": "rim",
                  "map": "value:IVL_PQ.low"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.high",
              "path": "Observation.referenceRange.high",
              "short": "High Range, if relevant",
              "definition": "The value of the high bound of the reference range.  The high bound of the reference range endpoint is inclusive of the value (e.g.  reference range is >=5 - <=9).   If the high bound is omitted,  it is assumed to be meaningless (e.g. reference range is >= 2.3).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.high",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity",
                  "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
                }
              ],
              "condition": [
                "obs-3"
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-7"
                },
                {
                  "identity": "rim",
                  "map": "value:IVL_PQ.high"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.type",
              "path": "Observation.referenceRange.type",
              "short": "Reference range qualifier",
              "definition": "Codes to indicate the what part of the targeted reference population it applies to. For example, the normal or therapeutic range.",
              "comment": "This SHOULD be populated if there is more than one range.  If this element is not present then the normal range is assumed.",
              "requirements": "Need to be able to say what kind of reference range this is - normal, recommended, therapeutic, etc,  - for proper interpretation.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.type",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRangeMeaning"
                  }
                ],
                "strength": "extensible",
                "description": "Code for the meaning of a reference range.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/referencerange-meaning"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values| OR  \r< 365860008 |General clinical state finding| \rOR \r< 250171008 |Clinical history or observation findings| OR  \r< 415229000 |Racial group| OR \r< 365400002 |Finding of puberty stage| OR\r< 443938003 |Procedure carried out on subject|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-10"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.appliesTo",
              "path": "Observation.referenceRange.appliesTo",
              "short": "Reference range population",
              "definition": "Codes to indicate the target population this reference range applies to.  For example, a reference range may be based on the normal population or a particular sex or race.",
              "comment": "This SHOULD be populated if there is more than one range.  If this element is not present then the normal population is assumed.",
              "requirements": "Need to be able to identify the target population for proper interpretation.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.referenceRange.appliesTo",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRangeType"
                  }
                ],
                "strength": "example",
                "description": "Codes identifying the population the reference range applies to.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/referencerange-appliesto"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values| OR  \r< 365860008 |General clinical state finding| \rOR \r< 250171008 |Clinical history or observation findings| OR  \r< 415229000 |Racial group| OR \r< 365400002 |Finding of puberty stage| OR\r< 443938003 |Procedure carried out on subject|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-10"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.age",
              "path": "Observation.referenceRange.age",
              "short": "Applicable age range, if relevant",
              "definition": "The age at which this reference range is applicable. This is a neonatal age (e.g. number of weeks at term) if the meaning says so.",
              "requirements": "Some analytes vary greatly over age.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.age",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Range"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=PRCN].targetObservationCriterion[code=\"age\"].value"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.text",
              "path": "Observation.referenceRange.text",
              "short": "Text based reference range in an observation",
              "definition": "Text based reference range in an observation which may be used when a quantitative range is not appropriate for an observation.  An example would be a reference value of \"Negative\" or a list or table of 'normals'.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.text",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-7"
                },
                {
                  "identity": "rim",
                  "map": "value:ST"
                }
              ]
            },
            {
              "id": "Observation.related",
              "path": "Observation.related",
              "short": "Used when reporting vital signs panel components",
              "definition": "Used when reporting vital signs panel components.",
              "comment": "For a discussion on the ways Observations can assembled in groups together see [Notes below](observation.html#4.20.4).",
              "requirements": "Normally, an observation will have either a value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and a set of related observations or sometimes a QuestionnaireResponse from which the measure is derived.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.related",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "Relationships established by OBX-4 usage"
                },
                {
                  "identity": "rim",
                  "map": "outBoundRelationship"
                }
              ]
            },
            {
              "id": "Observation.related.id",
              "path": "Observation.related.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.related.extension",
              "path": "Observation.related.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.related.modifierExtension",
              "path": "Observation.related.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.related.type",
              "path": "Observation.related.type",
              "short": "has-member | derived-from | sequel-to | replaces | qualified-by | interfered-by",
              "definition": "A code specifying the kind of relationship that exists with the target resource.",
              "comment": "The \"derived-from\" type is the only logical choice when referencing the QuestionnaireAnswer resource.",
              "requirements": "A relationship type SHOULD be provided.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.related.type",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "fixedCode": "has-member",
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRelationshipType"
                  }
                ],
                "strength": "required",
                "description": "Codes specifying how two observations are related.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-relationshiptypes"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": ".typeCode"
                }
              ]
            },
            {
              "id": "Observation.related.target",
              "path": "Observation.related.target",
              "short": "Resource that is related to this one",
              "definition": "A reference to the observation or [QuestionnaireResponse](questionnaireresponse.html#) resource that is related to this observation.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.related.target",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/vitalsigns"
                }
              ],
              "mustSupport": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".targetObservation"
                }
              ]
            },
            {
              "id": "Observation.component",
              "path": "Observation.component",
              "short": "Used when reporting systolic and diastolic blood pressure.",
              "definition": "Used when reporting systolic and diastolic blood pressure.",
              "comment": "For a discussion on the ways Observations can be assembled in groups together see [Notes](observation.html#notes) below.",
              "requirements": "Component observations share the same attributes in the Observation resource as the primary observation and are always treated a part of a single observation (they are not separable).   However, the reference range for the primary observation value is not inherited by the component values and is required when appropriate for each component observation.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.component",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "key": "vs-3",
                  "severity": "error",
                  "human": "If there is no a value a data absent reason must be present",
                  "expression": "value.exists() or dataAbsentReason.exists()",
                  "xpath": "exists(f:*[starts-with(local-name(.), 'value')]) or exists(f:dataAbsentReason)"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "containment by OBX-4?"
                },
                {
                  "identity": "rim",
                  "map": "outBoundRelationship[typeCode=COMP]"
                }
              ]
            },
            {
              "id": "Observation.component.id",
              "path": "Observation.component.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.extension",
              "path": "Observation.component.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.modifierExtension",
              "path": "Observation.component.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.component.code",
              "path": "Observation.component.code",
              "short": "Type of component observation (code / type)",
              "definition": "Describes what was observed. Sometimes this is called the observation \"code\".",
              "requirements": "Knowing what kind of observation is being made is essential to understanding the observation.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.component.code",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSigns"
                  }
                ],
                "strength": "extensible",
                "description": "This identifies the vital sign result type.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-vitalsignresult"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity| OR \r< 386053000 |Evaluation procedure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-3"
                },
                {
                  "identity": "rim",
                  "map": "code"
                },
                {
                  "identity": "w5",
                  "map": "what"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity",
              "path": "Observation.component.valueQuantity",
              "short": "Vital Sign Value recorded with UCUM",
              "definition": "Vital Sign Value recorded with UCUM.",
              "comment": "Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value.   For boolean values use valueCodeableConcept and select codes from <http://hl7.org/fhir/ValueSet/v2-0136> (these \"yes/no\" concepts can be mapped to the display name \"true/false\" or other mutually exclusive terms that may be needed\").  The element, Observation.value[x], has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueRatio, valueChoice, valuePeriod, valueSampleData, or valueString (the name format is \"'value' + the type name\" with a capital on the first letter of the type).",
              "requirements": "9. SHALL contain exactly one [1..1] value with @xsi:type=\"PQ\" (CONF:7305).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.value[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSignsUnits"
                  }
                ],
                "strength": "required",
                "description": "Common UCUM units for recording Vital Signs",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/ucum-vitals-common"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "363714003 |Interprets| < 441742003 |Evaluation finding|"
                },
                {
                  "identity": "v2",
                  "map": "OBX.2, OBX.5, OBX.6"
                },
                {
                  "identity": "rim",
                  "map": "value"
                },
                {
                  "identity": "sct-attr",
                  "map": "363714003 |Interprets|"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.id",
              "path": "Observation.component.valueQuantity.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.extension",
              "path": "Observation.component.valueQuantity.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.value",
              "path": "Observation.component.valueQuantity.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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.value",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "decimal"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.component.valueQuantity.comparator",
              "path": "Observation.component.valueQuantity.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",
              "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": "v2",
                  "map": "SN.1  / CQ.1"
                },
                {
                  "identity": "rim",
                  "map": "IVL properties"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.unit",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "Observation.component.valueQuantity.unit",
              "short": "Unit representation",
              "definition": "A human-readable form of the unit.",
              "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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.unit",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "PQ.unit"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.system",
              "path": "Observation.component.valueQuantity.system",
              "short": "System that defines coded unit form",
              "definition": "The identification of the system that provides the coded form of the unit.",
              "requirements": "Need to know the system that defines the coded form of the unit.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Quantity.system",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://unitsofmeasure.org",
              "condition": [
                "qty-3"
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "CO.codeSystem, PQ.translation.codeSystem"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.code",
              "path": "Observation.component.valueQuantity.code",
              "short": "Coded responses from the common UCUM units for vital signs value set.",
              "definition": "Coded responses from the common UCUM units for vital signs value set.",
              "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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.code",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "PQ.code, MO.currency, PQ.translation.code"
                }
              ]
            },
            {
              "id": "Observation.component.dataAbsentReason",
              "path": "Observation.component.dataAbsentReason",
              "short": "Why the component result is missing",
              "definition": "Provides a reason why the expected value in the element Observation.value[x] is missing.",
              "comment": "\"Null\" or exceptional values can be represented two ways in FHIR Observations.  One way is to simply include them in the value set and represent the exceptions in the value.  For example, measurement values for a serology test could be  \"detected\", \"not detected\", \"inconclusive\", or  \"test not done\".   The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values.  For example, the dataAbsentReason code \"error\" could be used when the measurement was not completed.  Because of these options, use-case agreements are required to interpret general observations for exceptional values.",
              "requirements": "For many results it is necessary to handle exceptional values in measurements.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.dataAbsentReason",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "condition": [
                "obs-6"
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "DAR"
                  }
                ],
                "strength": "extensible",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-valueabsentreason"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": "value.nullFlavor"
                }
              ]
            },
            {
              "id": "Observation.component.interpretation",
              "path": "Observation.component.interpretation",
              "short": "High, low, normal, etc.",
              "definition": "The assessment made based on the result of the observation.  Intended as a simple compact code often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result. Otherwise known as abnormal flag.",
              "comment": "The component interpretation applies only to the individual component value.  For an overall interpretation all components together use thes Observation.interpretation element.",
              "requirements": "For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result.",
              "alias": [
                "Abnormal Flag"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.interpretation",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationInterpretation"
                  }
                ],
                "strength": "extensible",
                "description": "Codes identifying interpretations of observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-interpretation"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-8"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "363713009 |Has interpretation|"
                }
              ]
            },
            {
              "id": "Observation.component.referenceRange",
              "path": "Observation.component.referenceRange",
              "short": "Provides guide for interpretation of component result",
              "definition": "Guidance on how to interpret the value by comparison to a normal or recommended range.",
              "comment": "Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.",
              "requirements": "Knowing what values are considered \"normal\" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.component.referenceRange",
                "min": 0,
                "max": "*"
              },
              "contentReference": "#Observation.referenceRange",
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX.7"
                },
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]"
                }
              ]
            }
          ]
        },
        "differential": {
          "element": [
            {
              "id": "Observation",
              "path": "Observation",
              "short": "FHIR Body Mass Index (BMI) Profile",
              "definition": "This profile defines  how to represent Body Mass Index (BMI) observations in FHIR using a standard LOINC code and UCUM units of measure.",
              "min": 0,
              "max": "*"
            },
            {
              "id": "Observation.code",
              "path": "Observation.code",
              "short": "Body Mass Index (BMI)",
              "definition": "Body Mass Index (BMI).",
              "comment": "additional codes that translate or map to this code are allowed.  For example a more granular LOINC code or code that is used locally in a system.",
              "alias": [
                "Test",
                "Name"
              ]
            },
            {
              "id": "Observation.code.coding",
              "path": "Observation.code.coding",
              "slicing": {
                "discriminator": [
                  {
                    "type": "value",
                    "path": "code"
                  }
                ],
                "ordered": false,
                "rules": "open"
              }
            },
            {
              "id": "Observation.code.coding:bmicode",
              "path": "Observation.code.coding",
              "sliceName": "BMICode"
            },
            {
              "id": "Observation.code.coding:bmicode.system",
              "path": "Observation.code.coding.system",
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://loinc.org"
            },
            {
              "id": "Observation.code.coding:bmicode.code",
              "path": "Observation.code.coding.code",
              "type": [
                {
                  "code": "code"
                }
              ],
              "fixedCode": "39156-5"
            },
            {
              "id": "Observation.valueQuantity",
              "path": "Observation.valueQuantity"
            },
            {
              "id": "Observation.valueQuantity.code",
              "path": "Observation.valueQuantity.code",
              "type": [
                {
                  "code": "code"
                }
              ],
              "fixedCode": "kg/m2"
            }
          ]
        }
      }
    },
    {
      "fullUrl": "http://hl7.org/fhir/StructureDefinition/bp",
      "resource": {
        "resourceType": "StructureDefinition",
        "id": "bp",
        "text": {
          "status": "generated",
          "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">to do</div>"
        },
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-summary",
            "valueMarkdown": "####Complete Summary of the Mandatory Requirements\r\r1.  One code in `Observation.code` which must have\r    -   a fixed `Observation.code.coding.system`=**'http ://loinc.org'**\r    -   a fixed  `Observation.code.coding.code`= **85354-9'**\r    -   Other additional codes are allowed - e.g. more specific LOINC\r        Codes, SNOMED CT concepts, system specific codes. All codes\r        SHALL have an system value\r2.  One  `Observation.component.code`  which must have\r    -   a fixed `Observation.component.code.coding.system`=**'http://loinc.org'**\r    -   fixed  `Observation.component.code.coding.code`= **'8480-6'**\r    -   Other additional codes are allowed - e.g. more specific LOINC\r        Codes, SNOMED CT concepts, system specific codes. All codes\r        SHALL have an system value\r3.   One  `Observation.component.code`  which must have\r    -   a fixed `Observation.component.code.coding.system`=**'http://loinc.org'**\r    -   fixed  `Observation.component.code.coding.code`= **'8462-4'**\r    -   Other additional codes are allowed - e.g. more specific LOINC\r        Codes, SNOMED CT concepts, system specific codes. All codes\r        SHALL have an system value\r4.  fixed`Observation.component.valueQuantity.code` = **'mm[Hg]'**"
          }
        ],
        "url": "http://hl7.org/fhir/StructureDefinition/bp",
        "name": "Vital Signs Profile",
        "title": "VitalSigns",
        "status": "draft",
        "experimental": false,
        "date": "2016-03-25",
        "publisher": "Health Level Seven International (Orders and Observations Workgroup)",
        "contact": [
          {
            "telecom": [
              {
                "system": "url",
                "value": "http://www.hl7.org/Special/committees/orders/index.cfm Orders and Observations"
              }
            ]
          }
        ],
        "description": "FHIR Blood Pressure Profile",
        "fhirVersion": "3.0.1",
        "mapping": [
          {
            "identity": "workflow",
            "uri": "http://hl7.org/fhir/workflow",
            "name": "Workflow Mapping"
          },
          {
            "identity": "sct-concept",
            "uri": "http://snomed.info/conceptdomain",
            "name": "SNOMED CT Concept Domain Binding"
          },
          {
            "identity": "v2",
            "uri": "http://hl7.org/v2",
            "name": "HL7 v2 Mapping"
          },
          {
            "identity": "rim",
            "uri": "http://hl7.org/v3",
            "name": "RIM Mapping"
          },
          {
            "identity": "w5",
            "uri": "http://hl7.org/fhir/w5",
            "name": "W5 Mapping"
          },
          {
            "identity": "sct-attr",
            "uri": "http://snomed.info/sct",
            "name": "SNOMED CT Attribute Binding"
          }
        ],
        "kind": "resource",
        "abstract": false,
        "type": "Observation",
        "baseDefinition": "http://hl7.org/fhir/StructureDefinition/vitalsigns",
        "derivation": "constraint",
        "snapshot": {
          "element": [
            {
              "id": "Observation",
              "path": "Observation",
              "short": "FHIR Blood Pressure Profile",
              "definition": "This profile defines  how to represent Blood Pressure observations in FHIR using a standard LOINC code and UCUM units of measure.  This is a grouping structure. It has no value in Observation.valueQuantity but contains at least one component (systolic and/or diastolic).",
              "comment": "Used for simple observations such as device measurements, laboratory atomic results, vital signs, height, weight, smoking status, comments, etc.  Other resources are used to provide context for observations such as lab reports, etc.",
              "alias": [
                "Vital Signs",
                "Measurement",
                "Results",
                "Tests"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation",
                "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)",
                  "source": "DomainResource"
                },
                {
                  "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)",
                  "source": "DomainResource"
                },
                {
                  "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))",
                  "source": "DomainResource"
                },
                {
                  "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))]))",
                  "source": "DomainResource"
                },
                {
                  "key": "obs-7",
                  "severity": "error",
                  "human": "If code is the same as a component code then the value element associated with the code SHALL NOT be present",
                  "expression": "value.empty() or code!=component.code",
                  "xpath": "not(exists(f:*[starts-with(local-name(.), 'value')])) or not(count(for $coding in f:code/f:coding return parent::*/f:component/f:code/f:coding[f:code/@value=$coding/f:code/@value and f:system/@value=$coding/f:system/@value])=0)",
                  "source": "Observation"
                },
                {
                  "key": "obs-6",
                  "severity": "error",
                  "human": "dataAbsentReason SHALL only be present if Observation.value[x] is not present",
                  "expression": "dataAbsentReason.empty() or value.empty()",
                  "xpath": "not(exists(f:dataAbsentReason)) or (not(exists(*[starts-with(local-name(.), 'value')])))",
                  "source": "Observation"
                },
                {
                  "key": "vs-2",
                  "severity": "error",
                  "human": "If there is no component or related element then either a value[x] or a data absent reason must be present",
                  "expression": "(component.empty() and related.empty()) implies (dataAbsentReason or value)",
                  "xpath": "exists(f:component) or exists(f:related) or exists(f:*[starts-with(local-name(.), 'value')]) or exists(f:dataAbsentReason)",
                  "source": "Observation"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Entity. Role, or Act"
                },
                {
                  "identity": "workflow",
                  "map": "Event"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity|"
                },
                {
                  "identity": "v2",
                  "map": "OBX"
                },
                {
                  "identity": "rim",
                  "map": "Observation[classCode=OBS, moodCode=EVN]"
                },
                {
                  "identity": "w5",
                  "map": "clinical.diagnostics"
                }
              ]
            },
            {
              "id": "Observation.id",
              "path": "Observation.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "Observation.meta",
              "path": "Observation.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "Observation.implicitRules",
              "path": "Observation.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"
                }
              ],
              "isModifier": true,
              "isSummary": true
            },
            {
              "id": "Observation.language",
              "path": "Observation.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"
                }
              ],
              "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"
                }
              }
            },
            {
              "id": "Observation.text",
              "path": "Observation.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": [
                "dom-1"
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Act.text?"
                }
              ]
            },
            {
              "id": "Observation.contained",
              "path": "Observation.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": "N/A"
                }
              ]
            },
            {
              "id": "Observation.extension",
              "path": "Observation.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.modifierExtension",
              "path": "Observation.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 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"
                }
              ],
              "isModifier": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.identifier",
              "path": "Observation.identifier",
              "short": "Business Identifier for observation",
              "definition": "A unique identifier assigned to this observation.",
              "requirements": "Allows observations to be distinguished and referenced.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.identifier",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Identifier"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.identifier"
                },
                {
                  "identity": "v2",
                  "map": "OBX.21  For OBX segments from systems without OBX-21 support a combination of ORC/OBR and OBX must be negotiated between trading partners to uniquely identify the OBX segment. Depending on how V2 has been implemented each of these may be an option: 1) OBR-3 + OBX-3 + OBX-4 or 2) OBR-3 + OBR-4 + OBX-3 + OBX-4 or 2) some other way to uniquely ID the OBR/ORC + OBX-3 + OBX-4."
                },
                {
                  "identity": "rim",
                  "map": "id"
                },
                {
                  "identity": "w5",
                  "map": "id"
                }
              ]
            },
            {
              "id": "Observation.basedOn",
              "path": "Observation.basedOn",
              "short": "Fulfills plan, proposal or order",
              "definition": "A plan, proposal or order that is fulfilled in whole or in part by this event.",
              "requirements": "Allows tracing of authorization for the event and tracking whether proposals/recommendations were acted upon.",
              "alias": [
                "Fulfills"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.basedOn",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/CarePlan"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/DeviceRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ImmunizationRecommendation"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/NutritionOrder"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ProcedureRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ReferralRequest"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.basedOn"
                },
                {
                  "identity": "v2",
                  "map": "ORC"
                },
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=FLFS].target"
                }
              ]
            },
            {
              "id": "Observation.status",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-display-hint",
                  "valueString": "default: final"
                }
              ],
              "path": "Observation.status",
              "short": "registered | preliminary | final | amended +",
              "definition": "The status of the result value.",
              "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
              "requirements": "Need to track the status of individual results. Some results are finalized before the whole report is finalized.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.status",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "mustSupport": true,
              "isModifier": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "Status"
                  }
                ],
                "strength": "required",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-status"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.status"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 445584004 |Report by finality status|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-11"
                },
                {
                  "identity": "rim",
                  "map": "status  Amended & Final are differentiated by whether it is the subject of a ControlAct event with a type of \"revise\""
                },
                {
                  "identity": "w5",
                  "map": "status"
                }
              ]
            },
            {
              "id": "Observation.category",
              "path": "Observation.category",
              "short": "Classification of  type of observation",
              "definition": "A code that classifies the general type of observation being made.",
              "comment": "In addition to the required category valueset, this element allows various categorization schemes based on the owner’s definition of the category and effectively multiple categories can be used at once.  The level of granularity is defined by the category concepts in the value set.",
              "requirements": "Used for filtering what observations are retrieved and displayed.",
              "min": 1,
              "max": "*",
              "base": {
                "path": "Observation.category",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "constraint": [
                {
                  "key": "vs-4",
                  "severity": "error",
                  "human": "Must have a category of 'vital-signs' and a code system 'http://hl7.org/fhir/observation-category'",
                  "expression": "where(coding.system='http://hl7.org/fhir/observation-category' and coding.code='vital-signs').exists()",
                  "xpath": "exists(f:coding/code[@value='vital-signs']) and exists(f:coding/system[@value='http://hl7.org/fhir/observation-category'])"
                }
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationCategory"
                  }
                ],
                "strength": "preferred",
                "description": "Codes for high level observation categories.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-category"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=\"COMP].target[classCode=\"LIST\", moodCode=\"EVN\"].code"
                },
                {
                  "identity": "w5",
                  "map": "class"
                }
              ]
            },
            {
              "id": "Observation.code",
              "path": "Observation.code",
              "short": "Blood Pressure",
              "definition": "Blood Pressure.",
              "comment": "additional codes that translate or map to this code are allowed.  For example a more granular LOINC code or code that is used locally in a system.",
              "requirements": "5. SHALL contain exactly one [1..1] code, where the @code SHOULD be selected from ValueSet HITSP Vital Sign Result Type 2.16.840.1.113883.3.88.12.80.62 DYNAMIC (CONF:7301).",
              "alias": [
                "Name",
                "Test",
                "Name"
              ],
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.code",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSigns"
                  }
                ],
                "strength": "extensible",
                "description": "This identifies the vital sign result type.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-vitalsignresult"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.code"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity| OR < 386053000 |Evaluation procedure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-3"
                },
                {
                  "identity": "rim",
                  "map": "code"
                },
                {
                  "identity": "sct-attr",
                  "map": "116680003 |Is a|"
                },
                {
                  "identity": "w5",
                  "map": "what"
                }
              ]
            },
            {
              "id": "Observation.code.id",
              "path": "Observation.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.code.extension",
              "path": "Observation.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.code.coding",
              "path": "Observation.code.coding",
              "slicing": {
                "discriminator": [
                  {
                    "type": "value",
                    "path": "code"
                  }
                ],
                "ordered": false,
                "rules": "open"
              },
              "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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.code.coding:bpcode",
              "path": "Observation.code.coding",
              "sliceName": "BPCode",
              "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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.code.coding:bpcode.id",
              "path": "Observation.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.code.coding:bpcode.extension",
              "path": "Observation.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.code.coding:bpcode.system",
              "path": "Observation.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": 0,
              "max": "1",
              "base": {
                "path": "Coding.system",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://loinc.org",
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "C*E.3"
                },
                {
                  "identity": "rim",
                  "map": "./codeSystem"
                },
                {
                  "identity": "orim",
                  "map": "fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem"
                }
              ]
            },
            {
              "id": "Observation.code.coding:bpcode.version",
              "path": "Observation.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": "1",
              "base": {
                "path": "Coding.version",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "C*E.7"
                },
                {
                  "identity": "rim",
                  "map": "./codeSystemVersion"
                },
                {
                  "identity": "orim",
                  "map": "fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion"
                }
              ]
            },
            {
              "id": "Observation.code.coding:bpcode.code",
              "path": "Observation.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).",
              "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"
                }
              ],
              "fixedCode": "85354-9",
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "C*E.1"
                },
                {
                  "identity": "rim",
                  "map": "./code"
                },
                {
                  "identity": "orim",
                  "map": "fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code"
                }
              ]
            },
            {
              "id": "Observation.code.coding:bpcode.display",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "Observation.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.",
              "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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.code.coding:bpcode.userSelected",
              "path": "Observation.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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.code.text",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "Observation.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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.subject",
              "path": "Observation.subject",
              "short": "Who and/or what this is about",
              "definition": "The patient, or group of patients, location, or device whose characteristics (direct or indirect) are described by the observation and into whose record the observation is placed.  Comments: Indirect characteristics may be those of a specimen, fetus, donor,  other observer (for example a relative or EMT), or any observation made about the subject.",
              "comment": "One would expect this element to be a cardinality  of 1..1.  The only circumstance in which the subject can be missing is when the observation is made by a device that does not know the patient. In this case, the observation SHALL be matched to a patient through some context/channel matching technique, and at this point, the observation should be updated.\r\rIf the target of the observation is different than the subject, the general extension [observation-focal-subject](extension-observation-focal-subject.html).  may be used.  However, the distinction between the patient's own value for an observation versus that of the fetus, or the donor or blood product unit, etc., are often specified in the observation code.",
              "requirements": "Observations have no value if you don't know who or what they're about.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.subject",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.subject"
                },
                {
                  "identity": "v2",
                  "map": "PID-3"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=SBJ]"
                },
                {
                  "identity": "w5",
                  "map": "who.focus"
                }
              ]
            },
            {
              "id": "Observation.context",
              "path": "Observation.context",
              "short": "Healthcare event during which this observation is made",
              "definition": "The healthcare event  (e.g. a patient and healthcare provider interaction) during which this observation is made.",
              "comment": "This will typically be the encounter the event occurred within, but some events may be initiated prior to or after the official completion of an encounter or episode but still be tied to the context of the encounter or episode (e.g. pre-admission lab tests).",
              "requirements": "For some observations it may be important to know the link between an observation and a particular encounter.",
              "alias": [
                "Encounter"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.context",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
                }
              ],
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.context"
                },
                {
                  "identity": "v2",
                  "map": "PV1"
                },
                {
                  "identity": "rim",
                  "map": "inboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN]"
                },
                {
                  "identity": "w5",
                  "map": "context"
                }
              ]
            },
            {
              "id": "Observation.effective[x]",
              "path": "Observation.effective[x]",
              "short": "Often just a dateTime for Vital Signs",
              "definition": "Often just a dateTime for Vital Signs.",
              "comment": "At least a date should be present unless this observation is a historical report.",
              "requirements": "Knowing when an observation was deemed true is important to its relevance as well as determining trends.",
              "alias": [
                "Occurrence"
              ],
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.effective[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "dateTime"
                },
                {
                  "code": "Period"
                }
              ],
              "constraint": [
                {
                  "key": "vs-1",
                  "severity": "error",
                  "human": "Datetime must be at least to day.",
                  "expression": "($this as dateTime).toString().length() >= 8",
                  "xpath": "f:matches(effectiveDateTime,/\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d([+-][0-2]\\d:[0-5]\\d|Z)/)"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.occurrence[x]"
                },
                {
                  "identity": "v2",
                  "map": "OBX-14, and/or OBX-19 after v2.4  (depends on who observation made)"
                },
                {
                  "identity": "rim",
                  "map": "effectiveTime"
                },
                {
                  "identity": "w5",
                  "map": "when.done"
                }
              ]
            },
            {
              "id": "Observation.issued",
              "path": "Observation.issued",
              "short": "Date/Time this was made available",
              "definition": "The date and time this observation was made available to providers, typically after the results have been reviewed and verified.",
              "comment": "Updated when the result is updated.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.issued",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "instant"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBR.22 (or MSH.7), or perhaps OBX-19 (depends on who observation made)"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=AUT].time"
                },
                {
                  "identity": "w5",
                  "map": "when.recorded"
                }
              ]
            },
            {
              "id": "Observation.performer",
              "path": "Observation.performer",
              "short": "Who is responsible for the observation",
              "definition": "Who was responsible for asserting the observed value as \"true\".",
              "requirements": "May give a degree of confidence in the observation and also indicates where follow-up questions should be directed.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.performer",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.performer"
                },
                {
                  "identity": "v2",
                  "map": "OBX.15 / (Practitioner)  OBX-16,  PRT-5:PRT-4='RO' /  (Device)  OBX-18 , PRT-10:PRT-4='EQUIP' / (Organization)  OBX-23,  PRT-8:PRT-4='PO'"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=PRF]"
                },
                {
                  "identity": "w5",
                  "map": "who.actor"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity",
              "path": "Observation.valueQuantity",
              "short": "Vital Sign Value recorded with UCUM",
              "definition": "Vital Sign Value recorded with UCUM.",
              "comment": "Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. This element has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueString, valueBoolean, valueRange, valueRatio, valueSampledData, valueAttachment, valueTime, valueDateTime, or valuePeriod. (The name format is \"'value' + the type name\" with a capital on the first letter of the type).\r\r\rIf the data element is usually coded or if the type associated with the Observation.value defines a coded value, use CodeableConcept instead of string datatype even if the value is uncoded text.  A value set is bound to the ValueCodeableConcept element.    For further discussion and examples see the  [notes section](observation.html#notes) below.",
              "requirements": "9. SHALL contain exactly one [1..1] value with @xsi:type=\"PQ\" (CONF:7305).",
              "min": 0,
              "max": "0",
              "base": {
                "path": "Observation.value[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity"
                }
              ],
              "condition": [
                "obs-7"
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSignsUnits"
                  }
                ],
                "strength": "required",
                "description": "Common UCUM units for recording Vital Signs",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/ucum-vitals-common"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.notDone, Event.notDoneReason  (maps to valeu[x] or dataAbsentReason)"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 441742003 |Evaluation finding|"
                },
                {
                  "identity": "v2",
                  "map": "OBX.2, OBX.5, OBX.6"
                },
                {
                  "identity": "rim",
                  "map": "value"
                },
                {
                  "identity": "sct-attr",
                  "map": "363714003 |Interprets|"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.id",
              "path": "Observation.valueQuantity.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.extension",
              "path": "Observation.valueQuantity.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.value",
              "path": "Observation.valueQuantity.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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.value",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "decimal"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.valueQuantity.comparator",
              "path": "Observation.valueQuantity.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",
              "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": "v2",
                  "map": "SN.1  / CQ.1"
                },
                {
                  "identity": "rim",
                  "map": "IVL properties"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.unit",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "Observation.valueQuantity.unit",
              "short": "Unit representation",
              "definition": "A human-readable form of the unit.",
              "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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.unit",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "PQ.unit"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.system",
              "path": "Observation.valueQuantity.system",
              "short": "System that defines coded unit form",
              "definition": "The identification of the system that provides the coded form of the unit.",
              "requirements": "Need to know the system that defines the coded form of the unit.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Quantity.system",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://unitsofmeasure.org",
              "condition": [
                "qty-3"
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "CO.codeSystem, PQ.translation.codeSystem"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.code",
              "path": "Observation.valueQuantity.code",
              "short": "Coded responses from the common UCUM units for vital signs value set.",
              "definition": "Coded responses from the common UCUM units for vital signs value set.",
              "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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.code",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "PQ.code, MO.currency, PQ.translation.code"
                }
              ]
            },
            {
              "id": "Observation.dataAbsentReason",
              "path": "Observation.dataAbsentReason",
              "short": "Why the result is missing",
              "definition": "Provides a reason why the expected value in the element Observation.value[x] is missing.",
              "comment": "Null or exceptional values can be represented two ways in FHIR Observations.  One way is to simply include them in the value set and represent the exceptions in the value.  For example, measurement values for a serology test could be  \"detected\", \"not detected\", \"inconclusive\", or  \"specimen unsatisfactory\".   The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values.  For example, the dataAbsentReason code \"error\" could be used when the measurement was not completed. Note that an observation may only be reported if there are values to report. For example differential cell counts values may be reported only when > 0.  Because of these options, use-case agreements are required to interpret general observations for null or exceptional values.",
              "requirements": "For many results it is necessary to handle exceptional values in measurements.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.dataAbsentReason",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "condition": [
                "obs-6"
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "DAR"
                  }
                ],
                "strength": "extensible",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-valueabsentreason"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.notDone, Event.notDoneReason  (maps to valeu[x] or dataAbsentReason)"
                },
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": "value.nullFlavor"
                }
              ]
            },
            {
              "id": "Observation.interpretation",
              "path": "Observation.interpretation",
              "short": "High, low, normal, etc.",
              "definition": "The assessment made based on the result of the observation.  Intended as a simple compact code often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result. Otherwise known as abnormal flag.",
              "requirements": "For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result.",
              "alias": [
                "Abnormal Flag"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.interpretation",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationInterpretation"
                  }
                ],
                "strength": "extensible",
                "description": "Codes identifying interpretations of observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-interpretation"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-8"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "363713009 |Has interpretation|"
                }
              ]
            },
            {
              "id": "Observation.comment",
              "path": "Observation.comment",
              "short": "Comments about result",
              "definition": "May include statements about significant, unexpected or unreliable values, or information about the source of the value where this may be relevant to the interpretation of the result.",
              "requirements": "Need to be able to provide free text additional information.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.comment",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.note"
                },
                {
                  "identity": "v2",
                  "map": "NTE.3 (partner NTE to OBX, or sometimes another (child?) OBX)"
                },
                {
                  "identity": "rim",
                  "map": "subjectOf.observationEvent[code=\"annotation\"].value"
                }
              ]
            },
            {
              "id": "Observation.bodySite",
              "path": "Observation.bodySite",
              "short": "Observed body part",
              "definition": "Indicates the site on the subject's body where the observation was made (i.e. the target site).",
              "comment": "Only used if not implicit in code found in Observation.code.  In many systems, this may be represented as a related observation instead of an inline component.   If the use case requires BodySite to be handled as a separate resource (e.g. to identify and track separately) then use the standard extension[ body-site-instance](extension-body-site-instance.html).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.bodySite",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "BodySite"
                  }
                ],
                "strength": "example",
                "description": "Codes describing anatomical locations. May include laterality.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/body-site"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 123037004 |Body structure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-20"
                },
                {
                  "identity": "rim",
                  "map": "targetSiteCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "718497002 |Inherent location|"
                }
              ]
            },
            {
              "id": "Observation.method",
              "path": "Observation.method",
              "short": "How it was done",
              "definition": "Indicates the mechanism used to perform the observation.",
              "comment": "Only used if not implicit in code for Observation.code.",
              "requirements": "In some cases, method can impact results and is thus used for determining whether results can be compared or determining significance of results.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.method",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationMethod"
                  }
                ],
                "strength": "example",
                "description": "Methods for simple observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-methods"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-17"
                },
                {
                  "identity": "rim",
                  "map": "methodCode"
                }
              ]
            },
            {
              "id": "Observation.specimen",
              "path": "Observation.specimen",
              "short": "Specimen used for this observation",
              "definition": "The specimen that was used when this observation was made.",
              "comment": "Should only be used if not implicit in code found in `Observation.code`.  Observations are not made on specimens themselves; they are made on a subject, but in many cases by the means of a specimen. Note that although specimens are often involved, they are not always tracked and reported explicitly. Also note that observation resources may be used in contexts that track the specimen explicitly (e.g. Diagnostic Report).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.specimen",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Specimen"
                }
              ],
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 123038009 |Specimen|"
                },
                {
                  "identity": "v2",
                  "map": "SPM segment"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=SPC].specimen"
                },
                {
                  "identity": "sct-attr",
                  "map": "704319004 |Inherent in|"
                }
              ]
            },
            {
              "id": "Observation.device",
              "path": "Observation.device",
              "short": "(Measurement) Device",
              "definition": "The device used to generate the observation data.",
              "comment": "An extension should be used if further typing of the device is needed.  Devices used to support obtaining an observation can be represented using either an extension or through the Observation.related element.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.device",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/DeviceMetric"
                }
              ],
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 49062001 |Device|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-17 / PRT -10"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=DEV]"
                },
                {
                  "identity": "sct-attr",
                  "map": "424226004 |Using device|"
                }
              ]
            },
            {
              "id": "Observation.referenceRange",
              "path": "Observation.referenceRange",
              "short": "Provides guide for interpretation",
              "definition": "Guidance on how to interpret the value by comparison to a normal or recommended range.",
              "comment": "Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.",
              "requirements": "Knowing what values are considered \"normal\" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.referenceRange",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "key": "obs-3",
                  "severity": "error",
                  "human": "Must have at least a low or a high or text",
                  "expression": "low.exists() or high.exists() or text.exists()",
                  "xpath": "(exists(f:low) or exists(f:high)or exists(f:text))"
                }
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX.7"
                },
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.id",
              "path": "Observation.referenceRange.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.extension",
              "path": "Observation.referenceRange.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.modifierExtension",
              "path": "Observation.referenceRange.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.low",
              "path": "Observation.referenceRange.low",
              "short": "Low Range, if relevant",
              "definition": "The value of the low bound of the reference range.  The low bound of the reference range endpoint is inclusive of the value (e.g.  reference range is >=5 - <=9).   If the low bound is omitted,  it is assumed to be meaningless (e.g. reference range is <=2.3).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.low",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity",
                  "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
                }
              ],
              "condition": [
                "obs-3"
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-7"
                },
                {
                  "identity": "rim",
                  "map": "value:IVL_PQ.low"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.high",
              "path": "Observation.referenceRange.high",
              "short": "High Range, if relevant",
              "definition": "The value of the high bound of the reference range.  The high bound of the reference range endpoint is inclusive of the value (e.g.  reference range is >=5 - <=9).   If the high bound is omitted,  it is assumed to be meaningless (e.g. reference range is >= 2.3).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.high",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity",
                  "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
                }
              ],
              "condition": [
                "obs-3"
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-7"
                },
                {
                  "identity": "rim",
                  "map": "value:IVL_PQ.high"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.type",
              "path": "Observation.referenceRange.type",
              "short": "Reference range qualifier",
              "definition": "Codes to indicate the what part of the targeted reference population it applies to. For example, the normal or therapeutic range.",
              "comment": "This SHOULD be populated if there is more than one range.  If this element is not present then the normal range is assumed.",
              "requirements": "Need to be able to say what kind of reference range this is - normal, recommended, therapeutic, etc,  - for proper interpretation.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.type",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRangeMeaning"
                  }
                ],
                "strength": "extensible",
                "description": "Code for the meaning of a reference range.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/referencerange-meaning"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values| OR  \r< 365860008 |General clinical state finding| \rOR \r< 250171008 |Clinical history or observation findings| OR  \r< 415229000 |Racial group| OR \r< 365400002 |Finding of puberty stage| OR\r< 443938003 |Procedure carried out on subject|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-10"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.appliesTo",
              "path": "Observation.referenceRange.appliesTo",
              "short": "Reference range population",
              "definition": "Codes to indicate the target population this reference range applies to.  For example, a reference range may be based on the normal population or a particular sex or race.",
              "comment": "This SHOULD be populated if there is more than one range.  If this element is not present then the normal population is assumed.",
              "requirements": "Need to be able to identify the target population for proper interpretation.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.referenceRange.appliesTo",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRangeType"
                  }
                ],
                "strength": "example",
                "description": "Codes identifying the population the reference range applies to.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/referencerange-appliesto"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values| OR  \r< 365860008 |General clinical state finding| \rOR \r< 250171008 |Clinical history or observation findings| OR  \r< 415229000 |Racial group| OR \r< 365400002 |Finding of puberty stage| OR\r< 443938003 |Procedure carried out on subject|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-10"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.age",
              "path": "Observation.referenceRange.age",
              "short": "Applicable age range, if relevant",
              "definition": "The age at which this reference range is applicable. This is a neonatal age (e.g. number of weeks at term) if the meaning says so.",
              "requirements": "Some analytes vary greatly over age.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.age",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Range"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=PRCN].targetObservationCriterion[code=\"age\"].value"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.text",
              "path": "Observation.referenceRange.text",
              "short": "Text based reference range in an observation",
              "definition": "Text based reference range in an observation which may be used when a quantitative range is not appropriate for an observation.  An example would be a reference value of \"Negative\" or a list or table of 'normals'.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.text",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-7"
                },
                {
                  "identity": "rim",
                  "map": "value:ST"
                }
              ]
            },
            {
              "id": "Observation.related",
              "path": "Observation.related",
              "short": "Used when reporting vital signs panel components",
              "definition": "Used when reporting vital signs panel components.",
              "comment": "For a discussion on the ways Observations can assembled in groups together see [Notes below](observation.html#4.20.4).",
              "requirements": "Normally, an observation will have either a value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and a set of related observations or sometimes a QuestionnaireResponse from which the measure is derived.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.related",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "Relationships established by OBX-4 usage"
                },
                {
                  "identity": "rim",
                  "map": "outBoundRelationship"
                }
              ]
            },
            {
              "id": "Observation.related.id",
              "path": "Observation.related.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.related.extension",
              "path": "Observation.related.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.related.modifierExtension",
              "path": "Observation.related.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.related.type",
              "path": "Observation.related.type",
              "short": "has-member | derived-from | sequel-to | replaces | qualified-by | interfered-by",
              "definition": "A code specifying the kind of relationship that exists with the target resource.",
              "comment": "The \"derived-from\" type is the only logical choice when referencing the QuestionnaireAnswer resource.",
              "requirements": "A relationship type SHOULD be provided.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.related.type",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "fixedCode": "has-member",
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRelationshipType"
                  }
                ],
                "strength": "required",
                "description": "Codes specifying how two observations are related.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-relationshiptypes"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": ".typeCode"
                }
              ]
            },
            {
              "id": "Observation.related.target",
              "path": "Observation.related.target",
              "short": "Resource that is related to this one",
              "definition": "A reference to the observation or [QuestionnaireResponse](questionnaireresponse.html#) resource that is related to this observation.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.related.target",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/vitalsigns"
                }
              ],
              "mustSupport": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".targetObservation"
                }
              ]
            },
            {
              "id": "Observation.component",
              "path": "Observation.component",
              "slicing": {
                "discriminator": [
                  {
                    "type": "value",
                    "path": "code.coding.code"
                  }
                ],
                "ordered": false,
                "rules": "open"
              },
              "short": "Used when reporting systolic and diastolic blood pressure.",
              "definition": "Used when reporting systolic and diastolic blood pressure.",
              "comment": "For a discussion on the ways Observations can be assembled in groups together see [Notes](observation.html#notes) below.",
              "requirements": "Component observations share the same attributes in the Observation resource as the primary observation and are always treated a part of a single observation (they are not separable).   However, the reference range for the primary observation value is not inherited by the component values and is required when appropriate for each component observation.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.component",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "key": "vs-3",
                  "severity": "error",
                  "human": "If there is no a value a data absent reason must be present",
                  "expression": "value.exists() or dataAbsentReason.exists()",
                  "xpath": "exists(f:*[starts-with(local-name(.), 'value')]) or exists(f:dataAbsentReason)",
                  "source": "Observation.component"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "containment by OBX-4?"
                },
                {
                  "identity": "rim",
                  "map": "outBoundRelationship[typeCode=COMP]"
                }
              ]
            },
            {
              "id": "Observation.component:systolicbp",
              "path": "Observation.component",
              "sliceName": "SystolicBP",
              "short": "Used when reporting systolic and diastolic blood pressure.",
              "definition": "Used when reporting systolic and diastolic blood pressure.",
              "comment": "For a discussion on the ways Observations can be assembled in groups together see [Notes](observation.html#notes) below.",
              "requirements": "Component observations share the same attributes in the Observation resource as the primary observation and are always treated a part of a single observation (they are not separable).   However, the reference range for the primary observation value is not inherited by the component values and is required when appropriate for each component observation.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.component",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "key": "vs-3",
                  "severity": "error",
                  "human": "If there is no a value a data absent reason must be present",
                  "expression": "value.exists() or dataAbsentReason.exists()",
                  "xpath": "exists(f:*[starts-with(local-name(.), 'value')]) or exists(f:dataAbsentReason)",
                  "source": "Observation.component"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "containment by OBX-4?"
                },
                {
                  "identity": "rim",
                  "map": "outBoundRelationship[typeCode=COMP]"
                }
              ]
            },
            {
              "id": "Observation.component:systolicbp.id",
              "path": "Observation.component.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component:systolicbp.extension",
              "path": "Observation.component.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component:systolicbp.modifierExtension",
              "path": "Observation.component.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.component:systolicbp.code",
              "path": "Observation.component.code",
              "short": "Type of component observation (code / type)",
              "definition": "Describes what was observed. Sometimes this is called the observation \"code\".",
              "comment": "additional codes that translate or map to this code are allowed.  For example a more granular LOINC code or code that is used locally in a system.",
              "requirements": "Knowing what kind of observation is being made is essential to understanding the observation.",
              "alias": [
                "Component Test",
                "Component Name"
              ],
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.component.code",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSigns"
                  }
                ],
                "strength": "extensible",
                "description": "This identifies the vital sign result type.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-vitalsignresult"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity| OR \r< 386053000 |Evaluation procedure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-3"
                },
                {
                  "identity": "rim",
                  "map": "code"
                },
                {
                  "identity": "w5",
                  "map": "what"
                }
              ]
            },
            {
              "id": "Observation.component:systolicbp.code.id",
              "path": "Observation.component.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component:systolicbp.code.extension",
              "path": "Observation.component.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component:systolicbp.code.coding",
              "path": "Observation.component.code.coding",
              "slicing": {
                "discriminator": [
                  {
                    "type": "value",
                    "path": "code"
                  }
                ],
                "ordered": false,
                "rules": "open"
              },
              "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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.component:systolicbp.code.coding:sbpcode",
              "path": "Observation.component.code.coding",
              "sliceName": "SBPCode",
              "short": "Systolic Blood Pressure",
              "definition": "Systolic Blood Pressure.",
              "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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.component:systolicbp.code.coding:sbpcode.id",
              "path": "Observation.component.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component:systolicbp.code.coding:sbpcode.extension",
              "path": "Observation.component.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component:systolicbp.code.coding:sbpcode.system",
              "path": "Observation.component.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": 0,
              "max": "1",
              "base": {
                "path": "Coding.system",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://loinc.org",
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "C*E.3"
                },
                {
                  "identity": "rim",
                  "map": "./codeSystem"
                },
                {
                  "identity": "orim",
                  "map": "fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem"
                }
              ]
            },
            {
              "id": "Observation.component:systolicbp.code.coding:sbpcode.version",
              "path": "Observation.component.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": "1",
              "base": {
                "path": "Coding.version",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "C*E.7"
                },
                {
                  "identity": "rim",
                  "map": "./codeSystemVersion"
                },
                {
                  "identity": "orim",
                  "map": "fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion"
                }
              ]
            },
            {
              "id": "Observation.component:systolicbp.code.coding:sbpcode.code",
              "path": "Observation.component.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).",
              "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"
                }
              ],
              "fixedCode": "8480-6",
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "C*E.1"
                },
                {
                  "identity": "rim",
                  "map": "./code"
                },
                {
                  "identity": "orim",
                  "map": "fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code"
                }
              ]
            },
            {
              "id": "Observation.component:systolicbp.code.coding:sbpcode.display",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "Observation.component.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.",
              "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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.component:systolicbp.code.coding:sbpcode.userSelected",
              "path": "Observation.component.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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.component:systolicbp.code.text",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "Observation.component.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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.component:systolicbp.valueQuantity",
              "path": "Observation.component.valueQuantity",
              "short": "Vital Sign Value recorded with UCUM",
              "definition": "Vital Sign Value recorded with UCUM.",
              "comment": "Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value.   For boolean values use valueCodeableConcept and select codes from <http://hl7.org/fhir/ValueSet/v2-0136> (these \"yes/no\" concepts can be mapped to the display name \"true/false\" or other mutually exclusive terms that may be needed\").  The element, Observation.value[x], has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueRatio, valueChoice, valuePeriod, valueSampleData, or valueString (the name format is \"'value' + the type name\" with a capital on the first letter of the type).",
              "requirements": "9. SHALL contain exactly one [1..1] value with @xsi:type=\"PQ\" (CONF:7305).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.value[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSignsUnits"
                  }
                ],
                "strength": "required",
                "description": "Common UCUM units for recording Vital Signs",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/ucum-vitals-common"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "363714003 |Interprets| < 441742003 |Evaluation finding|"
                },
                {
                  "identity": "v2",
                  "map": "OBX.2, OBX.5, OBX.6"
                },
                {
                  "identity": "rim",
                  "map": "value"
                },
                {
                  "identity": "sct-attr",
                  "map": "363714003 |Interprets|"
                }
              ]
            },
            {
              "id": "Observation.component:systolicbp.valueQuantity.id",
              "path": "Observation.component.valueQuantity.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component:systolicbp.valueQuantity.extension",
              "path": "Observation.component.valueQuantity.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component:systolicbp.valueQuantity.value",
              "path": "Observation.component.valueQuantity.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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.value",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "decimal"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.component:systolicbp.valueQuantity.comparator",
              "path": "Observation.component.valueQuantity.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",
              "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": "v2",
                  "map": "SN.1  / CQ.1"
                },
                {
                  "identity": "rim",
                  "map": "IVL properties"
                }
              ]
            },
            {
              "id": "Observation.component:systolicbp.valueQuantity.unit",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "Observation.component.valueQuantity.unit",
              "short": "Unit representation",
              "definition": "A human-readable form of the unit.",
              "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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.unit",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "PQ.unit"
                }
              ]
            },
            {
              "id": "Observation.component:systolicbp.valueQuantity.system",
              "path": "Observation.component.valueQuantity.system",
              "short": "System that defines coded unit form",
              "definition": "The identification of the system that provides the coded form of the unit.",
              "requirements": "Need to know the system that defines the coded form of the unit.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Quantity.system",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://unitsofmeasure.org",
              "condition": [
                "qty-3"
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "CO.codeSystem, PQ.translation.codeSystem"
                }
              ]
            },
            {
              "id": "Observation.component:systolicbp.valueQuantity.code",
              "path": "Observation.component.valueQuantity.code",
              "short": "Coded responses from the common UCUM units for vital signs value set.",
              "definition": "Coded responses from the common UCUM units for vital signs value set.",
              "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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.code",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "fixedCode": "mm[Hg]",
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "PQ.code, MO.currency, PQ.translation.code"
                }
              ]
            },
            {
              "id": "Observation.component:systolicbp.dataAbsentReason",
              "path": "Observation.component.dataAbsentReason",
              "short": "Why the component result is missing",
              "definition": "Provides a reason why the expected value in the element Observation.value[x] is missing.",
              "comment": "\"Null\" or exceptional values can be represented two ways in FHIR Observations.  One way is to simply include them in the value set and represent the exceptions in the value.  For example, measurement values for a serology test could be  \"detected\", \"not detected\", \"inconclusive\", or  \"test not done\".   The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values.  For example, the dataAbsentReason code \"error\" could be used when the measurement was not completed.  Because of these options, use-case agreements are required to interpret general observations for exceptional values.",
              "requirements": "For many results it is necessary to handle exceptional values in measurements.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.dataAbsentReason",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "condition": [
                "obs-6"
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "DAR"
                  }
                ],
                "strength": "extensible",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-valueabsentreason"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": "value.nullFlavor"
                }
              ]
            },
            {
              "id": "Observation.component:systolicbp.interpretation",
              "path": "Observation.component.interpretation",
              "short": "High, low, normal, etc.",
              "definition": "The assessment made based on the result of the observation.  Intended as a simple compact code often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result. Otherwise known as abnormal flag.",
              "comment": "The component interpretation applies only to the individual component value.  For an overall interpretation all components together use thes Observation.interpretation element.",
              "requirements": "For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result.",
              "alias": [
                "Abnormal Flag"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.interpretation",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationInterpretation"
                  }
                ],
                "strength": "extensible",
                "description": "Codes identifying interpretations of observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-interpretation"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-8"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "363713009 |Has interpretation|"
                }
              ]
            },
            {
              "id": "Observation.component:systolicbp.referenceRange",
              "path": "Observation.component.referenceRange",
              "short": "Provides guide for interpretation of component result",
              "definition": "Guidance on how to interpret the value by comparison to a normal or recommended range.",
              "comment": "Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.",
              "requirements": "Knowing what values are considered \"normal\" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.component.referenceRange",
                "min": 0,
                "max": "*"
              },
              "contentReference": "#Observation.referenceRange",
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX.7"
                },
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]"
                }
              ]
            },
            {
              "id": "Observation.component:diastolicbp",
              "path": "Observation.component",
              "sliceName": "DiastolicBP",
              "short": "Used when reporting systolic and diastolic blood pressure.",
              "definition": "Used when reporting systolic and diastolic blood pressure.",
              "comment": "For a discussion on the ways Observations can be assembled in groups together see [Notes](observation.html#notes) below.",
              "requirements": "Component observations share the same attributes in the Observation resource as the primary observation and are always treated a part of a single observation (they are not separable).   However, the reference range for the primary observation value is not inherited by the component values and is required when appropriate for each component observation.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.component",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "key": "vs-3",
                  "severity": "error",
                  "human": "If there is no a value a data absent reason must be present",
                  "expression": "value.exists() or dataAbsentReason.exists()",
                  "xpath": "exists(f:*[starts-with(local-name(.), 'value')]) or exists(f:dataAbsentReason)",
                  "source": "Observation.component"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "containment by OBX-4?"
                },
                {
                  "identity": "rim",
                  "map": "outBoundRelationship[typeCode=COMP]"
                }
              ]
            },
            {
              "id": "Observation.component:diastolicbp.id",
              "path": "Observation.component.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component:diastolicbp.extension",
              "path": "Observation.component.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component:diastolicbp.modifierExtension",
              "path": "Observation.component.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.component:diastolicbp.code",
              "path": "Observation.component.code",
              "short": "Type of component observation (code / type)",
              "definition": "Describes what was observed. Sometimes this is called the observation \"code\".",
              "comment": "additional codes that translate or map to this code are allowed.  For example a more granular LOINC code or code that is used locally in a system.",
              "requirements": "Knowing what kind of observation is being made is essential to understanding the observation.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.component.code",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSigns"
                  }
                ],
                "strength": "extensible",
                "description": "This identifies the vital sign result type.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-vitalsignresult"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity| OR \r< 386053000 |Evaluation procedure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-3"
                },
                {
                  "identity": "rim",
                  "map": "code"
                },
                {
                  "identity": "w5",
                  "map": "what"
                }
              ]
            },
            {
              "id": "Observation.component:diastolicbp.code.id",
              "path": "Observation.component.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component:diastolicbp.code.extension",
              "path": "Observation.component.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component:diastolicbp.code.coding",
              "path": "Observation.component.code.coding",
              "slicing": {
                "discriminator": [
                  {
                    "type": "value",
                    "path": "code"
                  }
                ],
                "ordered": false,
                "rules": "open"
              },
              "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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.component:diastolicbp.code.coding:dbpcode",
              "path": "Observation.component.code.coding",
              "sliceName": "DBPCode",
              "short": "Diastolic Blood Pressure",
              "definition": "Diastolic Blood Pressure.",
              "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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.component:diastolicbp.code.coding:dbpcode.id",
              "path": "Observation.component.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component:diastolicbp.code.coding:dbpcode.extension",
              "path": "Observation.component.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component:diastolicbp.code.coding:dbpcode.system",
              "path": "Observation.component.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": 0,
              "max": "1",
              "base": {
                "path": "Coding.system",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://loinc.org",
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "C*E.3"
                },
                {
                  "identity": "rim",
                  "map": "./codeSystem"
                },
                {
                  "identity": "orim",
                  "map": "fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem"
                }
              ]
            },
            {
              "id": "Observation.component:diastolicbp.code.coding:dbpcode.version",
              "path": "Observation.component.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": "1",
              "base": {
                "path": "Coding.version",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "C*E.7"
                },
                {
                  "identity": "rim",
                  "map": "./codeSystemVersion"
                },
                {
                  "identity": "orim",
                  "map": "fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion"
                }
              ]
            },
            {
              "id": "Observation.component:diastolicbp.code.coding:dbpcode.code",
              "path": "Observation.component.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).",
              "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"
                }
              ],
              "fixedCode": "8462-4",
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "C*E.1"
                },
                {
                  "identity": "rim",
                  "map": "./code"
                },
                {
                  "identity": "orim",
                  "map": "fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code"
                }
              ]
            },
            {
              "id": "Observation.component:diastolicbp.code.coding:dbpcode.display",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "Observation.component.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.",
              "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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.component:diastolicbp.code.coding:dbpcode.userSelected",
              "path": "Observation.component.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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.component:diastolicbp.code.text",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "Observation.component.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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.component:diastolicbp.valueQuantity",
              "path": "Observation.component.valueQuantity",
              "short": "Vital Sign Value recorded with UCUM",
              "definition": "Vital Sign Value recorded with UCUM.",
              "comment": "Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value.   For boolean values use valueCodeableConcept and select codes from <http://hl7.org/fhir/ValueSet/v2-0136> (these \"yes/no\" concepts can be mapped to the display name \"true/false\" or other mutually exclusive terms that may be needed\").  The element, Observation.value[x], has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueRatio, valueChoice, valuePeriod, valueSampleData, or valueString (the name format is \"'value' + the type name\" with a capital on the first letter of the type).",
              "requirements": "9. SHALL contain exactly one [1..1] value with @xsi:type=\"PQ\" (CONF:7305).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.value[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSignsUnits"
                  }
                ],
                "strength": "required",
                "description": "Common UCUM units for recording Vital Signs",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/ucum-vitals-common"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "363714003 |Interprets| < 441742003 |Evaluation finding|"
                },
                {
                  "identity": "v2",
                  "map": "OBX.2, OBX.5, OBX.6"
                },
                {
                  "identity": "rim",
                  "map": "value"
                },
                {
                  "identity": "sct-attr",
                  "map": "363714003 |Interprets|"
                }
              ]
            },
            {
              "id": "Observation.component:diastolicbp.valueQuantity.id",
              "path": "Observation.component.valueQuantity.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component:diastolicbp.valueQuantity.extension",
              "path": "Observation.component.valueQuantity.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component:diastolicbp.valueQuantity.value",
              "path": "Observation.component.valueQuantity.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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.value",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "decimal"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.component:diastolicbp.valueQuantity.comparator",
              "path": "Observation.component.valueQuantity.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",
              "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": "v2",
                  "map": "SN.1  / CQ.1"
                },
                {
                  "identity": "rim",
                  "map": "IVL properties"
                }
              ]
            },
            {
              "id": "Observation.component:diastolicbp.valueQuantity.unit",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "Observation.component.valueQuantity.unit",
              "short": "Unit representation",
              "definition": "A human-readable form of the unit.",
              "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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.unit",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "PQ.unit"
                }
              ]
            },
            {
              "id": "Observation.component:diastolicbp.valueQuantity.system",
              "path": "Observation.component.valueQuantity.system",
              "short": "System that defines coded unit form",
              "definition": "The identification of the system that provides the coded form of the unit.",
              "requirements": "Need to know the system that defines the coded form of the unit.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Quantity.system",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://unitsofmeasure.org",
              "condition": [
                "qty-3"
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "CO.codeSystem, PQ.translation.codeSystem"
                }
              ]
            },
            {
              "id": "Observation.component:diastolicbp.valueQuantity.code",
              "path": "Observation.component.valueQuantity.code",
              "short": "Coded responses from the common UCUM units for vital signs value set.",
              "definition": "Coded responses from the common UCUM units for vital signs value set.",
              "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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.code",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "fixedCode": "mm[Hg]",
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "PQ.code, MO.currency, PQ.translation.code"
                }
              ]
            },
            {
              "id": "Observation.component:diastolicbp.dataAbsentReason",
              "path": "Observation.component.dataAbsentReason",
              "short": "Why the component result is missing",
              "definition": "Provides a reason why the expected value in the element Observation.value[x] is missing.",
              "comment": "\"Null\" or exceptional values can be represented two ways in FHIR Observations.  One way is to simply include them in the value set and represent the exceptions in the value.  For example, measurement values for a serology test could be  \"detected\", \"not detected\", \"inconclusive\", or  \"test not done\".   The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values.  For example, the dataAbsentReason code \"error\" could be used when the measurement was not completed.  Because of these options, use-case agreements are required to interpret general observations for exceptional values.",
              "requirements": "For many results it is necessary to handle exceptional values in measurements.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.dataAbsentReason",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "condition": [
                "obs-6"
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "DAR"
                  }
                ],
                "strength": "extensible",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-valueabsentreason"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": "value.nullFlavor"
                }
              ]
            },
            {
              "id": "Observation.component:diastolicbp.interpretation",
              "path": "Observation.component.interpretation",
              "short": "High, low, normal, etc.",
              "definition": "The assessment made based on the result of the observation.  Intended as a simple compact code often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result. Otherwise known as abnormal flag.",
              "comment": "The component interpretation applies only to the individual component value.  For an overall interpretation all components together use thes Observation.interpretation element.",
              "requirements": "For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result.",
              "alias": [
                "Abnormal Flag"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.interpretation",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationInterpretation"
                  }
                ],
                "strength": "extensible",
                "description": "Codes identifying interpretations of observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-interpretation"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-8"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "363713009 |Has interpretation|"
                }
              ]
            },
            {
              "id": "Observation.component:diastolicbp.referenceRange",
              "path": "Observation.component.referenceRange",
              "short": "Provides guide for interpretation of component result",
              "definition": "Guidance on how to interpret the value by comparison to a normal or recommended range.",
              "comment": "Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.",
              "requirements": "Knowing what values are considered \"normal\" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.component.referenceRange",
                "min": 0,
                "max": "*"
              },
              "contentReference": "#Observation.referenceRange",
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX.7"
                },
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]"
                }
              ]
            }
          ]
        },
        "differential": {
          "element": [
            {
              "id": "Observation",
              "path": "Observation",
              "short": "FHIR Blood Pressure Profile",
              "definition": "This profile defines  how to represent Blood Pressure observations in FHIR using a standard LOINC code and UCUM units of measure.  This is a grouping structure. It has no value in Observation.valueQuantity but contains at least one component (systolic and/or diastolic).",
              "min": 0,
              "max": "*"
            },
            {
              "id": "Observation.code",
              "path": "Observation.code",
              "short": "Blood Pressure",
              "definition": "Blood Pressure.",
              "comment": "additional codes that translate or map to this code are allowed.  For example a more granular LOINC code or code that is used locally in a system.",
              "alias": [
                "Test",
                "Name"
              ]
            },
            {
              "id": "Observation.code.coding",
              "path": "Observation.code.coding",
              "slicing": {
                "discriminator": [
                  {
                    "type": "value",
                    "path": "code"
                  }
                ],
                "ordered": false,
                "rules": "open"
              }
            },
            {
              "id": "Observation.code.coding:bpcode",
              "path": "Observation.code.coding",
              "sliceName": "BPCode"
            },
            {
              "id": "Observation.code.coding:bpcode.system",
              "path": "Observation.code.coding.system",
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://loinc.org"
            },
            {
              "id": "Observation.code.coding:bpcode.code",
              "path": "Observation.code.coding.code",
              "type": [
                {
                  "code": "code"
                }
              ],
              "fixedCode": "85354-9"
            },
            {
              "id": "Observation.valueQuantity",
              "path": "Observation.valueQuantity",
              "min": 0,
              "max": "0"
            },
            {
              "id": "Observation.component",
              "path": "Observation.component",
              "slicing": {
                "discriminator": [
                  {
                    "type": "value",
                    "path": "code.coding.code"
                  }
                ],
                "ordered": false,
                "rules": "open"
              }
            },
            {
              "id": "Observation.component:systolicbp",
              "path": "Observation.component",
              "sliceName": "SystolicBP"
            },
            {
              "id": "Observation.component:systolicbp.code",
              "path": "Observation.component.code",
              "comment": "additional codes that translate or map to this code are allowed.  For example a more granular LOINC code or code that is used locally in a system.",
              "alias": [
                "Component Test",
                "Component Name"
              ]
            },
            {
              "id": "Observation.component:systolicbp.code.coding",
              "path": "Observation.component.code.coding",
              "slicing": {
                "discriminator": [
                  {
                    "type": "value",
                    "path": "code"
                  }
                ],
                "ordered": false,
                "rules": "open"
              }
            },
            {
              "id": "Observation.component:systolicbp.code.coding:sbpcode",
              "path": "Observation.component.code.coding",
              "sliceName": "SBPCode",
              "short": "Systolic Blood Pressure",
              "definition": "Systolic Blood Pressure."
            },
            {
              "id": "Observation.component:systolicbp.code.coding:sbpcode.system",
              "path": "Observation.component.code.coding.system",
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://loinc.org"
            },
            {
              "id": "Observation.component:systolicbp.code.coding:sbpcode.code",
              "path": "Observation.component.code.coding.code",
              "type": [
                {
                  "code": "code"
                }
              ],
              "fixedCode": "8480-6"
            },
            {
              "id": "Observation.component:systolicbp.valueQuantity",
              "path": "Observation.component.valueQuantity",
              "type": [
                {
                  "code": "Quantity"
                }
              ]
            },
            {
              "id": "Observation.component:systolicbp.valueQuantity.code",
              "path": "Observation.component.valueQuantity.code",
              "type": [
                {
                  "code": "code"
                }
              ],
              "fixedCode": "mm[Hg]"
            },
            {
              "id": "Observation.component:diastolicbp",
              "path": "Observation.component",
              "sliceName": "DiastolicBP"
            },
            {
              "id": "Observation.component:diastolicbp.code",
              "path": "Observation.component.code",
              "comment": "additional codes that translate or map to this code are allowed.  For example a more granular LOINC code or code that is used locally in a system."
            },
            {
              "id": "Observation.component:diastolicbp.code.coding",
              "path": "Observation.component.code.coding",
              "slicing": {
                "discriminator": [
                  {
                    "type": "value",
                    "path": "code"
                  }
                ],
                "ordered": false,
                "rules": "open"
              }
            },
            {
              "id": "Observation.component:diastolicbp.code.coding:dbpcode",
              "path": "Observation.component.code.coding",
              "sliceName": "DBPCode",
              "short": "Diastolic Blood Pressure",
              "definition": "Diastolic Blood Pressure."
            },
            {
              "id": "Observation.component:diastolicbp.code.coding:dbpcode.system",
              "path": "Observation.component.code.coding.system",
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://loinc.org"
            },
            {
              "id": "Observation.component:diastolicbp.code.coding:dbpcode.code",
              "path": "Observation.component.code.coding.code",
              "type": [
                {
                  "code": "code"
                }
              ],
              "fixedCode": "8462-4"
            },
            {
              "id": "Observation.component:diastolicbp.valueQuantity",
              "path": "Observation.component.valueQuantity",
              "type": [
                {
                  "code": "Quantity"
                }
              ]
            },
            {
              "id": "Observation.component:diastolicbp.valueQuantity.code",
              "path": "Observation.component.valueQuantity.code",
              "type": [
                {
                  "code": "code"
                }
              ],
              "fixedCode": "mm[Hg]"
            }
          ]
        }
      }
    },
    {
      "fullUrl": "http://hl7.org/fhir/StructureDefinition/vitalspanel",
      "resource": {
        "resourceType": "StructureDefinition",
        "id": "vitalspanel",
        "text": {
          "status": "generated",
          "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">to do</div>"
        },
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-summary",
            "valueMarkdown": "####Complete Summary of the Mandatory Requirements\n\n1.  One code in `Observation.code` which must have\n    -   a fixed `Observation.code.coding.system`=**'http ://loinc.org'**\n    -   a fixed  `Observation.code.coding.code`= **'85353-1'**\n    -   Other additional codes are allowed - e.g. more specific LOINC\n        Codes, SNOMED CT concepts, system specific codes. All codes\n        SHALL have an system value\n1.  No value in `Observation.value[x]`\n1.  At Least one Vitals Sign Observation reference in `Observation.related`"
          }
        ],
        "url": "http://hl7.org/fhir/StructureDefinition/vitalspanel",
        "name": "Vital Signs Profile",
        "title": "VitalSigns",
        "status": "draft",
        "experimental": false,
        "date": "2016-03-25",
        "publisher": "Health Level Seven International (Orders and Observations Workgroup)",
        "contact": [
          {
            "telecom": [
              {
                "system": "url",
                "value": "http://www.hl7.org/Special/committees/orders/index.cfm Orders and Observations"
              }
            ]
          }
        ],
        "description": "FHIR Vital Signs Panel Profile",
        "fhirVersion": "3.0.1",
        "mapping": [
          {
            "identity": "workflow",
            "uri": "http://hl7.org/fhir/workflow",
            "name": "Workflow Mapping"
          },
          {
            "identity": "sct-concept",
            "uri": "http://snomed.info/conceptdomain",
            "name": "SNOMED CT Concept Domain Binding"
          },
          {
            "identity": "v2",
            "uri": "http://hl7.org/v2",
            "name": "HL7 v2 Mapping"
          },
          {
            "identity": "rim",
            "uri": "http://hl7.org/v3",
            "name": "RIM Mapping"
          },
          {
            "identity": "w5",
            "uri": "http://hl7.org/fhir/w5",
            "name": "W5 Mapping"
          },
          {
            "identity": "sct-attr",
            "uri": "http://snomed.info/sct",
            "name": "SNOMED CT Attribute Binding"
          }
        ],
        "kind": "resource",
        "abstract": false,
        "type": "Observation",
        "baseDefinition": "http://hl7.org/fhir/StructureDefinition/vitalsigns",
        "derivation": "constraint",
        "snapshot": {
          "element": [
            {
              "id": "Observation",
              "path": "Observation",
              "short": "FHIR Vital Signs Panel Profile",
              "definition": "This profile defines the top-level grouping structure for a set of vital signs. It has no value in Observation.valueQuantity ; instead, it just includes related links (with type=has-member) to the Observations in this set (e.g. respiratory rate, heart rate, BP).",
              "comment": "Used for simple observations such as device measurements, laboratory atomic results, vital signs, height, weight, smoking status, comments, etc.  Other resources are used to provide context for observations such as lab reports, etc.",
              "alias": [
                "Vital Signs",
                "Measurement",
                "Results",
                "Tests"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation",
                "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)",
                  "source": "DomainResource"
                },
                {
                  "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)",
                  "source": "DomainResource"
                },
                {
                  "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))",
                  "source": "DomainResource"
                },
                {
                  "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))]))",
                  "source": "DomainResource"
                },
                {
                  "key": "obs-7",
                  "severity": "error",
                  "human": "If code is the same as a component code then the value element associated with the code SHALL NOT be present",
                  "expression": "value.empty() or code!=component.code",
                  "xpath": "not(exists(f:*[starts-with(local-name(.), 'value')])) or not(count(for $coding in f:code/f:coding return parent::*/f:component/f:code/f:coding[f:code/@value=$coding/f:code/@value and f:system/@value=$coding/f:system/@value])=0)",
                  "source": "Observation"
                },
                {
                  "key": "obs-6",
                  "severity": "error",
                  "human": "dataAbsentReason SHALL only be present if Observation.value[x] is not present",
                  "expression": "dataAbsentReason.empty() or value.empty()",
                  "xpath": "not(exists(f:dataAbsentReason)) or (not(exists(*[starts-with(local-name(.), 'value')])))",
                  "source": "Observation"
                },
                {
                  "key": "vs-2",
                  "severity": "error",
                  "human": "If there is no component or related element then either a value[x] or a data absent reason must be present",
                  "expression": "(component.empty() and related.empty()) implies (dataAbsentReason or value)",
                  "xpath": "exists(f:component) or exists(f:related) or exists(f:*[starts-with(local-name(.), 'value')]) or exists(f:dataAbsentReason)",
                  "source": "Observation"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Entity. Role, or Act"
                },
                {
                  "identity": "workflow",
                  "map": "Event"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity|"
                },
                {
                  "identity": "v2",
                  "map": "OBX"
                },
                {
                  "identity": "rim",
                  "map": "Observation[classCode=OBS, moodCode=EVN]"
                },
                {
                  "identity": "w5",
                  "map": "clinical.diagnostics"
                }
              ]
            },
            {
              "id": "Observation.id",
              "path": "Observation.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "Observation.meta",
              "path": "Observation.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "Observation.implicitRules",
              "path": "Observation.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"
                }
              ],
              "isModifier": true,
              "isSummary": true
            },
            {
              "id": "Observation.language",
              "path": "Observation.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"
                }
              ],
              "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"
                }
              }
            },
            {
              "id": "Observation.text",
              "path": "Observation.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": [
                "dom-1"
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Act.text?"
                }
              ]
            },
            {
              "id": "Observation.contained",
              "path": "Observation.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": "N/A"
                }
              ]
            },
            {
              "id": "Observation.extension",
              "path": "Observation.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.modifierExtension",
              "path": "Observation.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 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"
                }
              ],
              "isModifier": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.identifier",
              "path": "Observation.identifier",
              "short": "Business Identifier for observation",
              "definition": "A unique identifier assigned to this observation.",
              "requirements": "Allows observations to be distinguished and referenced.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.identifier",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Identifier"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.identifier"
                },
                {
                  "identity": "v2",
                  "map": "OBX.21  For OBX segments from systems without OBX-21 support a combination of ORC/OBR and OBX must be negotiated between trading partners to uniquely identify the OBX segment. Depending on how V2 has been implemented each of these may be an option: 1) OBR-3 + OBX-3 + OBX-4 or 2) OBR-3 + OBR-4 + OBX-3 + OBX-4 or 2) some other way to uniquely ID the OBR/ORC + OBX-3 + OBX-4."
                },
                {
                  "identity": "rim",
                  "map": "id"
                },
                {
                  "identity": "w5",
                  "map": "id"
                }
              ]
            },
            {
              "id": "Observation.basedOn",
              "path": "Observation.basedOn",
              "short": "Fulfills plan, proposal or order",
              "definition": "A plan, proposal or order that is fulfilled in whole or in part by this event.",
              "requirements": "Allows tracing of authorization for the event and tracking whether proposals/recommendations were acted upon.",
              "alias": [
                "Fulfills"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.basedOn",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/CarePlan"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/DeviceRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ImmunizationRecommendation"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/NutritionOrder"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ProcedureRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ReferralRequest"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.basedOn"
                },
                {
                  "identity": "v2",
                  "map": "ORC"
                },
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=FLFS].target"
                }
              ]
            },
            {
              "id": "Observation.status",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-display-hint",
                  "valueString": "default: final"
                }
              ],
              "path": "Observation.status",
              "short": "registered | preliminary | final | amended +",
              "definition": "The status of the result value.",
              "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
              "requirements": "Need to track the status of individual results. Some results are finalized before the whole report is finalized.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.status",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "mustSupport": true,
              "isModifier": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "Status"
                  }
                ],
                "strength": "required",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-status"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.status"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 445584004 |Report by finality status|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-11"
                },
                {
                  "identity": "rim",
                  "map": "status  Amended & Final are differentiated by whether it is the subject of a ControlAct event with a type of \"revise\""
                },
                {
                  "identity": "w5",
                  "map": "status"
                }
              ]
            },
            {
              "id": "Observation.category",
              "path": "Observation.category",
              "short": "Classification of  type of observation",
              "definition": "A code that classifies the general type of observation being made.",
              "comment": "In addition to the required category valueset, this element allows various categorization schemes based on the owner’s definition of the category and effectively multiple categories can be used at once.  The level of granularity is defined by the category concepts in the value set.",
              "requirements": "Used for filtering what observations are retrieved and displayed.",
              "min": 1,
              "max": "*",
              "base": {
                "path": "Observation.category",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "constraint": [
                {
                  "key": "vs-4",
                  "severity": "error",
                  "human": "Must have a category of 'vital-signs' and a code system 'http://hl7.org/fhir/observation-category'",
                  "expression": "where(coding.system='http://hl7.org/fhir/observation-category' and coding.code='vital-signs').exists()",
                  "xpath": "exists(f:coding/code[@value='vital-signs']) and exists(f:coding/system[@value='http://hl7.org/fhir/observation-category'])"
                }
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationCategory"
                  }
                ],
                "strength": "preferred",
                "description": "Codes for high level observation categories.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-category"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=\"COMP].target[classCode=\"LIST\", moodCode=\"EVN\"].code"
                },
                {
                  "identity": "w5",
                  "map": "class"
                }
              ]
            },
            {
              "id": "Observation.code",
              "path": "Observation.code",
              "short": "Vital Signs Panel",
              "definition": "Vital Signs Panel.",
              "comment": "additional codes that translate or map to this code are allowed.  For example a more granular LOINC code or code that is used locally in a system.",
              "requirements": "5. SHALL contain exactly one [1..1] code, where the @code SHOULD be selected from ValueSet HITSP Vital Sign Result Type 2.16.840.1.113883.3.88.12.80.62 DYNAMIC (CONF:7301).",
              "alias": [
                "Name",
                "Panel Name",
                "Panel Code"
              ],
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.code",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSigns"
                  }
                ],
                "strength": "extensible",
                "description": "This identifies the vital sign result type.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-vitalsignresult"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.code"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity| OR < 386053000 |Evaluation procedure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-3"
                },
                {
                  "identity": "rim",
                  "map": "code"
                },
                {
                  "identity": "sct-attr",
                  "map": "116680003 |Is a|"
                },
                {
                  "identity": "w5",
                  "map": "what"
                }
              ]
            },
            {
              "id": "Observation.code.id",
              "path": "Observation.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.code.extension",
              "path": "Observation.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.code.coding",
              "path": "Observation.code.coding",
              "slicing": {
                "discriminator": [
                  {
                    "type": "value",
                    "path": "code"
                  }
                ],
                "ordered": false,
                "rules": "open"
              },
              "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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.code.coding:bodyweightcode",
              "path": "Observation.code.coding",
              "sliceName": "BodyWeightCode",
              "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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.code.coding:bodyweightcode.id",
              "path": "Observation.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.code.coding:bodyweightcode.extension",
              "path": "Observation.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.code.coding:bodyweightcode.system",
              "path": "Observation.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": 0,
              "max": "1",
              "base": {
                "path": "Coding.system",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://loinc.org",
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "C*E.3"
                },
                {
                  "identity": "rim",
                  "map": "./codeSystem"
                },
                {
                  "identity": "orim",
                  "map": "fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem"
                }
              ]
            },
            {
              "id": "Observation.code.coding:bodyweightcode.version",
              "path": "Observation.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": "1",
              "base": {
                "path": "Coding.version",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "C*E.7"
                },
                {
                  "identity": "rim",
                  "map": "./codeSystemVersion"
                },
                {
                  "identity": "orim",
                  "map": "fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion"
                }
              ]
            },
            {
              "id": "Observation.code.coding:bodyweightcode.code",
              "path": "Observation.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).",
              "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"
                }
              ],
              "fixedCode": "85353-1",
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "C*E.1"
                },
                {
                  "identity": "rim",
                  "map": "./code"
                },
                {
                  "identity": "orim",
                  "map": "fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code"
                }
              ]
            },
            {
              "id": "Observation.code.coding:bodyweightcode.display",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "Observation.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.",
              "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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.code.coding:bodyweightcode.userSelected",
              "path": "Observation.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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.code.text",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "Observation.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"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.subject",
              "path": "Observation.subject",
              "short": "Who and/or what this is about",
              "definition": "The patient, or group of patients, location, or device whose characteristics (direct or indirect) are described by the observation and into whose record the observation is placed.  Comments: Indirect characteristics may be those of a specimen, fetus, donor,  other observer (for example a relative or EMT), or any observation made about the subject.",
              "comment": "One would expect this element to be a cardinality  of 1..1.  The only circumstance in which the subject can be missing is when the observation is made by a device that does not know the patient. In this case, the observation SHALL be matched to a patient through some context/channel matching technique, and at this point, the observation should be updated.\r\rIf the target of the observation is different than the subject, the general extension [observation-focal-subject](extension-observation-focal-subject.html).  may be used.  However, the distinction between the patient's own value for an observation versus that of the fetus, or the donor or blood product unit, etc., are often specified in the observation code.",
              "requirements": "Observations have no value if you don't know who or what they're about.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.subject",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.subject"
                },
                {
                  "identity": "v2",
                  "map": "PID-3"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=SBJ]"
                },
                {
                  "identity": "w5",
                  "map": "who.focus"
                }
              ]
            },
            {
              "id": "Observation.context",
              "path": "Observation.context",
              "short": "Healthcare event during which this observation is made",
              "definition": "The healthcare event  (e.g. a patient and healthcare provider interaction) during which this observation is made.",
              "comment": "This will typically be the encounter the event occurred within, but some events may be initiated prior to or after the official completion of an encounter or episode but still be tied to the context of the encounter or episode (e.g. pre-admission lab tests).",
              "requirements": "For some observations it may be important to know the link between an observation and a particular encounter.",
              "alias": [
                "Encounter"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.context",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
                }
              ],
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.context"
                },
                {
                  "identity": "v2",
                  "map": "PV1"
                },
                {
                  "identity": "rim",
                  "map": "inboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN]"
                },
                {
                  "identity": "w5",
                  "map": "context"
                }
              ]
            },
            {
              "id": "Observation.effective[x]",
              "path": "Observation.effective[x]",
              "short": "Often just a dateTime for Vital Signs",
              "definition": "Often just a dateTime for Vital Signs.",
              "comment": "At least a date should be present unless this observation is a historical report.",
              "requirements": "Knowing when an observation was deemed true is important to its relevance as well as determining trends.",
              "alias": [
                "Occurrence"
              ],
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.effective[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "dateTime"
                },
                {
                  "code": "Period"
                }
              ],
              "constraint": [
                {
                  "key": "vs-1",
                  "severity": "error",
                  "human": "Datetime must be at least to day.",
                  "expression": "($this as dateTime).toString().length() >= 8",
                  "xpath": "f:matches(effectiveDateTime,/\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d([+-][0-2]\\d:[0-5]\\d|Z)/)"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.occurrence[x]"
                },
                {
                  "identity": "v2",
                  "map": "OBX-14, and/or OBX-19 after v2.4  (depends on who observation made)"
                },
                {
                  "identity": "rim",
                  "map": "effectiveTime"
                },
                {
                  "identity": "w5",
                  "map": "when.done"
                }
              ]
            },
            {
              "id": "Observation.issued",
              "path": "Observation.issued",
              "short": "Date/Time this was made available",
              "definition": "The date and time this observation was made available to providers, typically after the results have been reviewed and verified.",
              "comment": "Updated when the result is updated.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.issued",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "instant"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBR.22 (or MSH.7), or perhaps OBX-19 (depends on who observation made)"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=AUT].time"
                },
                {
                  "identity": "w5",
                  "map": "when.recorded"
                }
              ]
            },
            {
              "id": "Observation.performer",
              "path": "Observation.performer",
              "short": "Who is responsible for the observation",
              "definition": "Who was responsible for asserting the observed value as \"true\".",
              "requirements": "May give a degree of confidence in the observation and also indicates where follow-up questions should be directed.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.performer",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.performer"
                },
                {
                  "identity": "v2",
                  "map": "OBX.15 / (Practitioner)  OBX-16,  PRT-5:PRT-4='RO' /  (Device)  OBX-18 , PRT-10:PRT-4='EQUIP' / (Organization)  OBX-23,  PRT-8:PRT-4='PO'"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=PRF]"
                },
                {
                  "identity": "w5",
                  "map": "who.actor"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity",
              "path": "Observation.valueQuantity",
              "short": "Vital Sign Value recorded with UCUM",
              "definition": "Vital Sign Value recorded with UCUM.",
              "comment": "Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. This element has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueString, valueBoolean, valueRange, valueRatio, valueSampledData, valueAttachment, valueTime, valueDateTime, or valuePeriod. (The name format is \"'value' + the type name\" with a capital on the first letter of the type).\r\r\rIf the data element is usually coded or if the type associated with the Observation.value defines a coded value, use CodeableConcept instead of string datatype even if the value is uncoded text.  A value set is bound to the ValueCodeableConcept element.    For further discussion and examples see the  [notes section](observation.html#notes) below.",
              "requirements": "9. SHALL contain exactly one [1..1] value with @xsi:type=\"PQ\" (CONF:7305).",
              "min": 0,
              "max": "0",
              "base": {
                "path": "Observation.value[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity"
                }
              ],
              "condition": [
                "obs-7"
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSignsUnits"
                  }
                ],
                "strength": "required",
                "description": "Common UCUM units for recording Vital Signs",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/ucum-vitals-common"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.notDone, Event.notDoneReason  (maps to valeu[x] or dataAbsentReason)"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 441742003 |Evaluation finding|"
                },
                {
                  "identity": "v2",
                  "map": "OBX.2, OBX.5, OBX.6"
                },
                {
                  "identity": "rim",
                  "map": "value"
                },
                {
                  "identity": "sct-attr",
                  "map": "363714003 |Interprets|"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.id",
              "path": "Observation.valueQuantity.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.extension",
              "path": "Observation.valueQuantity.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.value",
              "path": "Observation.valueQuantity.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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.value",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "decimal"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.valueQuantity.comparator",
              "path": "Observation.valueQuantity.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",
              "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": "v2",
                  "map": "SN.1  / CQ.1"
                },
                {
                  "identity": "rim",
                  "map": "IVL properties"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.unit",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "Observation.valueQuantity.unit",
              "short": "Unit representation",
              "definition": "A human-readable form of the unit.",
              "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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.unit",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "PQ.unit"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.system",
              "path": "Observation.valueQuantity.system",
              "short": "System that defines coded unit form",
              "definition": "The identification of the system that provides the coded form of the unit.",
              "requirements": "Need to know the system that defines the coded form of the unit.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Quantity.system",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://unitsofmeasure.org",
              "condition": [
                "qty-3"
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "CO.codeSystem, PQ.translation.codeSystem"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.code",
              "path": "Observation.valueQuantity.code",
              "short": "Coded responses from the common UCUM units for vital signs value set.",
              "definition": "Coded responses from the common UCUM units for vital signs value set.",
              "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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.code",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "PQ.code, MO.currency, PQ.translation.code"
                }
              ]
            },
            {
              "id": "Observation.dataAbsentReason",
              "path": "Observation.dataAbsentReason",
              "short": "Why the result is missing",
              "definition": "Provides a reason why the expected value in the element Observation.value[x] is missing.",
              "comment": "Null or exceptional values can be represented two ways in FHIR Observations.  One way is to simply include them in the value set and represent the exceptions in the value.  For example, measurement values for a serology test could be  \"detected\", \"not detected\", \"inconclusive\", or  \"specimen unsatisfactory\".   The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values.  For example, the dataAbsentReason code \"error\" could be used when the measurement was not completed. Note that an observation may only be reported if there are values to report. For example differential cell counts values may be reported only when > 0.  Because of these options, use-case agreements are required to interpret general observations for null or exceptional values.",
              "requirements": "For many results it is necessary to handle exceptional values in measurements.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.dataAbsentReason",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "condition": [
                "obs-6"
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "DAR"
                  }
                ],
                "strength": "extensible",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-valueabsentreason"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.notDone, Event.notDoneReason  (maps to valeu[x] or dataAbsentReason)"
                },
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": "value.nullFlavor"
                }
              ]
            },
            {
              "id": "Observation.interpretation",
              "path": "Observation.interpretation",
              "short": "High, low, normal, etc.",
              "definition": "The assessment made based on the result of the observation.  Intended as a simple compact code often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result. Otherwise known as abnormal flag.",
              "requirements": "For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result.",
              "alias": [
                "Abnormal Flag"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.interpretation",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationInterpretation"
                  }
                ],
                "strength": "extensible",
                "description": "Codes identifying interpretations of observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-interpretation"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-8"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "363713009 |Has interpretation|"
                }
              ]
            },
            {
              "id": "Observation.comment",
              "path": "Observation.comment",
              "short": "Comments about result",
              "definition": "May include statements about significant, unexpected or unreliable values, or information about the source of the value where this may be relevant to the interpretation of the result.",
              "requirements": "Need to be able to provide free text additional information.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.comment",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.note"
                },
                {
                  "identity": "v2",
                  "map": "NTE.3 (partner NTE to OBX, or sometimes another (child?) OBX)"
                },
                {
                  "identity": "rim",
                  "map": "subjectOf.observationEvent[code=\"annotation\"].value"
                }
              ]
            },
            {
              "id": "Observation.bodySite",
              "path": "Observation.bodySite",
              "short": "Observed body part",
              "definition": "Indicates the site on the subject's body where the observation was made (i.e. the target site).",
              "comment": "Only used if not implicit in code found in Observation.code.  In many systems, this may be represented as a related observation instead of an inline component.   If the use case requires BodySite to be handled as a separate resource (e.g. to identify and track separately) then use the standard extension[ body-site-instance](extension-body-site-instance.html).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.bodySite",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "BodySite"
                  }
                ],
                "strength": "example",
                "description": "Codes describing anatomical locations. May include laterality.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/body-site"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 123037004 |Body structure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-20"
                },
                {
                  "identity": "rim",
                  "map": "targetSiteCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "718497002 |Inherent location|"
                }
              ]
            },
            {
              "id": "Observation.method",
              "path": "Observation.method",
              "short": "How it was done",
              "definition": "Indicates the mechanism used to perform the observation.",
              "comment": "Only used if not implicit in code for Observation.code.",
              "requirements": "In some cases, method can impact results and is thus used for determining whether results can be compared or determining significance of results.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.method",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationMethod"
                  }
                ],
                "strength": "example",
                "description": "Methods for simple observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-methods"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-17"
                },
                {
                  "identity": "rim",
                  "map": "methodCode"
                }
              ]
            },
            {
              "id": "Observation.specimen",
              "path": "Observation.specimen",
              "short": "Specimen used for this observation",
              "definition": "The specimen that was used when this observation was made.",
              "comment": "Should only be used if not implicit in code found in `Observation.code`.  Observations are not made on specimens themselves; they are made on a subject, but in many cases by the means of a specimen. Note that although specimens are often involved, they are not always tracked and reported explicitly. Also note that observation resources may be used in contexts that track the specimen explicitly (e.g. Diagnostic Report).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.specimen",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Specimen"
                }
              ],
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 123038009 |Specimen|"
                },
                {
                  "identity": "v2",
                  "map": "SPM segment"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=SPC].specimen"
                },
                {
                  "identity": "sct-attr",
                  "map": "704319004 |Inherent in|"
                }
              ]
            },
            {
              "id": "Observation.device",
              "path": "Observation.device",
              "short": "(Measurement) Device",
              "definition": "The device used to generate the observation data.",
              "comment": "An extension should be used if further typing of the device is needed.  Devices used to support obtaining an observation can be represented using either an extension or through the Observation.related element.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.device",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/DeviceMetric"
                }
              ],
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 49062001 |Device|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-17 / PRT -10"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=DEV]"
                },
                {
                  "identity": "sct-attr",
                  "map": "424226004 |Using device|"
                }
              ]
            },
            {
              "id": "Observation.referenceRange",
              "path": "Observation.referenceRange",
              "short": "Provides guide for interpretation",
              "definition": "Guidance on how to interpret the value by comparison to a normal or recommended range.",
              "comment": "Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.",
              "requirements": "Knowing what values are considered \"normal\" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.referenceRange",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "key": "obs-3",
                  "severity": "error",
                  "human": "Must have at least a low or a high or text",
                  "expression": "low.exists() or high.exists() or text.exists()",
                  "xpath": "(exists(f:low) or exists(f:high)or exists(f:text))"
                }
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX.7"
                },
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.id",
              "path": "Observation.referenceRange.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.extension",
              "path": "Observation.referenceRange.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.modifierExtension",
              "path": "Observation.referenceRange.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.low",
              "path": "Observation.referenceRange.low",
              "short": "Low Range, if relevant",
              "definition": "The value of the low bound of the reference range.  The low bound of the reference range endpoint is inclusive of the value (e.g.  reference range is >=5 - <=9).   If the low bound is omitted,  it is assumed to be meaningless (e.g. reference range is <=2.3).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.low",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity",
                  "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
                }
              ],
              "condition": [
                "obs-3"
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-7"
                },
                {
                  "identity": "rim",
                  "map": "value:IVL_PQ.low"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.high",
              "path": "Observation.referenceRange.high",
              "short": "High Range, if relevant",
              "definition": "The value of the high bound of the reference range.  The high bound of the reference range endpoint is inclusive of the value (e.g.  reference range is >=5 - <=9).   If the high bound is omitted,  it is assumed to be meaningless (e.g. reference range is >= 2.3).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.high",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity",
                  "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
                }
              ],
              "condition": [
                "obs-3"
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-7"
                },
                {
                  "identity": "rim",
                  "map": "value:IVL_PQ.high"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.type",
              "path": "Observation.referenceRange.type",
              "short": "Reference range qualifier",
              "definition": "Codes to indicate the what part of the targeted reference population it applies to. For example, the normal or therapeutic range.",
              "comment": "This SHOULD be populated if there is more than one range.  If this element is not present then the normal range is assumed.",
              "requirements": "Need to be able to say what kind of reference range this is - normal, recommended, therapeutic, etc,  - for proper interpretation.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.type",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRangeMeaning"
                  }
                ],
                "strength": "extensible",
                "description": "Code for the meaning of a reference range.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/referencerange-meaning"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values| OR  \r< 365860008 |General clinical state finding| \rOR \r< 250171008 |Clinical history or observation findings| OR  \r< 415229000 |Racial group| OR \r< 365400002 |Finding of puberty stage| OR\r< 443938003 |Procedure carried out on subject|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-10"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.appliesTo",
              "path": "Observation.referenceRange.appliesTo",
              "short": "Reference range population",
              "definition": "Codes to indicate the target population this reference range applies to.  For example, a reference range may be based on the normal population or a particular sex or race.",
              "comment": "This SHOULD be populated if there is more than one range.  If this element is not present then the normal population is assumed.",
              "requirements": "Need to be able to identify the target population for proper interpretation.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.referenceRange.appliesTo",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRangeType"
                  }
                ],
                "strength": "example",
                "description": "Codes identifying the population the reference range applies to.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/referencerange-appliesto"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values| OR  \r< 365860008 |General clinical state finding| \rOR \r< 250171008 |Clinical history or observation findings| OR  \r< 415229000 |Racial group| OR \r< 365400002 |Finding of puberty stage| OR\r< 443938003 |Procedure carried out on subject|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-10"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.age",
              "path": "Observation.referenceRange.age",
              "short": "Applicable age range, if relevant",
              "definition": "The age at which this reference range is applicable. This is a neonatal age (e.g. number of weeks at term) if the meaning says so.",
              "requirements": "Some analytes vary greatly over age.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.age",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Range"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=PRCN].targetObservationCriterion[code=\"age\"].value"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.text",
              "path": "Observation.referenceRange.text",
              "short": "Text based reference range in an observation",
              "definition": "Text based reference range in an observation which may be used when a quantitative range is not appropriate for an observation.  An example would be a reference value of \"Negative\" or a list or table of 'normals'.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.text",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-7"
                },
                {
                  "identity": "rim",
                  "map": "value:ST"
                }
              ]
            },
            {
              "id": "Observation.related",
              "path": "Observation.related",
              "short": "Used when reporting vital signs panel components",
              "definition": "Used when reporting vital signs panel components.",
              "comment": "For a discussion on the ways Observations can assembled in groups together see [Notes below](observation.html#4.20.4).",
              "requirements": "Normally, an observation will have either a value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and a set of related observations or sometimes a QuestionnaireResponse from which the measure is derived.",
              "min": 1,
              "max": "*",
              "base": {
                "path": "Observation.related",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "Relationships established by OBX-4 usage"
                },
                {
                  "identity": "rim",
                  "map": "outBoundRelationship"
                }
              ]
            },
            {
              "id": "Observation.related.id",
              "path": "Observation.related.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.related.extension",
              "path": "Observation.related.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.related.modifierExtension",
              "path": "Observation.related.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.related.type",
              "path": "Observation.related.type",
              "short": "has-member | derived-from | sequel-to | replaces | qualified-by | interfered-by",
              "definition": "A code specifying the kind of relationship that exists with the target resource.",
              "comment": "The \"derived-from\" type is the only logical choice when referencing the QuestionnaireAnswer resource.",
              "requirements": "A relationship type SHOULD be provided.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.related.type",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "fixedCode": "has-member",
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRelationshipType"
                  }
                ],
                "strength": "required",
                "description": "Codes specifying how two observations are related.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-relationshiptypes"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": ".typeCode"
                }
              ]
            },
            {
              "id": "Observation.related.target",
              "path": "Observation.related.target",
              "short": "Resource that is related to this one",
              "definition": "A reference to the observation or [QuestionnaireResponse](questionnaireresponse.html#) resource that is related to this observation.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.related.target",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/vitalsigns"
                }
              ],
              "mustSupport": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".targetObservation"
                }
              ]
            },
            {
              "id": "Observation.component",
              "path": "Observation.component",
              "short": "Used when reporting systolic and diastolic blood pressure.",
              "definition": "Used when reporting systolic and diastolic blood pressure.",
              "comment": "For a discussion on the ways Observations can be assembled in groups together see [Notes](observation.html#notes) below.",
              "requirements": "Component observations share the same attributes in the Observation resource as the primary observation and are always treated a part of a single observation (they are not separable).   However, the reference range for the primary observation value is not inherited by the component values and is required when appropriate for each component observation.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.component",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "key": "vs-3",
                  "severity": "error",
                  "human": "If there is no a value a data absent reason must be present",
                  "expression": "value.exists() or dataAbsentReason.exists()",
                  "xpath": "exists(f:*[starts-with(local-name(.), 'value')]) or exists(f:dataAbsentReason)"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "containment by OBX-4?"
                },
                {
                  "identity": "rim",
                  "map": "outBoundRelationship[typeCode=COMP]"
                }
              ]
            },
            {
              "id": "Observation.component.id",
              "path": "Observation.component.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.extension",
              "path": "Observation.component.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.modifierExtension",
              "path": "Observation.component.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.component.code",
              "path": "Observation.component.code",
              "short": "Type of component observation (code / type)",
              "definition": "Describes what was observed. Sometimes this is called the observation \"code\".",
              "requirements": "Knowing what kind of observation is being made is essential to understanding the observation.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.component.code",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSigns"
                  }
                ],
                "strength": "extensible",
                "description": "This identifies the vital sign result type.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-vitalsignresult"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity| OR \r< 386053000 |Evaluation procedure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-3"
                },
                {
                  "identity": "rim",
                  "map": "code"
                },
                {
                  "identity": "w5",
                  "map": "what"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity",
              "path": "Observation.component.valueQuantity",
              "short": "Vital Sign Value recorded with UCUM",
              "definition": "Vital Sign Value recorded with UCUM.",
              "comment": "Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value.   For boolean values use valueCodeableConcept and select codes from <http://hl7.org/fhir/ValueSet/v2-0136> (these \"yes/no\" concepts can be mapped to the display name \"true/false\" or other mutually exclusive terms that may be needed\").  The element, Observation.value[x], has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueRatio, valueChoice, valuePeriod, valueSampleData, or valueString (the name format is \"'value' + the type name\" with a capital on the first letter of the type).",
              "requirements": "9. SHALL contain exactly one [1..1] value with @xsi:type=\"PQ\" (CONF:7305).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.value[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "VitalSignsUnits"
                  }
                ],
                "strength": "required",
                "description": "Common UCUM units for recording Vital Signs",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/ucum-vitals-common"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "363714003 |Interprets| < 441742003 |Evaluation finding|"
                },
                {
                  "identity": "v2",
                  "map": "OBX.2, OBX.5, OBX.6"
                },
                {
                  "identity": "rim",
                  "map": "value"
                },
                {
                  "identity": "sct-attr",
                  "map": "363714003 |Interprets|"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.id",
              "path": "Observation.component.valueQuantity.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.extension",
              "path": "Observation.component.valueQuantity.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.value",
              "path": "Observation.component.valueQuantity.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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.value",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "decimal"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.component.valueQuantity.comparator",
              "path": "Observation.component.valueQuantity.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",
              "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": "v2",
                  "map": "SN.1  / CQ.1"
                },
                {
                  "identity": "rim",
                  "map": "IVL properties"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.unit",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "Observation.component.valueQuantity.unit",
              "short": "Unit representation",
              "definition": "A human-readable form of the unit.",
              "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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.unit",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "PQ.unit"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.system",
              "path": "Observation.component.valueQuantity.system",
              "short": "System that defines coded unit form",
              "definition": "The identification of the system that provides the coded form of the unit.",
              "requirements": "Need to know the system that defines the coded form of the unit.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Quantity.system",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://unitsofmeasure.org",
              "condition": [
                "qty-3"
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "CO.codeSystem, PQ.translation.codeSystem"
                }
              ]
            },
            {
              "id": "Observation.component.valueQuantity.code",
              "path": "Observation.component.valueQuantity.code",
              "short": "Coded responses from the common UCUM units for vital signs value set.",
              "definition": "Coded responses from the common UCUM units for vital signs value set.",
              "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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.code",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "PQ.code, MO.currency, PQ.translation.code"
                }
              ]
            },
            {
              "id": "Observation.component.dataAbsentReason",
              "path": "Observation.component.dataAbsentReason",
              "short": "Why the component result is missing",
              "definition": "Provides a reason why the expected value in the element Observation.value[x] is missing.",
              "comment": "\"Null\" or exceptional values can be represented two ways in FHIR Observations.  One way is to simply include them in the value set and represent the exceptions in the value.  For example, measurement values for a serology test could be  \"detected\", \"not detected\", \"inconclusive\", or  \"test not done\".   The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values.  For example, the dataAbsentReason code \"error\" could be used when the measurement was not completed.  Because of these options, use-case agreements are required to interpret general observations for exceptional values.",
              "requirements": "For many results it is necessary to handle exceptional values in measurements.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.dataAbsentReason",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "condition": [
                "obs-6"
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "DAR"
                  }
                ],
                "strength": "extensible",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-valueabsentreason"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": "value.nullFlavor"
                }
              ]
            },
            {
              "id": "Observation.component.interpretation",
              "path": "Observation.component.interpretation",
              "short": "High, low, normal, etc.",
              "definition": "The assessment made based on the result of the observation.  Intended as a simple compact code often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result. Otherwise known as abnormal flag.",
              "comment": "The component interpretation applies only to the individual component value.  For an overall interpretation all components together use thes Observation.interpretation element.",
              "requirements": "For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result.",
              "alias": [
                "Abnormal Flag"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.interpretation",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationInterpretation"
                  }
                ],
                "strength": "extensible",
                "description": "Codes identifying interpretations of observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-interpretation"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-8"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "363713009 |Has interpretation|"
                }
              ]
            },
            {
              "id": "Observation.component.referenceRange",
              "path": "Observation.component.referenceRange",
              "short": "Provides guide for interpretation of component result",
              "definition": "Guidance on how to interpret the value by comparison to a normal or recommended range.",
              "comment": "Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.",
              "requirements": "Knowing what values are considered \"normal\" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.component.referenceRange",
                "min": 0,
                "max": "*"
              },
              "contentReference": "#Observation.referenceRange",
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX.7"
                },
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]"
                }
              ]
            }
          ]
        },
        "differential": {
          "element": [
            {
              "id": "Observation",
              "path": "Observation",
              "short": "FHIR Vital Signs Panel Profile",
              "definition": "This profile defines the top-level grouping structure for a set of vital signs. It has no value in Observation.valueQuantity ; instead, it just includes related links (with type=has-member) to the Observations in this set (e.g. respiratory rate, heart rate, BP).",
              "min": 0,
              "max": "*"
            },
            {
              "id": "Observation.code",
              "path": "Observation.code",
              "short": "Vital Signs Panel",
              "definition": "Vital Signs Panel.",
              "comment": "additional codes that translate or map to this code are allowed.  For example a more granular LOINC code or code that is used locally in a system.",
              "alias": [
                "Panel Name",
                "Panel Code"
              ]
            },
            {
              "id": "Observation.code.coding",
              "path": "Observation.code.coding",
              "slicing": {
                "discriminator": [
                  {
                    "type": "value",
                    "path": "code"
                  }
                ],
                "ordered": false,
                "rules": "open"
              }
            },
            {
              "id": "Observation.code.coding:bodyweightcode",
              "path": "Observation.code.coding",
              "sliceName": "BodyWeightCode"
            },
            {
              "id": "Observation.code.coding:bodyweightcode.system",
              "path": "Observation.code.coding.system",
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://loinc.org"
            },
            {
              "id": "Observation.code.coding:bodyweightcode.code",
              "path": "Observation.code.coding.code",
              "type": [
                {
                  "code": "code"
                }
              ],
              "fixedCode": "85353-1"
            },
            {
              "id": "Observation.valueQuantity",
              "path": "Observation.valueQuantity",
              "min": 0,
              "max": "0"
            },
            {
              "id": "Observation.related",
              "path": "Observation.related",
              "min": 1,
              "max": "*"
            }
          ]
        }
      }
    },
    {
      "fullUrl": "http://hl7.org/fhir/StructureDefinition/lipidprofile",
      "resource": {
        "resourceType": "StructureDefinition",
        "id": "lipidprofile",
        "text": {
          "status": "generated",
          "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">to do</div>"
        },
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-summary",
            "valueMarkdown": "This is a test summary [lipids](observation.html)"
          },
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
            "valueInteger": 1
          },
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
            "valueCode": "oo"
          }
        ],
        "url": "http://hl7.org/fhir/StructureDefinition/lipidprofile",
        "name": "Example Lipid Profile",
        "status": "draft",
        "experimental": true,
        "date": "2012-05-12",
        "publisher": "Grahame Grieve",
        "contact": [
          {
            "telecom": [
              {
                "system": "url",
                "value": "grahame@healthintersections.com.au"
              }
            ]
          }
        ],
        "description": "Lipid Lab Report",
        "fhirVersion": "3.0.1",
        "mapping": [
          {
            "identity": "workflow",
            "uri": "http://hl7.org/fhir/workflow",
            "name": "Workflow Mapping"
          },
          {
            "identity": "v2",
            "uri": "http://hl7.org/v2",
            "name": "HL7 v2 Mapping"
          },
          {
            "identity": "rim",
            "uri": "http://hl7.org/v3",
            "name": "RIM Mapping"
          },
          {
            "identity": "w5",
            "uri": "http://hl7.org/fhir/w5",
            "name": "W5 Mapping"
          }
        ],
        "kind": "resource",
        "abstract": false,
        "type": "DiagnosticReport",
        "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DiagnosticReport",
        "derivation": "constraint",
        "snapshot": {
          "element": [
            {
              "id": "DiagnosticReport",
              "path": "DiagnosticReport",
              "short": "Lipid Lab Report",
              "definition": "The findings and interpretation of a general lipd lab profile.",
              "comment": "In this profile, mustSupport means that authoring systems must include the ability to report these elements, and processing systems must cater for them by either displaying them to the user or considering them appropriately in decision support systems.",
              "alias": [
                "Report",
                "Test",
                "Result",
                "Results",
                "Labs",
                "Laboratory"
              ],
              "min": 1,
              "max": "1",
              "base": {
                "path": "DiagnosticReport",
                "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)",
                  "source": "DomainResource"
                },
                {
                  "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)",
                  "source": "DomainResource"
                },
                {
                  "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))",
                  "source": "DomainResource"
                },
                {
                  "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))]))",
                  "source": "DomainResource"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Entity. Role, or Act"
                },
                {
                  "identity": "workflow",
                  "map": "Event"
                },
                {
                  "identity": "v2",
                  "map": "ORU -> OBR"
                },
                {
                  "identity": "rim",
                  "map": "Observation[classCode=OBS, moodCode=EVN]"
                },
                {
                  "identity": "w5",
                  "map": "clinical.diagnostics"
                }
              ]
            },
            {
              "id": "DiagnosticReport.id",
              "path": "DiagnosticReport.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "DiagnosticReport.meta",
              "path": "DiagnosticReport.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "DiagnosticReport.implicitRules",
              "path": "DiagnosticReport.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"
                }
              ],
              "isModifier": true,
              "isSummary": true
            },
            {
              "id": "DiagnosticReport.language",
              "path": "DiagnosticReport.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"
                }
              ],
              "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"
                }
              }
            },
            {
              "id": "DiagnosticReport.text",
              "path": "DiagnosticReport.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": [
                "dom-1"
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Act.text?"
                }
              ]
            },
            {
              "id": "DiagnosticReport.contained",
              "path": "DiagnosticReport.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": "N/A"
                }
              ]
            },
            {
              "id": "DiagnosticReport.extension",
              "path": "DiagnosticReport.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "DiagnosticReport.modifierExtension",
              "path": "DiagnosticReport.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 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"
                }
              ],
              "isModifier": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "DiagnosticReport.identifier",
              "path": "DiagnosticReport.identifier",
              "short": "Business identifier for report",
              "definition": "Identifiers assigned to this report by the performer or other systems.",
              "comment": "Usually assigned by the Information System of the diagnostic service provider (filler id).",
              "requirements": "Need to know what identifier to use when making queries about this report from the source laboratory, and for linking to the report outside FHIR context.",
              "alias": [
                "ReportID",
                "Filler ID",
                "Placer ID"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "DiagnosticReport.identifier",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Identifier"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.identifier"
                },
                {
                  "identity": "v2",
                  "map": "OBR-51"
                },
                {
                  "identity": "rim",
                  "map": "id"
                },
                {
                  "identity": "w5",
                  "map": "id"
                }
              ]
            },
            {
              "id": "DiagnosticReport.basedOn",
              "path": "DiagnosticReport.basedOn",
              "short": "What was requested",
              "definition": "Details concerning a test or procedure requested.",
              "comment": "Note: Usually there is one test request for each result, however in some circumstances multiple test requests may be represented using a single test result resource. Note that there are also cases where one request leads to multiple reports.",
              "requirements": "This allows tracing of authorization for the report and tracking whether proposals/recommendations were acted upon.",
              "alias": [
                "Request"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "DiagnosticReport.basedOn",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/CarePlan"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ImmunizationRecommendation"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/NutritionOrder"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ProcedureRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ReferralRequest"
                }
              ],
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.basedOn"
                },
                {
                  "identity": "v2",
                  "map": "ORC? OBR-2/3?"
                },
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=FLFS].target"
                }
              ]
            },
            {
              "id": "DiagnosticReport.status",
              "path": "DiagnosticReport.status",
              "short": "registered | partial | preliminary | final +",
              "definition": "The status of the diagnostic report as a whole.",
              "comment": "This is labeled as \"Is Modifier\" because applications need to take appropriate action if a report is withdrawn.",
              "requirements": "Diagnostic services routinely issue provisional/incomplete reports, and sometimes withdraw previously released reports.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "DiagnosticReport.status",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "DiagnosticReportStatus"
                  }
                ],
                "strength": "required",
                "description": "The status of the diagnostic report as a whole.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/diagnostic-report-status"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.status"
                },
                {
                  "identity": "v2",
                  "map": "OBR-25 (not 1:1 mapping)"
                },
                {
                  "identity": "rim",
                  "map": "statusCode  Note: final and amended are distinguished by whether observation is the subject of a ControlAct event of type \"revise\""
                },
                {
                  "identity": "w5",
                  "map": "status"
                }
              ]
            },
            {
              "id": "DiagnosticReport.category",
              "path": "DiagnosticReport.category",
              "short": "Service category",
              "definition": "A code that classifies the clinical discipline, department or diagnostic service that created the report (e.g. cardiology, biochemistry, hematology, MRI). This is used for searching, sorting and display purposes.",
              "comment": "The level of granularity is defined by the category concepts in the value set. More fine-grained filtering can be performed using the metadata and/or terminology hierarchy in DiagnosticReport.code.",
              "alias": [
                "Department",
                "Sub-department",
                "Service",
                "Discipline"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "DiagnosticReport.category",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "DiagnosticServiceSection"
                  }
                ],
                "strength": "example",
                "description": "Codes for diagnostic service sections.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/diagnostic-service-sections"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBR-24"
                },
                {
                  "identity": "rim",
                  "map": "inboundRelationship[typeCode=COMP].source[classCode=LIST, moodCode=EVN, code < LabService].code"
                },
                {
                  "identity": "w5",
                  "map": "class"
                }
              ]
            },
            {
              "id": "DiagnosticReport.code",
              "path": "DiagnosticReport.code",
              "short": "LOINC Code for Lipid Panel with LDL",
              "definition": "LOINC Code for Lipid Panel with LDL.",
              "comment": "LOINC code includes \"direct\" LDL - does this mean LDL derived by measuring VLDL by ultracentrifugation? This panel includes both measured and calculated LDL.",
              "alias": [
                "Type"
              ],
              "min": 1,
              "max": "1",
              "base": {
                "path": "DiagnosticReport.code",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "fixedCodeableConcept": {
                "coding": [
                  {
                    "system": "http://loinc.org",
                    "code": "57698-3",
                    "display": "Lipid panel with direct LDL - Serum or Plasma"
                  }
                ]
              },
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "DiagnosticReportCodes"
                  }
                ],
                "strength": "preferred",
                "description": "Codes that describe Diagnostic Reports.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/report-codes"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.code"
                },
                {
                  "identity": "v2",
                  "map": "OBR-4 (HL7 v2 doesn't provide an easy way to indicate both the ordered test and the performed panel)"
                },
                {
                  "identity": "rim",
                  "map": "code"
                },
                {
                  "identity": "w5",
                  "map": "what"
                }
              ]
            },
            {
              "id": "DiagnosticReport.subject",
              "path": "DiagnosticReport.subject",
              "short": "The subject of the report - usually, but not always, the patient",
              "definition": "The subject of the report. Usually, but not always, this is a patient. However diagnostic services also perform analyses on specimens collected from a variety of other sources.",
              "requirements": "SHALL know the subject context.",
              "alias": [
                "Patient"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "DiagnosticReport.subject",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.subject"
                },
                {
                  "identity": "v2",
                  "map": "PID-3 (no HL7 v2 mapping for Group or Device)"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=SBJ]"
                },
                {
                  "identity": "w5",
                  "map": "who.focus"
                }
              ]
            },
            {
              "id": "DiagnosticReport.context",
              "path": "DiagnosticReport.context",
              "short": "Health care event when test ordered",
              "definition": "The healthcare event  (e.g. a patient and healthcare provider interaction) which this DiagnosticReport per is about.",
              "comment": "This will typically be the encounter the event occurred within, but some events may be initiated prior to or after the official completion of an encounter or episode but still be tied to the context of the encounter or episode (e.g. pre-admission lab tests).",
              "requirements": "Links the request to the Encounter context.",
              "alias": [
                "Encounter"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "DiagnosticReport.context",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.context"
                },
                {
                  "identity": "v2",
                  "map": "PV1-19"
                },
                {
                  "identity": "rim",
                  "map": "inboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN]"
                },
                {
                  "identity": "w5",
                  "map": "context"
                }
              ]
            },
            {
              "id": "DiagnosticReport.effective[x]",
              "path": "DiagnosticReport.effective[x]",
              "short": "Clinically relevant time/time-period for report",
              "definition": "The time or time-period the observed values are related to. When the subject of the report is a patient, this is usually either the time of the procedure or of specimen collection(s), but very often the source of the date/time is not known, only the date/time itself.",
              "comment": "If the diagnostic procedure was performed on the patient, this is the time it was performed. If there are specimens, the diagnostically relevant time can be derived from the specimen collection times, but the specimen information is not always available, and the exact relationship between the specimens and the diagnostically relevant time is not always automatic.",
              "requirements": "Need to know where in the patient history to file/present this report.",
              "alias": [
                "Observation time",
                "Effective Time",
                "Occurrence"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "DiagnosticReport.effective[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "dateTime"
                },
                {
                  "code": "Period"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.occurrence[x]"
                },
                {
                  "identity": "v2",
                  "map": "OBR-7"
                },
                {
                  "identity": "rim",
                  "map": "effectiveTime"
                },
                {
                  "identity": "w5",
                  "map": "when.done"
                }
              ]
            },
            {
              "id": "DiagnosticReport.issued",
              "path": "DiagnosticReport.issued",
              "short": "DateTime this version was released",
              "definition": "The date and time that this version of the report was released from the source diagnostic service.",
              "comment": "May be different from the update time of the resource itself, because that is the status of the record (potentially a secondary copy), not the actual release time of the report.",
              "requirements": "Clinicians need to be able to check the date that the report was released.",
              "alias": [
                "Date Created",
                "Date published",
                "Date Issued"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "DiagnosticReport.issued",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "instant"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBR-22"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=VRF or AUT].time"
                },
                {
                  "identity": "w5",
                  "map": "when.recorded"
                }
              ]
            },
            {
              "id": "DiagnosticReport.performer",
              "path": "DiagnosticReport.performer",
              "short": "Participants in producing the report",
              "definition": "Indicates who or what participated in producing the report.",
              "alias": [
                "Laboratory",
                "Service",
                "Practitioner",
                "Department",
                "Company"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "DiagnosticReport.performer",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.performer"
                },
                {
                  "identity": "v2",
                  "map": "PRT-8 (where this PRT-4-Participation = \"PO\")"
                },
                {
                  "identity": "rim",
                  "map": ".participation[typeCode=PRF]"
                },
                {
                  "identity": "w5",
                  "map": "who.witness"
                }
              ]
            },
            {
              "id": "DiagnosticReport.performer.id",
              "path": "DiagnosticReport.performer.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "DiagnosticReport.performer.extension",
              "path": "DiagnosticReport.performer.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "DiagnosticReport.performer.modifierExtension",
              "path": "DiagnosticReport.performer.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "DiagnosticReport.performer.role",
              "path": "DiagnosticReport.performer.role",
              "short": "Type of performer",
              "definition": "Describes the type of participation (e.g.  a responsible party, author, or verifier).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "DiagnosticReport.performer.role",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "Role"
                  }
                ],
                "strength": "example",
                "description": "Indicate a role of diagnostic report performer",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/performer-role"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.performer.role"
                },
                {
                  "identity": "v2",
                  "map": "PRT-8 (where this PRT-4-Participation = \"PO\")"
                },
                {
                  "identity": "rim",
                  "map": ".functionCode"
                }
              ]
            },
            {
              "id": "DiagnosticReport.performer.actor",
              "path": "DiagnosticReport.performer.actor",
              "short": "Practitioner or Organization  participant",
              "definition": "The reference to the  practitioner or organization involved in producing the report. For example, the diagnostic service that is responsible for issuing the report.",
              "comment": "This is not necessarily the source of the atomic data items. It is the entity that takes responsibility for the clinical report.",
              "requirements": "Need to know whom to contact if there are queries about the results. Also may need to track the source of reports for secondary data analysis.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "DiagnosticReport.performer.actor",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.performer.actor"
                },
                {
                  "identity": "v2",
                  "map": "PRT-8 (where this PRT-4-Participation = \"PO\")"
                },
                {
                  "identity": "rim",
                  "map": ".role"
                }
              ]
            },
            {
              "id": "DiagnosticReport.specimen",
              "path": "DiagnosticReport.specimen",
              "short": "Specimens this report is based on",
              "definition": "Details about the specimens on which this diagnostic report is based.",
              "comment": "If the specimen is sufficiently specified with a code in the test result name, then this additional data may be redundant. If there are multiple specimens, these may be represented per observation or group.",
              "requirements": "Need to be able to report information about the collected specimens on which the report is based.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "DiagnosticReport.specimen",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Specimen"
                }
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "SPM"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=SBJ]"
                }
              ]
            },
            {
              "id": "DiagnosticReport.result",
              "path": "DiagnosticReport.result",
              "slicing": {
                "discriminator": [
                  {
                    "type": "value",
                    "path": "reference.code"
                  }
                ],
                "ordered": true,
                "rules": "closed"
              },
              "short": "Observations - simple, or complex nested groups",
              "definition": "Observations that are part of this diagnostic report. Observations can be simple name/value pairs (e.g. \"atomic\" results), or they can be grouping observations that include references to other members of the group (e.g. \"panels\").",
              "requirements": "Need to support individual results, or report groups of results, where the result grouping is arbitrary, but meaningful. This structure is recursive - observations can contain observations.",
              "alias": [
                "Data",
                "Atomic Value",
                "Result",
                "Atomic result",
                "Data",
                "Test",
                "Analyte",
                "Battery",
                "Organizer"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "DiagnosticReport.result",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
                }
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBXs"
                },
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=COMP].target"
                }
              ]
            },
            {
              "id": "DiagnosticReport.result:cholesterol",
              "path": "DiagnosticReport.result",
              "sliceName": "Cholesterol",
              "short": "Cholesterol Result",
              "definition": "Reference to Cholesterol Result.",
              "requirements": "Need to support individual results, or report groups of results, where the result grouping is arbitrary, but meaningful. This structure is recursive - observations can contain observations.",
              "alias": [
                "Data",
                "Atomic Value",
                "Result",
                "Atomic result",
                "Data",
                "Test",
                "Analyte",
                "Battery",
                "Organizer"
              ],
              "min": 1,
              "max": "1",
              "base": {
                "path": "DiagnosticReport.result",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/cholesterol"
                }
              ],
              "mustSupport": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBXs"
                },
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=COMP].target"
                }
              ]
            },
            {
              "id": "DiagnosticReport.result:triglyceride",
              "path": "DiagnosticReport.result",
              "sliceName": "Triglyceride",
              "short": "Triglyceride Result",
              "definition": "Group of elements for Triglyceride result.",
              "requirements": "Need to support individual results, or report groups of results, where the result grouping is arbitrary, but meaningful. This structure is recursive - observations can contain observations.",
              "alias": [
                "Data",
                "Atomic Value",
                "Result",
                "Atomic result",
                "Data",
                "Test",
                "Analyte",
                "Battery",
                "Organizer"
              ],
              "min": 1,
              "max": "1",
              "base": {
                "path": "DiagnosticReport.result",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/triglyceride"
                }
              ],
              "mustSupport": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBXs"
                },
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=COMP].target"
                }
              ]
            },
            {
              "id": "DiagnosticReport.result:hdlcholesterol",
              "path": "DiagnosticReport.result",
              "sliceName": "HDLCholesterol",
              "short": "HDL Cholesterol Result",
              "definition": "Group of elements for HDL Cholesterol result.",
              "requirements": "Need to support individual results, or report groups of results, where the result grouping is arbitrary, but meaningful. This structure is recursive - observations can contain observations.",
              "alias": [
                "Data",
                "Atomic Value",
                "Result",
                "Atomic result",
                "Data",
                "Test",
                "Analyte",
                "Battery",
                "Organizer"
              ],
              "min": 1,
              "max": "1",
              "base": {
                "path": "DiagnosticReport.result",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/hdlcholesterol"
                }
              ],
              "mustSupport": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBXs"
                },
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=COMP].target"
                }
              ]
            },
            {
              "id": "DiagnosticReport.result:ldlcholesterol",
              "path": "DiagnosticReport.result",
              "sliceName": "LDLCholesterol",
              "short": "LDL Cholesterol result, if reported",
              "definition": "LDL Cholesterol result, if reported.",
              "requirements": "Need to support individual results, or report groups of results, where the result grouping is arbitrary, but meaningful. This structure is recursive - observations can contain observations.",
              "alias": [
                "Data",
                "Atomic Value",
                "Result",
                "Atomic result",
                "Data",
                "Test",
                "Analyte",
                "Battery",
                "Organizer"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "DiagnosticReport.result",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ldlcholesterol"
                }
              ],
              "mustSupport": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBXs"
                },
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=COMP].target"
                }
              ]
            },
            {
              "id": "DiagnosticReport.imagingStudy",
              "path": "DiagnosticReport.imagingStudy",
              "short": "Reference to full details of imaging associated with the diagnostic report",
              "definition": "One or more links to full details of any imaging performed during the diagnostic investigation. Typically, this is imaging performed by DICOM enabled modalities, but this is not required. A fully enabled PACS viewer can use this information to provide views of the source images.",
              "comment": "ImagingStudy and ImageManifest and the image element are somewhat overlapping - typically, the list of image references in the image element will also be found in one of the imaging study resources. However each caters to different types of displays for different types of purposes. Neither, either, or both may be provided.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "DiagnosticReport.imagingStudy",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ImagingStudy"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ImagingManifest"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=COMP].target[classsCode=DGIMG, moodCode=EVN]"
                }
              ]
            },
            {
              "id": "DiagnosticReport.image",
              "path": "DiagnosticReport.image",
              "short": "Key images associated with this report",
              "definition": "A list of key images associated with this report. The images are generally created during the diagnostic process, and may be directly of the patient, or of treated specimens (i.e. slides of interest).",
              "requirements": "Many diagnostic services include images in the report as part of their service.",
              "alias": [
                "DICOM",
                "Slides",
                "Scans"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "DiagnosticReport.image",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX?"
                },
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=COMP].target"
                }
              ]
            },
            {
              "id": "DiagnosticReport.image.id",
              "path": "DiagnosticReport.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "DiagnosticReport.image.extension",
              "path": "DiagnosticReport.image.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "DiagnosticReport.image.modifierExtension",
              "path": "DiagnosticReport.image.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "DiagnosticReport.image.comment",
              "path": "DiagnosticReport.image.comment",
              "short": "Comment about the image (e.g. explanation)",
              "definition": "A comment about the image. Typically, this is used to provide an explanation for why the image is included, or to draw the viewer's attention to important features.",
              "comment": "The comment should be displayed with the image. It would be common for the report to include additional discussion of the image contents in other sections such as the conclusion.",
              "requirements": "The provider of the report should make a comment about each image included in the report.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "DiagnosticReport.image.comment",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".inboundRelationship[typeCode=COMP].source[classCode=OBS, moodCode=EVN, code=\"annotation\"].value"
                }
              ]
            },
            {
              "id": "DiagnosticReport.image.link",
              "path": "DiagnosticReport.image.link",
              "short": "Reference to the image source",
              "definition": "Reference to the image source.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "DiagnosticReport.image.link",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Media"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".value.reference"
                }
              ]
            },
            {
              "id": "DiagnosticReport.conclusion",
              "path": "DiagnosticReport.conclusion",
              "short": "Clinical Interpretation of Lipid Panel",
              "definition": "May include diagnosis or suggestions for follow up testing.",
              "comment": "It's not unusual for the lab to make some kind of interpretative comment on the set of results.",
              "requirements": "Need to be able to provide a conclusion that is not lost among the basic result data.",
              "alias": [
                "Report"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "DiagnosticReport.conclusion",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mustSupport": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX"
                },
                {
                  "identity": "rim",
                  "map": "inboundRelationship[typeCode=\"SPRT\"].source[classCode=OBS, moodCode=EVN, code=LOINC:48767-8].value (type=ST)"
                }
              ]
            },
            {
              "id": "DiagnosticReport.codedDiagnosis",
              "path": "DiagnosticReport.codedDiagnosis",
              "short": "No codes for a lipid panel",
              "definition": "No codes for a lipid panel.",
              "comment": "Not used in this context.",
              "min": 0,
              "max": "0",
              "base": {
                "path": "DiagnosticReport.codedDiagnosis",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "AdjunctDiagnosis"
                  }
                ],
                "strength": "example",
                "description": "Diagnosis codes provided as adjuncts to the report.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/clinical-findings"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX"
                },
                {
                  "identity": "rim",
                  "map": "inboundRelationship[typeCode=SPRT].source[classCode=OBS, moodCode=EVN, code=LOINC:54531-9].value (type=CD)"
                }
              ]
            },
            {
              "id": "DiagnosticReport.presentedForm",
              "path": "DiagnosticReport.presentedForm",
              "short": "Entire report as issued",
              "definition": "Rich text representation of the entire result as issued by the diagnostic service. Multiple formats are allowed but they SHALL be semantically equivalent.",
              "comment": "\"application/pdf\" is recommended as the most reliable and interoperable in this context.",
              "requirements": "Gives laboratory the ability to provide its own fully formatted report for clinical fidelity.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "DiagnosticReport.presentedForm",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Attachment"
                }
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX"
                },
                {
                  "identity": "rim",
                  "map": "text (type=ED)"
                }
              ]
            }
          ]
        },
        "differential": {
          "element": [
            {
              "id": "DiagnosticReport",
              "path": "DiagnosticReport",
              "short": "Lipid Lab Report",
              "definition": "The findings and interpretation of a general lipd lab profile.",
              "comment": "In this profile, mustSupport means that authoring systems must include the ability to report these elements, and processing systems must cater for them by either displaying them to the user or considering them appropriately in decision support systems.",
              "min": 1,
              "max": "1"
            },
            {
              "id": "DiagnosticReport.code",
              "path": "DiagnosticReport.code",
              "short": "LOINC Code for Lipid Panel with LDL",
              "definition": "LOINC Code for Lipid Panel with LDL.",
              "comment": "LOINC code includes \"direct\" LDL - does this mean LDL derived by measuring VLDL by ultracentrifugation? This panel includes both measured and calculated LDL.",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "fixedCodeableConcept": {
                "coding": [
                  {
                    "system": "http://loinc.org",
                    "code": "57698-3",
                    "display": "Lipid panel with direct LDL - Serum or Plasma"
                  }
                ]
              }
            },
            {
              "id": "DiagnosticReport.result",
              "path": "DiagnosticReport.result",
              "slicing": {
                "discriminator": [
                  {
                    "type": "value",
                    "path": "reference.code"
                  }
                ],
                "ordered": true,
                "rules": "closed"
              },
              "max": "1"
            },
            {
              "id": "DiagnosticReport.result:cholesterol",
              "path": "DiagnosticReport.result",
              "sliceName": "Cholesterol",
              "short": "Cholesterol Result",
              "definition": "Reference to Cholesterol Result.",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/cholesterol"
                }
              ],
              "mustSupport": true
            },
            {
              "id": "DiagnosticReport.result:triglyceride",
              "path": "DiagnosticReport.result",
              "sliceName": "Triglyceride",
              "short": "Triglyceride Result",
              "definition": "Group of elements for Triglyceride result.",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/triglyceride"
                }
              ],
              "mustSupport": true
            },
            {
              "id": "DiagnosticReport.result:hdlcholesterol",
              "path": "DiagnosticReport.result",
              "sliceName": "HDLCholesterol",
              "short": "HDL Cholesterol Result",
              "definition": "Group of elements for HDL Cholesterol result.",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/hdlcholesterol"
                }
              ],
              "mustSupport": true
            },
            {
              "id": "DiagnosticReport.result:ldlcholesterol",
              "path": "DiagnosticReport.result",
              "sliceName": "LDLCholesterol",
              "short": "LDL Cholesterol result, if reported",
              "definition": "LDL Cholesterol result, if reported.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ldlcholesterol"
                }
              ],
              "mustSupport": true
            },
            {
              "id": "DiagnosticReport.conclusion",
              "path": "DiagnosticReport.conclusion",
              "short": "Clinical Interpretation of Lipid Panel",
              "definition": "May include diagnosis or suggestions for follow up testing.",
              "comment": "It's not unusual for the lab to make some kind of interpretative comment on the set of results.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "string"
                }
              ],
              "mustSupport": true
            },
            {
              "id": "DiagnosticReport.codedDiagnosis",
              "path": "DiagnosticReport.codedDiagnosis",
              "short": "No codes for a lipid panel",
              "definition": "No codes for a lipid panel.",
              "comment": "Not used in this context.",
              "min": 0,
              "max": "0",
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ]
            }
          ]
        }
      }
    },
    {
      "fullUrl": "http://hl7.org/fhir/StructureDefinition/cholesterol",
      "resource": {
        "resourceType": "StructureDefinition",
        "id": "cholesterol",
        "text": {
          "status": "generated",
          "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">to do</div>"
        },
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
            "valueInteger": 1
          },
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
            "valueCode": "oo"
          }
        ],
        "url": "http://hl7.org/fhir/StructureDefinition/cholesterol",
        "name": "Example Lipid Profile",
        "status": "draft",
        "experimental": true,
        "date": "2012-05-12",
        "publisher": "Grahame Grieve",
        "contact": [
          {
            "telecom": [
              {
                "system": "url",
                "value": "grahame@healthintersections.com.au"
              }
            ]
          }
        ],
        "description": "Describes how the lab report is used for a standard Lipid Profile - Cholesterol, Triglyceride and Cholesterol fractions. Uses LOINC codes",
        "fhirVersion": "3.0.1",
        "mapping": [
          {
            "identity": "workflow",
            "uri": "http://hl7.org/fhir/workflow",
            "name": "Workflow Mapping"
          },
          {
            "identity": "sct-concept",
            "uri": "http://snomed.info/conceptdomain",
            "name": "SNOMED CT Concept Domain Binding"
          },
          {
            "identity": "v2",
            "uri": "http://hl7.org/v2",
            "name": "HL7 v2 Mapping"
          },
          {
            "identity": "rim",
            "uri": "http://hl7.org/v3",
            "name": "RIM Mapping"
          },
          {
            "identity": "w5",
            "uri": "http://hl7.org/fhir/w5",
            "name": "W5 Mapping"
          },
          {
            "identity": "sct-attr",
            "uri": "http://snomed.info/sct",
            "name": "SNOMED CT Attribute Binding"
          }
        ],
        "kind": "resource",
        "abstract": false,
        "type": "Observation",
        "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Observation",
        "derivation": "constraint",
        "snapshot": {
          "element": [
            {
              "id": "Observation",
              "path": "Observation",
              "short": "Measurements and simple assertions",
              "definition": "Measurements and simple assertions made about a patient, device or other subject.",
              "comment": "Used for simple observations such as device measurements, laboratory atomic results, vital signs, height, weight, smoking status, comments, etc.  Other resources are used to provide context for observations such as lab reports, etc.",
              "alias": [
                "Vital Signs",
                "Measurement",
                "Results",
                "Tests"
              ],
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation",
                "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)",
                  "source": "DomainResource"
                },
                {
                  "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)",
                  "source": "DomainResource"
                },
                {
                  "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))",
                  "source": "DomainResource"
                },
                {
                  "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))]))",
                  "source": "DomainResource"
                },
                {
                  "key": "obs-7",
                  "severity": "error",
                  "human": "If code is the same as a component code then the value element associated with the code SHALL NOT be present",
                  "expression": "value.empty() or code!=component.code",
                  "xpath": "not(exists(f:*[starts-with(local-name(.), 'value')])) or not(count(for $coding in f:code/f:coding return parent::*/f:component/f:code/f:coding[f:code/@value=$coding/f:code/@value and f:system/@value=$coding/f:system/@value])=0)",
                  "source": "Observation"
                },
                {
                  "key": "obs-6",
                  "severity": "error",
                  "human": "dataAbsentReason SHALL only be present if Observation.value[x] is not present",
                  "expression": "dataAbsentReason.empty() or value.empty()",
                  "xpath": "not(exists(f:dataAbsentReason)) or (not(exists(*[starts-with(local-name(.), 'value')])))",
                  "source": "Observation"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Entity. Role, or Act"
                },
                {
                  "identity": "workflow",
                  "map": "Event"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity|"
                },
                {
                  "identity": "v2",
                  "map": "OBX"
                },
                {
                  "identity": "rim",
                  "map": "Observation[classCode=OBS, moodCode=EVN]"
                },
                {
                  "identity": "w5",
                  "map": "clinical.diagnostics"
                }
              ]
            },
            {
              "id": "Observation.id",
              "path": "Observation.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "Observation.meta",
              "path": "Observation.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "Observation.implicitRules",
              "path": "Observation.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"
                }
              ],
              "isModifier": true,
              "isSummary": true
            },
            {
              "id": "Observation.language",
              "path": "Observation.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"
                }
              ],
              "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"
                }
              }
            },
            {
              "id": "Observation.text",
              "path": "Observation.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": [
                "dom-1"
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Act.text?"
                }
              ]
            },
            {
              "id": "Observation.contained",
              "path": "Observation.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": "N/A"
                }
              ]
            },
            {
              "id": "Observation.extension",
              "path": "Observation.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.modifierExtension",
              "path": "Observation.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 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"
                }
              ],
              "isModifier": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.identifier",
              "path": "Observation.identifier",
              "short": "Business Identifier for observation",
              "definition": "A unique identifier assigned to this observation.",
              "requirements": "Allows observations to be distinguished and referenced.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.identifier",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Identifier"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.identifier"
                },
                {
                  "identity": "v2",
                  "map": "OBX.21  For OBX segments from systems without OBX-21 support a combination of ORC/OBR and OBX must be negotiated between trading partners to uniquely identify the OBX segment. Depending on how V2 has been implemented each of these may be an option: 1) OBR-3 + OBX-3 + OBX-4 or 2) OBR-3 + OBR-4 + OBX-3 + OBX-4 or 2) some other way to uniquely ID the OBR/ORC + OBX-3 + OBX-4."
                },
                {
                  "identity": "rim",
                  "map": "id"
                },
                {
                  "identity": "w5",
                  "map": "id"
                }
              ]
            },
            {
              "id": "Observation.basedOn",
              "path": "Observation.basedOn",
              "short": "Fulfills plan, proposal or order",
              "definition": "A plan, proposal or order that is fulfilled in whole or in part by this event.",
              "requirements": "Allows tracing of authorization for the event and tracking whether proposals/recommendations were acted upon.",
              "alias": [
                "Fulfills"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.basedOn",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/CarePlan"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/DeviceRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ImmunizationRecommendation"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/NutritionOrder"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ProcedureRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ReferralRequest"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.basedOn"
                },
                {
                  "identity": "v2",
                  "map": "ORC"
                },
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=FLFS].target"
                }
              ]
            },
            {
              "id": "Observation.status",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-display-hint",
                  "valueString": "default: final"
                }
              ],
              "path": "Observation.status",
              "short": "registered | preliminary | final | amended +",
              "definition": "The status of the result value.",
              "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
              "requirements": "Need to track the status of individual results. Some results are finalized before the whole report is finalized.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.status",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationStatus"
                  }
                ],
                "strength": "required",
                "description": "Codes providing the status of an observation.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-status"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.status"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 445584004 |Report by finality status|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-11"
                },
                {
                  "identity": "rim",
                  "map": "status  Amended & Final are differentiated by whether it is the subject of a ControlAct event with a type of \"revise\""
                },
                {
                  "identity": "w5",
                  "map": "status"
                }
              ]
            },
            {
              "id": "Observation.category",
              "path": "Observation.category",
              "short": "Classification of  type of observation",
              "definition": "A code that classifies the general type of observation being made.",
              "comment": "In addition to the required category valueset, this element allows various categorization schemes based on the owner’s definition of the category and effectively multiple categories can be used at once.  The level of granularity is defined by the category concepts in the value set.",
              "requirements": "Used for filtering what observations are retrieved and displayed.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.category",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationCategory"
                  }
                ],
                "strength": "preferred",
                "description": "Codes for high level observation categories.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-category"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=\"COMP].target[classCode=\"LIST\", moodCode=\"EVN\"].code"
                },
                {
                  "identity": "w5",
                  "map": "class"
                }
              ]
            },
            {
              "id": "Observation.code",
              "path": "Observation.code",
              "short": "Cholesterol",
              "definition": "Cholesterol.",
              "requirements": "Knowing what kind of observation is being made is essential to understanding the observation.",
              "alias": [
                "Name"
              ],
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.code",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "fixedCodeableConcept": {
                "coding": [
                  {
                    "system": "http://loinc.org",
                    "code": "35200-5",
                    "display": "Cholesterol"
                  }
                ]
              },
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationCode"
                  }
                ],
                "strength": "example",
                "description": "Codes identifying names of simple observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-codes"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.code"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity| OR < 386053000 |Evaluation procedure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-3"
                },
                {
                  "identity": "rim",
                  "map": "code"
                },
                {
                  "identity": "sct-attr",
                  "map": "116680003 |Is a|"
                },
                {
                  "identity": "w5",
                  "map": "what"
                }
              ]
            },
            {
              "id": "Observation.subject",
              "path": "Observation.subject",
              "short": "Who and/or what this is about",
              "definition": "The patient, or group of patients, location, or device whose characteristics (direct or indirect) are described by the observation and into whose record the observation is placed.  Comments: Indirect characteristics may be those of a specimen, fetus, donor,  other observer (for example a relative or EMT), or any observation made about the subject.",
              "comment": "One would expect this element to be a cardinality  of 1..1.  The only circumstance in which the subject can be missing is when the observation is made by a device that does not know the patient. In this case, the observation SHALL be matched to a patient through some context/channel matching technique, and at this point, the observation should be updated.\r\rIf the target of the observation is different than the subject, the general extension [observation-focal-subject](extension-observation-focal-subject.html).  may be used.  However, the distinction between the patient's own value for an observation versus that of the fetus, or the donor or blood product unit, etc., are often specified in the observation code.",
              "requirements": "Observations have no value if you don't know who or what they're about.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.subject",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.subject"
                },
                {
                  "identity": "v2",
                  "map": "PID-3"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=SBJ]"
                },
                {
                  "identity": "w5",
                  "map": "who.focus"
                }
              ]
            },
            {
              "id": "Observation.context",
              "path": "Observation.context",
              "short": "Healthcare event during which this observation is made",
              "definition": "The healthcare event  (e.g. a patient and healthcare provider interaction) during which this observation is made.",
              "comment": "This will typically be the encounter the event occurred within, but some events may be initiated prior to or after the official completion of an encounter or episode but still be tied to the context of the encounter or episode (e.g. pre-admission lab tests).",
              "requirements": "For some observations it may be important to know the link between an observation and a particular encounter.",
              "alias": [
                "Encounter"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.context",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
                }
              ],
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.context"
                },
                {
                  "identity": "v2",
                  "map": "PV1"
                },
                {
                  "identity": "rim",
                  "map": "inboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN]"
                },
                {
                  "identity": "w5",
                  "map": "context"
                }
              ]
            },
            {
              "id": "Observation.effective[x]",
              "path": "Observation.effective[x]",
              "short": "Clinically relevant time/time-period for observation",
              "definition": "The time or time-period the observed value is asserted as being true. For biological subjects - e.g. human patients - this is usually called the \"physiologically relevant time\". This is usually either the time of the procedure or of specimen collection, but very often the source of the date/time is not known, only the date/time itself.",
              "comment": "At least a date should be present unless this observation is a historical report.",
              "requirements": "Knowing when an observation was deemed true is important to its relevance as well as determining trends.",
              "alias": [
                "Occurrence"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.effective[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "dateTime"
                },
                {
                  "code": "Period"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.occurrence[x]"
                },
                {
                  "identity": "v2",
                  "map": "OBX-14, and/or OBX-19 after v2.4  (depends on who observation made)"
                },
                {
                  "identity": "rim",
                  "map": "effectiveTime"
                },
                {
                  "identity": "w5",
                  "map": "when.done"
                }
              ]
            },
            {
              "id": "Observation.issued",
              "path": "Observation.issued",
              "short": "Date/Time this was made available",
              "definition": "The date and time this observation was made available to providers, typically after the results have been reviewed and verified.",
              "comment": "Updated when the result is updated.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.issued",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "instant"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBR.22 (or MSH.7), or perhaps OBX-19 (depends on who observation made)"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=AUT].time"
                },
                {
                  "identity": "w5",
                  "map": "when.recorded"
                }
              ]
            },
            {
              "id": "Observation.performer",
              "path": "Observation.performer",
              "short": "Who is responsible for the observation",
              "definition": "Who was responsible for asserting the observed value as \"true\".",
              "requirements": "May give a degree of confidence in the observation and also indicates where follow-up questions should be directed.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.performer",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.performer"
                },
                {
                  "identity": "v2",
                  "map": "OBX.15 / (Practitioner)  OBX-16,  PRT-5:PRT-4='RO' /  (Device)  OBX-18 , PRT-10:PRT-4='EQUIP' / (Organization)  OBX-23,  PRT-8:PRT-4='PO'"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=PRF]"
                },
                {
                  "identity": "w5",
                  "map": "who.actor"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity",
              "path": "Observation.valueQuantity",
              "short": "Cholesterol value",
              "definition": "Cholesterol value. If a result is not available, use the comments field.",
              "comment": "Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. This element has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueString, valueBoolean, valueRange, valueRatio, valueSampledData, valueAttachment, valueTime, valueDateTime, or valuePeriod. (The name format is \"'value' + the type name\" with a capital on the first letter of the type).\r\r\rIf the data element is usually coded or if the type associated with the Observation.value defines a coded value, use CodeableConcept instead of string datatype even if the value is uncoded text.  A value set is bound to the ValueCodeableConcept element.    For further discussion and examples see the  [notes section](observation.html#notes) below.",
              "requirements": "An observation exists to have a value, though it may not if it is in error, or if it represents a group of observations.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.value[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity"
                }
              ],
              "condition": [
                "obs-7"
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.notDone, Event.notDoneReason  (maps to valeu[x] or dataAbsentReason)"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 441742003 |Evaluation finding|"
                },
                {
                  "identity": "v2",
                  "map": "OBX.2, OBX.5, OBX.6"
                },
                {
                  "identity": "rim",
                  "map": "value"
                },
                {
                  "identity": "sct-attr",
                  "map": "363714003 |Interprets|"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.id",
              "path": "Observation.valueQuantity.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.extension",
              "path": "Observation.valueQuantity.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.value",
              "path": "Observation.valueQuantity.value",
              "short": "Actual numerical value",
              "definition": "Actual numerical 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"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "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": "Observation.valueQuantity.comparator",
              "path": "Observation.valueQuantity.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": "No need for this on cholesterol.",
              "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",
              "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": "v2",
                  "map": "SN.1  / CQ.1"
                },
                {
                  "identity": "rim",
                  "map": "IVL properties"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.unit",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "Observation.valueQuantity.unit",
              "short": "Unit representation",
              "definition": "A human-readable form of the unit.",
              "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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.unit",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "fixedString": "mmol/L",
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "PQ.unit"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.system",
              "path": "Observation.valueQuantity.system",
              "short": "System that defines coded unit form",
              "definition": "The identification of the system that provides the coded form of the unit.",
              "requirements": "Need to know the system that defines the coded form of the unit.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Quantity.system",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://unitsofmeasure.org",
              "condition": [
                "qty-3"
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "CO.codeSystem, PQ.translation.codeSystem"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.code",
              "path": "Observation.valueQuantity.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": 1,
              "max": "1",
              "base": {
                "path": "Quantity.code",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "fixedCode": "mmol/L",
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "(see OBX.6 etc.) / CQ.2"
                },
                {
                  "identity": "rim",
                  "map": "PQ.code, MO.currency, PQ.translation.code"
                }
              ]
            },
            {
              "id": "Observation.dataAbsentReason",
              "path": "Observation.dataAbsentReason",
              "short": "Why the result is missing",
              "definition": "Provides a reason why the expected value in the element Observation.value[x] is missing.",
              "comment": "Null or exceptional values can be represented two ways in FHIR Observations.  One way is to simply include them in the value set and represent the exceptions in the value.  For example, measurement values for a serology test could be  \"detected\", \"not detected\", \"inconclusive\", or  \"specimen unsatisfactory\".   The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values.  For example, the dataAbsentReason code \"error\" could be used when the measurement was not completed. Note that an observation may only be reported if there are values to report. For example differential cell counts values may be reported only when > 0.  Because of these options, use-case agreements are required to interpret general observations for null or exceptional values.",
              "requirements": "For many results it is necessary to handle exceptional values in measurements.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.dataAbsentReason",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "condition": [
                "obs-6"
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationValueAbsentReason"
                  }
                ],
                "strength": "extensible",
                "description": "Codes specifying why the result (Observation.value[x]) is missing.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-valueabsentreason"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.notDone, Event.notDoneReason  (maps to valeu[x] or dataAbsentReason)"
                },
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": "value.nullFlavor"
                }
              ]
            },
            {
              "id": "Observation.interpretation",
              "path": "Observation.interpretation",
              "short": "+ | ++ | +++ | - | -- | ---",
              "definition": "+ | ++ | +++ | - | -- | ---.",
              "requirements": "For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result.",
              "alias": [
                "Abnormal Flag"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.interpretation",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationInterpretation"
                  }
                ],
                "strength": "extensible",
                "description": "Codes identifying interpretations of observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-interpretation"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-8"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "363713009 |Has interpretation|"
                }
              ]
            },
            {
              "id": "Observation.comment",
              "path": "Observation.comment",
              "short": "Comments about result",
              "definition": "May include statements about significant, unexpected or unreliable. values, or information about the source of the value where this may be relevant to the interpretation of the result.",
              "requirements": "Need to be able to provide free text additional information.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.comment",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mustSupport": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.note"
                },
                {
                  "identity": "v2",
                  "map": "NTE.3 (partner NTE to OBX, or sometimes another (child?) OBX)"
                },
                {
                  "identity": "rim",
                  "map": "subjectOf.observationEvent[code=\"annotation\"].value"
                }
              ]
            },
            {
              "id": "Observation.bodySite",
              "path": "Observation.bodySite",
              "short": "Observed body part",
              "definition": "Indicates the site on the subject's body where the observation was made (i.e. the target site).",
              "comment": "Only used if not implicit in code found in Observation.code.  In many systems, this may be represented as a related observation instead of an inline component.   If the use case requires BodySite to be handled as a separate resource (e.g. to identify and track separately) then use the standard extension[ body-site-instance](extension-body-site-instance.html).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.bodySite",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "BodySite"
                  }
                ],
                "strength": "example",
                "description": "Codes describing anatomical locations. May include laterality.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/body-site"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 123037004 |Body structure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-20"
                },
                {
                  "identity": "rim",
                  "map": "targetSiteCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "718497002 |Inherent location|"
                }
              ]
            },
            {
              "id": "Observation.method",
              "path": "Observation.method",
              "short": "How it was done",
              "definition": "Indicates the mechanism used to perform the observation.",
              "comment": "Only used if not implicit in code for Observation.code.",
              "requirements": "In some cases, method can impact results and is thus used for determining whether results can be compared or determining significance of results.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.method",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationMethod"
                  }
                ],
                "strength": "example",
                "description": "Methods for simple observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-methods"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-17"
                },
                {
                  "identity": "rim",
                  "map": "methodCode"
                }
              ]
            },
            {
              "id": "Observation.specimen",
              "path": "Observation.specimen",
              "short": "Specimen used for this observation",
              "definition": "The specimen that was used when this observation was made.",
              "comment": "Should only be used if not implicit in code found in `Observation.code`.  Observations are not made on specimens themselves; they are made on a subject, but in many cases by the means of a specimen. Note that although specimens are often involved, they are not always tracked and reported explicitly. Also note that observation resources may be used in contexts that track the specimen explicitly (e.g. Diagnostic Report).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.specimen",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Specimen"
                }
              ],
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 123038009 |Specimen|"
                },
                {
                  "identity": "v2",
                  "map": "SPM segment"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=SPC].specimen"
                },
                {
                  "identity": "sct-attr",
                  "map": "704319004 |Inherent in|"
                }
              ]
            },
            {
              "id": "Observation.device",
              "path": "Observation.device",
              "short": "(Measurement) Device",
              "definition": "The device used to generate the observation data.",
              "comment": "An extension should be used if further typing of the device is needed.  Devices used to support obtaining an observation can be represented using either an extension or through the Observation.related element.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.device",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/DeviceMetric"
                }
              ],
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 49062001 |Device|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-17 / PRT -10"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=DEV]"
                },
                {
                  "identity": "sct-attr",
                  "map": "424226004 |Using device|"
                }
              ]
            },
            {
              "id": "Observation.referenceRange",
              "path": "Observation.referenceRange",
              "short": "Provides guide for interpretation",
              "definition": "Guidance on how to interpret the value by comparison to a normal or recommended range.",
              "comment": "Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.",
              "requirements": "Knowing what values are considered \"normal\" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "key": "obs-3",
                  "severity": "error",
                  "human": "Must have at least a low or a high or text",
                  "expression": "low.exists() or high.exists() or text.exists()",
                  "xpath": "(exists(f:low) or exists(f:high)or exists(f:text))",
                  "source": "Observation.referenceRange"
                }
              ],
              "mustSupport": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX.7"
                },
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.id",
              "path": "Observation.referenceRange.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.extension",
              "path": "Observation.referenceRange.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.modifierExtension",
              "path": "Observation.referenceRange.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.low",
              "path": "Observation.referenceRange.low",
              "short": "Low Range, if relevant",
              "definition": "The value of the low bound of the reference range.  The low bound of the reference range endpoint is inclusive of the value (e.g.  reference range is >=5 - <=9).   If the low bound is omitted,  it is assumed to be meaningless (e.g. reference range is <=2.3).",
              "min": 0,
              "max": "0",
              "base": {
                "path": "Observation.referenceRange.low",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity",
                  "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
                }
              ],
              "condition": [
                "obs-3"
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-7"
                },
                {
                  "identity": "rim",
                  "map": "value:IVL_PQ.low"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.high",
              "path": "Observation.referenceRange.high",
              "short": "A fixed quantity (no comparator)",
              "definition": "<4.5 mmol/L.",
              "comment": "Per Australian NHF Recommendations.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.high",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity",
                  "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
                }
              ],
              "fixedQuantity": {
                "value": 4.5
              },
              "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",
                  "source": "Element"
                },
                {
                  "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)",
                  "source": "Quantity"
                },
                {
                  "key": "sqty-1",
                  "severity": "error",
                  "human": "The comparator is not used on a SimpleQuantity",
                  "expression": "comparator.empty()",
                  "xpath": "not(exists(f:comparator))",
                  "source": "Quantity:simplequantity"
                }
              ],
              "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"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.type",
              "path": "Observation.referenceRange.type",
              "short": "Reference range qualifier",
              "definition": "Codes to indicate the what part of the targeted reference population it applies to. For example, the normal or therapeutic range.",
              "comment": "This SHOULD be populated if there is more than one range.  If this element is not present then the normal range is assumed.",
              "requirements": "Need to be able to say what kind of reference range this is - normal, recommended, therapeutic, etc,  - for proper interpretation.",
              "min": 0,
              "max": "0",
              "base": {
                "path": "Observation.referenceRange.type",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRangeMeaning"
                  }
                ],
                "strength": "extensible",
                "description": "Code for the meaning of a reference range.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/referencerange-meaning"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values| OR  \r< 365860008 |General clinical state finding| \rOR \r< 250171008 |Clinical history or observation findings| OR  \r< 415229000 |Racial group| OR \r< 365400002 |Finding of puberty stage| OR\r< 443938003 |Procedure carried out on subject|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-10"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.appliesTo",
              "path": "Observation.referenceRange.appliesTo",
              "short": "Reference range population",
              "definition": "Codes to indicate the target population this reference range applies to.  For example, a reference range may be based on the normal population or a particular sex or race.",
              "comment": "This SHOULD be populated if there is more than one range.  If this element is not present then the normal population is assumed.",
              "requirements": "Need to be able to identify the target population for proper interpretation.",
              "min": 0,
              "max": "0",
              "base": {
                "path": "Observation.referenceRange.appliesTo",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRangeType"
                  }
                ],
                "strength": "example",
                "description": "Codes identifying the population the reference range applies to.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/referencerange-appliesto"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values| OR  \r< 365860008 |General clinical state finding| \rOR \r< 250171008 |Clinical history or observation findings| OR  \r< 415229000 |Racial group| OR \r< 365400002 |Finding of puberty stage| OR\r< 443938003 |Procedure carried out on subject|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-10"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.age",
              "path": "Observation.referenceRange.age",
              "short": "Applicable age range, if relevant",
              "definition": "The age at which this reference range is applicable. This is a neonatal age (e.g. number of weeks at term) if the meaning says so.",
              "requirements": "Some analytes vary greatly over age.",
              "min": 0,
              "max": "0",
              "base": {
                "path": "Observation.referenceRange.age",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Range"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=PRCN].targetObservationCriterion[code=\"age\"].value"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.text",
              "path": "Observation.referenceRange.text",
              "short": "Text based reference range in an observation",
              "definition": "Text based reference range in an observation which may be used when a quantitative range is not appropriate for an observation.  An example would be a reference value of \"Negative\" or a list or table of 'normals'.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.text",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-7"
                },
                {
                  "identity": "rim",
                  "map": "value:ST"
                }
              ]
            },
            {
              "id": "Observation.related",
              "path": "Observation.related",
              "short": "Resource related to this observation",
              "definition": "A  reference to another resource (usually another Observation) whose relationship is defined by the relationship type code.",
              "comment": "For a discussion on the ways Observations can assembled in groups together see [Notes below](observation.html#4.20.4).",
              "requirements": "Normally, an observation will have either a value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and a set of related observations or sometimes a QuestionnaireResponse from which the measure is derived.",
              "min": 0,
              "max": "0",
              "base": {
                "path": "Observation.related",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "Relationships established by OBX-4 usage"
                },
                {
                  "identity": "rim",
                  "map": "outBoundRelationship"
                }
              ]
            },
            {
              "id": "Observation.related.id",
              "path": "Observation.related.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.related.extension",
              "path": "Observation.related.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.related.modifierExtension",
              "path": "Observation.related.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.related.type",
              "path": "Observation.related.type",
              "short": "has-member | derived-from | sequel-to | replaces | qualified-by | interfered-by",
              "definition": "A code specifying the kind of relationship that exists with the target resource.",
              "comment": "The \"derived-from\" type is the only logical choice when referencing the QuestionnaireAnswer resource.",
              "requirements": "A relationship type SHOULD be provided.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.related.type",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRelationshipType"
                  }
                ],
                "strength": "required",
                "description": "Codes specifying how two observations are related.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-relationshiptypes"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": ".typeCode"
                }
              ]
            },
            {
              "id": "Observation.related.target",
              "path": "Observation.related.target",
              "short": "Resource that is related to this one",
              "definition": "A reference to the observation or [QuestionnaireResponse](questionnaireresponse.html#) resource that is related to this observation.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.related.target",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Sequence"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".targetObservation"
                }
              ]
            },
            {
              "id": "Observation.component",
              "path": "Observation.component",
              "short": "Component results",
              "definition": "Some observations have multiple component observations.  These component observations are expressed as separate code value pairs that share the same attributes.  Examples include systolic and diastolic component observations for blood pressure measurement and multiple component observations for genetics observations.",
              "comment": "For a discussion on the ways Observations can be assembled in groups together see [Notes](observation.html#notes) below.",
              "requirements": "Component observations share the same attributes in the Observation resource as the primary observation and are always treated a part of a single observation (they are not separable).   However, the reference range for the primary observation value is not inherited by the component values and is required when appropriate for each component observation.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.component",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "containment by OBX-4?"
                },
                {
                  "identity": "rim",
                  "map": "outBoundRelationship[typeCode=COMP]"
                }
              ]
            },
            {
              "id": "Observation.component.id",
              "path": "Observation.component.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.extension",
              "path": "Observation.component.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.modifierExtension",
              "path": "Observation.component.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.component.code",
              "path": "Observation.component.code",
              "short": "Type of component observation (code / type)",
              "definition": "Describes what was observed. Sometimes this is called the observation \"code\".",
              "requirements": "Knowing what kind of observation is being made is essential to understanding the observation.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.component.code",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationCode"
                  }
                ],
                "strength": "example",
                "description": "Codes identifying names of simple observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-codes"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity| OR \r< 386053000 |Evaluation procedure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-3"
                },
                {
                  "identity": "rim",
                  "map": "code"
                },
                {
                  "identity": "w5",
                  "map": "what"
                }
              ]
            },
            {
              "id": "Observation.component.value[x]",
              "path": "Observation.component.value[x]",
              "short": "Actual component result",
              "definition": "The information determined as a result of making the observation, if the information has a simple value.",
              "comment": "Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value.   For boolean values use valueCodeableConcept and select codes from <http://hl7.org/fhir/ValueSet/v2-0136> (these \"yes/no\" concepts can be mapped to the display name \"true/false\" or other mutually exclusive terms that may be needed\").  The element, Observation.value[x], has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueRatio, valueChoice, valuePeriod, valueSampleData, or valueString (the name format is \"'value' + the type name\" with a capital on the first letter of the type).",
              "requirements": "An observation exists to have a value, though it may not if it is in error, or if it represents a group of observations.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.value[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity"
                },
                {
                  "code": "CodeableConcept"
                },
                {
                  "code": "string"
                },
                {
                  "code": "Range"
                },
                {
                  "code": "Ratio"
                },
                {
                  "code": "SampledData"
                },
                {
                  "code": "Attachment"
                },
                {
                  "code": "time"
                },
                {
                  "code": "dateTime"
                },
                {
                  "code": "Period"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "363714003 |Interprets| < 441742003 |Evaluation finding|"
                },
                {
                  "identity": "v2",
                  "map": "OBX.2, OBX.5, OBX.6"
                },
                {
                  "identity": "rim",
                  "map": "value"
                },
                {
                  "identity": "sct-attr",
                  "map": "363714003 |Interprets|"
                }
              ]
            },
            {
              "id": "Observation.component.dataAbsentReason",
              "path": "Observation.component.dataAbsentReason",
              "short": "Why the component result is missing",
              "definition": "Provides a reason why the expected value in the element Observation.value[x] is missing.",
              "comment": "\"Null\" or exceptional values can be represented two ways in FHIR Observations.  One way is to simply include them in the value set and represent the exceptions in the value.  For example, measurement values for a serology test could be  \"detected\", \"not detected\", \"inconclusive\", or  \"test not done\".   The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values.  For example, the dataAbsentReason code \"error\" could be used when the measurement was not completed.  Because of these options, use-case agreements are required to interpret general observations for exceptional values.",
              "requirements": "For many results it is necessary to handle exceptional values in measurements.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.dataAbsentReason",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "condition": [
                "obs-6"
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationValueAbsentReason"
                  }
                ],
                "strength": "extensible",
                "description": "Codes specifying why the result (Observation.value[x]) is missing.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-valueabsentreason"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": "value.nullFlavor"
                }
              ]
            },
            {
              "id": "Observation.component.interpretation",
              "path": "Observation.component.interpretation",
              "short": "High, low, normal, etc.",
              "definition": "The assessment made based on the result of the observation.  Intended as a simple compact code often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result. Otherwise known as abnormal flag.",
              "comment": "The component interpretation applies only to the individual component value.  For an overall interpretation all components together use thes Observation.interpretation element.",
              "requirements": "For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result.",
              "alias": [
                "Abnormal Flag"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.interpretation",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationInterpretation"
                  }
                ],
                "strength": "extensible",
                "description": "Codes identifying interpretations of observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-interpretation"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-8"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "363713009 |Has interpretation|"
                }
              ]
            },
            {
              "id": "Observation.component.referenceRange",
              "path": "Observation.component.referenceRange",
              "short": "Provides guide for interpretation of component result",
              "definition": "Guidance on how to interpret the value by comparison to a normal or recommended range.",
              "comment": "Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.",
              "requirements": "Knowing what values are considered \"normal\" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.component.referenceRange",
                "min": 0,
                "max": "*"
              },
              "contentReference": "#Observation.referenceRange",
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX.7"
                },
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]"
                }
              ]
            }
          ]
        },
        "differential": {
          "element": [
            {
              "id": "Observation",
              "path": "Observation",
              "min": 1,
              "max": "1"
            },
            {
              "id": "Observation.code",
              "path": "Observation.code",
              "short": "Cholesterol",
              "definition": "Cholesterol.",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "fixedCodeableConcept": {
                "coding": [
                  {
                    "system": "http://loinc.org",
                    "code": "35200-5",
                    "display": "Cholesterol"
                  }
                ]
              },
              "mustSupport": true
            },
            {
              "id": "Observation.valueQuantity",
              "path": "Observation.valueQuantity",
              "short": "Cholesterol value",
              "definition": "Cholesterol value. If a result is not available, use the comments field.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "Quantity"
                }
              ],
              "mustSupport": true
            },
            {
              "id": "Observation.valueQuantity.value",
              "path": "Observation.valueQuantity.value",
              "short": "Actual numerical value",
              "definition": "Actual numerical value.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "decimal"
                }
              ],
              "mustSupport": true
            },
            {
              "id": "Observation.valueQuantity.comparator",
              "path": "Observation.valueQuantity.comparator",
              "comment": "No need for this on cholesterol.",
              "min": 0,
              "max": "0",
              "type": [
                {
                  "code": "code"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity.unit",
              "path": "Observation.valueQuantity.unit",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "string"
                }
              ],
              "fixedString": "mmol/L",
              "mustSupport": true
            },
            {
              "id": "Observation.valueQuantity.system",
              "path": "Observation.valueQuantity.system",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://unitsofmeasure.org",
              "mustSupport": true
            },
            {
              "id": "Observation.valueQuantity.code",
              "path": "Observation.valueQuantity.code",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "code"
                }
              ],
              "fixedCode": "mmol/L",
              "mustSupport": true
            },
            {
              "id": "Observation.interpretation",
              "path": "Observation.interpretation",
              "short": "+ | ++ | +++ | - | -- | ---",
              "definition": "+ | ++ | +++ | - | -- | ---.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": true
            },
            {
              "id": "Observation.comment",
              "path": "Observation.comment",
              "short": "Comments about result",
              "definition": "May include statements about significant, unexpected or unreliable. values, or information about the source of the value where this may be relevant to the interpretation of the result.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "string"
                }
              ],
              "mustSupport": true
            },
            {
              "id": "Observation.referenceRange",
              "path": "Observation.referenceRange",
              "min": 1,
              "max": "1",
              "mustSupport": true
            },
            {
              "id": "Observation.referenceRange.low",
              "path": "Observation.referenceRange.low",
              "min": 0,
              "max": "0"
            },
            {
              "id": "Observation.referenceRange.high",
              "path": "Observation.referenceRange.high",
              "definition": "<4.5 mmol/L.",
              "comment": "Per Australian NHF Recommendations.",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "Quantity",
                  "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
                }
              ],
              "fixedQuantity": {
                "value": 4.5
              }
            },
            {
              "id": "Observation.referenceRange.type",
              "path": "Observation.referenceRange.type",
              "min": 0,
              "max": "0",
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.appliesTo",
              "path": "Observation.referenceRange.appliesTo",
              "min": 0,
              "max": "0",
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.age",
              "path": "Observation.referenceRange.age",
              "min": 0,
              "max": "0",
              "type": [
                {
                  "code": "Range"
                }
              ]
            },
            {
              "id": "Observation.related",
              "path": "Observation.related",
              "min": 0,
              "max": "0"
            }
          ]
        }
      }
    },
    {
      "fullUrl": "http://hl7.org/fhir/StructureDefinition/triglyceride",
      "resource": {
        "resourceType": "StructureDefinition",
        "id": "triglyceride",
        "text": {
          "status": "generated",
          "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">to do</div>"
        },
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
            "valueInteger": 1
          },
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
            "valueCode": "oo"
          }
        ],
        "url": "http://hl7.org/fhir/StructureDefinition/triglyceride",
        "name": "Example Lipid Profile",
        "status": "draft",
        "experimental": true,
        "date": "2012-05-12",
        "publisher": "Grahame Grieve",
        "contact": [
          {
            "telecom": [
              {
                "system": "url",
                "value": "grahame@healthintersections.com.au"
              }
            ]
          }
        ],
        "description": "Triglyceride Result",
        "fhirVersion": "3.0.1",
        "mapping": [
          {
            "identity": "workflow",
            "uri": "http://hl7.org/fhir/workflow",
            "name": "Workflow Mapping"
          },
          {
            "identity": "sct-concept",
            "uri": "http://snomed.info/conceptdomain",
            "name": "SNOMED CT Concept Domain Binding"
          },
          {
            "identity": "v2",
            "uri": "http://hl7.org/v2",
            "name": "HL7 v2 Mapping"
          },
          {
            "identity": "rim",
            "uri": "http://hl7.org/v3",
            "name": "RIM Mapping"
          },
          {
            "identity": "w5",
            "uri": "http://hl7.org/fhir/w5",
            "name": "W5 Mapping"
          },
          {
            "identity": "sct-attr",
            "uri": "http://snomed.info/sct",
            "name": "SNOMED CT Attribute Binding"
          }
        ],
        "kind": "resource",
        "abstract": false,
        "type": "Observation",
        "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Observation",
        "derivation": "constraint",
        "snapshot": {
          "element": [
            {
              "id": "Observation",
              "path": "Observation",
              "short": "Triglyceride Result",
              "definition": "Group of elements for Triglyceride result.",
              "comment": "Used for simple observations such as device measurements, laboratory atomic results, vital signs, height, weight, smoking status, comments, etc.  Other resources are used to provide context for observations such as lab reports, etc.",
              "alias": [
                "Vital Signs",
                "Measurement",
                "Results",
                "Tests"
              ],
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation",
                "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)",
                  "source": "DomainResource"
                },
                {
                  "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)",
                  "source": "DomainResource"
                },
                {
                  "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))",
                  "source": "DomainResource"
                },
                {
                  "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))]))",
                  "source": "DomainResource"
                },
                {
                  "key": "obs-7",
                  "severity": "error",
                  "human": "If code is the same as a component code then the value element associated with the code SHALL NOT be present",
                  "expression": "value.empty() or code!=component.code",
                  "xpath": "not(exists(f:*[starts-with(local-name(.), 'value')])) or not(count(for $coding in f:code/f:coding return parent::*/f:component/f:code/f:coding[f:code/@value=$coding/f:code/@value and f:system/@value=$coding/f:system/@value])=0)",
                  "source": "Observation"
                },
                {
                  "key": "obs-6",
                  "severity": "error",
                  "human": "dataAbsentReason SHALL only be present if Observation.value[x] is not present",
                  "expression": "dataAbsentReason.empty() or value.empty()",
                  "xpath": "not(exists(f:dataAbsentReason)) or (not(exists(*[starts-with(local-name(.), 'value')])))",
                  "source": "Observation"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Entity. Role, or Act"
                },
                {
                  "identity": "workflow",
                  "map": "Event"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity|"
                },
                {
                  "identity": "v2",
                  "map": "OBX"
                },
                {
                  "identity": "rim",
                  "map": "Observation[classCode=OBS, moodCode=EVN]"
                },
                {
                  "identity": "w5",
                  "map": "clinical.diagnostics"
                }
              ]
            },
            {
              "id": "Observation.id",
              "path": "Observation.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "Observation.meta",
              "path": "Observation.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "Observation.implicitRules",
              "path": "Observation.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"
                }
              ],
              "isModifier": true,
              "isSummary": true
            },
            {
              "id": "Observation.language",
              "path": "Observation.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"
                }
              ],
              "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"
                }
              }
            },
            {
              "id": "Observation.text",
              "path": "Observation.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": [
                "dom-1"
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Act.text?"
                }
              ]
            },
            {
              "id": "Observation.contained",
              "path": "Observation.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": "N/A"
                }
              ]
            },
            {
              "id": "Observation.extension",
              "path": "Observation.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.modifierExtension",
              "path": "Observation.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 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"
                }
              ],
              "isModifier": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.identifier",
              "path": "Observation.identifier",
              "short": "Business Identifier for observation",
              "definition": "A unique identifier assigned to this observation.",
              "requirements": "Allows observations to be distinguished and referenced.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.identifier",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Identifier"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.identifier"
                },
                {
                  "identity": "v2",
                  "map": "OBX.21  For OBX segments from systems without OBX-21 support a combination of ORC/OBR and OBX must be negotiated between trading partners to uniquely identify the OBX segment. Depending on how V2 has been implemented each of these may be an option: 1) OBR-3 + OBX-3 + OBX-4 or 2) OBR-3 + OBR-4 + OBX-3 + OBX-4 or 2) some other way to uniquely ID the OBR/ORC + OBX-3 + OBX-4."
                },
                {
                  "identity": "rim",
                  "map": "id"
                },
                {
                  "identity": "w5",
                  "map": "id"
                }
              ]
            },
            {
              "id": "Observation.basedOn",
              "path": "Observation.basedOn",
              "short": "Fulfills plan, proposal or order",
              "definition": "A plan, proposal or order that is fulfilled in whole or in part by this event.",
              "requirements": "Allows tracing of authorization for the event and tracking whether proposals/recommendations were acted upon.",
              "alias": [
                "Fulfills"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.basedOn",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/CarePlan"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/DeviceRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ImmunizationRecommendation"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/NutritionOrder"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ProcedureRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ReferralRequest"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.basedOn"
                },
                {
                  "identity": "v2",
                  "map": "ORC"
                },
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=FLFS].target"
                }
              ]
            },
            {
              "id": "Observation.status",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-display-hint",
                  "valueString": "default: final"
                }
              ],
              "path": "Observation.status",
              "short": "registered | preliminary | final | amended +",
              "definition": "The status of the result value.",
              "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
              "requirements": "Need to track the status of individual results. Some results are finalized before the whole report is finalized.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.status",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationStatus"
                  }
                ],
                "strength": "required",
                "description": "Codes providing the status of an observation.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-status"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.status"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 445584004 |Report by finality status|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-11"
                },
                {
                  "identity": "rim",
                  "map": "status  Amended & Final are differentiated by whether it is the subject of a ControlAct event with a type of \"revise\""
                },
                {
                  "identity": "w5",
                  "map": "status"
                }
              ]
            },
            {
              "id": "Observation.category",
              "path": "Observation.category",
              "short": "Classification of  type of observation",
              "definition": "A code that classifies the general type of observation being made.",
              "comment": "In addition to the required category valueset, this element allows various categorization schemes based on the owner’s definition of the category and effectively multiple categories can be used at once.  The level of granularity is defined by the category concepts in the value set.",
              "requirements": "Used for filtering what observations are retrieved and displayed.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.category",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationCategory"
                  }
                ],
                "strength": "preferred",
                "description": "Codes for high level observation categories.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-category"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=\"COMP].target[classCode=\"LIST\", moodCode=\"EVN\"].code"
                },
                {
                  "identity": "w5",
                  "map": "class"
                }
              ]
            },
            {
              "id": "Observation.code",
              "path": "Observation.code",
              "short": "Triglyceride",
              "definition": "Triglyceride.",
              "requirements": "Knowing what kind of observation is being made is essential to understanding the observation.",
              "alias": [
                "Name"
              ],
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.code",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "patternCodeableConcept": {
                "coding": [
                  {
                    "system": "http://loinc.org",
                    "code": "35217-9"
                  }
                ]
              },
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationCode"
                  }
                ],
                "strength": "example",
                "description": "Codes identifying names of simple observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-codes"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.code"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity| OR < 386053000 |Evaluation procedure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-3"
                },
                {
                  "identity": "rim",
                  "map": "code"
                },
                {
                  "identity": "sct-attr",
                  "map": "116680003 |Is a|"
                },
                {
                  "identity": "w5",
                  "map": "what"
                }
              ]
            },
            {
              "id": "Observation.subject",
              "path": "Observation.subject",
              "short": "Who and/or what this is about",
              "definition": "The patient, or group of patients, location, or device whose characteristics (direct or indirect) are described by the observation and into whose record the observation is placed.  Comments: Indirect characteristics may be those of a specimen, fetus, donor,  other observer (for example a relative or EMT), or any observation made about the subject.",
              "comment": "One would expect this element to be a cardinality  of 1..1.  The only circumstance in which the subject can be missing is when the observation is made by a device that does not know the patient. In this case, the observation SHALL be matched to a patient through some context/channel matching technique, and at this point, the observation should be updated.\r\rIf the target of the observation is different than the subject, the general extension [observation-focal-subject](extension-observation-focal-subject.html).  may be used.  However, the distinction between the patient's own value for an observation versus that of the fetus, or the donor or blood product unit, etc., are often specified in the observation code.",
              "requirements": "Observations have no value if you don't know who or what they're about.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.subject",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.subject"
                },
                {
                  "identity": "v2",
                  "map": "PID-3"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=SBJ]"
                },
                {
                  "identity": "w5",
                  "map": "who.focus"
                }
              ]
            },
            {
              "id": "Observation.context",
              "path": "Observation.context",
              "short": "Healthcare event during which this observation is made",
              "definition": "The healthcare event  (e.g. a patient and healthcare provider interaction) during which this observation is made.",
              "comment": "This will typically be the encounter the event occurred within, but some events may be initiated prior to or after the official completion of an encounter or episode but still be tied to the context of the encounter or episode (e.g. pre-admission lab tests).",
              "requirements": "For some observations it may be important to know the link between an observation and a particular encounter.",
              "alias": [
                "Encounter"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.context",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
                }
              ],
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.context"
                },
                {
                  "identity": "v2",
                  "map": "PV1"
                },
                {
                  "identity": "rim",
                  "map": "inboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN]"
                },
                {
                  "identity": "w5",
                  "map": "context"
                }
              ]
            },
            {
              "id": "Observation.effective[x]",
              "path": "Observation.effective[x]",
              "short": "Clinically relevant time/time-period for observation",
              "definition": "The time or time-period the observed value is asserted as being true. For biological subjects - e.g. human patients - this is usually called the \"physiologically relevant time\". This is usually either the time of the procedure or of specimen collection, but very often the source of the date/time is not known, only the date/time itself.",
              "comment": "At least a date should be present unless this observation is a historical report.",
              "requirements": "Knowing when an observation was deemed true is important to its relevance as well as determining trends.",
              "alias": [
                "Occurrence"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.effective[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "dateTime"
                },
                {
                  "code": "Period"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.occurrence[x]"
                },
                {
                  "identity": "v2",
                  "map": "OBX-14, and/or OBX-19 after v2.4  (depends on who observation made)"
                },
                {
                  "identity": "rim",
                  "map": "effectiveTime"
                },
                {
                  "identity": "w5",
                  "map": "when.done"
                }
              ]
            },
            {
              "id": "Observation.issued",
              "path": "Observation.issued",
              "short": "Date/Time this was made available",
              "definition": "The date and time this observation was made available to providers, typically after the results have been reviewed and verified.",
              "comment": "Updated when the result is updated.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.issued",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "instant"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBR.22 (or MSH.7), or perhaps OBX-19 (depends on who observation made)"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=AUT].time"
                },
                {
                  "identity": "w5",
                  "map": "when.recorded"
                }
              ]
            },
            {
              "id": "Observation.performer",
              "path": "Observation.performer",
              "short": "Who is responsible for the observation",
              "definition": "Who was responsible for asserting the observed value as \"true\".",
              "requirements": "May give a degree of confidence in the observation and also indicates where follow-up questions should be directed.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.performer",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.performer"
                },
                {
                  "identity": "v2",
                  "map": "OBX.15 / (Practitioner)  OBX-16,  PRT-5:PRT-4='RO' /  (Device)  OBX-18 , PRT-10:PRT-4='EQUIP' / (Organization)  OBX-23,  PRT-8:PRT-4='PO'"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=PRF]"
                },
                {
                  "identity": "w5",
                  "map": "who.actor"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity",
              "path": "Observation.valueQuantity",
              "short": "Triglyceride value",
              "definition": "Triglyceride value. If a result is not available, use the comments field.",
              "comment": "Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. This element has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueString, valueBoolean, valueRange, valueRatio, valueSampledData, valueAttachment, valueTime, valueDateTime, or valuePeriod. (The name format is \"'value' + the type name\" with a capital on the first letter of the type).\r\r\rIf the data element is usually coded or if the type associated with the Observation.value defines a coded value, use CodeableConcept instead of string datatype even if the value is uncoded text.  A value set is bound to the ValueCodeableConcept element.    For further discussion and examples see the  [notes section](observation.html#notes) below.",
              "requirements": "An observation exists to have a value, though it may not if it is in error, or if it represents a group of observations.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.value[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity"
                }
              ],
              "condition": [
                "obs-7"
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.notDone, Event.notDoneReason  (maps to valeu[x] or dataAbsentReason)"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 441742003 |Evaluation finding|"
                },
                {
                  "identity": "v2",
                  "map": "OBX.2, OBX.5, OBX.6"
                },
                {
                  "identity": "rim",
                  "map": "value"
                },
                {
                  "identity": "sct-attr",
                  "map": "363714003 |Interprets|"
                }
              ]
            },
            {
              "id": "Observation.dataAbsentReason",
              "path": "Observation.dataAbsentReason",
              "short": "Why the result is missing",
              "definition": "Provides a reason why the expected value in the element Observation.value[x] is missing.",
              "comment": "Null or exceptional values can be represented two ways in FHIR Observations.  One way is to simply include them in the value set and represent the exceptions in the value.  For example, measurement values for a serology test could be  \"detected\", \"not detected\", \"inconclusive\", or  \"specimen unsatisfactory\".   The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values.  For example, the dataAbsentReason code \"error\" could be used when the measurement was not completed. Note that an observation may only be reported if there are values to report. For example differential cell counts values may be reported only when > 0.  Because of these options, use-case agreements are required to interpret general observations for null or exceptional values.",
              "requirements": "For many results it is necessary to handle exceptional values in measurements.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.dataAbsentReason",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "condition": [
                "obs-6"
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationValueAbsentReason"
                  }
                ],
                "strength": "extensible",
                "description": "Codes specifying why the result (Observation.value[x]) is missing.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-valueabsentreason"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.notDone, Event.notDoneReason  (maps to valeu[x] or dataAbsentReason)"
                },
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": "value.nullFlavor"
                }
              ]
            },
            {
              "id": "Observation.interpretation",
              "path": "Observation.interpretation",
              "short": "+ | ++ | +++ | - | -- | ---",
              "definition": "+ | ++ | +++ | - | -- | ---.",
              "requirements": "For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result.",
              "alias": [
                "Abnormal Flag"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.interpretation",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationInterpretation"
                  }
                ],
                "strength": "extensible",
                "description": "Codes identifying interpretations of observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-interpretation"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-8"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "363713009 |Has interpretation|"
                }
              ]
            },
            {
              "id": "Observation.comment",
              "path": "Observation.comment",
              "short": "Comments about result",
              "definition": "Comments about result.",
              "requirements": "Need to be able to provide free text additional information.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.comment",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mustSupport": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.note"
                },
                {
                  "identity": "v2",
                  "map": "NTE.3 (partner NTE to OBX, or sometimes another (child?) OBX)"
                },
                {
                  "identity": "rim",
                  "map": "subjectOf.observationEvent[code=\"annotation\"].value"
                }
              ]
            },
            {
              "id": "Observation.bodySite",
              "path": "Observation.bodySite",
              "short": "Observed body part",
              "definition": "Indicates the site on the subject's body where the observation was made (i.e. the target site).",
              "comment": "Only used if not implicit in code found in Observation.code.  In many systems, this may be represented as a related observation instead of an inline component.   If the use case requires BodySite to be handled as a separate resource (e.g. to identify and track separately) then use the standard extension[ body-site-instance](extension-body-site-instance.html).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.bodySite",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "BodySite"
                  }
                ],
                "strength": "example",
                "description": "Codes describing anatomical locations. May include laterality.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/body-site"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 123037004 |Body structure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-20"
                },
                {
                  "identity": "rim",
                  "map": "targetSiteCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "718497002 |Inherent location|"
                }
              ]
            },
            {
              "id": "Observation.method",
              "path": "Observation.method",
              "short": "How it was done",
              "definition": "Indicates the mechanism used to perform the observation.",
              "comment": "Only used if not implicit in code for Observation.code.",
              "requirements": "In some cases, method can impact results and is thus used for determining whether results can be compared or determining significance of results.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.method",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationMethod"
                  }
                ],
                "strength": "example",
                "description": "Methods for simple observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-methods"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-17"
                },
                {
                  "identity": "rim",
                  "map": "methodCode"
                }
              ]
            },
            {
              "id": "Observation.specimen",
              "path": "Observation.specimen",
              "short": "Specimen used for this observation",
              "definition": "The specimen that was used when this observation was made.",
              "comment": "Should only be used if not implicit in code found in `Observation.code`.  Observations are not made on specimens themselves; they are made on a subject, but in many cases by the means of a specimen. Note that although specimens are often involved, they are not always tracked and reported explicitly. Also note that observation resources may be used in contexts that track the specimen explicitly (e.g. Diagnostic Report).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.specimen",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Specimen"
                }
              ],
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 123038009 |Specimen|"
                },
                {
                  "identity": "v2",
                  "map": "SPM segment"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=SPC].specimen"
                },
                {
                  "identity": "sct-attr",
                  "map": "704319004 |Inherent in|"
                }
              ]
            },
            {
              "id": "Observation.device",
              "path": "Observation.device",
              "short": "(Measurement) Device",
              "definition": "The device used to generate the observation data.",
              "comment": "An extension should be used if further typing of the device is needed.  Devices used to support obtaining an observation can be represented using either an extension or through the Observation.related element.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.device",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/DeviceMetric"
                }
              ],
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 49062001 |Device|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-17 / PRT -10"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=DEV]"
                },
                {
                  "identity": "sct-attr",
                  "map": "424226004 |Using device|"
                }
              ]
            },
            {
              "id": "Observation.referenceRange",
              "path": "Observation.referenceRange",
              "short": "Provides guide for interpretation",
              "definition": "Guidance on how to interpret the value by comparison to a normal or recommended range.",
              "comment": "Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.",
              "requirements": "Knowing what values are considered \"normal\" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "key": "obs-3",
                  "severity": "error",
                  "human": "Must have at least a low or a high or text",
                  "expression": "low.exists() or high.exists() or text.exists()",
                  "xpath": "(exists(f:low) or exists(f:high)or exists(f:text))",
                  "source": "Observation.referenceRange"
                }
              ],
              "mustSupport": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX.7"
                },
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.id",
              "path": "Observation.referenceRange.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.extension",
              "path": "Observation.referenceRange.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.modifierExtension",
              "path": "Observation.referenceRange.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.low",
              "path": "Observation.referenceRange.low",
              "short": "Low Range, if relevant",
              "definition": "The value of the low bound of the reference range.  The low bound of the reference range endpoint is inclusive of the value (e.g.  reference range is >=5 - <=9).   If the low bound is omitted,  it is assumed to be meaningless (e.g. reference range is <=2.3).",
              "min": 0,
              "max": "0",
              "base": {
                "path": "Observation.referenceRange.low",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity",
                  "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
                }
              ],
              "condition": [
                "obs-3"
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-7"
                },
                {
                  "identity": "rim",
                  "map": "value:IVL_PQ.low"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.high",
              "path": "Observation.referenceRange.high",
              "short": "High Range, if relevant",
              "definition": "The value of the high bound of the reference range.  The high bound of the reference range endpoint is inclusive of the value (e.g.  reference range is >=5 - <=9).   If the high bound is omitted,  it is assumed to be meaningless (e.g. reference range is >= 2.3).",
              "comment": "Per Australian NHF Recommendations.",
              "requirements": "<2.0 mmol/L.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.high",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity",
                  "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
                }
              ],
              "condition": [
                "obs-3"
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-7"
                },
                {
                  "identity": "rim",
                  "map": "value:IVL_PQ.high"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.type",
              "path": "Observation.referenceRange.type",
              "short": "Reference range qualifier",
              "definition": "Codes to indicate the what part of the targeted reference population it applies to. For example, the normal or therapeutic range.",
              "comment": "This SHOULD be populated if there is more than one range.  If this element is not present then the normal range is assumed.",
              "requirements": "Need to be able to say what kind of reference range this is - normal, recommended, therapeutic, etc,  - for proper interpretation.",
              "min": 0,
              "max": "0",
              "base": {
                "path": "Observation.referenceRange.type",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRangeMeaning"
                  }
                ],
                "strength": "extensible",
                "description": "Code for the meaning of a reference range.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/referencerange-meaning"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values| OR  \r< 365860008 |General clinical state finding| \rOR \r< 250171008 |Clinical history or observation findings| OR  \r< 415229000 |Racial group| OR \r< 365400002 |Finding of puberty stage| OR\r< 443938003 |Procedure carried out on subject|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-10"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.appliesTo",
              "path": "Observation.referenceRange.appliesTo",
              "short": "Reference range population",
              "definition": "Codes to indicate the target population this reference range applies to.  For example, a reference range may be based on the normal population or a particular sex or race.",
              "comment": "This SHOULD be populated if there is more than one range.  If this element is not present then the normal population is assumed.",
              "requirements": "Need to be able to identify the target population for proper interpretation.",
              "min": 0,
              "max": "0",
              "base": {
                "path": "Observation.referenceRange.appliesTo",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRangeType"
                  }
                ],
                "strength": "example",
                "description": "Codes identifying the population the reference range applies to.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/referencerange-appliesto"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values| OR  \r< 365860008 |General clinical state finding| \rOR \r< 250171008 |Clinical history or observation findings| OR  \r< 415229000 |Racial group| OR \r< 365400002 |Finding of puberty stage| OR\r< 443938003 |Procedure carried out on subject|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-10"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.age",
              "path": "Observation.referenceRange.age",
              "short": "Applicable age range, if relevant",
              "definition": "The age at which this reference range is applicable. This is a neonatal age (e.g. number of weeks at term) if the meaning says so.",
              "requirements": "Some analytes vary greatly over age.",
              "min": 0,
              "max": "0",
              "base": {
                "path": "Observation.referenceRange.age",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Range"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=PRCN].targetObservationCriterion[code=\"age\"].value"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.text",
              "path": "Observation.referenceRange.text",
              "short": "Text based reference range in an observation",
              "definition": "Text based reference range in an observation which may be used when a quantitative range is not appropriate for an observation.  An example would be a reference value of \"Negative\" or a list or table of 'normals'.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.text",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-7"
                },
                {
                  "identity": "rim",
                  "map": "value:ST"
                }
              ]
            },
            {
              "id": "Observation.related",
              "path": "Observation.related",
              "short": "Resource related to this observation",
              "definition": "A  reference to another resource (usually another Observation) whose relationship is defined by the relationship type code.",
              "comment": "For a discussion on the ways Observations can assembled in groups together see [Notes below](observation.html#4.20.4).",
              "requirements": "Normally, an observation will have either a value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and a set of related observations or sometimes a QuestionnaireResponse from which the measure is derived.",
              "min": 0,
              "max": "0",
              "base": {
                "path": "Observation.related",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "Relationships established by OBX-4 usage"
                },
                {
                  "identity": "rim",
                  "map": "outBoundRelationship"
                }
              ]
            },
            {
              "id": "Observation.related.id",
              "path": "Observation.related.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.related.extension",
              "path": "Observation.related.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.related.modifierExtension",
              "path": "Observation.related.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.related.type",
              "path": "Observation.related.type",
              "short": "has-member | derived-from | sequel-to | replaces | qualified-by | interfered-by",
              "definition": "A code specifying the kind of relationship that exists with the target resource.",
              "comment": "The \"derived-from\" type is the only logical choice when referencing the QuestionnaireAnswer resource.",
              "requirements": "A relationship type SHOULD be provided.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.related.type",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRelationshipType"
                  }
                ],
                "strength": "required",
                "description": "Codes specifying how two observations are related.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-relationshiptypes"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": ".typeCode"
                }
              ]
            },
            {
              "id": "Observation.related.target",
              "path": "Observation.related.target",
              "short": "Resource that is related to this one",
              "definition": "A reference to the observation or [QuestionnaireResponse](questionnaireresponse.html#) resource that is related to this observation.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.related.target",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Sequence"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".targetObservation"
                }
              ]
            },
            {
              "id": "Observation.component",
              "path": "Observation.component",
              "short": "Component results",
              "definition": "Some observations have multiple component observations.  These component observations are expressed as separate code value pairs that share the same attributes.  Examples include systolic and diastolic component observations for blood pressure measurement and multiple component observations for genetics observations.",
              "comment": "For a discussion on the ways Observations can be assembled in groups together see [Notes](observation.html#notes) below.",
              "requirements": "Component observations share the same attributes in the Observation resource as the primary observation and are always treated a part of a single observation (they are not separable).   However, the reference range for the primary observation value is not inherited by the component values and is required when appropriate for each component observation.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.component",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "containment by OBX-4?"
                },
                {
                  "identity": "rim",
                  "map": "outBoundRelationship[typeCode=COMP]"
                }
              ]
            },
            {
              "id": "Observation.component.id",
              "path": "Observation.component.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.extension",
              "path": "Observation.component.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.modifierExtension",
              "path": "Observation.component.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.component.code",
              "path": "Observation.component.code",
              "short": "Type of component observation (code / type)",
              "definition": "Describes what was observed. Sometimes this is called the observation \"code\".",
              "requirements": "Knowing what kind of observation is being made is essential to understanding the observation.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.component.code",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationCode"
                  }
                ],
                "strength": "example",
                "description": "Codes identifying names of simple observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-codes"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity| OR \r< 386053000 |Evaluation procedure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-3"
                },
                {
                  "identity": "rim",
                  "map": "code"
                },
                {
                  "identity": "w5",
                  "map": "what"
                }
              ]
            },
            {
              "id": "Observation.component.value[x]",
              "path": "Observation.component.value[x]",
              "short": "Actual component result",
              "definition": "The information determined as a result of making the observation, if the information has a simple value.",
              "comment": "Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value.   For boolean values use valueCodeableConcept and select codes from <http://hl7.org/fhir/ValueSet/v2-0136> (these \"yes/no\" concepts can be mapped to the display name \"true/false\" or other mutually exclusive terms that may be needed\").  The element, Observation.value[x], has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueRatio, valueChoice, valuePeriod, valueSampleData, or valueString (the name format is \"'value' + the type name\" with a capital on the first letter of the type).",
              "requirements": "An observation exists to have a value, though it may not if it is in error, or if it represents a group of observations.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.value[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity"
                },
                {
                  "code": "CodeableConcept"
                },
                {
                  "code": "string"
                },
                {
                  "code": "Range"
                },
                {
                  "code": "Ratio"
                },
                {
                  "code": "SampledData"
                },
                {
                  "code": "Attachment"
                },
                {
                  "code": "time"
                },
                {
                  "code": "dateTime"
                },
                {
                  "code": "Period"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "363714003 |Interprets| < 441742003 |Evaluation finding|"
                },
                {
                  "identity": "v2",
                  "map": "OBX.2, OBX.5, OBX.6"
                },
                {
                  "identity": "rim",
                  "map": "value"
                },
                {
                  "identity": "sct-attr",
                  "map": "363714003 |Interprets|"
                }
              ]
            },
            {
              "id": "Observation.component.dataAbsentReason",
              "path": "Observation.component.dataAbsentReason",
              "short": "Why the component result is missing",
              "definition": "Provides a reason why the expected value in the element Observation.value[x] is missing.",
              "comment": "\"Null\" or exceptional values can be represented two ways in FHIR Observations.  One way is to simply include them in the value set and represent the exceptions in the value.  For example, measurement values for a serology test could be  \"detected\", \"not detected\", \"inconclusive\", or  \"test not done\".   The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values.  For example, the dataAbsentReason code \"error\" could be used when the measurement was not completed.  Because of these options, use-case agreements are required to interpret general observations for exceptional values.",
              "requirements": "For many results it is necessary to handle exceptional values in measurements.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.dataAbsentReason",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "condition": [
                "obs-6"
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationValueAbsentReason"
                  }
                ],
                "strength": "extensible",
                "description": "Codes specifying why the result (Observation.value[x]) is missing.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-valueabsentreason"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": "value.nullFlavor"
                }
              ]
            },
            {
              "id": "Observation.component.interpretation",
              "path": "Observation.component.interpretation",
              "short": "High, low, normal, etc.",
              "definition": "The assessment made based on the result of the observation.  Intended as a simple compact code often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result. Otherwise known as abnormal flag.",
              "comment": "The component interpretation applies only to the individual component value.  For an overall interpretation all components together use thes Observation.interpretation element.",
              "requirements": "For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result.",
              "alias": [
                "Abnormal Flag"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.interpretation",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationInterpretation"
                  }
                ],
                "strength": "extensible",
                "description": "Codes identifying interpretations of observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-interpretation"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-8"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "363713009 |Has interpretation|"
                }
              ]
            },
            {
              "id": "Observation.component.referenceRange",
              "path": "Observation.component.referenceRange",
              "short": "Provides guide for interpretation of component result",
              "definition": "Guidance on how to interpret the value by comparison to a normal or recommended range.",
              "comment": "Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.",
              "requirements": "Knowing what values are considered \"normal\" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.component.referenceRange",
                "min": 0,
                "max": "*"
              },
              "contentReference": "#Observation.referenceRange",
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX.7"
                },
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]"
                }
              ]
            }
          ]
        },
        "differential": {
          "element": [
            {
              "id": "Observation",
              "path": "Observation",
              "short": "Triglyceride Result",
              "definition": "Group of elements for Triglyceride result.",
              "min": 1,
              "max": "1"
            },
            {
              "id": "Observation.code",
              "path": "Observation.code",
              "short": "Triglyceride",
              "definition": "Triglyceride.",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "patternCodeableConcept": {
                "coding": [
                  {
                    "system": "http://loinc.org",
                    "code": "35217-9"
                  }
                ]
              },
              "mustSupport": true
            },
            {
              "id": "Observation.valueQuantity",
              "path": "Observation.valueQuantity",
              "short": "Triglyceride value",
              "definition": "Triglyceride value. If a result is not available, use the comments field.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "Quantity"
                }
              ],
              "mustSupport": true
            },
            {
              "id": "Observation.interpretation",
              "path": "Observation.interpretation",
              "short": "+ | ++ | +++ | - | -- | ---",
              "definition": "+ | ++ | +++ | - | -- | ---.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": true
            },
            {
              "id": "Observation.comment",
              "path": "Observation.comment",
              "short": "Comments about result",
              "definition": "Comments about result.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "string"
                }
              ],
              "mustSupport": true
            },
            {
              "id": "Observation.referenceRange",
              "path": "Observation.referenceRange",
              "min": 1,
              "max": "1",
              "mustSupport": true
            },
            {
              "id": "Observation.referenceRange.low",
              "path": "Observation.referenceRange.low",
              "min": 0,
              "max": "0"
            },
            {
              "id": "Observation.referenceRange.high",
              "path": "Observation.referenceRange.high",
              "comment": "Per Australian NHF Recommendations.",
              "requirements": "<2.0 mmol/L.",
              "min": 1,
              "max": "1"
            },
            {
              "id": "Observation.referenceRange.type",
              "path": "Observation.referenceRange.type",
              "min": 0,
              "max": "0",
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.appliesTo",
              "path": "Observation.referenceRange.appliesTo",
              "min": 0,
              "max": "0",
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.age",
              "path": "Observation.referenceRange.age",
              "min": 0,
              "max": "0",
              "type": [
                {
                  "code": "Range"
                }
              ]
            },
            {
              "id": "Observation.related",
              "path": "Observation.related",
              "min": 0,
              "max": "0"
            }
          ]
        }
      }
    },
    {
      "fullUrl": "http://hl7.org/fhir/StructureDefinition/hdlcholesterol",
      "resource": {
        "resourceType": "StructureDefinition",
        "id": "hdlcholesterol",
        "text": {
          "status": "generated",
          "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">to do</div>"
        },
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
            "valueInteger": 1
          },
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
            "valueCode": "oo"
          }
        ],
        "url": "http://hl7.org/fhir/StructureDefinition/hdlcholesterol",
        "name": "Example Lipid Profile",
        "status": "draft",
        "experimental": true,
        "date": "2012-05-12",
        "publisher": "Grahame Grieve",
        "contact": [
          {
            "telecom": [
              {
                "system": "url",
                "value": "grahame@healthintersections.com.au"
              }
            ]
          }
        ],
        "description": "HDL Cholesterol Result",
        "fhirVersion": "3.0.1",
        "mapping": [
          {
            "identity": "workflow",
            "uri": "http://hl7.org/fhir/workflow",
            "name": "Workflow Mapping"
          },
          {
            "identity": "sct-concept",
            "uri": "http://snomed.info/conceptdomain",
            "name": "SNOMED CT Concept Domain Binding"
          },
          {
            "identity": "v2",
            "uri": "http://hl7.org/v2",
            "name": "HL7 v2 Mapping"
          },
          {
            "identity": "rim",
            "uri": "http://hl7.org/v3",
            "name": "RIM Mapping"
          },
          {
            "identity": "w5",
            "uri": "http://hl7.org/fhir/w5",
            "name": "W5 Mapping"
          },
          {
            "identity": "sct-attr",
            "uri": "http://snomed.info/sct",
            "name": "SNOMED CT Attribute Binding"
          }
        ],
        "kind": "resource",
        "abstract": false,
        "type": "Observation",
        "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Observation",
        "derivation": "constraint",
        "snapshot": {
          "element": [
            {
              "id": "Observation",
              "path": "Observation",
              "short": "HDL Cholesterol Result",
              "definition": "Group of elements for HDL Cholesterol result.",
              "comment": "Used for simple observations such as device measurements, laboratory atomic results, vital signs, height, weight, smoking status, comments, etc.  Other resources are used to provide context for observations such as lab reports, etc.",
              "alias": [
                "Vital Signs",
                "Measurement",
                "Results",
                "Tests"
              ],
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation",
                "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)",
                  "source": "DomainResource"
                },
                {
                  "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)",
                  "source": "DomainResource"
                },
                {
                  "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))",
                  "source": "DomainResource"
                },
                {
                  "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))]))",
                  "source": "DomainResource"
                },
                {
                  "key": "obs-7",
                  "severity": "error",
                  "human": "If code is the same as a component code then the value element associated with the code SHALL NOT be present",
                  "expression": "value.empty() or code!=component.code",
                  "xpath": "not(exists(f:*[starts-with(local-name(.), 'value')])) or not(count(for $coding in f:code/f:coding return parent::*/f:component/f:code/f:coding[f:code/@value=$coding/f:code/@value and f:system/@value=$coding/f:system/@value])=0)",
                  "source": "Observation"
                },
                {
                  "key": "obs-6",
                  "severity": "error",
                  "human": "dataAbsentReason SHALL only be present if Observation.value[x] is not present",
                  "expression": "dataAbsentReason.empty() or value.empty()",
                  "xpath": "not(exists(f:dataAbsentReason)) or (not(exists(*[starts-with(local-name(.), 'value')])))",
                  "source": "Observation"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Entity. Role, or Act"
                },
                {
                  "identity": "workflow",
                  "map": "Event"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity|"
                },
                {
                  "identity": "v2",
                  "map": "OBX"
                },
                {
                  "identity": "rim",
                  "map": "Observation[classCode=OBS, moodCode=EVN]"
                },
                {
                  "identity": "w5",
                  "map": "clinical.diagnostics"
                }
              ]
            },
            {
              "id": "Observation.id",
              "path": "Observation.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "Observation.meta",
              "path": "Observation.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "Observation.implicitRules",
              "path": "Observation.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"
                }
              ],
              "isModifier": true,
              "isSummary": true
            },
            {
              "id": "Observation.language",
              "path": "Observation.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"
                }
              ],
              "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"
                }
              }
            },
            {
              "id": "Observation.text",
              "path": "Observation.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": [
                "dom-1"
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Act.text?"
                }
              ]
            },
            {
              "id": "Observation.contained",
              "path": "Observation.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": "N/A"
                }
              ]
            },
            {
              "id": "Observation.extension",
              "path": "Observation.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.modifierExtension",
              "path": "Observation.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 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"
                }
              ],
              "isModifier": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.identifier",
              "path": "Observation.identifier",
              "short": "Business Identifier for observation",
              "definition": "A unique identifier assigned to this observation.",
              "requirements": "Allows observations to be distinguished and referenced.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.identifier",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Identifier"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.identifier"
                },
                {
                  "identity": "v2",
                  "map": "OBX.21  For OBX segments from systems without OBX-21 support a combination of ORC/OBR and OBX must be negotiated between trading partners to uniquely identify the OBX segment. Depending on how V2 has been implemented each of these may be an option: 1) OBR-3 + OBX-3 + OBX-4 or 2) OBR-3 + OBR-4 + OBX-3 + OBX-4 or 2) some other way to uniquely ID the OBR/ORC + OBX-3 + OBX-4."
                },
                {
                  "identity": "rim",
                  "map": "id"
                },
                {
                  "identity": "w5",
                  "map": "id"
                }
              ]
            },
            {
              "id": "Observation.basedOn",
              "path": "Observation.basedOn",
              "short": "Fulfills plan, proposal or order",
              "definition": "A plan, proposal or order that is fulfilled in whole or in part by this event.",
              "requirements": "Allows tracing of authorization for the event and tracking whether proposals/recommendations were acted upon.",
              "alias": [
                "Fulfills"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.basedOn",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/CarePlan"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/DeviceRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ImmunizationRecommendation"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/NutritionOrder"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ProcedureRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ReferralRequest"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.basedOn"
                },
                {
                  "identity": "v2",
                  "map": "ORC"
                },
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=FLFS].target"
                }
              ]
            },
            {
              "id": "Observation.status",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-display-hint",
                  "valueString": "default: final"
                }
              ],
              "path": "Observation.status",
              "short": "registered | preliminary | final | amended +",
              "definition": "The status of the result value.",
              "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
              "requirements": "Need to track the status of individual results. Some results are finalized before the whole report is finalized.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.status",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationStatus"
                  }
                ],
                "strength": "required",
                "description": "Codes providing the status of an observation.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-status"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.status"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 445584004 |Report by finality status|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-11"
                },
                {
                  "identity": "rim",
                  "map": "status  Amended & Final are differentiated by whether it is the subject of a ControlAct event with a type of \"revise\""
                },
                {
                  "identity": "w5",
                  "map": "status"
                }
              ]
            },
            {
              "id": "Observation.category",
              "path": "Observation.category",
              "short": "Classification of  type of observation",
              "definition": "A code that classifies the general type of observation being made.",
              "comment": "In addition to the required category valueset, this element allows various categorization schemes based on the owner’s definition of the category and effectively multiple categories can be used at once.  The level of granularity is defined by the category concepts in the value set.",
              "requirements": "Used for filtering what observations are retrieved and displayed.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.category",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationCategory"
                  }
                ],
                "strength": "preferred",
                "description": "Codes for high level observation categories.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-category"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=\"COMP].target[classCode=\"LIST\", moodCode=\"EVN\"].code"
                },
                {
                  "identity": "w5",
                  "map": "class"
                }
              ]
            },
            {
              "id": "Observation.code",
              "path": "Observation.code",
              "short": "HDL Cholesterol",
              "definition": "HDL Cholesterol.",
              "requirements": "Knowing what kind of observation is being made is essential to understanding the observation.",
              "alias": [
                "Name"
              ],
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.code",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "fixedCodeableConcept": {
                "coding": [
                  {
                    "system": "http://loinc.org",
                    "code": "2085-9",
                    "display": "HDL Cholesterol"
                  }
                ]
              },
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationCode"
                  }
                ],
                "strength": "example",
                "description": "Codes identifying names of simple observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-codes"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.code"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity| OR < 386053000 |Evaluation procedure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-3"
                },
                {
                  "identity": "rim",
                  "map": "code"
                },
                {
                  "identity": "sct-attr",
                  "map": "116680003 |Is a|"
                },
                {
                  "identity": "w5",
                  "map": "what"
                }
              ]
            },
            {
              "id": "Observation.subject",
              "path": "Observation.subject",
              "short": "Who and/or what this is about",
              "definition": "The patient, or group of patients, location, or device whose characteristics (direct or indirect) are described by the observation and into whose record the observation is placed.  Comments: Indirect characteristics may be those of a specimen, fetus, donor,  other observer (for example a relative or EMT), or any observation made about the subject.",
              "comment": "One would expect this element to be a cardinality  of 1..1.  The only circumstance in which the subject can be missing is when the observation is made by a device that does not know the patient. In this case, the observation SHALL be matched to a patient through some context/channel matching technique, and at this point, the observation should be updated.\r\rIf the target of the observation is different than the subject, the general extension [observation-focal-subject](extension-observation-focal-subject.html).  may be used.  However, the distinction between the patient's own value for an observation versus that of the fetus, or the donor or blood product unit, etc., are often specified in the observation code.",
              "requirements": "Observations have no value if you don't know who or what they're about.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.subject",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.subject"
                },
                {
                  "identity": "v2",
                  "map": "PID-3"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=SBJ]"
                },
                {
                  "identity": "w5",
                  "map": "who.focus"
                }
              ]
            },
            {
              "id": "Observation.context",
              "path": "Observation.context",
              "short": "Healthcare event during which this observation is made",
              "definition": "The healthcare event  (e.g. a patient and healthcare provider interaction) during which this observation is made.",
              "comment": "This will typically be the encounter the event occurred within, but some events may be initiated prior to or after the official completion of an encounter or episode but still be tied to the context of the encounter or episode (e.g. pre-admission lab tests).",
              "requirements": "For some observations it may be important to know the link between an observation and a particular encounter.",
              "alias": [
                "Encounter"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.context",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
                }
              ],
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.context"
                },
                {
                  "identity": "v2",
                  "map": "PV1"
                },
                {
                  "identity": "rim",
                  "map": "inboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN]"
                },
                {
                  "identity": "w5",
                  "map": "context"
                }
              ]
            },
            {
              "id": "Observation.effective[x]",
              "path": "Observation.effective[x]",
              "short": "Clinically relevant time/time-period for observation",
              "definition": "The time or time-period the observed value is asserted as being true. For biological subjects - e.g. human patients - this is usually called the \"physiologically relevant time\". This is usually either the time of the procedure or of specimen collection, but very often the source of the date/time is not known, only the date/time itself.",
              "comment": "At least a date should be present unless this observation is a historical report.",
              "requirements": "Knowing when an observation was deemed true is important to its relevance as well as determining trends.",
              "alias": [
                "Occurrence"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.effective[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "dateTime"
                },
                {
                  "code": "Period"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.occurrence[x]"
                },
                {
                  "identity": "v2",
                  "map": "OBX-14, and/or OBX-19 after v2.4  (depends on who observation made)"
                },
                {
                  "identity": "rim",
                  "map": "effectiveTime"
                },
                {
                  "identity": "w5",
                  "map": "when.done"
                }
              ]
            },
            {
              "id": "Observation.issued",
              "path": "Observation.issued",
              "short": "Date/Time this was made available",
              "definition": "The date and time this observation was made available to providers, typically after the results have been reviewed and verified.",
              "comment": "Updated when the result is updated.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.issued",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "instant"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBR.22 (or MSH.7), or perhaps OBX-19 (depends on who observation made)"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=AUT].time"
                },
                {
                  "identity": "w5",
                  "map": "when.recorded"
                }
              ]
            },
            {
              "id": "Observation.performer",
              "path": "Observation.performer",
              "short": "Who is responsible for the observation",
              "definition": "Who was responsible for asserting the observed value as \"true\".",
              "requirements": "May give a degree of confidence in the observation and also indicates where follow-up questions should be directed.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.performer",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.performer"
                },
                {
                  "identity": "v2",
                  "map": "OBX.15 / (Practitioner)  OBX-16,  PRT-5:PRT-4='RO' /  (Device)  OBX-18 , PRT-10:PRT-4='EQUIP' / (Organization)  OBX-23,  PRT-8:PRT-4='PO'"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=PRF]"
                },
                {
                  "identity": "w5",
                  "map": "who.actor"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity",
              "path": "Observation.valueQuantity",
              "short": "HDL Cholesterol value",
              "definition": "HDL Cholesterol value. If a result is not available, use the comments field.",
              "comment": "Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. This element has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueString, valueBoolean, valueRange, valueRatio, valueSampledData, valueAttachment, valueTime, valueDateTime, or valuePeriod. (The name format is \"'value' + the type name\" with a capital on the first letter of the type).\r\r\rIf the data element is usually coded or if the type associated with the Observation.value defines a coded value, use CodeableConcept instead of string datatype even if the value is uncoded text.  A value set is bound to the ValueCodeableConcept element.    For further discussion and examples see the  [notes section](observation.html#notes) below.",
              "requirements": "An observation exists to have a value, though it may not if it is in error, or if it represents a group of observations.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.value[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity"
                }
              ],
              "condition": [
                "obs-7"
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.notDone, Event.notDoneReason  (maps to valeu[x] or dataAbsentReason)"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 441742003 |Evaluation finding|"
                },
                {
                  "identity": "v2",
                  "map": "OBX.2, OBX.5, OBX.6"
                },
                {
                  "identity": "rim",
                  "map": "value"
                },
                {
                  "identity": "sct-attr",
                  "map": "363714003 |Interprets|"
                }
              ]
            },
            {
              "id": "Observation.dataAbsentReason",
              "path": "Observation.dataAbsentReason",
              "short": "Why the result is missing",
              "definition": "Provides a reason why the expected value in the element Observation.value[x] is missing.",
              "comment": "Null or exceptional values can be represented two ways in FHIR Observations.  One way is to simply include them in the value set and represent the exceptions in the value.  For example, measurement values for a serology test could be  \"detected\", \"not detected\", \"inconclusive\", or  \"specimen unsatisfactory\".   The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values.  For example, the dataAbsentReason code \"error\" could be used when the measurement was not completed. Note that an observation may only be reported if there are values to report. For example differential cell counts values may be reported only when > 0.  Because of these options, use-case agreements are required to interpret general observations for null or exceptional values.",
              "requirements": "For many results it is necessary to handle exceptional values in measurements.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.dataAbsentReason",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "condition": [
                "obs-6"
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationValueAbsentReason"
                  }
                ],
                "strength": "extensible",
                "description": "Codes specifying why the result (Observation.value[x]) is missing.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-valueabsentreason"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.notDone, Event.notDoneReason  (maps to valeu[x] or dataAbsentReason)"
                },
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": "value.nullFlavor"
                }
              ]
            },
            {
              "id": "Observation.interpretation",
              "path": "Observation.interpretation",
              "short": "+ | ++ | +++ | - | -- | ---",
              "definition": "+ | ++ | +++ | - | -- | ---.",
              "requirements": "For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result.",
              "alias": [
                "Abnormal Flag"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.interpretation",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationInterpretation"
                  }
                ],
                "strength": "extensible",
                "description": "Codes identifying interpretations of observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-interpretation"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-8"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "363713009 |Has interpretation|"
                }
              ]
            },
            {
              "id": "Observation.comment",
              "path": "Observation.comment",
              "short": "Comments about result",
              "definition": "Comments about result.",
              "requirements": "Need to be able to provide free text additional information.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.comment",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mustSupport": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.note"
                },
                {
                  "identity": "v2",
                  "map": "NTE.3 (partner NTE to OBX, or sometimes another (child?) OBX)"
                },
                {
                  "identity": "rim",
                  "map": "subjectOf.observationEvent[code=\"annotation\"].value"
                }
              ]
            },
            {
              "id": "Observation.bodySite",
              "path": "Observation.bodySite",
              "short": "Observed body part",
              "definition": "Indicates the site on the subject's body where the observation was made (i.e. the target site).",
              "comment": "Only used if not implicit in code found in Observation.code.  In many systems, this may be represented as a related observation instead of an inline component.   If the use case requires BodySite to be handled as a separate resource (e.g. to identify and track separately) then use the standard extension[ body-site-instance](extension-body-site-instance.html).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.bodySite",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "BodySite"
                  }
                ],
                "strength": "example",
                "description": "Codes describing anatomical locations. May include laterality.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/body-site"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 123037004 |Body structure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-20"
                },
                {
                  "identity": "rim",
                  "map": "targetSiteCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "718497002 |Inherent location|"
                }
              ]
            },
            {
              "id": "Observation.method",
              "path": "Observation.method",
              "short": "How it was done",
              "definition": "Indicates the mechanism used to perform the observation.",
              "comment": "Only used if not implicit in code for Observation.code.",
              "requirements": "In some cases, method can impact results and is thus used for determining whether results can be compared or determining significance of results.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.method",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationMethod"
                  }
                ],
                "strength": "example",
                "description": "Methods for simple observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-methods"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-17"
                },
                {
                  "identity": "rim",
                  "map": "methodCode"
                }
              ]
            },
            {
              "id": "Observation.specimen",
              "path": "Observation.specimen",
              "short": "Specimen used for this observation",
              "definition": "The specimen that was used when this observation was made.",
              "comment": "Should only be used if not implicit in code found in `Observation.code`.  Observations are not made on specimens themselves; they are made on a subject, but in many cases by the means of a specimen. Note that although specimens are often involved, they are not always tracked and reported explicitly. Also note that observation resources may be used in contexts that track the specimen explicitly (e.g. Diagnostic Report).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.specimen",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Specimen"
                }
              ],
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 123038009 |Specimen|"
                },
                {
                  "identity": "v2",
                  "map": "SPM segment"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=SPC].specimen"
                },
                {
                  "identity": "sct-attr",
                  "map": "704319004 |Inherent in|"
                }
              ]
            },
            {
              "id": "Observation.device",
              "path": "Observation.device",
              "short": "(Measurement) Device",
              "definition": "The device used to generate the observation data.",
              "comment": "An extension should be used if further typing of the device is needed.  Devices used to support obtaining an observation can be represented using either an extension or through the Observation.related element.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.device",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/DeviceMetric"
                }
              ],
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 49062001 |Device|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-17 / PRT -10"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=DEV]"
                },
                {
                  "identity": "sct-attr",
                  "map": "424226004 |Using device|"
                }
              ]
            },
            {
              "id": "Observation.referenceRange",
              "path": "Observation.referenceRange",
              "short": "Provides guide for interpretation",
              "definition": "Guidance on how to interpret the value by comparison to a normal or recommended range.",
              "comment": "Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.",
              "requirements": "Knowing what values are considered \"normal\" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "key": "obs-3",
                  "severity": "error",
                  "human": "Must have at least a low or a high or text",
                  "expression": "low.exists() or high.exists() or text.exists()",
                  "xpath": "(exists(f:low) or exists(f:high)or exists(f:text))",
                  "source": "Observation.referenceRange"
                }
              ],
              "mustSupport": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX.7"
                },
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.id",
              "path": "Observation.referenceRange.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.extension",
              "path": "Observation.referenceRange.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.modifierExtension",
              "path": "Observation.referenceRange.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.low",
              "path": "Observation.referenceRange.low",
              "short": "A fixed quantity (no comparator)",
              "definition": ">1.5 mmol/L.",
              "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": 1,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.low",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity",
                  "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
                }
              ],
              "fixedQuantity": {
                "value": 1.5
              },
              "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",
                  "source": "Element"
                },
                {
                  "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)",
                  "source": "Quantity"
                },
                {
                  "key": "sqty-1",
                  "severity": "error",
                  "human": "The comparator is not used on a SimpleQuantity",
                  "expression": "comparator.empty()",
                  "xpath": "not(exists(f:comparator))",
                  "source": "Quantity:simplequantity"
                }
              ],
              "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"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.high",
              "path": "Observation.referenceRange.high",
              "short": "High Range, if relevant",
              "definition": "The value of the high bound of the reference range.  The high bound of the reference range endpoint is inclusive of the value (e.g.  reference range is >=5 - <=9).   If the high bound is omitted,  it is assumed to be meaningless (e.g. reference range is >= 2.3).",
              "comment": "Per Australian NHF Recommendations.",
              "min": 0,
              "max": "0",
              "base": {
                "path": "Observation.referenceRange.high",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity",
                  "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
                }
              ],
              "condition": [
                "obs-3"
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-7"
                },
                {
                  "identity": "rim",
                  "map": "value:IVL_PQ.high"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.type",
              "path": "Observation.referenceRange.type",
              "short": "Reference range qualifier",
              "definition": "Codes to indicate the what part of the targeted reference population it applies to. For example, the normal or therapeutic range.",
              "comment": "This SHOULD be populated if there is more than one range.  If this element is not present then the normal range is assumed.",
              "requirements": "Need to be able to say what kind of reference range this is - normal, recommended, therapeutic, etc,  - for proper interpretation.",
              "min": 0,
              "max": "0",
              "base": {
                "path": "Observation.referenceRange.type",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRangeMeaning"
                  }
                ],
                "strength": "extensible",
                "description": "Code for the meaning of a reference range.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/referencerange-meaning"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values| OR  \r< 365860008 |General clinical state finding| \rOR \r< 250171008 |Clinical history or observation findings| OR  \r< 415229000 |Racial group| OR \r< 365400002 |Finding of puberty stage| OR\r< 443938003 |Procedure carried out on subject|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-10"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.appliesTo",
              "path": "Observation.referenceRange.appliesTo",
              "short": "Reference range population",
              "definition": "Codes to indicate the target population this reference range applies to.  For example, a reference range may be based on the normal population or a particular sex or race.",
              "comment": "This SHOULD be populated if there is more than one range.  If this element is not present then the normal population is assumed.",
              "requirements": "Need to be able to identify the target population for proper interpretation.",
              "min": 0,
              "max": "0",
              "base": {
                "path": "Observation.referenceRange.appliesTo",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRangeType"
                  }
                ],
                "strength": "example",
                "description": "Codes identifying the population the reference range applies to.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/referencerange-appliesto"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values| OR  \r< 365860008 |General clinical state finding| \rOR \r< 250171008 |Clinical history or observation findings| OR  \r< 415229000 |Racial group| OR \r< 365400002 |Finding of puberty stage| OR\r< 443938003 |Procedure carried out on subject|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-10"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.age",
              "path": "Observation.referenceRange.age",
              "short": "Applicable age range, if relevant",
              "definition": "The age at which this reference range is applicable. This is a neonatal age (e.g. number of weeks at term) if the meaning says so.",
              "requirements": "Some analytes vary greatly over age.",
              "min": 0,
              "max": "0",
              "base": {
                "path": "Observation.referenceRange.age",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Range"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=PRCN].targetObservationCriterion[code=\"age\"].value"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.text",
              "path": "Observation.referenceRange.text",
              "short": "Text based reference range in an observation",
              "definition": "Text based reference range in an observation which may be used when a quantitative range is not appropriate for an observation.  An example would be a reference value of \"Negative\" or a list or table of 'normals'.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.text",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-7"
                },
                {
                  "identity": "rim",
                  "map": "value:ST"
                }
              ]
            },
            {
              "id": "Observation.related",
              "path": "Observation.related",
              "short": "Resource related to this observation",
              "definition": "A  reference to another resource (usually another Observation) whose relationship is defined by the relationship type code.",
              "comment": "For a discussion on the ways Observations can assembled in groups together see [Notes below](observation.html#4.20.4).",
              "requirements": "Normally, an observation will have either a value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and a set of related observations or sometimes a QuestionnaireResponse from which the measure is derived.",
              "min": 0,
              "max": "0",
              "base": {
                "path": "Observation.related",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "Relationships established by OBX-4 usage"
                },
                {
                  "identity": "rim",
                  "map": "outBoundRelationship"
                }
              ]
            },
            {
              "id": "Observation.related.id",
              "path": "Observation.related.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.related.extension",
              "path": "Observation.related.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.related.modifierExtension",
              "path": "Observation.related.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.related.type",
              "path": "Observation.related.type",
              "short": "has-member | derived-from | sequel-to | replaces | qualified-by | interfered-by",
              "definition": "A code specifying the kind of relationship that exists with the target resource.",
              "comment": "The \"derived-from\" type is the only logical choice when referencing the QuestionnaireAnswer resource.",
              "requirements": "A relationship type SHOULD be provided.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.related.type",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRelationshipType"
                  }
                ],
                "strength": "required",
                "description": "Codes specifying how two observations are related.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-relationshiptypes"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": ".typeCode"
                }
              ]
            },
            {
              "id": "Observation.related.target",
              "path": "Observation.related.target",
              "short": "Resource that is related to this one",
              "definition": "A reference to the observation or [QuestionnaireResponse](questionnaireresponse.html#) resource that is related to this observation.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.related.target",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Sequence"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".targetObservation"
                }
              ]
            },
            {
              "id": "Observation.component",
              "path": "Observation.component",
              "short": "Component results",
              "definition": "Some observations have multiple component observations.  These component observations are expressed as separate code value pairs that share the same attributes.  Examples include systolic and diastolic component observations for blood pressure measurement and multiple component observations for genetics observations.",
              "comment": "For a discussion on the ways Observations can be assembled in groups together see [Notes](observation.html#notes) below.",
              "requirements": "Component observations share the same attributes in the Observation resource as the primary observation and are always treated a part of a single observation (they are not separable).   However, the reference range for the primary observation value is not inherited by the component values and is required when appropriate for each component observation.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.component",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "containment by OBX-4?"
                },
                {
                  "identity": "rim",
                  "map": "outBoundRelationship[typeCode=COMP]"
                }
              ]
            },
            {
              "id": "Observation.component.id",
              "path": "Observation.component.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.extension",
              "path": "Observation.component.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.modifierExtension",
              "path": "Observation.component.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.component.code",
              "path": "Observation.component.code",
              "short": "Type of component observation (code / type)",
              "definition": "Describes what was observed. Sometimes this is called the observation \"code\".",
              "requirements": "Knowing what kind of observation is being made is essential to understanding the observation.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.component.code",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationCode"
                  }
                ],
                "strength": "example",
                "description": "Codes identifying names of simple observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-codes"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity| OR \r< 386053000 |Evaluation procedure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-3"
                },
                {
                  "identity": "rim",
                  "map": "code"
                },
                {
                  "identity": "w5",
                  "map": "what"
                }
              ]
            },
            {
              "id": "Observation.component.value[x]",
              "path": "Observation.component.value[x]",
              "short": "Actual component result",
              "definition": "The information determined as a result of making the observation, if the information has a simple value.",
              "comment": "Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value.   For boolean values use valueCodeableConcept and select codes from <http://hl7.org/fhir/ValueSet/v2-0136> (these \"yes/no\" concepts can be mapped to the display name \"true/false\" or other mutually exclusive terms that may be needed\").  The element, Observation.value[x], has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueRatio, valueChoice, valuePeriod, valueSampleData, or valueString (the name format is \"'value' + the type name\" with a capital on the first letter of the type).",
              "requirements": "An observation exists to have a value, though it may not if it is in error, or if it represents a group of observations.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.value[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity"
                },
                {
                  "code": "CodeableConcept"
                },
                {
                  "code": "string"
                },
                {
                  "code": "Range"
                },
                {
                  "code": "Ratio"
                },
                {
                  "code": "SampledData"
                },
                {
                  "code": "Attachment"
                },
                {
                  "code": "time"
                },
                {
                  "code": "dateTime"
                },
                {
                  "code": "Period"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "363714003 |Interprets| < 441742003 |Evaluation finding|"
                },
                {
                  "identity": "v2",
                  "map": "OBX.2, OBX.5, OBX.6"
                },
                {
                  "identity": "rim",
                  "map": "value"
                },
                {
                  "identity": "sct-attr",
                  "map": "363714003 |Interprets|"
                }
              ]
            },
            {
              "id": "Observation.component.dataAbsentReason",
              "path": "Observation.component.dataAbsentReason",
              "short": "Why the component result is missing",
              "definition": "Provides a reason why the expected value in the element Observation.value[x] is missing.",
              "comment": "\"Null\" or exceptional values can be represented two ways in FHIR Observations.  One way is to simply include them in the value set and represent the exceptions in the value.  For example, measurement values for a serology test could be  \"detected\", \"not detected\", \"inconclusive\", or  \"test not done\".   The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values.  For example, the dataAbsentReason code \"error\" could be used when the measurement was not completed.  Because of these options, use-case agreements are required to interpret general observations for exceptional values.",
              "requirements": "For many results it is necessary to handle exceptional values in measurements.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.dataAbsentReason",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "condition": [
                "obs-6"
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationValueAbsentReason"
                  }
                ],
                "strength": "extensible",
                "description": "Codes specifying why the result (Observation.value[x]) is missing.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-valueabsentreason"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": "value.nullFlavor"
                }
              ]
            },
            {
              "id": "Observation.component.interpretation",
              "path": "Observation.component.interpretation",
              "short": "High, low, normal, etc.",
              "definition": "The assessment made based on the result of the observation.  Intended as a simple compact code often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result. Otherwise known as abnormal flag.",
              "comment": "The component interpretation applies only to the individual component value.  For an overall interpretation all components together use thes Observation.interpretation element.",
              "requirements": "For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result.",
              "alias": [
                "Abnormal Flag"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.interpretation",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationInterpretation"
                  }
                ],
                "strength": "extensible",
                "description": "Codes identifying interpretations of observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-interpretation"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-8"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "363713009 |Has interpretation|"
                }
              ]
            },
            {
              "id": "Observation.component.referenceRange",
              "path": "Observation.component.referenceRange",
              "short": "Provides guide for interpretation of component result",
              "definition": "Guidance on how to interpret the value by comparison to a normal or recommended range.",
              "comment": "Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.",
              "requirements": "Knowing what values are considered \"normal\" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.component.referenceRange",
                "min": 0,
                "max": "*"
              },
              "contentReference": "#Observation.referenceRange",
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX.7"
                },
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]"
                }
              ]
            }
          ]
        },
        "differential": {
          "element": [
            {
              "id": "Observation",
              "path": "Observation",
              "short": "HDL Cholesterol Result",
              "definition": "Group of elements for HDL Cholesterol result.",
              "min": 1,
              "max": "1"
            },
            {
              "id": "Observation.code",
              "path": "Observation.code",
              "short": "HDL Cholesterol",
              "definition": "HDL Cholesterol.",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "fixedCodeableConcept": {
                "coding": [
                  {
                    "system": "http://loinc.org",
                    "code": "2085-9",
                    "display": "HDL Cholesterol"
                  }
                ]
              },
              "mustSupport": true
            },
            {
              "id": "Observation.valueQuantity",
              "path": "Observation.valueQuantity",
              "short": "HDL Cholesterol value",
              "definition": "HDL Cholesterol value. If a result is not available, use the comments field.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "Quantity"
                }
              ],
              "mustSupport": true
            },
            {
              "id": "Observation.interpretation",
              "path": "Observation.interpretation",
              "short": "+ | ++ | +++ | - | -- | ---",
              "definition": "+ | ++ | +++ | - | -- | ---.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": true
            },
            {
              "id": "Observation.comment",
              "path": "Observation.comment",
              "short": "Comments about result",
              "definition": "Comments about result.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "string"
                }
              ],
              "mustSupport": true
            },
            {
              "id": "Observation.referenceRange",
              "path": "Observation.referenceRange",
              "min": 1,
              "max": "1",
              "mustSupport": true
            },
            {
              "id": "Observation.referenceRange.low",
              "path": "Observation.referenceRange.low",
              "definition": ">1.5 mmol/L.",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "Quantity",
                  "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
                }
              ],
              "fixedQuantity": {
                "value": 1.5
              }
            },
            {
              "id": "Observation.referenceRange.high",
              "path": "Observation.referenceRange.high",
              "comment": "Per Australian NHF Recommendations.",
              "min": 0,
              "max": "0"
            },
            {
              "id": "Observation.referenceRange.type",
              "path": "Observation.referenceRange.type",
              "min": 0,
              "max": "0",
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.appliesTo",
              "path": "Observation.referenceRange.appliesTo",
              "min": 0,
              "max": "0",
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.age",
              "path": "Observation.referenceRange.age",
              "min": 0,
              "max": "0",
              "type": [
                {
                  "code": "Range"
                }
              ]
            },
            {
              "id": "Observation.related",
              "path": "Observation.related",
              "min": 0,
              "max": "0"
            }
          ]
        }
      }
    },
    {
      "fullUrl": "http://hl7.org/fhir/StructureDefinition/ldlcholesterol",
      "resource": {
        "resourceType": "StructureDefinition",
        "id": "ldlcholesterol",
        "text": {
          "status": "generated",
          "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">to do</div>"
        },
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
            "valueInteger": 1
          },
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
            "valueCode": "oo"
          }
        ],
        "url": "http://hl7.org/fhir/StructureDefinition/ldlcholesterol",
        "name": "Example Lipid Profile",
        "status": "draft",
        "experimental": true,
        "date": "2012-05-12",
        "publisher": "Grahame Grieve",
        "contact": [
          {
            "telecom": [
              {
                "system": "url",
                "value": "grahame@healthintersections.com.au"
              }
            ]
          }
        ],
        "description": "LDL Cholesterol Result",
        "fhirVersion": "3.0.1",
        "mapping": [
          {
            "identity": "workflow",
            "uri": "http://hl7.org/fhir/workflow",
            "name": "Workflow Mapping"
          },
          {
            "identity": "sct-concept",
            "uri": "http://snomed.info/conceptdomain",
            "name": "SNOMED CT Concept Domain Binding"
          },
          {
            "identity": "v2",
            "uri": "http://hl7.org/v2",
            "name": "HL7 v2 Mapping"
          },
          {
            "identity": "rim",
            "uri": "http://hl7.org/v3",
            "name": "RIM Mapping"
          },
          {
            "identity": "w5",
            "uri": "http://hl7.org/fhir/w5",
            "name": "W5 Mapping"
          },
          {
            "identity": "sct-attr",
            "uri": "http://snomed.info/sct",
            "name": "SNOMED CT Attribute Binding"
          }
        ],
        "kind": "resource",
        "abstract": false,
        "type": "Observation",
        "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Observation",
        "derivation": "constraint",
        "snapshot": {
          "element": [
            {
              "id": "Observation",
              "path": "Observation",
              "short": "LDL Cholesterol Result",
              "definition": "Group of elements for LDL Cholesterol result.",
              "comment": "Used for simple observations such as device measurements, laboratory atomic results, vital signs, height, weight, smoking status, comments, etc.  Other resources are used to provide context for observations such as lab reports, etc.",
              "alias": [
                "Vital Signs",
                "Measurement",
                "Results",
                "Tests"
              ],
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation",
                "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)",
                  "source": "DomainResource"
                },
                {
                  "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)",
                  "source": "DomainResource"
                },
                {
                  "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))",
                  "source": "DomainResource"
                },
                {
                  "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))]))",
                  "source": "DomainResource"
                },
                {
                  "key": "obs-7",
                  "severity": "error",
                  "human": "If code is the same as a component code then the value element associated with the code SHALL NOT be present",
                  "expression": "value.empty() or code!=component.code",
                  "xpath": "not(exists(f:*[starts-with(local-name(.), 'value')])) or not(count(for $coding in f:code/f:coding return parent::*/f:component/f:code/f:coding[f:code/@value=$coding/f:code/@value and f:system/@value=$coding/f:system/@value])=0)",
                  "source": "Observation"
                },
                {
                  "key": "obs-6",
                  "severity": "error",
                  "human": "dataAbsentReason SHALL only be present if Observation.value[x] is not present",
                  "expression": "dataAbsentReason.empty() or value.empty()",
                  "xpath": "not(exists(f:dataAbsentReason)) or (not(exists(*[starts-with(local-name(.), 'value')])))",
                  "source": "Observation"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Entity. Role, or Act"
                },
                {
                  "identity": "workflow",
                  "map": "Event"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity|"
                },
                {
                  "identity": "v2",
                  "map": "OBX"
                },
                {
                  "identity": "rim",
                  "map": "Observation[classCode=OBS, moodCode=EVN]"
                },
                {
                  "identity": "w5",
                  "map": "clinical.diagnostics"
                }
              ]
            },
            {
              "id": "Observation.id",
              "path": "Observation.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "Observation.meta",
              "path": "Observation.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "Observation.implicitRules",
              "path": "Observation.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"
                }
              ],
              "isModifier": true,
              "isSummary": true
            },
            {
              "id": "Observation.language",
              "path": "Observation.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"
                }
              ],
              "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"
                }
              }
            },
            {
              "id": "Observation.text",
              "path": "Observation.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": [
                "dom-1"
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Act.text?"
                }
              ]
            },
            {
              "id": "Observation.contained",
              "path": "Observation.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": "N/A"
                }
              ]
            },
            {
              "id": "Observation.extension",
              "path": "Observation.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.modifierExtension",
              "path": "Observation.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 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"
                }
              ],
              "isModifier": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.identifier",
              "path": "Observation.identifier",
              "short": "Business Identifier for observation",
              "definition": "A unique identifier assigned to this observation.",
              "requirements": "Allows observations to be distinguished and referenced.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.identifier",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Identifier"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.identifier"
                },
                {
                  "identity": "v2",
                  "map": "OBX.21  For OBX segments from systems without OBX-21 support a combination of ORC/OBR and OBX must be negotiated between trading partners to uniquely identify the OBX segment. Depending on how V2 has been implemented each of these may be an option: 1) OBR-3 + OBX-3 + OBX-4 or 2) OBR-3 + OBR-4 + OBX-3 + OBX-4 or 2) some other way to uniquely ID the OBR/ORC + OBX-3 + OBX-4."
                },
                {
                  "identity": "rim",
                  "map": "id"
                },
                {
                  "identity": "w5",
                  "map": "id"
                }
              ]
            },
            {
              "id": "Observation.basedOn",
              "path": "Observation.basedOn",
              "short": "Fulfills plan, proposal or order",
              "definition": "A plan, proposal or order that is fulfilled in whole or in part by this event.",
              "requirements": "Allows tracing of authorization for the event and tracking whether proposals/recommendations were acted upon.",
              "alias": [
                "Fulfills"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.basedOn",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/CarePlan"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/DeviceRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ImmunizationRecommendation"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/NutritionOrder"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ProcedureRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ReferralRequest"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.basedOn"
                },
                {
                  "identity": "v2",
                  "map": "ORC"
                },
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=FLFS].target"
                }
              ]
            },
            {
              "id": "Observation.status",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-display-hint",
                  "valueString": "default: final"
                }
              ],
              "path": "Observation.status",
              "short": "registered | preliminary | final | amended +",
              "definition": "The status of the result value.",
              "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
              "requirements": "Need to track the status of individual results. Some results are finalized before the whole report is finalized.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.status",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationStatus"
                  }
                ],
                "strength": "required",
                "description": "Codes providing the status of an observation.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-status"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.status"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 445584004 |Report by finality status|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-11"
                },
                {
                  "identity": "rim",
                  "map": "status  Amended & Final are differentiated by whether it is the subject of a ControlAct event with a type of \"revise\""
                },
                {
                  "identity": "w5",
                  "map": "status"
                }
              ]
            },
            {
              "id": "Observation.category",
              "path": "Observation.category",
              "short": "Classification of  type of observation",
              "definition": "A code that classifies the general type of observation being made.",
              "comment": "In addition to the required category valueset, this element allows various categorization schemes based on the owner’s definition of the category and effectively multiple categories can be used at once.  The level of granularity is defined by the category concepts in the value set.",
              "requirements": "Used for filtering what observations are retrieved and displayed.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.category",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationCategory"
                  }
                ],
                "strength": "preferred",
                "description": "Codes for high level observation categories.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-category"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=\"COMP].target[classCode=\"LIST\", moodCode=\"EVN\"].code"
                },
                {
                  "identity": "w5",
                  "map": "class"
                }
              ]
            },
            {
              "id": "Observation.code",
              "path": "Observation.code",
              "short": "LDL Cholesterol -measured or calculated per code",
              "definition": "LDL Cholesterol -measured or calculated per code.",
              "requirements": "Knowing what kind of observation is being made is essential to understanding the observation.",
              "alias": [
                "Name"
              ],
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.code",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "LDLCodes"
                  }
                ],
                "strength": "required",
                "description": "LDL Cholesterol codes - measured or calculated",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/ldlcholesterol-codes"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.code"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity| OR < 386053000 |Evaluation procedure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-3"
                },
                {
                  "identity": "rim",
                  "map": "code"
                },
                {
                  "identity": "sct-attr",
                  "map": "116680003 |Is a|"
                },
                {
                  "identity": "w5",
                  "map": "what"
                }
              ]
            },
            {
              "id": "Observation.subject",
              "path": "Observation.subject",
              "short": "Who and/or what this is about",
              "definition": "The patient, or group of patients, location, or device whose characteristics (direct or indirect) are described by the observation and into whose record the observation is placed.  Comments: Indirect characteristics may be those of a specimen, fetus, donor,  other observer (for example a relative or EMT), or any observation made about the subject.",
              "comment": "One would expect this element to be a cardinality  of 1..1.  The only circumstance in which the subject can be missing is when the observation is made by a device that does not know the patient. In this case, the observation SHALL be matched to a patient through some context/channel matching technique, and at this point, the observation should be updated.\r\rIf the target of the observation is different than the subject, the general extension [observation-focal-subject](extension-observation-focal-subject.html).  may be used.  However, the distinction between the patient's own value for an observation versus that of the fetus, or the donor or blood product unit, etc., are often specified in the observation code.",
              "requirements": "Observations have no value if you don't know who or what they're about.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.subject",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.subject"
                },
                {
                  "identity": "v2",
                  "map": "PID-3"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=SBJ]"
                },
                {
                  "identity": "w5",
                  "map": "who.focus"
                }
              ]
            },
            {
              "id": "Observation.context",
              "path": "Observation.context",
              "short": "Healthcare event during which this observation is made",
              "definition": "The healthcare event  (e.g. a patient and healthcare provider interaction) during which this observation is made.",
              "comment": "This will typically be the encounter the event occurred within, but some events may be initiated prior to or after the official completion of an encounter or episode but still be tied to the context of the encounter or episode (e.g. pre-admission lab tests).",
              "requirements": "For some observations it may be important to know the link between an observation and a particular encounter.",
              "alias": [
                "Encounter"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.context",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
                }
              ],
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.context"
                },
                {
                  "identity": "v2",
                  "map": "PV1"
                },
                {
                  "identity": "rim",
                  "map": "inboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN]"
                },
                {
                  "identity": "w5",
                  "map": "context"
                }
              ]
            },
            {
              "id": "Observation.effective[x]",
              "path": "Observation.effective[x]",
              "short": "Clinically relevant time/time-period for observation",
              "definition": "The time or time-period the observed value is asserted as being true. For biological subjects - e.g. human patients - this is usually called the \"physiologically relevant time\". This is usually either the time of the procedure or of specimen collection, but very often the source of the date/time is not known, only the date/time itself.",
              "comment": "At least a date should be present unless this observation is a historical report.",
              "requirements": "Knowing when an observation was deemed true is important to its relevance as well as determining trends.",
              "alias": [
                "Occurrence"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.effective[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "dateTime"
                },
                {
                  "code": "Period"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.occurrence[x]"
                },
                {
                  "identity": "v2",
                  "map": "OBX-14, and/or OBX-19 after v2.4  (depends on who observation made)"
                },
                {
                  "identity": "rim",
                  "map": "effectiveTime"
                },
                {
                  "identity": "w5",
                  "map": "when.done"
                }
              ]
            },
            {
              "id": "Observation.issued",
              "path": "Observation.issued",
              "short": "Date/Time this was made available",
              "definition": "The date and time this observation was made available to providers, typically after the results have been reviewed and verified.",
              "comment": "Updated when the result is updated.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.issued",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "instant"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBR.22 (or MSH.7), or perhaps OBX-19 (depends on who observation made)"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=AUT].time"
                },
                {
                  "identity": "w5",
                  "map": "when.recorded"
                }
              ]
            },
            {
              "id": "Observation.performer",
              "path": "Observation.performer",
              "short": "Who is responsible for the observation",
              "definition": "Who was responsible for asserting the observed value as \"true\".",
              "requirements": "May give a degree of confidence in the observation and also indicates where follow-up questions should be directed.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.performer",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.performer"
                },
                {
                  "identity": "v2",
                  "map": "OBX.15 / (Practitioner)  OBX-16,  PRT-5:PRT-4='RO' /  (Device)  OBX-18 , PRT-10:PRT-4='EQUIP' / (Organization)  OBX-23,  PRT-8:PRT-4='PO'"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=PRF]"
                },
                {
                  "identity": "w5",
                  "map": "who.actor"
                }
              ]
            },
            {
              "id": "Observation.valueQuantity",
              "path": "Observation.valueQuantity",
              "short": "LDL Cholesterol value",
              "definition": "LDL Cholesterol value. If a result is not available, use the comments field.",
              "comment": "Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. This element has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueString, valueBoolean, valueRange, valueRatio, valueSampledData, valueAttachment, valueTime, valueDateTime, or valuePeriod. (The name format is \"'value' + the type name\" with a capital on the first letter of the type).\r\r\rIf the data element is usually coded or if the type associated with the Observation.value defines a coded value, use CodeableConcept instead of string datatype even if the value is uncoded text.  A value set is bound to the ValueCodeableConcept element.    For further discussion and examples see the  [notes section](observation.html#notes) below.",
              "requirements": "An observation exists to have a value, though it may not if it is in error, or if it represents a group of observations.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.value[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity"
                }
              ],
              "condition": [
                "obs-7"
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.notDone, Event.notDoneReason  (maps to valeu[x] or dataAbsentReason)"
                },
                {
                  "identity": "sct-concept",
                  "map": "< 441742003 |Evaluation finding|"
                },
                {
                  "identity": "v2",
                  "map": "OBX.2, OBX.5, OBX.6"
                },
                {
                  "identity": "rim",
                  "map": "value"
                },
                {
                  "identity": "sct-attr",
                  "map": "363714003 |Interprets|"
                }
              ]
            },
            {
              "id": "Observation.dataAbsentReason",
              "path": "Observation.dataAbsentReason",
              "short": "Why the result is missing",
              "definition": "Provides a reason why the expected value in the element Observation.value[x] is missing.",
              "comment": "Null or exceptional values can be represented two ways in FHIR Observations.  One way is to simply include them in the value set and represent the exceptions in the value.  For example, measurement values for a serology test could be  \"detected\", \"not detected\", \"inconclusive\", or  \"specimen unsatisfactory\".   The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values.  For example, the dataAbsentReason code \"error\" could be used when the measurement was not completed. Note that an observation may only be reported if there are values to report. For example differential cell counts values may be reported only when > 0.  Because of these options, use-case agreements are required to interpret general observations for null or exceptional values.",
              "requirements": "For many results it is necessary to handle exceptional values in measurements.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.dataAbsentReason",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "condition": [
                "obs-6"
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationValueAbsentReason"
                  }
                ],
                "strength": "extensible",
                "description": "Codes specifying why the result (Observation.value[x]) is missing.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-valueabsentreason"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.notDone, Event.notDoneReason  (maps to valeu[x] or dataAbsentReason)"
                },
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": "value.nullFlavor"
                }
              ]
            },
            {
              "id": "Observation.interpretation",
              "path": "Observation.interpretation",
              "short": "+ | ++ | +++ | - | -- | ---",
              "definition": "+ | ++ | +++ | - | -- | ---.",
              "requirements": "For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result.",
              "alias": [
                "Abnormal Flag"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.interpretation",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationInterpretation"
                  }
                ],
                "strength": "extensible",
                "description": "Codes identifying interpretations of observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-interpretation"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-8"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "363713009 |Has interpretation|"
                }
              ]
            },
            {
              "id": "Observation.comment",
              "path": "Observation.comment",
              "short": "Comments about result",
              "definition": "Comments about result.",
              "requirements": "Need to be able to provide free text additional information.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.comment",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mustSupport": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.note"
                },
                {
                  "identity": "v2",
                  "map": "NTE.3 (partner NTE to OBX, or sometimes another (child?) OBX)"
                },
                {
                  "identity": "rim",
                  "map": "subjectOf.observationEvent[code=\"annotation\"].value"
                }
              ]
            },
            {
              "id": "Observation.bodySite",
              "path": "Observation.bodySite",
              "short": "Observed body part",
              "definition": "Indicates the site on the subject's body where the observation was made (i.e. the target site).",
              "comment": "Only used if not implicit in code found in Observation.code.  In many systems, this may be represented as a related observation instead of an inline component.   If the use case requires BodySite to be handled as a separate resource (e.g. to identify and track separately) then use the standard extension[ body-site-instance](extension-body-site-instance.html).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.bodySite",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "BodySite"
                  }
                ],
                "strength": "example",
                "description": "Codes describing anatomical locations. May include laterality.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/body-site"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 123037004 |Body structure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-20"
                },
                {
                  "identity": "rim",
                  "map": "targetSiteCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "718497002 |Inherent location|"
                }
              ]
            },
            {
              "id": "Observation.method",
              "path": "Observation.method",
              "short": "How it was done",
              "definition": "Indicates the mechanism used to perform the observation.",
              "comment": "Only used if not implicit in code for Observation.code.",
              "requirements": "In some cases, method can impact results and is thus used for determining whether results can be compared or determining significance of results.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.method",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationMethod"
                  }
                ],
                "strength": "example",
                "description": "Methods for simple observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-methods"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-17"
                },
                {
                  "identity": "rim",
                  "map": "methodCode"
                }
              ]
            },
            {
              "id": "Observation.specimen",
              "path": "Observation.specimen",
              "short": "Specimen used for this observation",
              "definition": "The specimen that was used when this observation was made.",
              "comment": "Should only be used if not implicit in code found in `Observation.code`.  Observations are not made on specimens themselves; they are made on a subject, but in many cases by the means of a specimen. Note that although specimens are often involved, they are not always tracked and reported explicitly. Also note that observation resources may be used in contexts that track the specimen explicitly (e.g. Diagnostic Report).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.specimen",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Specimen"
                }
              ],
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 123038009 |Specimen|"
                },
                {
                  "identity": "v2",
                  "map": "SPM segment"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=SPC].specimen"
                },
                {
                  "identity": "sct-attr",
                  "map": "704319004 |Inherent in|"
                }
              ]
            },
            {
              "id": "Observation.device",
              "path": "Observation.device",
              "short": "(Measurement) Device",
              "definition": "The device used to generate the observation data.",
              "comment": "An extension should be used if further typing of the device is needed.  Devices used to support obtaining an observation can be represented using either an extension or through the Observation.related element.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.device",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/DeviceMetric"
                }
              ],
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 49062001 |Device|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-17 / PRT -10"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=DEV]"
                },
                {
                  "identity": "sct-attr",
                  "map": "424226004 |Using device|"
                }
              ]
            },
            {
              "id": "Observation.referenceRange",
              "path": "Observation.referenceRange",
              "short": "Provides guide for interpretation",
              "definition": "Guidance on how to interpret the value by comparison to a normal or recommended range.",
              "comment": "Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.",
              "requirements": "Knowing what values are considered \"normal\" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "key": "obs-3",
                  "severity": "error",
                  "human": "Must have at least a low or a high or text",
                  "expression": "low.exists() or high.exists() or text.exists()",
                  "xpath": "(exists(f:low) or exists(f:high)or exists(f:text))",
                  "source": "Observation.referenceRange"
                }
              ],
              "mustSupport": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX.7"
                },
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.id",
              "path": "Observation.referenceRange.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.extension",
              "path": "Observation.referenceRange.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.modifierExtension",
              "path": "Observation.referenceRange.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.low",
              "path": "Observation.referenceRange.low",
              "short": "Low Range, if relevant",
              "definition": "The value of the low bound of the reference range.  The low bound of the reference range endpoint is inclusive of the value (e.g.  reference range is >=5 - <=9).   If the low bound is omitted,  it is assumed to be meaningless (e.g. reference range is <=2.3).",
              "min": 0,
              "max": "0",
              "base": {
                "path": "Observation.referenceRange.low",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity",
                  "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
                }
              ],
              "condition": [
                "obs-3"
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-7"
                },
                {
                  "identity": "rim",
                  "map": "value:IVL_PQ.low"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.high",
              "path": "Observation.referenceRange.high",
              "short": "A fixed quantity (no comparator)",
              "definition": "<3.0 mmol/L.",
              "comment": "Per Australian NHF Recommendations.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.high",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity",
                  "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
                }
              ],
              "fixedQuantity": {
                "value": 3.0
              },
              "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",
                  "source": "Element"
                },
                {
                  "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)",
                  "source": "Quantity"
                },
                {
                  "key": "sqty-1",
                  "severity": "error",
                  "human": "The comparator is not used on a SimpleQuantity",
                  "expression": "comparator.empty()",
                  "xpath": "not(exists(f:comparator))",
                  "source": "Quantity:simplequantity"
                }
              ],
              "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"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.type",
              "path": "Observation.referenceRange.type",
              "short": "Reference range qualifier",
              "definition": "Codes to indicate the what part of the targeted reference population it applies to. For example, the normal or therapeutic range.",
              "comment": "This SHOULD be populated if there is more than one range.  If this element is not present then the normal range is assumed.",
              "requirements": "Need to be able to say what kind of reference range this is - normal, recommended, therapeutic, etc,  - for proper interpretation.",
              "min": 0,
              "max": "0",
              "base": {
                "path": "Observation.referenceRange.type",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRangeMeaning"
                  }
                ],
                "strength": "extensible",
                "description": "Code for the meaning of a reference range.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/referencerange-meaning"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values| OR  \r< 365860008 |General clinical state finding| \rOR \r< 250171008 |Clinical history or observation findings| OR  \r< 415229000 |Racial group| OR \r< 365400002 |Finding of puberty stage| OR\r< 443938003 |Procedure carried out on subject|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-10"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.appliesTo",
              "path": "Observation.referenceRange.appliesTo",
              "short": "Reference range population",
              "definition": "Codes to indicate the target population this reference range applies to.  For example, a reference range may be based on the normal population or a particular sex or race.",
              "comment": "This SHOULD be populated if there is more than one range.  If this element is not present then the normal population is assumed.",
              "requirements": "Need to be able to identify the target population for proper interpretation.",
              "min": 0,
              "max": "0",
              "base": {
                "path": "Observation.referenceRange.appliesTo",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRangeType"
                  }
                ],
                "strength": "example",
                "description": "Codes identifying the population the reference range applies to.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/referencerange-appliesto"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values| OR  \r< 365860008 |General clinical state finding| \rOR \r< 250171008 |Clinical history or observation findings| OR  \r< 415229000 |Racial group| OR \r< 365400002 |Finding of puberty stage| OR\r< 443938003 |Procedure carried out on subject|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-10"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.age",
              "path": "Observation.referenceRange.age",
              "short": "Applicable age range, if relevant",
              "definition": "The age at which this reference range is applicable. This is a neonatal age (e.g. number of weeks at term) if the meaning says so.",
              "requirements": "Some analytes vary greatly over age.",
              "min": 0,
              "max": "0",
              "base": {
                "path": "Observation.referenceRange.age",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Range"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=PRCN].targetObservationCriterion[code=\"age\"].value"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.text",
              "path": "Observation.referenceRange.text",
              "short": "Text based reference range in an observation",
              "definition": "Text based reference range in an observation which may be used when a quantitative range is not appropriate for an observation.  An example would be a reference value of \"Negative\" or a list or table of 'normals'.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.referenceRange.text",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX-7"
                },
                {
                  "identity": "rim",
                  "map": "value:ST"
                }
              ]
            },
            {
              "id": "Observation.related",
              "path": "Observation.related",
              "short": "Resource related to this observation",
              "definition": "A  reference to another resource (usually another Observation) whose relationship is defined by the relationship type code.",
              "comment": "For a discussion on the ways Observations can assembled in groups together see [Notes below](observation.html#4.20.4).",
              "requirements": "Normally, an observation will have either a value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and a set of related observations or sometimes a QuestionnaireResponse from which the measure is derived.",
              "min": 0,
              "max": "0",
              "base": {
                "path": "Observation.related",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "Relationships established by OBX-4 usage"
                },
                {
                  "identity": "rim",
                  "map": "outBoundRelationship"
                }
              ]
            },
            {
              "id": "Observation.related.id",
              "path": "Observation.related.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.related.extension",
              "path": "Observation.related.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.related.modifierExtension",
              "path": "Observation.related.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.related.type",
              "path": "Observation.related.type",
              "short": "has-member | derived-from | sequel-to | replaces | qualified-by | interfered-by",
              "definition": "A code specifying the kind of relationship that exists with the target resource.",
              "comment": "The \"derived-from\" type is the only logical choice when referencing the QuestionnaireAnswer resource.",
              "requirements": "A relationship type SHOULD be provided.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.related.type",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationRelationshipType"
                  }
                ],
                "strength": "required",
                "description": "Codes specifying how two observations are related.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-relationshiptypes"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": ".typeCode"
                }
              ]
            },
            {
              "id": "Observation.related.target",
              "path": "Observation.related.target",
              "short": "Resource that is related to this one",
              "definition": "A reference to the observation or [QuestionnaireResponse](questionnaireresponse.html#) resource that is related to this observation.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.related.target",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Sequence"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".targetObservation"
                }
              ]
            },
            {
              "id": "Observation.component",
              "path": "Observation.component",
              "short": "Component results",
              "definition": "Some observations have multiple component observations.  These component observations are expressed as separate code value pairs that share the same attributes.  Examples include systolic and diastolic component observations for blood pressure measurement and multiple component observations for genetics observations.",
              "comment": "For a discussion on the ways Observations can be assembled in groups together see [Notes](observation.html#notes) below.",
              "requirements": "Component observations share the same attributes in the Observation resource as the primary observation and are always treated a part of a single observation (they are not separable).   However, the reference range for the primary observation value is not inherited by the component values and is required when appropriate for each component observation.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.component",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "containment by OBX-4?"
                },
                {
                  "identity": "rim",
                  "map": "outBoundRelationship[typeCode=COMP]"
                }
              ]
            },
            {
              "id": "Observation.component.id",
              "path": "Observation.component.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.extension",
              "path": "Observation.component.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Observation.component.modifierExtension",
              "path": "Observation.component.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Observation.component.code",
              "path": "Observation.component.code",
              "short": "Type of component observation (code / type)",
              "definition": "Describes what was observed. Sometimes this is called the observation \"code\".",
              "requirements": "Knowing what kind of observation is being made is essential to understanding the observation.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Observation.component.code",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationCode"
                  }
                ],
                "strength": "example",
                "description": "Codes identifying names of simple observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-codes"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 363787002 |Observable entity| OR \r< 386053000 |Evaluation procedure|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-3"
                },
                {
                  "identity": "rim",
                  "map": "code"
                },
                {
                  "identity": "w5",
                  "map": "what"
                }
              ]
            },
            {
              "id": "Observation.component.value[x]",
              "path": "Observation.component.value[x]",
              "short": "Actual component result",
              "definition": "The information determined as a result of making the observation, if the information has a simple value.",
              "comment": "Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value.   For boolean values use valueCodeableConcept and select codes from <http://hl7.org/fhir/ValueSet/v2-0136> (these \"yes/no\" concepts can be mapped to the display name \"true/false\" or other mutually exclusive terms that may be needed\").  The element, Observation.value[x], has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueRatio, valueChoice, valuePeriod, valueSampleData, or valueString (the name format is \"'value' + the type name\" with a capital on the first letter of the type).",
              "requirements": "An observation exists to have a value, though it may not if it is in error, or if it represents a group of observations.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.value[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Quantity"
                },
                {
                  "code": "CodeableConcept"
                },
                {
                  "code": "string"
                },
                {
                  "code": "Range"
                },
                {
                  "code": "Ratio"
                },
                {
                  "code": "SampledData"
                },
                {
                  "code": "Attachment"
                },
                {
                  "code": "time"
                },
                {
                  "code": "dateTime"
                },
                {
                  "code": "Period"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "363714003 |Interprets| < 441742003 |Evaluation finding|"
                },
                {
                  "identity": "v2",
                  "map": "OBX.2, OBX.5, OBX.6"
                },
                {
                  "identity": "rim",
                  "map": "value"
                },
                {
                  "identity": "sct-attr",
                  "map": "363714003 |Interprets|"
                }
              ]
            },
            {
              "id": "Observation.component.dataAbsentReason",
              "path": "Observation.component.dataAbsentReason",
              "short": "Why the component result is missing",
              "definition": "Provides a reason why the expected value in the element Observation.value[x] is missing.",
              "comment": "\"Null\" or exceptional values can be represented two ways in FHIR Observations.  One way is to simply include them in the value set and represent the exceptions in the value.  For example, measurement values for a serology test could be  \"detected\", \"not detected\", \"inconclusive\", or  \"test not done\".   The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values.  For example, the dataAbsentReason code \"error\" could be used when the measurement was not completed.  Because of these options, use-case agreements are required to interpret general observations for exceptional values.",
              "requirements": "For many results it is necessary to handle exceptional values in measurements.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.dataAbsentReason",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "condition": [
                "obs-6"
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationValueAbsentReason"
                  }
                ],
                "strength": "extensible",
                "description": "Codes specifying why the result (Observation.value[x]) is missing.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-valueabsentreason"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": "value.nullFlavor"
                }
              ]
            },
            {
              "id": "Observation.component.interpretation",
              "path": "Observation.component.interpretation",
              "short": "High, low, normal, etc.",
              "definition": "The assessment made based on the result of the observation.  Intended as a simple compact code often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result. Otherwise known as abnormal flag.",
              "comment": "The component interpretation applies only to the individual component value.  For an overall interpretation all components together use thes Observation.interpretation element.",
              "requirements": "For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result.",
              "alias": [
                "Abnormal Flag"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Observation.component.interpretation",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ObservationInterpretation"
                  }
                ],
                "strength": "extensible",
                "description": "Codes identifying interpretations of observations.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-interpretation"
                }
              },
              "mapping": [
                {
                  "identity": "sct-concept",
                  "map": "< 260245000 |Findings values|"
                },
                {
                  "identity": "v2",
                  "map": "OBX-8"
                },
                {
                  "identity": "rim",
                  "map": "interpretationCode"
                },
                {
                  "identity": "sct-attr",
                  "map": "363713009 |Has interpretation|"
                }
              ]
            },
            {
              "id": "Observation.component.referenceRange",
              "path": "Observation.component.referenceRange",
              "short": "Provides guide for interpretation of component result",
              "definition": "Guidance on how to interpret the value by comparison to a normal or recommended range.",
              "comment": "Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.",
              "requirements": "Knowing what values are considered \"normal\" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Observation.component.referenceRange",
                "min": 0,
                "max": "*"
              },
              "contentReference": "#Observation.referenceRange",
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX.7"
                },
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]"
                }
              ]
            }
          ]
        },
        "differential": {
          "element": [
            {
              "id": "Observation",
              "path": "Observation",
              "short": "LDL Cholesterol Result",
              "definition": "Group of elements for LDL Cholesterol result.",
              "min": 1,
              "max": "1"
            },
            {
              "id": "Observation.code",
              "path": "Observation.code",
              "short": "LDL Cholesterol -measured or calculated per code",
              "definition": "LDL Cholesterol -measured or calculated per code.",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "LDLCodes"
                  }
                ],
                "strength": "required",
                "description": "LDL Cholesterol codes - measured or calculated",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/ldlcholesterol-codes"
                }
              }
            },
            {
              "id": "Observation.valueQuantity",
              "path": "Observation.valueQuantity",
              "short": "LDL Cholesterol value",
              "definition": "LDL Cholesterol value. If a result is not available, use the comments field.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "Quantity"
                }
              ],
              "mustSupport": true
            },
            {
              "id": "Observation.interpretation",
              "path": "Observation.interpretation",
              "short": "+ | ++ | +++ | - | -- | ---",
              "definition": "+ | ++ | +++ | - | -- | ---.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": true
            },
            {
              "id": "Observation.comment",
              "path": "Observation.comment",
              "short": "Comments about result",
              "definition": "Comments about result.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "string"
                }
              ],
              "mustSupport": true
            },
            {
              "id": "Observation.referenceRange",
              "path": "Observation.referenceRange",
              "min": 1,
              "max": "1",
              "mustSupport": true
            },
            {
              "id": "Observation.referenceRange.low",
              "path": "Observation.referenceRange.low",
              "min": 0,
              "max": "0"
            },
            {
              "id": "Observation.referenceRange.high",
              "path": "Observation.referenceRange.high",
              "definition": "<3.0 mmol/L.",
              "comment": "Per Australian NHF Recommendations.",
              "min": 1,
              "max": "1",
              "type": [
                {
                  "code": "Quantity",
                  "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
                }
              ],
              "fixedQuantity": {
                "value": 3.0
              }
            },
            {
              "id": "Observation.referenceRange.type",
              "path": "Observation.referenceRange.type",
              "min": 0,
              "max": "0",
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.appliesTo",
              "path": "Observation.referenceRange.appliesTo",
              "min": 0,
              "max": "0",
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ]
            },
            {
              "id": "Observation.referenceRange.age",
              "path": "Observation.referenceRange.age",
              "min": 0,
              "max": "0",
              "type": [
                {
                  "code": "Range"
                }
              ]
            },
            {
              "id": "Observation.related",
              "path": "Observation.related",
              "min": 0,
              "max": "0"
            }
          ]
        }
      }
    },
    {
      "fullUrl": "http://hl7.org/fhir/StructureDefinition/diagnosticreport-genetics",
      "resource": {
        "resourceType": "StructureDefinition",
        "id": "diagnosticreport-genetics",
        "text": {
          "status": "generated",
          "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">to do</div>"
        },
        "url": "http://hl7.org/fhir/StructureDefinition/diagnosticreport-genetics",
        "name": "DiagnosticReport-Genetics",
        "status": "draft",
        "experimental": false,
        "date": "2015-10-09",
        "publisher": "Health Level Seven International (Clinical Genomics)",
        "contact": [
          {
            "telecom": [
              {
                "system": "url",
                "value": "http://www.hl7.org/Special/committees/clingenomics"
              }
            ]
          }
        ],
        "description": "Describes how the DiagnosticReport resource is used to report structured genetic test results",
        "fhirVersion": "3.0.1",
        "mapping": [
          {
            "identity": "workflow",
            "uri": "http://hl7.org/fhir/workflow",
            "name": "Workflow Mapping"
          },
          {
            "identity": "v2",
            "uri": "http://hl7.org/v2",
            "name": "HL7 v2 Mapping"
          },
          {
            "identity": "rim",
            "uri": "http://hl7.org/v3",
            "name": "RIM Mapping"
          },
          {
            "identity": "w5",
            "uri": "http://hl7.org/fhir/w5",
            "name": "W5 Mapping"
          }
        ],
        "kind": "resource",
        "abstract": false,
        "type": "DiagnosticReport",
        "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DiagnosticReport",
        "derivation": "constraint",
        "snapshot": {
          "element": [
            {
              "id": "DiagnosticReport",
              "path": "DiagnosticReport",
              "short": "A Diagnostic report - a combination of request information, atomic results, images, interpretation, as well as formatted reports",
              "definition": "The findings and interpretation of diagnostic  tests performed on patients, groups of patients, devices, and locations, and/or specimens derived from these. The report includes clinical context such as requesting and provider information, and some mix of atomic results, images, textual and coded interpretations, and formatted representation of diagnostic reports.",
              "comment": "This is intended to capture a single report, and is not suitable for use in displaying summary information that covers multiple reports.  For example, this resource has not been designed for laboratory cumulative reporting formats nor detailed structured reports for sequencing.",
              "alias": [
                "Report",
                "Test",
                "Result",
                "Results",
                "Labs",
                "Laboratory"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "DiagnosticReport",
                "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)",
                  "source": "DomainResource"
                },
                {
                  "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)",
                  "source": "DomainResource"
                },
                {
                  "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))",
                  "source": "DomainResource"
                },
                {
                  "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))]))",
                  "source": "DomainResource"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Entity. Role, or Act"
                },
                {
                  "identity": "workflow",
                  "map": "Event"
                },
                {
                  "identity": "v2",
                  "map": "ORU -> OBR"
                },
                {
                  "identity": "rim",
                  "map": "Observation[classCode=OBS, moodCode=EVN]"
                },
                {
                  "identity": "w5",
                  "map": "clinical.diagnostics"
                }
              ]
            },
            {
              "id": "DiagnosticReport.id",
              "path": "DiagnosticReport.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "DiagnosticReport.meta",
              "path": "DiagnosticReport.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "DiagnosticReport.implicitRules",
              "path": "DiagnosticReport.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"
                }
              ],
              "isModifier": true,
              "isSummary": true
            },
            {
              "id": "DiagnosticReport.language",
              "path": "DiagnosticReport.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"
                }
              ],
              "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"
                }
              }
            },
            {
              "id": "DiagnosticReport.text",
              "path": "DiagnosticReport.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": [
                "dom-1"
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Act.text?"
                }
              ]
            },
            {
              "id": "DiagnosticReport.contained",
              "path": "DiagnosticReport.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": "N/A"
                }
              ]
            },
            {
              "id": "DiagnosticReport.extension",
              "path": "DiagnosticReport.extension",
              "slicing": {
                "id": "4",
                "discriminator": [
                  {
                    "type": "value",
                    "path": "url"
                  }
                ],
                "ordered": false,
                "rules": "open"
              },
              "short": "Extension",
              "definition": "An Extension",
              "min": 0,
              "max": "*",
              "base": {
                "path": "DomainResource.extension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension"
                }
              ]
            },
            {
              "id": "DiagnosticReport.extension:assessedcondition",
              "path": "DiagnosticReport.extension",
              "sliceName": "AssessedCondition",
              "short": "AssessedCondition",
              "definition": "Used to denote condition context for genetic testing, which may influence reported variants and interpretation for large genomic testing panels e.g. lung cancer or familial breast cancer.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "DomainResource.extension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/DiagnosticReport-geneticsAssessedCondition"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "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')])",
                  "source": "Extension"
                }
              ]
            },
            {
              "id": "DiagnosticReport.extension:familymemberhistory",
              "path": "DiagnosticReport.extension",
              "sliceName": "FamilyMemberHistory",
              "short": "FamilyHistory",
              "definition": "Significant health events and conditions for a person related to the patient relevant in the context of care for the patient.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "DomainResource.extension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/DiagnosticReport-geneticsFamilyMemberHistory"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "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')])",
                  "source": "Extension"
                }
              ]
            },
            {
              "id": "DiagnosticReport.extension:analysis",
              "path": "DiagnosticReport.extension",
              "sliceName": "Analysis",
              "short": "Analysis",
              "definition": "Knowledge-based comments on the effect of the sequence on patient's condition/medication reaction.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "DomainResource.extension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/DiagnosticReport-geneticsAnalysis"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "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')])",
                  "source": "Extension"
                }
              ]
            },
            {
              "id": "DiagnosticReport.modifierExtension",
              "path": "DiagnosticReport.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 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"
                }
              ],
              "isModifier": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "DiagnosticReport.identifier",
              "path": "DiagnosticReport.identifier",
              "short": "Business identifier for report",
              "definition": "Identifiers assigned to this report by the performer or other systems.",
              "comment": "Usually assigned by the Information System of the diagnostic service provider (filler id).",
              "requirements": "Need to know what identifier to use when making queries about this report from the source laboratory, and for linking to the report outside FHIR context.",
              "alias": [
                "ReportID",
                "Filler ID",
                "Placer ID"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "DiagnosticReport.identifier",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Identifier"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.identifier"
                },
                {
                  "identity": "v2",
                  "map": "OBR-51"
                },
                {
                  "identity": "rim",
                  "map": "id"
                },
                {
                  "identity": "w5",
                  "map": "id"
                }
              ]
            },
            {
              "id": "DiagnosticReport.basedOn",
              "path": "DiagnosticReport.basedOn",
              "short": "What was requested",
              "definition": "Details concerning a test or procedure requested.",
              "comment": "Note: Usually there is one test request for each result, however in some circumstances multiple test requests may be represented using a single test result resource. Note that there are also cases where one request leads to multiple reports.",
              "requirements": "This allows tracing of authorization for the report and tracking whether proposals/recommendations were acted upon.",
              "alias": [
                "Request"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "DiagnosticReport.basedOn",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/CarePlan"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ImmunizationRecommendation"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/NutritionOrder"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ProcedureRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ReferralRequest"
                }
              ],
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.basedOn"
                },
                {
                  "identity": "v2",
                  "map": "ORC? OBR-2/3?"
                },
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=FLFS].target"
                }
              ]
            },
            {
              "id": "DiagnosticReport.status",
              "path": "DiagnosticReport.status",
              "short": "registered | partial | preliminary | final +",
              "definition": "The status of the diagnostic report as a whole.",
              "comment": "This is labeled as \"Is Modifier\" because applications need to take appropriate action if a report is withdrawn.",
              "requirements": "Diagnostic services routinely issue provisional/incomplete reports, and sometimes withdraw previously released reports.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "DiagnosticReport.status",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "DiagnosticReportStatus"
                  }
                ],
                "strength": "required",
                "description": "The status of the diagnostic report as a whole.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/diagnostic-report-status"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.status"
                },
                {
                  "identity": "v2",
                  "map": "OBR-25 (not 1:1 mapping)"
                },
                {
                  "identity": "rim",
                  "map": "statusCode  Note: final and amended are distinguished by whether observation is the subject of a ControlAct event of type \"revise\""
                },
                {
                  "identity": "w5",
                  "map": "status"
                }
              ]
            },
            {
              "id": "DiagnosticReport.category",
              "path": "DiagnosticReport.category",
              "short": "Service category",
              "definition": "A code that classifies the clinical discipline, department or diagnostic service that created the report (e.g. cardiology, biochemistry, hematology, MRI). This is used for searching, sorting and display purposes.",
              "comment": "The level of granularity is defined by the category concepts in the value set. More fine-grained filtering can be performed using the metadata and/or terminology hierarchy in DiagnosticReport.code.",
              "alias": [
                "Department",
                "Sub-department",
                "Service",
                "Discipline"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "DiagnosticReport.category",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "DiagnosticServiceSection"
                  }
                ],
                "strength": "example",
                "description": "Codes for diagnostic service sections.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/diagnostic-service-sections"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBR-24"
                },
                {
                  "identity": "rim",
                  "map": "inboundRelationship[typeCode=COMP].source[classCode=LIST, moodCode=EVN, code < LabService].code"
                },
                {
                  "identity": "w5",
                  "map": "class"
                }
              ]
            },
            {
              "id": "DiagnosticReport.code",
              "path": "DiagnosticReport.code",
              "short": "Name/Code for this diagnostic report",
              "definition": "A code or name that describes this diagnostic report.",
              "alias": [
                "Type"
              ],
              "min": 1,
              "max": "1",
              "base": {
                "path": "DiagnosticReport.code",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "DiagnosticReportCodes"
                  }
                ],
                "strength": "preferred",
                "description": "Codes that describe Diagnostic Reports.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/report-codes"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.code"
                },
                {
                  "identity": "v2",
                  "map": "OBR-4 (HL7 v2 doesn't provide an easy way to indicate both the ordered test and the performed panel)"
                },
                {
                  "identity": "rim",
                  "map": "code"
                },
                {
                  "identity": "w5",
                  "map": "what"
                }
              ]
            },
            {
              "id": "DiagnosticReport.subject",
              "path": "DiagnosticReport.subject",
              "short": "The subject of the report - usually, but not always, the patient",
              "definition": "The subject of the report. Usually, but not always, this is a patient. However diagnostic services also perform analyses on specimens collected from a variety of other sources.",
              "requirements": "SHALL know the subject context.",
              "alias": [
                "Patient"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "DiagnosticReport.subject",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.subject"
                },
                {
                  "identity": "v2",
                  "map": "PID-3 (no HL7 v2 mapping for Group or Device)"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=SBJ]"
                },
                {
                  "identity": "w5",
                  "map": "who.focus"
                }
              ]
            },
            {
              "id": "DiagnosticReport.context",
              "path": "DiagnosticReport.context",
              "short": "Health care event when test ordered",
              "definition": "The healthcare event  (e.g. a patient and healthcare provider interaction) which this DiagnosticReport per is about.",
              "comment": "This will typically be the encounter the event occurred within, but some events may be initiated prior to or after the official completion of an encounter or episode but still be tied to the context of the encounter or episode (e.g. pre-admission lab tests).",
              "requirements": "Links the request to the Encounter context.",
              "alias": [
                "Encounter"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "DiagnosticReport.context",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.context"
                },
                {
                  "identity": "v2",
                  "map": "PV1-19"
                },
                {
                  "identity": "rim",
                  "map": "inboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN]"
                },
                {
                  "identity": "w5",
                  "map": "context"
                }
              ]
            },
            {
              "id": "DiagnosticReport.effective[x]",
              "path": "DiagnosticReport.effective[x]",
              "short": "Clinically relevant time/time-period for report",
              "definition": "The time or time-period the observed values are related to. When the subject of the report is a patient, this is usually either the time of the procedure or of specimen collection(s), but very often the source of the date/time is not known, only the date/time itself.",
              "comment": "If the diagnostic procedure was performed on the patient, this is the time it was performed. If there are specimens, the diagnostically relevant time can be derived from the specimen collection times, but the specimen information is not always available, and the exact relationship between the specimens and the diagnostically relevant time is not always automatic.",
              "requirements": "Need to know where in the patient history to file/present this report.",
              "alias": [
                "Observation time",
                "Effective Time",
                "Occurrence"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "DiagnosticReport.effective[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "dateTime"
                },
                {
                  "code": "Period"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.occurrence[x]"
                },
                {
                  "identity": "v2",
                  "map": "OBR-7"
                },
                {
                  "identity": "rim",
                  "map": "effectiveTime"
                },
                {
                  "identity": "w5",
                  "map": "when.done"
                }
              ]
            },
            {
              "id": "DiagnosticReport.issued",
              "path": "DiagnosticReport.issued",
              "short": "DateTime this version was released",
              "definition": "The date and time that this version of the report was released from the source diagnostic service.",
              "comment": "May be different from the update time of the resource itself, because that is the status of the record (potentially a secondary copy), not the actual release time of the report.",
              "requirements": "Clinicians need to be able to check the date that the report was released.",
              "alias": [
                "Date Created",
                "Date published",
                "Date Issued"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "DiagnosticReport.issued",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "instant"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBR-22"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=VRF or AUT].time"
                },
                {
                  "identity": "w5",
                  "map": "when.recorded"
                }
              ]
            },
            {
              "id": "DiagnosticReport.performer",
              "path": "DiagnosticReport.performer",
              "short": "Participants in producing the report",
              "definition": "Indicates who or what participated in producing the report.",
              "alias": [
                "Laboratory",
                "Service",
                "Practitioner",
                "Department",
                "Company"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "DiagnosticReport.performer",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.performer"
                },
                {
                  "identity": "v2",
                  "map": "PRT-8 (where this PRT-4-Participation = \"PO\")"
                },
                {
                  "identity": "rim",
                  "map": ".participation[typeCode=PRF]"
                },
                {
                  "identity": "w5",
                  "map": "who.witness"
                }
              ]
            },
            {
              "id": "DiagnosticReport.performer.id",
              "path": "DiagnosticReport.performer.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "DiagnosticReport.performer.extension",
              "path": "DiagnosticReport.performer.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "DiagnosticReport.performer.modifierExtension",
              "path": "DiagnosticReport.performer.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "DiagnosticReport.performer.role",
              "path": "DiagnosticReport.performer.role",
              "short": "Type of performer",
              "definition": "Describes the type of participation (e.g.  a responsible party, author, or verifier).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "DiagnosticReport.performer.role",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "Role"
                  }
                ],
                "strength": "example",
                "description": "Indicate a role of diagnostic report performer",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/performer-role"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.performer.role"
                },
                {
                  "identity": "v2",
                  "map": "PRT-8 (where this PRT-4-Participation = \"PO\")"
                },
                {
                  "identity": "rim",
                  "map": ".functionCode"
                }
              ]
            },
            {
              "id": "DiagnosticReport.performer.actor",
              "path": "DiagnosticReport.performer.actor",
              "short": "Practitioner or Organization  participant",
              "definition": "The reference to the  practitioner or organization involved in producing the report. For example, the diagnostic service that is responsible for issuing the report.",
              "comment": "This is not necessarily the source of the atomic data items. It is the entity that takes responsibility for the clinical report.",
              "requirements": "Need to know whom to contact if there are queries about the results. Also may need to track the source of reports for secondary data analysis.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "DiagnosticReport.performer.actor",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.performer.actor"
                },
                {
                  "identity": "v2",
                  "map": "PRT-8 (where this PRT-4-Participation = \"PO\")"
                },
                {
                  "identity": "rim",
                  "map": ".role"
                }
              ]
            },
            {
              "id": "DiagnosticReport.specimen",
              "path": "DiagnosticReport.specimen",
              "short": "Specimens this report is based on",
              "definition": "Details about the specimens on which this diagnostic report is based.",
              "comment": "If the specimen is sufficiently specified with a code in the test result name, then this additional data may be redundant. If there are multiple specimens, these may be represented per observation or group.",
              "requirements": "Need to be able to report information about the collected specimens on which the report is based.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "DiagnosticReport.specimen",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Specimen"
                }
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "SPM"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=SBJ]"
                }
              ]
            },
            {
              "id": "DiagnosticReport.result",
              "path": "DiagnosticReport.result",
              "short": "Observations - simple, or complex nested groups",
              "definition": "Observations that are part of this diagnostic report. Observations can be simple name/value pairs (e.g. \"atomic\" results), or they can be grouping observations that include references to other members of the group (e.g. \"panels\").",
              "requirements": "Need to support individual results, or report groups of results, where the result grouping is arbitrary, but meaningful. This structure is recursive - observations can contain observations.",
              "alias": [
                "Data",
                "Atomic Value",
                "Result",
                "Atomic result",
                "Data",
                "Test",
                "Analyte",
                "Battery",
                "Organizer"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "DiagnosticReport.result",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
                }
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBXs"
                },
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=COMP].target"
                }
              ]
            },
            {
              "id": "DiagnosticReport.imagingStudy",
              "path": "DiagnosticReport.imagingStudy",
              "short": "Reference to full details of imaging associated with the diagnostic report",
              "definition": "One or more links to full details of any imaging performed during the diagnostic investigation. Typically, this is imaging performed by DICOM enabled modalities, but this is not required. A fully enabled PACS viewer can use this information to provide views of the source images.",
              "comment": "ImagingStudy and ImageManifest and the image element are somewhat overlapping - typically, the list of image references in the image element will also be found in one of the imaging study resources. However each caters to different types of displays for different types of purposes. Neither, either, or both may be provided.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "DiagnosticReport.imagingStudy",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ImagingStudy"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ImagingManifest"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=COMP].target[classsCode=DGIMG, moodCode=EVN]"
                }
              ]
            },
            {
              "id": "DiagnosticReport.image",
              "path": "DiagnosticReport.image",
              "short": "Key images associated with this report",
              "definition": "A list of key images associated with this report. The images are generally created during the diagnostic process, and may be directly of the patient, or of treated specimens (i.e. slides of interest).",
              "requirements": "Many diagnostic services include images in the report as part of their service.",
              "alias": [
                "DICOM",
                "Slides",
                "Scans"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "DiagnosticReport.image",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX?"
                },
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=COMP].target"
                }
              ]
            },
            {
              "id": "DiagnosticReport.image.id",
              "path": "DiagnosticReport.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "DiagnosticReport.image.extension",
              "path": "DiagnosticReport.image.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "DiagnosticReport.image.modifierExtension",
              "path": "DiagnosticReport.image.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "DiagnosticReport.image.comment",
              "path": "DiagnosticReport.image.comment",
              "short": "Comment about the image (e.g. explanation)",
              "definition": "A comment about the image. Typically, this is used to provide an explanation for why the image is included, or to draw the viewer's attention to important features.",
              "comment": "The comment should be displayed with the image. It would be common for the report to include additional discussion of the image contents in other sections such as the conclusion.",
              "requirements": "The provider of the report should make a comment about each image included in the report.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "DiagnosticReport.image.comment",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".inboundRelationship[typeCode=COMP].source[classCode=OBS, moodCode=EVN, code=\"annotation\"].value"
                }
              ]
            },
            {
              "id": "DiagnosticReport.image.link",
              "path": "DiagnosticReport.image.link",
              "short": "Reference to the image source",
              "definition": "Reference to the image source.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "DiagnosticReport.image.link",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Media"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".value.reference"
                }
              ]
            },
            {
              "id": "DiagnosticReport.conclusion",
              "path": "DiagnosticReport.conclusion",
              "short": "Clinical Interpretation of test results",
              "definition": "Concise and clinically contextualized impression / summary of the diagnostic report.",
              "requirements": "Need to be able to provide a conclusion that is not lost among the basic result data.",
              "alias": [
                "Report"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "DiagnosticReport.conclusion",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX"
                },
                {
                  "identity": "rim",
                  "map": "inboundRelationship[typeCode=\"SPRT\"].source[classCode=OBS, moodCode=EVN, code=LOINC:48767-8].value (type=ST)"
                }
              ]
            },
            {
              "id": "DiagnosticReport.codedDiagnosis",
              "path": "DiagnosticReport.codedDiagnosis",
              "short": "Codes for the conclusion",
              "definition": "Codes for the conclusion.",
              "min": 0,
              "max": "0",
              "base": {
                "path": "DiagnosticReport.codedDiagnosis",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "AdjunctDiagnosis"
                  }
                ],
                "strength": "example",
                "description": "Diagnosis codes provided as adjuncts to the report.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/clinical-findings"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX"
                },
                {
                  "identity": "rim",
                  "map": "inboundRelationship[typeCode=SPRT].source[classCode=OBS, moodCode=EVN, code=LOINC:54531-9].value (type=CD)"
                }
              ]
            },
            {
              "id": "DiagnosticReport.presentedForm",
              "path": "DiagnosticReport.presentedForm",
              "short": "Entire report as issued",
              "definition": "Rich text representation of the entire result as issued by the diagnostic service. Multiple formats are allowed but they SHALL be semantically equivalent.",
              "comment": "\"application/pdf\" is recommended as the most reliable and interoperable in this context.",
              "requirements": "Gives laboratory the ability to provide its own fully formatted report for clinical fidelity.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "DiagnosticReport.presentedForm",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Attachment"
                }
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX"
                },
                {
                  "identity": "rim",
                  "map": "text (type=ED)"
                }
              ]
            }
          ]
        },
        "differential": {
          "element": [
            {
              "id": "DiagnosticReport",
              "path": "DiagnosticReport",
              "min": 0,
              "max": "*"
            },
            {
              "id": "DiagnosticReport.extension:assessedcondition",
              "path": "DiagnosticReport.extension",
              "sliceName": "AssessedCondition",
              "short": "AssessedCondition",
              "definition": "Used to denote condition context for genetic testing, which may influence reported variants and interpretation for large genomic testing panels e.g. lung cancer or familial breast cancer.",
              "min": 0,
              "max": "*",
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/DiagnosticReport-geneticsAssessedCondition"
                }
              ]
            },
            {
              "id": "DiagnosticReport.extension:familymemberhistory",
              "path": "DiagnosticReport.extension",
              "sliceName": "FamilyMemberHistory",
              "short": "FamilyHistory",
              "definition": "Significant health events and conditions for a person related to the patient relevant in the context of care for the patient.",
              "min": 0,
              "max": "*",
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/DiagnosticReport-geneticsFamilyMemberHistory"
                }
              ]
            },
            {
              "id": "DiagnosticReport.extension:analysis",
              "path": "DiagnosticReport.extension",
              "sliceName": "Analysis",
              "short": "Analysis",
              "definition": "Knowledge-based comments on the effect of the sequence on patient's condition/medication reaction.",
              "min": 0,
              "max": "*",
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/DiagnosticReport-geneticsAnalysis"
                }
              ]
            },
            {
              "id": "DiagnosticReport.codedDiagnosis",
              "path": "DiagnosticReport.codedDiagnosis",
              "min": 0,
              "max": "0",
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ]
            }
          ]
        }
      }
    },
    {
      "fullUrl": "http://hl7.org/fhir/StructureDefinition/hlaresult",
      "resource": {
        "resourceType": "StructureDefinition",
        "id": "hlaresult",
        "text": {
          "status": "generated",
          "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">to do</div>"
        },
        "url": "http://hl7.org/fhir/StructureDefinition/hlaresult",
        "name": "Profile for HLA Genotyping Results",
        "status": "draft",
        "experimental": false,
        "date": "2015-10-09",
        "publisher": "Health Level Seven International (Clinical Genomics)",
        "contact": [
          {
            "telecom": [
              {
                "system": "url",
                "value": "http://www.hl7.org/Special/committees/clingenomics"
              }
            ]
          }
        ],
        "description": "Describes how the HLA genotyping results",
        "fhirVersion": "3.0.1",
        "mapping": [
          {
            "identity": "workflow",
            "uri": "http://hl7.org/fhir/workflow",
            "name": "Workflow Mapping"
          },
          {
            "identity": "v2",
            "uri": "http://hl7.org/v2",
            "name": "HL7 v2 Mapping"
          },
          {
            "identity": "rim",
            "uri": "http://hl7.org/v3",
            "name": "RIM Mapping"
          },
          {
            "identity": "w5",
            "uri": "http://hl7.org/fhir/w5",
            "name": "W5 Mapping"
          }
        ],
        "kind": "resource",
        "abstract": false,
        "type": "DiagnosticReport",
        "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DiagnosticReport",
        "derivation": "constraint",
        "snapshot": {
          "element": [
            {
              "id": "DiagnosticReport",
              "path": "DiagnosticReport",
              "short": "A Diagnostic report - a combination of request information, atomic results, images, interpretation, as well as formatted reports",
              "definition": "The findings and interpretation of diagnostic  tests performed on patients, groups of patients, devices, and locations, and/or specimens derived from these. The report includes clinical context such as requesting and provider information, and some mix of atomic results, images, textual and coded interpretations, and formatted representation of diagnostic reports.",
              "comment": "This is intended to capture a single report, and is not suitable for use in displaying summary information that covers multiple reports.  For example, this resource has not been designed for laboratory cumulative reporting formats nor detailed structured reports for sequencing.",
              "alias": [
                "Report",
                "Test",
                "Result",
                "Results",
                "Labs",
                "Laboratory"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "DiagnosticReport",
                "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)",
                  "source": "DomainResource"
                },
                {
                  "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)",
                  "source": "DomainResource"
                },
                {
                  "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))",
                  "source": "DomainResource"
                },
                {
                  "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))]))",
                  "source": "DomainResource"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Entity. Role, or Act"
                },
                {
                  "identity": "workflow",
                  "map": "Event"
                },
                {
                  "identity": "v2",
                  "map": "ORU -> OBR"
                },
                {
                  "identity": "rim",
                  "map": "Observation[classCode=OBS, moodCode=EVN]"
                },
                {
                  "identity": "w5",
                  "map": "clinical.diagnostics"
                }
              ]
            },
            {
              "id": "DiagnosticReport.id",
              "path": "DiagnosticReport.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "DiagnosticReport.meta",
              "path": "DiagnosticReport.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "DiagnosticReport.implicitRules",
              "path": "DiagnosticReport.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"
                }
              ],
              "isModifier": true,
              "isSummary": true
            },
            {
              "id": "DiagnosticReport.language",
              "path": "DiagnosticReport.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"
                }
              ],
              "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"
                }
              }
            },
            {
              "id": "DiagnosticReport.text",
              "path": "DiagnosticReport.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": [
                "dom-1"
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Act.text?"
                }
              ]
            },
            {
              "id": "DiagnosticReport.contained",
              "path": "DiagnosticReport.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": "N/A"
                }
              ]
            },
            {
              "id": "DiagnosticReport.extension",
              "path": "DiagnosticReport.extension",
              "slicing": {
                "id": "5",
                "discriminator": [
                  {
                    "type": "value",
                    "path": "url"
                  }
                ],
                "ordered": false,
                "rules": "open"
              },
              "short": "Extension",
              "definition": "An Extension",
              "min": 0,
              "max": "*",
              "base": {
                "path": "DomainResource.extension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension"
                }
              ]
            },
            {
              "id": "DiagnosticReport.extension:allele-database",
              "path": "DiagnosticReport.extension",
              "sliceName": "allele-database",
              "short": "Allele Database",
              "definition": "Allele Database.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "DomainResource.extension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/hla-genotyping-results-allele-database"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "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')])",
                  "source": "Extension"
                }
              ]
            },
            {
              "id": "DiagnosticReport.extension:glstring",
              "path": "DiagnosticReport.extension",
              "sliceName": "glstring",
              "short": "Glstring",
              "definition": "Glstring.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "DomainResource.extension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/hla-genotyping-results-glstring"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "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')])",
                  "source": "Extension"
                }
              ]
            },
            {
              "id": "DiagnosticReport.extension:haploid",
              "path": "DiagnosticReport.extension",
              "sliceName": "haploid",
              "short": "Haploid",
              "definition": "Haploid.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "DomainResource.extension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/hla-genotyping-results-haploid"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "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')])",
                  "source": "Extension"
                }
              ]
            },
            {
              "id": "DiagnosticReport.extension:method",
              "path": "DiagnosticReport.extension",
              "sliceName": "method",
              "short": "The platform, methodology and software applied at the time of the\rgenotyping",
              "definition": "The platform, methodology and software applied at the time of the\rgenotyping.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "DomainResource.extension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/hla-genotyping-results-method"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "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')])",
                  "source": "Extension"
                }
              ]
            },
            {
              "id": "DiagnosticReport.modifierExtension",
              "path": "DiagnosticReport.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 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"
                }
              ],
              "isModifier": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "DiagnosticReport.identifier",
              "path": "DiagnosticReport.identifier",
              "short": "Business identifier for report",
              "definition": "Identifiers assigned to this report by the performer or other systems.",
              "comment": "Usually assigned by the Information System of the diagnostic service provider (filler id).",
              "requirements": "Need to know what identifier to use when making queries about this report from the source laboratory, and for linking to the report outside FHIR context.",
              "alias": [
                "ReportID",
                "Filler ID",
                "Placer ID"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "DiagnosticReport.identifier",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Identifier"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.identifier"
                },
                {
                  "identity": "v2",
                  "map": "OBR-51"
                },
                {
                  "identity": "rim",
                  "map": "id"
                },
                {
                  "identity": "w5",
                  "map": "id"
                }
              ]
            },
            {
              "id": "DiagnosticReport.basedOn",
              "path": "DiagnosticReport.basedOn",
              "short": "What was requested",
              "definition": "Details concerning a test or procedure requested.",
              "comment": "Note: Usually there is one test request for each result, however in some circumstances multiple test requests may be represented using a single test result resource. Note that there are also cases where one request leads to multiple reports.",
              "requirements": "This allows tracing of authorization for the report and tracking whether proposals/recommendations were acted upon.",
              "alias": [
                "Request"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "DiagnosticReport.basedOn",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/CarePlan"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ImmunizationRecommendation"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/NutritionOrder"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ProcedureRequest"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ReferralRequest"
                }
              ],
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.basedOn"
                },
                {
                  "identity": "v2",
                  "map": "ORC? OBR-2/3?"
                },
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=FLFS].target"
                }
              ]
            },
            {
              "id": "DiagnosticReport.status",
              "path": "DiagnosticReport.status",
              "short": "registered | partial | preliminary | final +",
              "definition": "The status of the diagnostic report as a whole.",
              "comment": "This is labeled as \"Is Modifier\" because applications need to take appropriate action if a report is withdrawn.",
              "requirements": "Diagnostic services routinely issue provisional/incomplete reports, and sometimes withdraw previously released reports.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "DiagnosticReport.status",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "DiagnosticReportStatus"
                  }
                ],
                "strength": "required",
                "description": "The status of the diagnostic report as a whole.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/diagnostic-report-status"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.status"
                },
                {
                  "identity": "v2",
                  "map": "OBR-25 (not 1:1 mapping)"
                },
                {
                  "identity": "rim",
                  "map": "statusCode  Note: final and amended are distinguished by whether observation is the subject of a ControlAct event of type \"revise\""
                },
                {
                  "identity": "w5",
                  "map": "status"
                }
              ]
            },
            {
              "id": "DiagnosticReport.category",
              "path": "DiagnosticReport.category",
              "short": "Service category",
              "definition": "A code that classifies the clinical discipline, department or diagnostic service that created the report (e.g. cardiology, biochemistry, hematology, MRI). This is used for searching, sorting and display purposes.",
              "comment": "The level of granularity is defined by the category concepts in the value set. More fine-grained filtering can be performed using the metadata and/or terminology hierarchy in DiagnosticReport.code.",
              "alias": [
                "Department",
                "Sub-department",
                "Service",
                "Discipline"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "DiagnosticReport.category",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "DiagnosticServiceSection"
                  }
                ],
                "strength": "example",
                "description": "Codes for diagnostic service sections.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/diagnostic-service-sections"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBR-24"
                },
                {
                  "identity": "rim",
                  "map": "inboundRelationship[typeCode=COMP].source[classCode=LIST, moodCode=EVN, code < LabService].code"
                },
                {
                  "identity": "w5",
                  "map": "class"
                }
              ]
            },
            {
              "id": "DiagnosticReport.code",
              "path": "DiagnosticReport.code",
              "short": "Name/Code for this diagnostic report",
              "definition": "A code or name that describes this diagnostic report.",
              "alias": [
                "Type"
              ],
              "min": 1,
              "max": "1",
              "base": {
                "path": "DiagnosticReport.code",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "DiagnosticReportCodes"
                  }
                ],
                "strength": "preferred",
                "description": "Codes that describe Diagnostic Reports.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/report-codes"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.code"
                },
                {
                  "identity": "v2",
                  "map": "OBR-4 (HL7 v2 doesn't provide an easy way to indicate both the ordered test and the performed panel)"
                },
                {
                  "identity": "rim",
                  "map": "code"
                },
                {
                  "identity": "w5",
                  "map": "what"
                }
              ]
            },
            {
              "id": "DiagnosticReport.subject",
              "path": "DiagnosticReport.subject",
              "short": "The subject of the report - usually, but not always, the patient",
              "definition": "The subject of the report. Usually, but not always, this is a patient. However diagnostic services also perform analyses on specimens collected from a variety of other sources.",
              "requirements": "SHALL know the subject context.",
              "alias": [
                "Patient"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "DiagnosticReport.subject",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.subject"
                },
                {
                  "identity": "v2",
                  "map": "PID-3 (no HL7 v2 mapping for Group or Device)"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=SBJ]"
                },
                {
                  "identity": "w5",
                  "map": "who.focus"
                }
              ]
            },
            {
              "id": "DiagnosticReport.context",
              "path": "DiagnosticReport.context",
              "short": "Health care event when test ordered",
              "definition": "The healthcare event  (e.g. a patient and healthcare provider interaction) which this DiagnosticReport per is about.",
              "comment": "This will typically be the encounter the event occurred within, but some events may be initiated prior to or after the official completion of an encounter or episode but still be tied to the context of the encounter or episode (e.g. pre-admission lab tests).",
              "requirements": "Links the request to the Encounter context.",
              "alias": [
                "Encounter"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "DiagnosticReport.context",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.context"
                },
                {
                  "identity": "v2",
                  "map": "PV1-19"
                },
                {
                  "identity": "rim",
                  "map": "inboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN]"
                },
                {
                  "identity": "w5",
                  "map": "context"
                }
              ]
            },
            {
              "id": "DiagnosticReport.effective[x]",
              "path": "DiagnosticReport.effective[x]",
              "short": "Clinically relevant time/time-period for report",
              "definition": "The time or time-period the observed values are related to. When the subject of the report is a patient, this is usually either the time of the procedure or of specimen collection(s), but very often the source of the date/time is not known, only the date/time itself.",
              "comment": "If the diagnostic procedure was performed on the patient, this is the time it was performed. If there are specimens, the diagnostically relevant time can be derived from the specimen collection times, but the specimen information is not always available, and the exact relationship between the specimens and the diagnostically relevant time is not always automatic.",
              "requirements": "Need to know where in the patient history to file/present this report.",
              "alias": [
                "Observation time",
                "Effective Time",
                "Occurrence"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "DiagnosticReport.effective[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "dateTime"
                },
                {
                  "code": "Period"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.occurrence[x]"
                },
                {
                  "identity": "v2",
                  "map": "OBR-7"
                },
                {
                  "identity": "rim",
                  "map": "effectiveTime"
                },
                {
                  "identity": "w5",
                  "map": "when.done"
                }
              ]
            },
            {
              "id": "DiagnosticReport.issued",
              "path": "DiagnosticReport.issued",
              "short": "DateTime this version was released",
              "definition": "The date and time that this version of the report was released from the source diagnostic service.",
              "comment": "May be different from the update time of the resource itself, because that is the status of the record (potentially a secondary copy), not the actual release time of the report.",
              "requirements": "Clinicians need to be able to check the date that the report was released.",
              "alias": [
                "Date Created",
                "Date published",
                "Date Issued"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "DiagnosticReport.issued",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "instant"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBR-22"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=VRF or AUT].time"
                },
                {
                  "identity": "w5",
                  "map": "when.recorded"
                }
              ]
            },
            {
              "id": "DiagnosticReport.performer",
              "path": "DiagnosticReport.performer",
              "short": "Participants in producing the report",
              "definition": "Indicates who or what participated in producing the report.",
              "alias": [
                "Laboratory",
                "Service",
                "Practitioner",
                "Department",
                "Company"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "DiagnosticReport.performer",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.performer"
                },
                {
                  "identity": "v2",
                  "map": "PRT-8 (where this PRT-4-Participation = \"PO\")"
                },
                {
                  "identity": "rim",
                  "map": ".participation[typeCode=PRF]"
                },
                {
                  "identity": "w5",
                  "map": "who.witness"
                }
              ]
            },
            {
              "id": "DiagnosticReport.performer.id",
              "path": "DiagnosticReport.performer.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "DiagnosticReport.performer.extension",
              "path": "DiagnosticReport.performer.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "DiagnosticReport.performer.modifierExtension",
              "path": "DiagnosticReport.performer.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "DiagnosticReport.performer.role",
              "path": "DiagnosticReport.performer.role",
              "short": "Type of performer",
              "definition": "Describes the type of participation (e.g.  a responsible party, author, or verifier).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "DiagnosticReport.performer.role",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "Role"
                  }
                ],
                "strength": "example",
                "description": "Indicate a role of diagnostic report performer",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/performer-role"
                }
              },
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.performer.role"
                },
                {
                  "identity": "v2",
                  "map": "PRT-8 (where this PRT-4-Participation = \"PO\")"
                },
                {
                  "identity": "rim",
                  "map": ".functionCode"
                }
              ]
            },
            {
              "id": "DiagnosticReport.performer.actor",
              "path": "DiagnosticReport.performer.actor",
              "short": "Practitioner or Organization  participant",
              "definition": "The reference to the  practitioner or organization involved in producing the report. For example, the diagnostic service that is responsible for issuing the report.",
              "comment": "This is not necessarily the source of the atomic data items. It is the entity that takes responsibility for the clinical report.",
              "requirements": "Need to know whom to contact if there are queries about the results. Also may need to track the source of reports for secondary data analysis.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "DiagnosticReport.performer.actor",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "workflow",
                  "map": "Event.performer.actor"
                },
                {
                  "identity": "v2",
                  "map": "PRT-8 (where this PRT-4-Participation = \"PO\")"
                },
                {
                  "identity": "rim",
                  "map": ".role"
                }
              ]
            },
            {
              "id": "DiagnosticReport.specimen",
              "path": "DiagnosticReport.specimen",
              "short": "Specimens this report is based on",
              "definition": "Details about the specimens on which this diagnostic report is based.",
              "comment": "If the specimen is sufficiently specified with a code in the test result name, then this additional data may be redundant. If there are multiple specimens, these may be represented per observation or group.",
              "requirements": "Need to be able to report information about the collected specimens on which the report is based.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "DiagnosticReport.specimen",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Specimen"
                }
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "SPM"
                },
                {
                  "identity": "rim",
                  "map": "participation[typeCode=SBJ]"
                }
              ]
            },
            {
              "id": "DiagnosticReport.result",
              "path": "DiagnosticReport.result",
              "short": "Observations - simple, or complex nested groups",
              "definition": "Observations that are part of this diagnostic report. Observations can be simple name/value pairs (e.g. \"atomic\" results), or they can be grouping observations that include references to other members of the group (e.g. \"panels\").",
              "requirements": "Need to support individual results, or report groups of results, where the result grouping is arbitrary, but meaningful. This structure is recursive - observations can contain observations.",
              "alias": [
                "Data",
                "Atomic Value",
                "Result",
                "Atomic result",
                "Data",
                "Test",
                "Analyte",
                "Battery",
                "Organizer"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "DiagnosticReport.result",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
                }
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBXs"
                },
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=COMP].target"
                }
              ]
            },
            {
              "id": "DiagnosticReport.imagingStudy",
              "path": "DiagnosticReport.imagingStudy",
              "short": "Reference to full details of imaging associated with the diagnostic report",
              "definition": "One or more links to full details of any imaging performed during the diagnostic investigation. Typically, this is imaging performed by DICOM enabled modalities, but this is not required. A fully enabled PACS viewer can use this information to provide views of the source images.",
              "comment": "ImagingStudy and ImageManifest and the image element are somewhat overlapping - typically, the list of image references in the image element will also be found in one of the imaging study resources. However each caters to different types of displays for different types of purposes. Neither, either, or both may be provided.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "DiagnosticReport.imagingStudy",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ImagingStudy"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ImagingManifest"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=COMP].target[classsCode=DGIMG, moodCode=EVN]"
                }
              ]
            },
            {
              "id": "DiagnosticReport.image",
              "path": "DiagnosticReport.image",
              "short": "Key images associated with this report",
              "definition": "A list of key images associated with this report. The images are generally created during the diagnostic process, and may be directly of the patient, or of treated specimens (i.e. slides of interest).",
              "requirements": "Many diagnostic services include images in the report as part of their service.",
              "alias": [
                "DICOM",
                "Slides",
                "Scans"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "DiagnosticReport.image",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX?"
                },
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=COMP].target"
                }
              ]
            },
            {
              "id": "DiagnosticReport.image.id",
              "path": "DiagnosticReport.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "DiagnosticReport.image.extension",
              "path": "DiagnosticReport.image.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "DiagnosticReport.image.modifierExtension",
              "path": "DiagnosticReport.image.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "DiagnosticReport.image.comment",
              "path": "DiagnosticReport.image.comment",
              "short": "Comment about the image (e.g. explanation)",
              "definition": "A comment about the image. Typically, this is used to provide an explanation for why the image is included, or to draw the viewer's attention to important features.",
              "comment": "The comment should be displayed with the image. It would be common for the report to include additional discussion of the image contents in other sections such as the conclusion.",
              "requirements": "The provider of the report should make a comment about each image included in the report.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "DiagnosticReport.image.comment",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".inboundRelationship[typeCode=COMP].source[classCode=OBS, moodCode=EVN, code=\"annotation\"].value"
                }
              ]
            },
            {
              "id": "DiagnosticReport.image.link",
              "path": "DiagnosticReport.image.link",
              "short": "Reference to the image source",
              "definition": "Reference to the image source.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "DiagnosticReport.image.link",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Media"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".value.reference"
                }
              ]
            },
            {
              "id": "DiagnosticReport.conclusion",
              "path": "DiagnosticReport.conclusion",
              "short": "Clinical Interpretation of test results",
              "definition": "Concise and clinically contextualized impression / summary of the diagnostic report.",
              "requirements": "Need to be able to provide a conclusion that is not lost among the basic result data.",
              "alias": [
                "Report"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "DiagnosticReport.conclusion",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX"
                },
                {
                  "identity": "rim",
                  "map": "inboundRelationship[typeCode=\"SPRT\"].source[classCode=OBS, moodCode=EVN, code=LOINC:48767-8].value (type=ST)"
                }
              ]
            },
            {
              "id": "DiagnosticReport.codedDiagnosis",
              "path": "DiagnosticReport.codedDiagnosis",
              "short": "Codes for the conclusion",
              "definition": "Codes for the conclusion.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "DiagnosticReport.codedDiagnosis",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "AdjunctDiagnosis"
                  }
                ],
                "strength": "example",
                "description": "Diagnosis codes provided as adjuncts to the report.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/clinical-findings"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX"
                },
                {
                  "identity": "rim",
                  "map": "inboundRelationship[typeCode=SPRT].source[classCode=OBS, moodCode=EVN, code=LOINC:54531-9].value (type=CD)"
                }
              ]
            },
            {
              "id": "DiagnosticReport.presentedForm",
              "path": "DiagnosticReport.presentedForm",
              "short": "Entire report as issued",
              "definition": "Rich text representation of the entire result as issued by the diagnostic service. Multiple formats are allowed but they SHALL be semantically equivalent.",
              "comment": "\"application/pdf\" is recommended as the most reliable and interoperable in this context.",
              "requirements": "Gives laboratory the ability to provide its own fully formatted report for clinical fidelity.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "DiagnosticReport.presentedForm",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Attachment"
                }
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OBX"
                },
                {
                  "identity": "rim",
                  "map": "text (type=ED)"
                }
              ]
            }
          ]
        },
        "differential": {
          "element": [
            {
              "id": "DiagnosticReport",
              "path": "DiagnosticReport",
              "min": 0,
              "max": "*"
            },
            {
              "id": "DiagnosticReport.extension:allele-database",
              "path": "DiagnosticReport.extension",
              "sliceName": "allele-database",
              "short": "Allele Database",
              "definition": "Allele Database.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/hla-genotyping-results-allele-database"
                }
              ]
            },
            {
              "id": "DiagnosticReport.extension:glstring",
              "path": "DiagnosticReport.extension",
              "sliceName": "glstring",
              "short": "Glstring",
              "definition": "Glstring.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/hla-genotyping-results-glstring"
                }
              ]
            },
            {
              "id": "DiagnosticReport.extension:haploid",
              "path": "DiagnosticReport.extension",
              "sliceName": "haploid",
              "short": "Haploid",
              "definition": "Haploid.",
              "min": 0,
              "max": "*",
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/hla-genotyping-results-haploid"
                }
              ]
            },
            {
              "id": "DiagnosticReport.extension:method",
              "path": "DiagnosticReport.extension",
              "sliceName": "method",
              "short": "The platform, methodology and software applied at the time of the\rgenotyping",
              "definition": "The platform, methodology and software applied at the time of the\rgenotyping.",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/hla-genotyping-results-method"
                }
              ]
            }
          ]
        }
      }
    },
    {
      "fullUrl": "http://hl7.org/fhir/StructureDefinition/clinicaldocument",
      "resource": {
        "resourceType": "StructureDefinition",
        "id": "clinicaldocument",
        "text": {
          "status": "generated",
          "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">to do</div>"
        },
        "url": "http://hl7.org/fhir/StructureDefinition/clinicaldocument",
        "name": "Clinical Document Profile for Composition",
        "status": "draft",
        "experimental": false,
        "date": "2015-03-17",
        "publisher": "Health Level Seven, Inc. - Structured Documents WG",
        "contact": [
          {
            "telecom": [
              {
                "system": "url",
                "value": "http://hl7.org/special/committees/structure"
              }
            ]
          }
        ],
        "description": "The base Composition is a general resource for compositions or documents about any kind of subject that might be encountered in healthcare including such things as guidelines, medicines, etc. A clinical document is focused on documents related to the provision of care process, where the subject is a patient, a group of patients, or a closely related concept. A clinical document has additional reqiurements around confidentiality that do not apply in the same way to other kinds of documents",
        "fhirVersion": "3.0.1",
        "mapping": [
          {
            "identity": "rim",
            "uri": "http://hl7.org/v3",
            "name": "RIM Mapping"
          },
          {
            "identity": "cda",
            "uri": "http://hl7.org/v3/cda",
            "name": "CDA (R2)"
          },
          {
            "identity": "w5",
            "uri": "http://hl7.org/fhir/w5",
            "name": "W5 Mapping"
          }
        ],
        "kind": "resource",
        "abstract": false,
        "type": "Composition",
        "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Composition",
        "derivation": "constraint",
        "snapshot": {
          "element": [
            {
              "id": "Composition",
              "path": "Composition",
              "short": "A set of resources composed into a single coherent clinical statement with clinical attestation",
              "definition": "A set of healthcare-related information that is assembled together into a single logical document that provides a single coherent statement of meaning, establishes its own context and that has clinical attestation with regard to who is making the statement. While a Composition defines the structure, it does not actually contain the content: rather the full content of a document is contained in a Bundle, of which the Composition is the first resource contained.",
              "comment": "While the focus of this specification is on patient-specific clinical statements, this resource can also apply to other healthcare-related statements such as study protocol designs, healthcare invoices and other activities that are not necessarily patient-specific or clinical.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Composition",
                "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)",
                  "source": "DomainResource"
                },
                {
                  "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)",
                  "source": "DomainResource"
                },
                {
                  "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))",
                  "source": "DomainResource"
                },
                {
                  "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))]))",
                  "source": "DomainResource"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Entity. Role, or Act"
                },
                {
                  "identity": "rim",
                  "map": "Document[classCode=\"DOC\" and moodCode=\"EVN\" and isNormalAct()]"
                },
                {
                  "identity": "cda",
                  "map": "ClinicalDocument"
                },
                {
                  "identity": "w5",
                  "map": "infrastructure.documents"
                }
              ]
            },
            {
              "id": "Composition.id",
              "path": "Composition.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "Composition.meta",
              "path": "Composition.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "Composition.implicitRules",
              "path": "Composition.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"
                }
              ],
              "isModifier": true,
              "isSummary": true
            },
            {
              "id": "Composition.language",
              "path": "Composition.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"
                }
              ],
              "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"
                }
              }
            },
            {
              "id": "Composition.text",
              "path": "Composition.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": [
                "dom-1"
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Act.text?"
                }
              ]
            },
            {
              "id": "Composition.contained",
              "path": "Composition.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": "N/A"
                }
              ]
            },
            {
              "id": "Composition.extension",
              "path": "Composition.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Composition.modifierExtension",
              "path": "Composition.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 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"
                }
              ],
              "isModifier": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Composition.identifier",
              "path": "Composition.identifier",
              "short": "Logical identifier of composition (version-independent)",
              "definition": "Logical identifier for the composition, assigned when created. This identifier stays constant as the composition is changed over time.",
              "comment": "See discussion in resource definition for how these relate.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Composition.identifier",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Identifier"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Document.id / Document.setId"
                },
                {
                  "identity": "cda",
                  "map": ".setId"
                },
                {
                  "identity": "w5",
                  "map": "id"
                }
              ]
            },
            {
              "id": "Composition.status",
              "path": "Composition.status",
              "short": "preliminary | final | amended | entered-in-error",
              "definition": "The workflow/clinical status of this composition. The status is a marker for the clinical standing of the document.",
              "comment": "If a composition is marked as withdrawn, the compositions/documents in the series, or data from the composition or document series, should never be displayed to a user without being clearly marked as untrustworthy. The flag \"entered-in-error\" is why this element is labeled as a modifier of other elements. \n\nSome reporting work flows require that the original narrative of a final document never be altered; instead, only new narrative can be added. The composition resource has no explicit status for explicitly noting whether this business rule is in effect. This would be handled by an extension if required.",
              "requirements": "Need to be able to mark interim, amended, or withdrawn compositions or documents.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Composition.status",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "CompositionStatus"
                  }
                ],
                "strength": "required",
                "description": "The workflow/clinical status of the composition.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/composition-status"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": "interim: .completionCode=\"IN\" & ./statusCode[isNormalDatatype()]=\"active\";  final: .completionCode=\"AU\" &&  ./statusCode[isNormalDatatype()]=\"complete\" and not(./inboundRelationship[typeCode=\"SUBJ\" and isNormalActRelationship()]/source[subsumesCode(\"ActClass#CACT\") and moodCode=\"EVN\" and domainMember(\"ReviseComposition\", code) and isNormalAct()]);  amended: .completionCode=\"AU\" &&  ./statusCode[isNormalDatatype()]=\"complete\" and ./inboundRelationship[typeCode=\"SUBJ\" and isNormalActRelationship()]/source[subsumesCode(\"ActClass#CACT\") and moodCode=\"EVN\" and domainMember(\"ReviseComposition\", code) and isNormalAct() and statusCode=\"completed\"];  withdrawn : .completionCode=NI &&  ./statusCode[isNormalDatatype()]=\"obsolete\""
                },
                {
                  "identity": "cda",
                  "map": "n/a"
                },
                {
                  "identity": "w5",
                  "map": "status"
                }
              ]
            },
            {
              "id": "Composition.type",
              "path": "Composition.type",
              "short": "Kind of composition (LOINC if possible)",
              "definition": "Specifies the particular kind of composition (e.g. History and Physical, Discharge Summary, Progress Note). This usually equates to the purpose of making the composition.",
              "comment": "For Composition type, LOINC is ubiquitous and strongly endorsed by HL7. Most implementation guides will require a specific LOINC code, or use LOINC as an extensible binding.",
              "requirements": "Key metadata element describing the composition, used in searching/filtering.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Composition.type",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "DocumentType"
                  }
                ],
                "strength": "preferred",
                "description": "Type of a composition.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/doc-typecodes"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": "./code"
                },
                {
                  "identity": "cda",
                  "map": ".code"
                },
                {
                  "identity": "w5",
                  "map": "class"
                }
              ]
            },
            {
              "id": "Composition.class",
              "path": "Composition.class",
              "short": "Categorization of Composition",
              "definition": "A categorization for the type of the composition - helps for indexing and searching. This may be implied by or derived from the code specified in the Composition Type.",
              "comment": "This is a metadata field from [XDS/MHD](http://wiki.ihe.net/index.php?title=Mobile_access_to_Health_Documents_(MHD)).",
              "requirements": "Helps humans to assess whether the composition is of interest when viewing an index of compositions or documents.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Composition.class",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "DocumentClass"
                  }
                ],
                "strength": "example",
                "description": "High-level kind of a clinical document at a macro level.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/doc-classcodes"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=\"COMP].target[classCode=\"LIST\", moodCode=\"EVN\"].code"
                },
                {
                  "identity": "cda",
                  "map": "n/a"
                },
                {
                  "identity": "w5",
                  "map": "class"
                }
              ]
            },
            {
              "id": "Composition.subject",
              "path": "Composition.subject",
              "short": "Who and/or what the composition is about",
              "definition": "Who or what the composition is about. The composition can be about a person, (patient or healthcare practitioner), a device (e.g. a machine) or even a group of subjects (such as a document about a herd of livestock, or a set of patients that share a common exposure).",
              "comment": "For clinical documents, this is usually the patient.",
              "requirements": "Essential metadata for searching for the composition. Identifies who and/or what the composition/document is about.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Composition.subject",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".participation[typeCode=\"SBJ\"].role[typeCode=\"PAT\"]"
                },
                {
                  "identity": "cda",
                  "map": ".recordTarget"
                },
                {
                  "identity": "w5",
                  "map": "who.focus"
                }
              ]
            },
            {
              "id": "Composition.encounter",
              "path": "Composition.encounter",
              "short": "Context of the Composition",
              "definition": "Describes the clinical encounter or type of care this documentation is associated with.",
              "requirements": "Provides context for the composition and supports searching.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Composition.encounter",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "unique(highest(./outboundRelationship[typeCode=\"SUBJ\" and isNormalActRelationship()], priorityNumber)/target[moodCode=\"EVN\" and classCode=(\"ENC\", \"PCPR\") and isNormalAct])"
                },
                {
                  "identity": "cda",
                  "map": ".componentOf.encompassingEncounter"
                },
                {
                  "identity": "w5",
                  "map": "context"
                }
              ]
            },
            {
              "id": "Composition.date",
              "path": "Composition.date",
              "short": "Composition editing time",
              "definition": "The composition editing time, when the composition was last logically changed by the author.",
              "comment": "The Last Modified Date on the composition may be after the date of the document was attested without being changed.",
              "requirements": "dateTime is used for tracking, organizing versions and searching.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Composition.date",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "dateTime"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".effectiveTime[type=\"TS\"]"
                },
                {
                  "identity": "cda",
                  "map": ".effectiveTime"
                },
                {
                  "identity": "w5",
                  "map": "when.done"
                }
              ]
            },
            {
              "id": "Composition.author",
              "path": "Composition.author",
              "short": "Who and/or what authored the composition",
              "definition": "Identifies who is responsible for the information in the composition, not necessarily who typed it in.",
              "requirements": "Identifies who is responsible for the content.",
              "min": 1,
              "max": "*",
              "base": {
                "path": "Composition.author",
                "min": 1,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".participation[typeCode=\"AUT\"].role[classCode=\"ASSIGNED\"]"
                },
                {
                  "identity": "cda",
                  "map": ".author.assignedAuthor"
                },
                {
                  "identity": "w5",
                  "map": "who.author"
                }
              ]
            },
            {
              "id": "Composition.title",
              "path": "Composition.title",
              "short": "Human Readable name/title",
              "definition": "Official human-readable label for the composition.",
              "comment": "For many compositions, the title is the same as the text or a display name of Composition.type (e.g. a \"consultation\" or \"progress note\"). Note that CDA does not make title mandatory, but there are no known cases where it is useful for title to be omitted, so it is mandatory here. Feedback on this requirement is welcome during the trial use period.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Composition.title",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "./title"
                },
                {
                  "identity": "cda",
                  "map": ".title"
                }
              ]
            },
            {
              "id": "Composition.confidentiality",
              "path": "Composition.confidentiality",
              "short": "As defined by affinity domain",
              "definition": "The code specifying the level of confidentiality of the Composition.",
              "comment": "The exact use of this element, and enforcement and issues related to highly sensitive documents are out of scope for the base specification, and delegated to implementation profiles (see security section).\n\nThis element is labeled as a modifier because highly confidential documents must not be treated as if they are not.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Composition.confidentiality",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "DocumentConfidentiality"
                  }
                ],
                "strength": "required",
                "description": "Codes specifying the level of confidentiality of the composition.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/v3-ConfidentialityClassification"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".confidentialityCode"
                },
                {
                  "identity": "cda",
                  "map": ".confidentialityCode"
                }
              ]
            },
            {
              "id": "Composition.attester",
              "path": "Composition.attester",
              "short": "Attests to accuracy of composition",
              "definition": "A participant who has attested to the accuracy of the composition/document.",
              "comment": "Only list each attester once.",
              "requirements": "Identifies responsibility for the accuracy of the composition content.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Composition.attester",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".participation[typeCode=\"AUTHEN\"].role[classCode=\"ASSIGNED\"]"
                },
                {
                  "identity": "cda",
                  "map": ".authenticator/.legalAuthenticator"
                }
              ]
            },
            {
              "id": "Composition.attester.id",
              "path": "Composition.attester.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Composition.attester.extension",
              "path": "Composition.attester.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Composition.attester.modifierExtension",
              "path": "Composition.attester.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Composition.attester.mode",
              "path": "Composition.attester.mode",
              "short": "personal | professional | legal | official",
              "definition": "The type of attestation the authenticator offers.",
              "comment": "Use more than one code where a single attester has more than one mode (professional and legal are often paired).",
              "requirements": "Indicates the level of authority of the attestation.",
              "min": 1,
              "max": "*",
              "base": {
                "path": "Composition.attester.mode",
                "min": 1,
                "max": "*"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "CompositionAttestationMode"
                  }
                ],
                "strength": "required",
                "description": "The way in which a person authenticated a composition.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/composition-attestation-mode"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": "unique(./modeCode)"
                },
                {
                  "identity": "cda",
                  "map": "implied by .authenticator/.legalAuthenticator"
                }
              ]
            },
            {
              "id": "Composition.attester.time",
              "path": "Composition.attester.time",
              "short": "When the composition was attested",
              "definition": "When the composition was attested by the party.",
              "requirements": "Identifies when the information in the composition was deemed accurate.  (Things may have changed since then.).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Composition.attester.time",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "dateTime"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "./time[type=\"TS\" and isNormalDatatype()]"
                },
                {
                  "identity": "cda",
                  "map": ".authenticator.time"
                }
              ]
            },
            {
              "id": "Composition.attester.party",
              "path": "Composition.attester.party",
              "short": "Who attested the composition",
              "definition": "Who attested the composition in the specified way.",
              "requirements": "Identifies who has taken on the responsibility for accuracy of the composition content.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Composition.attester.party",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "./role[classCode=\"ASSIGNED\" and isNormalRole]/player[determinerCode=\"INST\" and classCode=(\"DEV\", \"PSN\") and isNormalEntity()] or ./role[classCode=\"ASSIGNED\" and isNormalRole and not(player)]/scoper[determinerCode=\"INST\" and classCode=\"ORG\" and isNormalEntity()]"
                },
                {
                  "identity": "cda",
                  "map": ".authenticator.assignedEnttty"
                },
                {
                  "identity": "w5",
                  "map": "who.witness"
                }
              ]
            },
            {
              "id": "Composition.custodian",
              "path": "Composition.custodian",
              "short": "Organization which maintains the composition",
              "definition": "Identifies the organization or group who is responsible for ongoing maintenance of and access to the composition/document information.",
              "comment": "This is useful when documents are derived from a composition - provides guidance for how to get the latest version of the document. This is optional because this is sometimes not known by the authoring system, and can be inferred by context. However, it is important that this information be known when working with a derived document, so providing a custodian is encouraged.",
              "requirements": "Identifies where to go to find the current version, where to report issues, etc.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Composition.custodian",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".participation[typeCode=\"RCV\"].role[classCode=\"CUST\"].scoper[classCode=\"ORG\" and determinerCode=\"INST\"]"
                },
                {
                  "identity": "cda",
                  "map": ".custodian.assignedCustodian"
                }
              ]
            },
            {
              "id": "Composition.relatesTo",
              "path": "Composition.relatesTo",
              "short": "Relationships to other compositions/documents",
              "definition": "Relationships that this composition has with other compositions or documents that already exist.",
              "comment": "A document is a version specific composition.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Composition.relatesTo",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".outboundRelationship"
                },
                {
                  "identity": "cda",
                  "map": ".relatedDocument"
                }
              ]
            },
            {
              "id": "Composition.relatesTo.id",
              "path": "Composition.relatesTo.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Composition.relatesTo.extension",
              "path": "Composition.relatesTo.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Composition.relatesTo.modifierExtension",
              "path": "Composition.relatesTo.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Composition.relatesTo.code",
              "path": "Composition.relatesTo.code",
              "short": "replaces | transforms | signs | appends",
              "definition": "The type of relationship that this composition has with anther composition or document.",
              "comment": "If this document appends another document, then the document cannot be fully understood without also accessing the referenced document.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Composition.relatesTo.code",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "DocumentRelationshipType"
                  }
                ],
                "strength": "required",
                "description": "The type of relationship between documents.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/document-relationship-type"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".outboundRelationship.typeCode"
                },
                {
                  "identity": "cda",
                  "map": ".relatedDocument.typeCode"
                }
              ]
            },
            {
              "id": "Composition.relatesTo.target[x]",
              "path": "Composition.relatesTo.target[x]",
              "short": "Target of the relationship",
              "definition": "The target composition/document of this relationship.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Composition.relatesTo.target[x]",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "Identifier"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Composition"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".target[classCode=\"DOC\", moodCode=\"EVN\"].id"
                },
                {
                  "identity": "cda",
                  "map": ".relatedDocument.id"
                }
              ]
            },
            {
              "id": "Composition.event",
              "path": "Composition.event",
              "short": "The clinical service(s) being documented",
              "definition": "The clinical service, such as a colonoscopy or an appendectomy, being documented.",
              "comment": "The event needs to be consistent with the type element, though can provide further information if desired.",
              "requirements": "Provides context for the composition and creates a linkage between a resource describing an event and the composition created describing the event.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Composition.event",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "outboundRelationship[typeCode=\"SUBJ\"].target[classCode<'ACT']"
                },
                {
                  "identity": "cda",
                  "map": ".documentationOf.serviceEvent"
                }
              ]
            },
            {
              "id": "Composition.event.id",
              "path": "Composition.event.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Composition.event.extension",
              "path": "Composition.event.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Composition.event.modifierExtension",
              "path": "Composition.event.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Composition.event.code",
              "path": "Composition.event.code",
              "short": "Code(s) that apply to the event being documented",
              "definition": "This list of codes represents the main clinical acts, such as a colonoscopy or an appendectomy, being documented. In some cases, the event is inherent in the typeCode, such as a \"History and Physical Report\" in which the procedure being documented is necessarily a \"History and Physical\" act.",
              "comment": "An event can further specialize the act inherent in the typeCode, such as where it is simply \"Procedure Report\" and the procedure was a \"colonoscopy\". If one or more eventCodes are included, they SHALL NOT conflict with the values inherent in the classCode, practiceSettingCode or typeCode, as such a conflict would create an ambiguous situation. This short list of codes is provided to be used as key words for certain types of queries.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Composition.event.code",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "DocumentEventType"
                  }
                ],
                "strength": "example",
                "description": "This list of codes represents the main clinical acts being documented.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/v3-ActCode"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".code"
                },
                {
                  "identity": "cda",
                  "map": ".code"
                }
              ]
            },
            {
              "id": "Composition.event.period",
              "path": "Composition.event.period",
              "short": "The period covered by the documentation",
              "definition": "The period of time covered by the documentation. There is no assertion that the documentation is a complete representation for this period, only that it documents events during this time.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Composition.event.period",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Period"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".effectiveTime"
                },
                {
                  "identity": "cda",
                  "map": ".effectiveTime"
                }
              ]
            },
            {
              "id": "Composition.event.detail",
              "path": "Composition.event.detail",
              "short": "The event(s) being documented",
              "definition": "The description and/or reference of the event(s) being documented. For example, this could be used to document such a colonoscopy or an appendectomy.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Composition.event.detail",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=\"SUBJ\"].target"
                },
                {
                  "identity": "cda",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Composition.section",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                  "valueString": "Section"
                }
              ],
              "path": "Composition.section",
              "short": "Composition is broken into sections",
              "definition": "The root of the sections that make up the composition.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Composition.section",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "key": "cmp-1",
                  "severity": "error",
                  "human": "A section must at least one of text, entries, or sub-sections",
                  "expression": "text.exists() or entry.exists() or section.exists()",
                  "xpath": "exists(f:text) or exists(f:entry) or exists(f:section)"
                },
                {
                  "key": "cmp-2",
                  "severity": "error",
                  "human": "A section can only have an emptyReason if it is empty",
                  "expression": "emptyReason.empty() or entry.empty()",
                  "xpath": "not(exists(f:emptyReason) and exists(f:entry))"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "./outboundRelationship[typeCode=\"COMP\" and isNormalActRelationship()]/target[moodCode=\"EVN\" and classCode=\"DOCSECT\" and isNormalAct]"
                },
                {
                  "identity": "cda",
                  "map": ".component.structuredBody.component.section"
                }
              ]
            },
            {
              "id": "Composition.section.id",
              "path": "Composition.section.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Composition.section.extension",
              "path": "Composition.section.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Composition.section.modifierExtension",
              "path": "Composition.section.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Composition.section.title",
              "path": "Composition.section.title",
              "short": "Label for section (e.g. for ToC)",
              "definition": "The label for this particular section.  This will be part of the rendered content for the document, and is often used to build a table of contents.",
              "comment": "The title identifies the section for a human reader. The title must be consistent with the narrative of the resource that is the target of the section.content reference. Generally, sections SHOULD have titles, but in some documents, it is unnecessary or inappropriate. Typically, this is where a section has subsections that have their own adequately distinguishing title,  or documents that only have a single section. Most Implementation Guides will make section title to be a required element.",
              "requirements": "Section headings are often standardized for different types of documents.  They give guidance to humans on how the document is organized.",
              "alias": [
                "header",
                "label",
                "caption"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Composition.section.title",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "./title"
                },
                {
                  "identity": "cda",
                  "map": ".title"
                }
              ]
            },
            {
              "id": "Composition.section.code",
              "path": "Composition.section.code",
              "short": "Classification of section (recommended)",
              "definition": "A code identifying the kind of content contained within the section. This must be consistent with the section title.",
              "comment": "The code identifies the section for an automated processor of the document. This is particularly relevant when using profiles to control the structure of the document.   If the section has content (instead of sub-sections), the section.code does not change the meaning or interpretation of the resource that is the content of the section in the comments for the section.code.",
              "requirements": "Provides computable standardized labels to topics within the document.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Composition.section.code",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "CompositionSectionType"
                  }
                ],
                "strength": "example",
                "description": "Classification of a section of a composition/document.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/doc-section-codes"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": "./code"
                },
                {
                  "identity": "cda",
                  "map": ".code"
                }
              ]
            },
            {
              "id": "Composition.section.text",
              "path": "Composition.section.text",
              "short": "Text summary of the section, for human interpretation",
              "definition": "A human-readable narrative that contains the attested content of the section, 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.",
              "comment": "Document profiles may define what content should be represented in the narrative to ensure clinical safety.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Composition.section.text",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Narrative"
                }
              ],
              "condition": [
                "cmp-1"
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".text"
                },
                {
                  "identity": "cda",
                  "map": ".text"
                }
              ]
            },
            {
              "id": "Composition.section.mode",
              "path": "Composition.section.mode",
              "short": "working | snapshot | changes",
              "definition": "How the entry list was prepared - whether it is a working list that is suitable for being maintained on an ongoing basis, or if it represents a snapshot of a list of items from another source, or whether it is a prepared list where items may be marked as added, modified or deleted.",
              "comment": "This element is labeled as a modifier because a change list must not be mis-understood as a complete list.",
              "requirements": "Sections are used in various ways, and it must be known in what way it is safe to use the entries in them.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Composition.section.mode",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "SectionMode"
                  }
                ],
                "strength": "required",
                "description": "The processing mode that applies to this section.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/list-mode"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".outBoundRelationship[typeCode=COMP].target[classCode=OBS\"].value"
                },
                {
                  "identity": "cda",
                  "map": "n/a"
                },
                {
                  "identity": "w5",
                  "map": "class"
                }
              ]
            },
            {
              "id": "Composition.section.orderedBy",
              "path": "Composition.section.orderedBy",
              "short": "Order of section entries",
              "definition": "Specifies the order applied to the items in the section entries.",
              "comment": "Applications SHOULD render ordered lists in the order provided, but MAY allow users to re-order based on their own preferences as well. If there is no order specified, the order is unknown, though there may still be some order.",
              "requirements": "Important for presentation and rendering.  Lists may be sorted to place more important information first or to group related entries.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Composition.section.orderedBy",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "SectionEntryOrder"
                  }
                ],
                "strength": "preferred",
                "description": "What order applies to the items in the entry.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/list-order"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=COMP].sequenceNumber > 1"
                },
                {
                  "identity": "cda",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Composition.section.entry",
              "path": "Composition.section.entry",
              "short": "A reference to data that supports this section",
              "definition": "A reference to the actual resource from which the narrative in the section is derived.",
              "comment": "If there are no entries in the list, an emptyReason SHOULD be provided.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Composition.section.entry",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
                }
              ],
              "condition": [
                "cmp-2"
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=COMP] or  .participation[typeCode=SBJ]"
                },
                {
                  "identity": "cda",
                  "map": ".entry"
                }
              ]
            },
            {
              "id": "Composition.section.emptyReason",
              "path": "Composition.section.emptyReason",
              "short": "Why the section is empty",
              "definition": "If the section is empty, why the list is empty. An empty section typically has some text explaining the empty reason.",
              "comment": "The various reasons for an empty section make a significant interpretation to its interpretation. Note that this code is for use when the entire section content has been suppressed, and not for when individual items are omitted - implementers may consider using a text note or a flag on an entry in these cases.",
              "requirements": "Allows capturing things like \"none exist\" or \"not asked\" which can be important for most lists.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Composition.section.emptyReason",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "condition": [
                "cmp-2"
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "SectionEmptyReason"
                  }
                ],
                "strength": "preferred",
                "description": "If a section is empty, why it is empty.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/list-empty-reason"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".inboundRelationship[typeCode=SUBJ,code<{ListEmptyReason}].value[type=CD]"
                },
                {
                  "identity": "cda",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Composition.section.section",
              "path": "Composition.section.section",
              "short": "Nested Section",
              "definition": "A nested sub-section within this section.",
              "comment": "Nested sections are primarily used to help human readers navigate to particular portions of the document.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Composition.section.section",
                "min": 0,
                "max": "*"
              },
              "contentReference": "#Composition.section",
              "condition": [
                "cmp-1"
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "./outboundRelationship[typeCode=\"COMP\" and isNormalActRelationship()]/target[moodCode=\"EVN\" and classCode=\"DOCSECT\" and isNormalAct]"
                },
                {
                  "identity": "cda",
                  "map": ".component.section"
                }
              ]
            }
          ]
        },
        "differential": {
          "element": [
            {
              "id": "Composition",
              "path": "Composition",
              "min": 0,
              "max": "*"
            },
            {
              "id": "Composition.subject",
              "path": "Composition.subject",
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
                }
              ]
            }
          ]
        }
      }
    },
    {
      "fullUrl": "http://hl7.org/fhir/StructureDefinition/elementdefinition-de",
      "resource": {
        "resourceType": "StructureDefinition",
        "id": "elementdefinition-de",
        "text": {
          "status": "generated",
          "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">to do</div>"
        },
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
            "valueCode": "fhir"
          }
        ],
        "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-de",
        "name": "DataElement constraint on ElementDefinition data type",
        "status": "draft",
        "experimental": false,
        "date": "2015-02-28",
        "publisher": "Health Level Seven International (Orders and Observations)",
        "contact": [
          {
            "telecom": [
              {
                "system": "url",
                "value": "http://hl7.org/special/committees/FHIR"
              }
            ]
          }
        ],
        "description": "Identifies how the ElementDefinition data type is used when it appears within a data element",
        "fhirVersion": "3.0.1",
        "mapping": [
          {
            "identity": "dex",
            "uri": "http://wiki.ihe.net/index.php?title=Data_Element_Exchange",
            "name": "IHE Data Element Exchange (DEX)"
          },
          {
            "identity": "v2",
            "uri": "http://hl7.org/v2",
            "name": "HL7 v2 Mapping"
          },
          {
            "identity": "rim",
            "uri": "http://hl7.org/v3",
            "name": "RIM Mapping"
          },
          {
            "identity": "iso11179",
            "uri": "http://metadata-standards.org/11179/",
            "name": "ISO 11179"
          },
          {
            "identity": "loinc",
            "uri": "http://loinc.org",
            "name": "LOINC code for the element"
          }
        ],
        "kind": "complex-type",
        "abstract": false,
        "type": "ElementDefinition",
        "baseDefinition": "http://hl7.org/fhir/StructureDefinition/ElementDefinition",
        "derivation": "constraint",
        "snapshot": {
          "element": [
            {
              "id": "ElementDefinition",
              "path": "ElementDefinition",
              "short": "Definition of an element in a resource or extension",
              "definition": "Captures constraints on each element within the resource, profile, or extension.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "ElementDefinition",
                "min": 0,
                "max": "*"
              },
              "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",
                  "source": "Element"
                },
                {
                  "key": "eld-2",
                  "severity": "error",
                  "human": "Min <= Max",
                  "expression": "min.empty() or max.empty() or (max = '*') or (min <= max.toInteger())",
                  "xpath": "not(exists(f:min)) or not(exists(f:max)) or (not(f:max/@value) and not(f:min/@value)) or (f:max/@value = '*') or (number(f:max/@value) >= f:min/@value)",
                  "source": "ElementDefinition"
                },
                {
                  "key": "eld-5",
                  "severity": "error",
                  "human": "if the element definition has a contentReference, it cannot have type, defaultValue, fixed, pattern, example, minValue, maxValue, maxLength, or binding",
                  "expression": "contentReference.empty() or (type.empty() and defaultValue.empty() and fixed.empty() and pattern.empty() and example.empty() and minValue.empty() and maxValue.empty() and maxLength.empty() and binding.empty())",
                  "xpath": "not(exists(f:contentReference) and (exists(f:type) or exists(f:*[starts-with(local-name(.), 'value')]) or exists(f:*[starts-with(local-name(.), 'defaultValue')])  or exists(f:*[starts-with(local-name(.), 'fixed')]) or exists(f:*[starts-with(local-name(.), 'pattern')]) or exists(f:*[starts-with(local-name(.), 'example')]) or exists(f:*[starts-with(local-name(.), 'f:minValue')]) or exists(f:*[starts-with(local-name(.), 'f:maxValue')]) or exists(f:maxLength) or exists(f:binding)))",
                  "source": "ElementDefinition"
                },
                {
                  "key": "eld-7",
                  "severity": "error",
                  "human": "Pattern may only be specified if there is one type",
                  "expression": "pattern.empty() or (type.count() <= 1)",
                  "xpath": "not(exists(f:*[starts-with(local-name(.), 'pattern')])) or (count(f:type)<=1)",
                  "source": "ElementDefinition"
                },
                {
                  "key": "eld-6",
                  "severity": "error",
                  "human": "Fixed value may only be specified if there is one type",
                  "expression": "fixed.empty() or (type.count()  <= 1)",
                  "xpath": "not(exists(f:*[starts-with(local-name(.), 'fixed')])) or (count(f:type)<=1)",
                  "source": "ElementDefinition"
                },
                {
                  "key": "eld-11",
                  "severity": "error",
                  "human": "Binding can only be present for coded elements, string, and uri",
                  "expression": "binding.empty() or type.code.empty() or type.select((code = 'code') or (code = 'Coding') or (code='CodeableConcept') or (code = 'Quantity') or (code = 'Extension') or (code = 'string') or (code = 'uri')).exists()",
                  "xpath": "not(exists(f:binding)) or (count(f:type/f:code) = 0) or  f:type/f:code/@value=('code','Coding','CodeableConcept','Quantity','Extension', 'string', 'uri')",
                  "source": "ElementDefinition"
                },
                {
                  "key": "eld-8",
                  "severity": "error",
                  "human": "Pattern and value are mutually exclusive",
                  "expression": "pattern.empty() or fixed.empty()",
                  "xpath": "not(exists(f:*[starts-with(local-name(.), 'pattern')])) or not(exists(f:*[starts-with(local-name(.), 'fixed')]))",
                  "source": "ElementDefinition"
                },
                {
                  "key": "eld-14",
                  "severity": "error",
                  "human": "Constraints must be unique by key",
                  "expression": "constraint.select(key).isDistinct()",
                  "xpath": "count(f:constraint) = count(distinct-values(f:constraint/f:key/@value))",
                  "source": "ElementDefinition"
                },
                {
                  "key": "eld-13",
                  "severity": "error",
                  "human": "Types must be unique by the combination of code and profile",
                  "expression": "type.select(code&profile&targetProfile).isDistinct()",
                  "xpath": "not(exists(for $type in f:type return $type/preceding-sibling::f:type[f:code/@value=$type/f:code/@value and f:profile/@value = $type/f:profile/@value]))",
                  "source": "ElementDefinition"
                },
                {
                  "key": "eld-16",
                  "severity": "error",
                  "human": "sliceName must be composed of proper tokens separated by \"/\"",
                  "expression": "sliceName.empty() or sliceName.matches('^[a-zA-Z0-9\\\\/\\\\-\\\\_]+$')",
                  "xpath": "not(exists(f:sliceName/@value)) or matches(f:sliceName/@value, '^[a-zA-Z0-9\\\\/\\\\-\\\\_]+$')",
                  "source": "ElementDefinition"
                },
                {
                  "key": "eld-15",
                  "severity": "error",
                  "human": "default value and meaningWhenMissing are mutually exclusive",
                  "expression": "defaultValue.empty() or meaningWhenMissing.empty()",
                  "xpath": "not(exists(f:*[starts-with(local-name(.), 'fixed')])) or not(exists(f:meaningWhenMissing))",
                  "source": "ElementDefinition"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                },
                {
                  "identity": "dex",
                  "map": "RetrieveMetadata response"
                },
                {
                  "identity": "v2",
                  "map": "OM1"
                },
                {
                  "identity": "rim",
                  "map": "Observation[classCode=OBS, moodCode=DEFN]"
                },
                {
                  "identity": "iso11179",
                  "map": "Data_Element"
                }
              ]
            },
            {
              "id": "ElementDefinition.id",
              "path": "ElementDefinition.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ElementDefinition.extension",
              "path": "ElementDefinition.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ElementDefinition.extension:question",
              "path": "ElementDefinition.extension",
              "sliceName": "Question",
              "short": "Extension",
              "definition": "An Extension",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Element.extension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/elementdefinition-question"
                }
              ]
            },
            {
              "id": "ElementDefinition.extension:question.id",
              "path": "ElementDefinition.extension.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ElementDefinition.extension:question.extension",
              "path": "ElementDefinition.extension.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ElementDefinition.extension:question.url",
              "path": "ElementDefinition.extension.url",
              "representation": [
                "xmlAttr"
              ],
              "short": "identifies the meaning of the extension",
              "definition": "Source of the definition for the extension code - a logical name or a URL.",
              "comment": "The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Extension.url",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://hl7.org/fhir/StructureDefinition/elementdefinition-question",
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "ElementDefinition.extension:question.valueString",
              "path": "ElementDefinition.extension.valueString",
              "short": "Value of extension",
              "definition": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Extension.value[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "ElementDefinition.extension:allowedunits",
              "path": "ElementDefinition.extension",
              "sliceName": "AllowedUnits",
              "short": "Extension",
              "definition": "An Extension",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.extension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/elementdefinition-allowedUnits"
                }
              ]
            },
            {
              "id": "ElementDefinition.extension:allowedunits.id",
              "path": "ElementDefinition.extension.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ElementDefinition.extension:allowedunits.extension",
              "path": "ElementDefinition.extension.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ElementDefinition.extension:allowedunits.url",
              "path": "ElementDefinition.extension.url",
              "representation": [
                "xmlAttr"
              ],
              "short": "identifies the meaning of the extension",
              "definition": "Source of the definition for the extension code - a logical name or a URL.",
              "comment": "The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Extension.url",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "fixedUri": "http://hl7.org/fhir/StructureDefinition/elementdefinition-allowedUnits",
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "ElementDefinition.extension:allowedunits.value[x]",
              "path": "ElementDefinition.extension.value[x]",
              "short": "Value of extension",
              "definition": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Extension.value[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ValueSet"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "Units"
                  }
                ],
                "strength": "required",
                "description": "Units of measure allowed for an element",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/ucum-units"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "ElementDefinition.path",
              "path": "ElementDefinition.path",
              "short": "Path of the element in the hierarchy of elements",
              "definition": "The path identifies the element and is expressed as a \".\"-separated list of ancestor elements, beginning with the name of the resource or extension.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "ElementDefinition.path",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": "N/A"
                },
                {
                  "identity": "iso11179",
                  "map": "Name, Identifier & Context"
                }
              ]
            },
            {
              "id": "ElementDefinition.representation",
              "path": "ElementDefinition.representation",
              "short": "xmlAttr | xmlText | typeAttr | cdaText | xhtml",
              "definition": "Codes that define how this element is represented in instances, when the deviation varies from the normal case.",
              "comment": "In resources, this is rarely used except for special cases where the representation deviates from the normal, and can only be done in the base standard (and profiles must reproduce what the base standard does). This element is used quite commonly in Logical models when the logical models represent a specific serialization format (e.g. CDA, v2 etc).",
              "min": 0,
              "max": "0",
              "base": {
                "path": "ElementDefinition.representation",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "PropertyRepresentation"
                  }
                ],
                "strength": "required",
                "description": "How a property is represented when serialized.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/property-representation"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": "N/A"
                },
                {
                  "identity": "iso11179",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ElementDefinition.sliceName",
              "path": "ElementDefinition.sliceName",
              "short": "Name for this particular element (in a set of slices)",
              "definition": "The name of this element definition slice, when slicing is working. The name must be a token with no dots or spaces. This is a unique name referring to a specific set of constraints applied to this element, used to provide a name to different slices of the same element.",
              "comment": "The name SHALL be unique within the structure within the context of the constrained resource element.  (Though to avoid confusion, uniqueness across all elements is recommended.).",
              "requirements": "May also be used for code generation purposes.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "ElementDefinition.sliceName",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": "N/A"
                },
                {
                  "identity": "iso11179",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ElementDefinition.label",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "ElementDefinition.label",
              "short": "Name for element to display with or prompt for element",
              "definition": "A single preferred label which is the text to display beside the element indicating its meaning or to use to prompt for the element in a user display or form.",
              "comment": "See also the extension (http://hl7.org/fhir/StructureDefinition/elementdefinition-question)[extension-elementdefinition-question.html].",
              "min": 0,
              "max": "1",
              "base": {
                "path": "ElementDefinition.label",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "./code/display"
                },
                {
                  "identity": "iso11179",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ElementDefinition.code",
              "path": "ElementDefinition.code",
              "short": "Corresponding codes in terminologies",
              "definition": "A code that has the same meaning as the element in a particular terminology.",
              "comment": "The concept SHALL be properly aligned with the data element definition and other constraints, as defined in the code system, including relationships, of any code listed here.  Where multiple codes exist in a terminology that could correspond to the data element, the most granular code(s) should be selected, so long as they are not more restrictive than the data element itself. The mappings may be used to provide more or less granular or structured equivalences in the code system.",
              "requirements": "Links the meaning of an element to an external terminology, and is very useful for searching and indexing.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "ElementDefinition.code",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Coding"
                }
              ],
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ElementDefinitionCode"
                  }
                ],
                "strength": "example",
                "description": "Codes that indicate the meaning of a data element.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/observation-codes"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OM1.7"
                },
                {
                  "identity": "rim",
                  "map": "./code (root or translation)"
                },
                {
                  "identity": "iso11179",
                  "map": "(Data_Element).data_element_concept.identifier"
                },
                {
                  "identity": "loinc",
                  "map": "LOINC_NUM"
                }
              ]
            },
            {
              "id": "ElementDefinition.slicing",
              "path": "ElementDefinition.slicing",
              "short": "This element is sliced - slices follow",
              "definition": "Indicates that the element is sliced into a set of alternative definitions (i.e. in a structure definition, there are multiple different constraints on a single element in the base resource). Slicing can be used in any resource that has cardinality ..* on the base resource, or any resource with a choice of types. The set of slices is any elements that come after this in the element sequence that have the same path, until a shorter path occurs (the shorter path terminates the set).",
              "comment": "The first element in the sequence, the one that carries the slicing, is the definition that applies to all the slices. This is based on the unconstrained element, but can apply any constraints as appropriate. This may include the common constraints on the children of the element.",
              "min": 0,
              "max": "0",
              "base": {
                "path": "ElementDefinition.slicing",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Element"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "key": "eld-1",
                  "severity": "error",
                  "human": "If there are no discriminators, there must be a definition",
                  "expression": "discriminator.exists() or description.exists()",
                  "xpath": "(f:discriminator) or (f:description)",
                  "source": "ElementDefinition.slicing"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                },
                {
                  "identity": "iso11179",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ElementDefinition.slicing.id",
              "path": "ElementDefinition.slicing.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ElementDefinition.slicing.extension",
              "path": "ElementDefinition.slicing.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ElementDefinition.slicing.discriminator",
              "path": "ElementDefinition.slicing.discriminator",
              "short": "Element values that are used to distinguish the slices",
              "definition": "Designates which child elements are used to discriminate between the slices when processing an instance. If one or more discriminators are provided, the value of the child elements in the instance data SHALL completely distinguish which slice the element in the resource matches based on the allowed values for those elements in each of the slices.",
              "comment": "If there is no discriminator, the content is hard to process, so this should be avoided. If the base element has a cardinality of ..1, and there is a choice of types, the discriminator must be \"@type\".",
              "min": 0,
              "max": "*",
              "base": {
                "path": "ElementDefinition.slicing.discriminator",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Element"
                }
              ],
              "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",
                  "source": "Element"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                },
                {
                  "identity": "iso11179",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ElementDefinition.slicing.discriminator.id",
              "path": "ElementDefinition.slicing.discriminator.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ElementDefinition.slicing.discriminator.extension",
              "path": "ElementDefinition.slicing.discriminator.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ElementDefinition.slicing.discriminator.type",
              "path": "ElementDefinition.slicing.discriminator.type",
              "short": "value | exists | pattern | type | profile",
              "definition": "How the element value is interpreted when discrimination is evaluated.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "ElementDefinition.slicing.discriminator.type",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "DiscriminatorType"
                  }
                ],
                "strength": "required",
                "description": "How an element value is interpreted when discrimination is evaluated",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/discriminator-type"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "ElementDefinition.slicing.discriminator.path",
              "path": "ElementDefinition.slicing.discriminator.path",
              "short": "Path to element value",
              "definition": "A FHIRPath expression, using a restricted subset of FHIRPath, that is used to identify the element on which discrimination is based.",
              "comment": "The only FHIRPath functions that are allowed are resolve(), and extension(url).",
              "min": 1,
              "max": "1",
              "base": {
                "path": "ElementDefinition.slicing.discriminator.path",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                },
                {
                  "identity": "iso11179",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ElementDefinition.slicing.description",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "ElementDefinition.slicing.description",
              "short": "Text description of how slicing works (or not)",
              "definition": "A human-readable text description of how the slicing works. If there is no discriminator, this is required to be present to provide whatever information is possible about how the slices can be differentiated.",
              "comment": "If it's really not possible to differentiate them, the design should be re-evaluated to make the content usable.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "ElementDefinition.slicing.description",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "condition": [
                "eld-1"
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "ElementDefinition.slicing.ordered",
              "path": "ElementDefinition.slicing.ordered",
              "short": "If elements must be in same order as slices",
              "definition": "If the matching elements have to occur in the same order as defined in the profile.",
              "comment": "Order should only be required when it is a pressing concern for presentation. Profile authors should consider making the order a feature of the rules about the narrative, not the rules about the data - requiring ordered data makes the profile much less re-usable.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "ElementDefinition.slicing.ordered",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "boolean"
                }
              ],
              "defaultValueBoolean": false,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                },
                {
                  "identity": "iso11179",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ElementDefinition.slicing.rules",
              "path": "ElementDefinition.slicing.rules",
              "short": "closed | open | openAtEnd",
              "definition": "Whether additional slices are allowed or not. When the slices are ordered, profile authors can also say that additional slices are only allowed at the end.",
              "comment": "Allowing additional elements makes for a much for flexible template - it's open for use in wider contexts, but also means that the content of the resource is not closed, and applications have to decide how to handle content not described by the profile.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "ElementDefinition.slicing.rules",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "SlicingRules"
                  }
                ],
                "strength": "required",
                "description": "How slices are interpreted when evaluating an instance.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/resource-slicing-rules"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                },
                {
                  "identity": "iso11179",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ElementDefinition.short",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "ElementDefinition.short",
              "short": "Concise definition for space-constrained presentation",
              "definition": "A concise description of what this element means (e.g. for use in autogenerated summaries).",
              "comment": "May change the term to provide language more appropriate to the context of the profile or to reflect slicing.",
              "min": 0,
              "max": "0",
              "base": {
                "path": "ElementDefinition.short",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                },
                {
                  "identity": "iso11179",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "ElementDefinition.definition",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "ElementDefinition.definition",
              "short": "Full formal definition as narrative text",
              "definition": "Provides a complete explanation of the meaning of the data element for human readability.  For the case of elements derived from existing elements (e.g. constraints), the definition SHALL be consistent with the base definition, but convey the meaning of the element in the particular context of use of the resource.",
              "comment": "It is easy for a different definition to change the meaning of an element and this can have nasty downstream consequences. Please be careful when providing definitions.",
              "requirements": "To allow a user to state the usage of an element in a particular context.",
              "alias": [
                "Description"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "ElementDefinition.definition",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "markdown"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OM1.6, OM1.41"
                },
                {
                  "identity": "rim",
                  "map": "./text"
                },
                {
                  "identity": "iso11179",
                  "map": "(Designatable_Item).definition.text  acceptability=preferred in default context"
                },
                {
                  "identity": "loinc",
                  "map": "TERM DEFINITION/DESCRIPTION(S)"
                }
              ]
            },
            {
              "id": "ElementDefinition.comment",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "ElementDefinition.comment",
              "short": "Comments about the use of this element",
              "definition": "Explanatory notes and implementation guidance about the data element, including notes about how to use the data properly, exceptions to proper use, etc.",
              "comment": "If it is possible to capture usage rules using constraints, that mechanism should be used in preference to this element.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "ElementDefinition.comment",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "markdown"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "NTE, OM1.32, OM1.33, OM1.39"
                },
                {
                  "identity": "rim",
                  "map": "./inboundRelationship[typeCode=SUBJ]/source[classCode=LIST, moodCode=EVN]/code"
                },
                {
                  "identity": "iso11179",
                  "map": "(Administered_Item).explanatory_comment"
                },
                {
                  "identity": "loinc",
                  "map": "COMMENTS"
                }
              ]
            },
            {
              "id": "ElementDefinition.requirements",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "ElementDefinition.requirements",
              "short": "Why this resource has been created",
              "definition": "This element is for traceability of why the element was created and why the constraints exist as they do. This may be used to point to source materials or specifications that drove the structure of this element.",
              "comment": "This element does not describe the usage of the element (that's done in comments), rather it's for traceability of *why* the element is either needed or why the constraints exist as they do.  This may be used to point to source materials or specifications that drove the structure of this data element.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "ElementDefinition.requirements",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "markdown"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "./inboundRelationship[typeCode=META]/source[classCode=ACT, moodCode=EVN, isCriterionInd=true]/reasonCode/originalText"
                },
                {
                  "identity": "iso11179",
                  "map": "(Registered_item).document_reference[document_type=requirements].notation"
                },
                {
                  "identity": "loinc",
                  "map": "R/O/C"
                }
              ]
            },
            {
              "id": "ElementDefinition.alias",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "ElementDefinition.alias",
              "short": "Other names",
              "definition": "Identifies additional names by which this element might also be known.",
              "requirements": "Allows for better easier recognition of the element by multiple communities, including international communities.",
              "alias": [
                "synonym",
                "other name"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "ElementDefinition.alias",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OM1.8, OM1.52"
                },
                {
                  "identity": "rim",
                  "map": "Not currently expressible"
                },
                {
                  "identity": "iso11179",
                  "map": "(Designatable_Item).designation.sign  acceptability!=preferred or context is other than default"
                },
                {
                  "identity": "loinc",
                  "map": "RELATED NAMES (only some of these apply)"
                }
              ]
            },
            {
              "id": "ElementDefinition.min",
              "path": "ElementDefinition.min",
              "short": "Minimum Cardinality",
              "definition": "The minimum number of times this element SHALL appear in the instance.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "ElementDefinition.min",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "unsignedInt"
                }
              ],
              "condition": [
                "eld-2"
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A (MIF territory)"
                },
                {
                  "identity": "iso11179",
                  "map": "Minimum  size of  data element  values?"
                }
              ]
            },
            {
              "id": "ElementDefinition.max",
              "path": "ElementDefinition.max",
              "short": "Maximum Cardinality (a number or *)",
              "definition": "The maximum number of times this element is permitted to appear in the instance.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "ElementDefinition.max",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "condition": [
                "eld-3",
                "eld-2"
              ],
              "constraint": [
                {
                  "key": "eld-3",
                  "severity": "error",
                  "human": "Max SHALL be a number or \"*\"",
                  "expression": "empty() or ($this = '*') or (toInteger() >= 0)",
                  "xpath": "@value='*' or (normalize-space(@value)!='' and normalize-space(translate(@value, '0123456789',''))='')"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OMC.10"
                },
                {
                  "identity": "rim",
                  "map": "N/A (MIF territory)"
                },
                {
                  "identity": "iso11179",
                  "map": "Maximum  size of  data element  values?"
                }
              ]
            },
            {
              "id": "ElementDefinition.base",
              "path": "ElementDefinition.base",
              "short": "Base definition information for tools",
              "definition": "Information about the base definition of the element, provided to make it unnecessary for tools to trace the deviation of the element through the derived and related profiles. This information is provided when the element definition is not the original definition of an element - i.g. either in a constraint on another type, or for elements from a super type in a snap shot.",
              "comment": "The base information does not carry any information that could not be determined from the path and related profiles, but making this determination requires both that the related profiles are available, and that the algorithm to determine them be available. So they are deformalised into this location for tooling convenience, and to ensure that the base information is available without dependencies.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "ElementDefinition.base",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Element"
                }
              ],
              "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",
                  "source": "Element"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A (MIF territory)"
                },
                {
                  "identity": "iso11179",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ElementDefinition.base.id",
              "path": "ElementDefinition.base.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ElementDefinition.base.extension",
              "path": "ElementDefinition.base.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ElementDefinition.base.path",
              "path": "ElementDefinition.base.path",
              "short": "Path that identifies the base element",
              "definition": "The Path that identifies the base element - this matches the ElementDefinition.path for that element. Across FHIR, there is only one base definition of any element - that is, an element definition on a [StructureDefinition](structuredefinition.html#) without a StructureDefinition.base.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "ElementDefinition.base.path",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A (MIF territory)"
                },
                {
                  "identity": "iso11179",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ElementDefinition.base.min",
              "path": "ElementDefinition.base.min",
              "short": "Min cardinality of the base element",
              "definition": "Minimum cardinality of the base element identified by the path.",
              "comment": "This is provided for consistency with max, and may affect code generation of mandatory elements of the base resource are generated differently (some reference implementations have done this).",
              "min": 1,
              "max": "1",
              "base": {
                "path": "ElementDefinition.base.min",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "unsignedInt"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A (MIF territory)"
                },
                {
                  "identity": "iso11179",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ElementDefinition.base.max",
              "path": "ElementDefinition.base.max",
              "short": "Max cardinality of the base element",
              "definition": "Maximum cardinality of the base element identified by the path.",
              "comment": "This is provided to code generation, since the serialization representation in JSON differs depending on whether the base element has max > 1. Also, some forms of code generation may differ.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "ElementDefinition.base.max",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A (MIF territory)"
                },
                {
                  "identity": "iso11179",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ElementDefinition.contentReference",
              "path": "ElementDefinition.contentReference",
              "short": "Reference to definition of content for the element",
              "definition": "Identifies the identity of an element defined elsewhere in the profile whose content rules should be applied to the current element.",
              "min": 0,
              "max": "0",
              "base": {
                "path": "ElementDefinition.contentReference",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "condition": [
                "eld-5"
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "ElementDefinition.type",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                  "valueString": "TypeRef"
                }
              ],
              "path": "ElementDefinition.type",
              "short": "Data type and Profile for this element",
              "definition": "The data type or resource that the value of this element is permitted to be.",
              "comment": "The Type of the element can be left blank in a differential constraint, in which case the type is inherited from the resource. Abstract types are not permitted to appear as a type when multiple types are listed.  (I.e. Abstract types cannot be part of a choice).",
              "min": 0,
              "max": "*",
              "base": {
                "path": "ElementDefinition.type",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Element"
                }
              ],
              "condition": [
                "eld-13"
              ],
              "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",
                  "source": "Element"
                },
                {
                  "key": "eld-4",
                  "severity": "error",
                  "human": "Aggregation may only be specified if one of the allowed types for the element is a resource",
                  "expression": "aggregation.empty() or (code = 'Reference')",
                  "xpath": "not(exists(f:aggregation)) or exists(f:code[@value = 'Reference'])",
                  "source": "ElementDefinition.type"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "dex",
                  "map": "valueDomain.dataType"
                },
                {
                  "identity": "v2",
                  "map": "OM1.3, OMC.9"
                },
                {
                  "identity": "rim",
                  "map": "N/A (MIF territory)"
                },
                {
                  "identity": "iso11179",
                  "map": ".domain.data+Q14type"
                },
                {
                  "identity": "loinc",
                  "map": "HL7_V2_DATATYPE (translation required), HL7_V3_DATATYPE (translation required)"
                }
              ]
            },
            {
              "id": "ElementDefinition.type.id",
              "path": "ElementDefinition.type.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ElementDefinition.type.extension",
              "path": "ElementDefinition.type.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ElementDefinition.type.code",
              "path": "ElementDefinition.type.code",
              "short": "Data type or Resource (reference to definition)",
              "definition": "URL of Data type or Resource that is a(or the) type used for this element. References are URLs that are relative to http://hl7.org/fhir/StructureDefinition e.g. \"string\" is a reference to http://hl7.org/fhir/StructureDefinition/string. Absolute URLs are only allowed in logical models.",
              "comment": "If the element is a reference to another resource, this element contains \"Reference\", and the targetProfile element defines what resources can be referenced. The targetProfile may be a reference to the general definition of a resource (e.g. http://hl7.org/fhir/StructureDefinition/Patient). There would be one pair of type/code for each allowed target resource type.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "ElementDefinition.type.code",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "FHIRDefinedTypeExt"
                  }
                ],
                "strength": "extensible",
                "description": "Either a resource or a data type, including logical model types",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/defined-types"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OM1.3"
                },
                {
                  "identity": "rim",
                  "map": "N/A (MIF territory)"
                },
                {
                  "identity": "iso11179",
                  "map": ".domain.data+Q14type"
                },
                {
                  "identity": "loinc",
                  "map": "HL7_V2_DATATYPE (translation required), HL7_V3_DATATYPE (translation required)"
                }
              ]
            },
            {
              "id": "ElementDefinition.type.profile",
              "path": "ElementDefinition.type.profile",
              "short": "Profile (StructureDefinition) to apply (or IG)",
              "definition": "Identifies a profile structure or implementation Guide that SHALL hold for the datatype this element refers to. Can be a local reference - to a contained StructureDefinition, or a reference to another StructureDefinition or Implementation Guide by a canonical URL. When an implementation guide is specified, the resource SHALL conform to at least one profile defined in the implementation guide.",
              "min": 0,
              "max": "0",
              "base": {
                "path": "ElementDefinition.type.profile",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A (MIF territory)"
                },
                {
                  "identity": "iso11179",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ElementDefinition.type.targetProfile",
              "path": "ElementDefinition.type.targetProfile",
              "short": "Profile (StructureDefinition) to apply to reference target (or IG)",
              "definition": "Identifies a profile structure or implementation Guide that SHALL hold for the target of the reference this element refers to. Can be a local reference - to a contained StructureDefinition, or a reference to another StructureDefinition or Implementation Guide by a canonical URL. When an implementation guide is specified, the resource SHALL conform to at least one profile defined in the implementation guide.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "ElementDefinition.type.targetProfile",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A (MIF territory)"
                },
                {
                  "identity": "iso11179",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ElementDefinition.type.aggregation",
              "path": "ElementDefinition.type.aggregation",
              "short": "contained | referenced | bundled - how aggregated",
              "definition": "If the type is a reference to another resource, how the resource is or can be aggregated - is it a contained resource, or a reference, and if the context is a bundle, is it included in the bundle.",
              "min": 0,
              "max": "0",
              "base": {
                "path": "ElementDefinition.type.aggregation",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "condition": [
                "eld-4"
              ],
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "AggregationMode"
                  }
                ],
                "strength": "required",
                "description": "How resource references can be aggregated.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/resource-aggregation-mode"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A (MIF territory)"
                },
                {
                  "identity": "iso11179",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ElementDefinition.type.versioning",
              "path": "ElementDefinition.type.versioning",
              "short": "either | independent | specific",
              "definition": "Whether this reference needs to be version specific or version independent, or whether either can be used.",
              "comment": "The base specification never makes a rule as to which form is allowed, but implementation guides may do this.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "ElementDefinition.type.versioning",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "defaultValueCode": "either",
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ReferenceVersionRules"
                  }
                ],
                "strength": "required",
                "description": "Whether a reference needs to be version specific or version independent, or whether either can be used",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/reference-version-rules"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A (MIF territory)"
                }
              ]
            },
            {
              "id": "ElementDefinition.defaultValue[x]",
              "path": "ElementDefinition.defaultValue[x]",
              "short": "Specified value if missing from instance",
              "definition": "The value that should be used if there is no value stated in the instance (e.g. 'if not otherwise specified, the abstract is false').",
              "comment": "Default values can only be specified on a resource, data type, or extension definition, and never in a profile that applies to one of these. Specifying a default value means that the property can never been unknown - it must always have a value. Further, the default value can never be changed. For these reasons, default values are (and should be) used extremely sparingly.\r\n  This element should only be used on child elements of complex data elements.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "ElementDefinition.defaultValue[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "base64Binary"
                },
                {
                  "code": "boolean"
                },
                {
                  "code": "code"
                },
                {
                  "code": "date"
                },
                {
                  "code": "dateTime"
                },
                {
                  "code": "decimal"
                },
                {
                  "code": "id"
                },
                {
                  "code": "instant"
                },
                {
                  "code": "integer"
                },
                {
                  "code": "markdown"
                },
                {
                  "code": "oid"
                },
                {
                  "code": "positiveInt"
                },
                {
                  "code": "string"
                },
                {
                  "code": "time"
                },
                {
                  "code": "unsignedInt"
                },
                {
                  "code": "uri"
                },
                {
                  "code": "Address"
                },
                {
                  "code": "Age"
                },
                {
                  "code": "Annotation"
                },
                {
                  "code": "Attachment"
                },
                {
                  "code": "CodeableConcept"
                },
                {
                  "code": "Coding"
                },
                {
                  "code": "ContactPoint"
                },
                {
                  "code": "Count"
                },
                {
                  "code": "Distance"
                },
                {
                  "code": "Duration"
                },
                {
                  "code": "HumanName"
                },
                {
                  "code": "Identifier"
                },
                {
                  "code": "Money"
                },
                {
                  "code": "Period"
                },
                {
                  "code": "Quantity"
                },
                {
                  "code": "Range"
                },
                {
                  "code": "Ratio"
                },
                {
                  "code": "Reference"
                },
                {
                  "code": "SampledData"
                },
                {
                  "code": "Signature"
                },
                {
                  "code": "Timing"
                },
                {
                  "code": "Meta"
                }
              ],
              "condition": [
                "eld-15"
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A (MIF territory)"
                }
              ]
            },
            {
              "id": "ElementDefinition.meaningWhenMissing",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "ElementDefinition.meaningWhenMissing",
              "short": "Implicit meaning when this element is missing",
              "definition": "The Implicit meaning that is to be understood when this element is missing (e.g. 'when this element is missing, the period is ongoing'.",
              "comment": "Implicit meanings for missing values can only be specified on a resource, data type, or extension definition, and never in a profile that applies to one of these. An implicit meaning for a missing value can never be changed, and specifying one has the consequence that constraining its use in profiles eliminates use cases as possibilities, not merely moving them out of scope.\r\n  This element should only be used on child elements of complex data elements.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "ElementDefinition.meaningWhenMissing",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "markdown"
                }
              ],
              "condition": [
                "eld-15"
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A (MIF territory)"
                }
              ]
            },
            {
              "id": "ElementDefinition.orderMeaning",
              "path": "ElementDefinition.orderMeaning",
              "short": "What the order of the elements means",
              "definition": "If present, indicates that the order of the repeating element has meaning and describes what that meaning is.  If absent, it means that the order of the element has no meaning.",
              "comment": "This element can only be asserted on repeating elements and can only be introduced when defining resources or data types.  It can be further refined profiled elements but if absent in the base type, a profile cannot assert meaning.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "ElementDefinition.orderMeaning",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A (MIF territory)"
                }
              ]
            },
            {
              "id": "ElementDefinition.fixed[x]",
              "path": "ElementDefinition.fixed[x]",
              "short": "Value must be exactly this",
              "definition": "Specifies a value that SHALL be exactly the value  for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.",
              "comment": "This is not recommended for Coding and CodeableConcept since these often have highly contextual properties such as version or display.",
              "min": 0,
              "max": "0",
              "base": {
                "path": "ElementDefinition.fixed[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "base64Binary"
                },
                {
                  "code": "boolean"
                },
                {
                  "code": "code"
                },
                {
                  "code": "date"
                },
                {
                  "code": "dateTime"
                },
                {
                  "code": "decimal"
                },
                {
                  "code": "id"
                },
                {
                  "code": "instant"
                },
                {
                  "code": "integer"
                },
                {
                  "code": "markdown"
                },
                {
                  "code": "oid"
                },
                {
                  "code": "positiveInt"
                },
                {
                  "code": "string"
                },
                {
                  "code": "time"
                },
                {
                  "code": "unsignedInt"
                },
                {
                  "code": "uri"
                },
                {
                  "code": "Address"
                },
                {
                  "code": "Age"
                },
                {
                  "code": "Annotation"
                },
                {
                  "code": "Attachment"
                },
                {
                  "code": "CodeableConcept"
                },
                {
                  "code": "Coding"
                },
                {
                  "code": "ContactPoint"
                },
                {
                  "code": "Count"
                },
                {
                  "code": "Distance"
                },
                {
                  "code": "Duration"
                },
                {
                  "code": "HumanName"
                },
                {
                  "code": "Identifier"
                },
                {
                  "code": "Money"
                },
                {
                  "code": "Period"
                },
                {
                  "code": "Quantity"
                },
                {
                  "code": "Range"
                },
                {
                  "code": "Ratio"
                },
                {
                  "code": "Reference"
                },
                {
                  "code": "SampledData"
                },
                {
                  "code": "Signature"
                },
                {
                  "code": "Timing"
                },
                {
                  "code": "Meta"
                }
              ],
              "condition": [
                "eld-5",
                "eld-6",
                "eld-8"
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A (MIF territory)"
                },
                {
                  "identity": "iso11179",
                  "map": "N/A (only relevant when constraining, which 11179 doesn't do)"
                }
              ]
            },
            {
              "id": "ElementDefinition.pattern[x]",
              "path": "ElementDefinition.pattern[x]",
              "short": "Value must have at least these property values",
              "definition": "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example.  The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.).",
              "comment": "Mostly used for fixing values of CodeableConcept. At present, pattern[x] is not recommended as a basis for slicing while issues related to this are investigated during the STU period.",
              "min": 0,
              "max": "0",
              "base": {
                "path": "ElementDefinition.pattern[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "base64Binary"
                },
                {
                  "code": "boolean"
                },
                {
                  "code": "code"
                },
                {
                  "code": "date"
                },
                {
                  "code": "dateTime"
                },
                {
                  "code": "decimal"
                },
                {
                  "code": "id"
                },
                {
                  "code": "instant"
                },
                {
                  "code": "integer"
                },
                {
                  "code": "markdown"
                },
                {
                  "code": "oid"
                },
                {
                  "code": "positiveInt"
                },
                {
                  "code": "string"
                },
                {
                  "code": "time"
                },
                {
                  "code": "unsignedInt"
                },
                {
                  "code": "uri"
                },
                {
                  "code": "Address"
                },
                {
                  "code": "Age"
                },
                {
                  "code": "Annotation"
                },
                {
                  "code": "Attachment"
                },
                {
                  "code": "CodeableConcept"
                },
                {
                  "code": "Coding"
                },
                {
                  "code": "ContactPoint"
                },
                {
                  "code": "Count"
                },
                {
                  "code": "Distance"
                },
                {
                  "code": "Duration"
                },
                {
                  "code": "HumanName"
                },
                {
                  "code": "Identifier"
                },
                {
                  "code": "Money"
                },
                {
                  "code": "Period"
                },
                {
                  "code": "Quantity"
                },
                {
                  "code": "Range"
                },
                {
                  "code": "Ratio"
                },
                {
                  "code": "Reference"
                },
                {
                  "code": "SampledData"
                },
                {
                  "code": "Signature"
                },
                {
                  "code": "Timing"
                },
                {
                  "code": "Meta"
                }
              ],
              "condition": [
                "eld-5",
                "eld-7",
                "eld-8"
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A (MIF territory)"
                }
              ]
            },
            {
              "id": "ElementDefinition.example",
              "path": "ElementDefinition.example",
              "short": "Example value (as defined for type)",
              "definition": "A sample value for this element demonstrating the type of information that would typically be found in the element.",
              "comment": "Examples will most commonly be present for data where it's not implicitly obvious from either the data type or value set what the values might be.  (I.e. Example values for dates or quantities would generally be unnecessary.)  If the example value is fully populated, the publication tool can generate an instance automatically.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "ElementDefinition.example",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Element"
                }
              ],
              "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",
                  "source": "Element"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A (MIF territory)"
                }
              ]
            },
            {
              "id": "ElementDefinition.example.id",
              "path": "ElementDefinition.example.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ElementDefinition.example.extension",
              "path": "ElementDefinition.example.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ElementDefinition.example.label",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "ElementDefinition.example.label",
              "short": "Describes the purpose of this example",
              "definition": "Describes the purpose of this example amoung the set of examples.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "ElementDefinition.example.label",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A (MIF territory)"
                }
              ]
            },
            {
              "id": "ElementDefinition.example.value[x]",
              "path": "ElementDefinition.example.value[x]",
              "short": "Value of Example (one of allowed types)",
              "definition": "The actual value for the element, which must be one of the types allowed for this element.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "ElementDefinition.example.value[x]",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "base64Binary"
                },
                {
                  "code": "boolean"
                },
                {
                  "code": "code"
                },
                {
                  "code": "date"
                },
                {
                  "code": "dateTime"
                },
                {
                  "code": "decimal"
                },
                {
                  "code": "id"
                },
                {
                  "code": "instant"
                },
                {
                  "code": "integer"
                },
                {
                  "code": "markdown"
                },
                {
                  "code": "oid"
                },
                {
                  "code": "positiveInt"
                },
                {
                  "code": "string"
                },
                {
                  "code": "time"
                },
                {
                  "code": "unsignedInt"
                },
                {
                  "code": "uri"
                },
                {
                  "code": "Address"
                },
                {
                  "code": "Age"
                },
                {
                  "code": "Annotation"
                },
                {
                  "code": "Attachment"
                },
                {
                  "code": "CodeableConcept"
                },
                {
                  "code": "Coding"
                },
                {
                  "code": "ContactPoint"
                },
                {
                  "code": "Count"
                },
                {
                  "code": "Distance"
                },
                {
                  "code": "Duration"
                },
                {
                  "code": "HumanName"
                },
                {
                  "code": "Identifier"
                },
                {
                  "code": "Money"
                },
                {
                  "code": "Period"
                },
                {
                  "code": "Quantity"
                },
                {
                  "code": "Range"
                },
                {
                  "code": "Ratio"
                },
                {
                  "code": "Reference"
                },
                {
                  "code": "SampledData"
                },
                {
                  "code": "Signature"
                },
                {
                  "code": "Timing"
                },
                {
                  "code": "Meta"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A (MIF territory)"
                },
                {
                  "identity": "iso11179",
                  "map": ".example"
                },
                {
                  "identity": "loinc",
                  "map": "EXMPL_ANSWERS"
                }
              ]
            },
            {
              "id": "ElementDefinition.minValue[x]",
              "path": "ElementDefinition.minValue[x]",
              "short": "Minimum Allowed Value (for some types)",
              "definition": "The minimum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity.",
              "comment": "Except for date/date/instant, the type of the minValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of minValue[x] SHALL be either the same, or a a [Duration](datatypes.html#duration) which specifies a relative time limit to the current time. The duration value is positive, and is subtracted from the current clock to determine the minimum allowable value.   A minimum value for a Quantity is interpreted as an canonical minimum - e.g. you cannot provide 100mg if the minimum value is 10g.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "ElementDefinition.minValue[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "date"
                },
                {
                  "code": "dateTime"
                },
                {
                  "code": "instant"
                },
                {
                  "code": "time"
                },
                {
                  "code": "decimal"
                },
                {
                  "code": "integer"
                },
                {
                  "code": "positiveInt"
                },
                {
                  "code": "unsignedInt"
                },
                {
                  "code": "Quantity"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A (MIF territory)"
                }
              ]
            },
            {
              "id": "ElementDefinition.maxValue[x]",
              "path": "ElementDefinition.maxValue[x]",
              "short": "Maximum Allowed Value (for some types)",
              "definition": "The maximum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity.",
              "comment": "Except for date/date/instant, the type of the maxValue[x] SHALL be the same as the specified type of the element. For the date/dateTime/instant values, the type of maxValue[x] SHALL be either the same, or a a [Duration](datatypes.html#duration) which specifies a relative time limit to the current time. The duration value is positive, and is added to the current clock to determine the maximum allowable value.   A maximum value for a Quantity is interpreted as an canonical maximum - e.g. you cannot provide 10g if the maximum value is 50mg.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "ElementDefinition.maxValue[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "date"
                },
                {
                  "code": "dateTime"
                },
                {
                  "code": "instant"
                },
                {
                  "code": "time"
                },
                {
                  "code": "decimal"
                },
                {
                  "code": "integer"
                },
                {
                  "code": "positiveInt"
                },
                {
                  "code": "unsignedInt"
                },
                {
                  "code": "Quantity"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A (MIF territory)"
                }
              ]
            },
            {
              "id": "ElementDefinition.maxLength",
              "path": "ElementDefinition.maxLength",
              "short": "Max length for strings",
              "definition": "Indicates the maximum length in characters that is permitted to be present in conformant instances and which is expected to be supported by conformant consumers that support the element.",
              "comment": "Receivers are not required to reject instances that exceed the maximum length.  The full length could be stored.  In some cases, data might be truncated, though truncation should be undertaken with care and an understanding of the consequences of doing so. If not specified, there is no conformance expectation for length support.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "ElementDefinition.maxLength",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "integer"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OMC.12"
                },
                {
                  "identity": "rim",
                  "map": "N/A (MIF territory)"
                },
                {
                  "identity": "iso11179",
                  "map": ".domain.maximum_character_quantity"
                }
              ]
            },
            {
              "id": "ElementDefinition.condition",
              "path": "ElementDefinition.condition",
              "short": "Reference to invariant about presence",
              "definition": "A reference to an invariant that may make additional statements about the cardinality or value in the instance.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "ElementDefinition.condition",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "id"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A (MIF territory)"
                }
              ]
            },
            {
              "id": "ElementDefinition.constraint",
              "path": "ElementDefinition.constraint",
              "short": "Condition that must evaluate to true",
              "definition": "Formal constraints such as co-occurrence and other constraints that can be computationally evaluated within the context of the instance.",
              "comment": "Constraints should be declared on the \"context\" element - the lowest element in the hierarchy that is common to all nodes referenced by the constraint.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "ElementDefinition.constraint",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Element"
                }
              ],
              "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",
                  "source": "Element"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A (MIF territory)"
                },
                {
                  "identity": "iso11179",
                  "map": "??"
                }
              ]
            },
            {
              "id": "ElementDefinition.constraint.id",
              "path": "ElementDefinition.constraint.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ElementDefinition.constraint.extension",
              "path": "ElementDefinition.constraint.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ElementDefinition.constraint.key",
              "path": "ElementDefinition.constraint.key",
              "short": "Target of 'condition' reference above",
              "definition": "Allows identification of which elements have their cardinalities impacted by the constraint.  Will not be referenced for constraints that do not affect cardinality.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "ElementDefinition.constraint.key",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "id"
                }
              ],
              "condition": [
                "eld-14"
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A (MIF territory)"
                }
              ]
            },
            {
              "id": "ElementDefinition.constraint.requirements",
              "path": "ElementDefinition.constraint.requirements",
              "short": "Why this constraint is necessary or appropriate",
              "definition": "Description of why this constraint is necessary or appropriate.",
              "comment": "To be used if the reason for the constraint may not be intuitive to all implementers.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "ElementDefinition.constraint.requirements",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A (MIF territory)"
                }
              ]
            },
            {
              "id": "ElementDefinition.constraint.severity",
              "path": "ElementDefinition.constraint.severity",
              "short": "error | warning",
              "definition": "Identifies the impact constraint violation has on the conformance of the instance.",
              "comment": "This allows constraints to be asserted as \"shall\" (error) and \"should\" (warning).",
              "min": 1,
              "max": "1",
              "base": {
                "path": "ElementDefinition.constraint.severity",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ConstraintSeverity"
                  }
                ],
                "strength": "required",
                "description": "SHALL applications comply with this constraint?",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/constraint-severity"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A (MIF territory)"
                }
              ]
            },
            {
              "id": "ElementDefinition.constraint.human",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "ElementDefinition.constraint.human",
              "short": "Human description of constraint",
              "definition": "Text that can be used to describe the constraint in messages identifying that the constraint has been violated.",
              "comment": "Should be expressed in business terms as much as possible.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "ElementDefinition.constraint.human",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A (MIF territory)"
                }
              ]
            },
            {
              "id": "ElementDefinition.constraint.expression",
              "path": "ElementDefinition.constraint.expression",
              "short": "FHIRPath expression of constraint",
              "definition": "A [FHIRPath](http://hl7.org/fluentpath) expression of constraint that can be executed to see if this constraint is met.",
              "requirements": "Used by validation tooling tests of the validity of the resource.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "ElementDefinition.constraint.expression",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A (MIF territory)"
                }
              ]
            },
            {
              "id": "ElementDefinition.constraint.xpath",
              "path": "ElementDefinition.constraint.xpath",
              "short": "XPath expression of constraint",
              "definition": "An XPath expression of constraint that can be executed to see if this constraint is met.",
              "comment": "Elements SHALL use \"f\" as the namespace prefix for the FHIR namespace, and \"x\" for the xhtml namespace, and SHALL NOT use any other prefixes. \n\nNote: we are considering deprecating the xpath element. Implementer feedback is welcome.",
              "requirements": "Used in Schematron tests of the validity of the resource.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "ElementDefinition.constraint.xpath",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A (MIF territory)"
                }
              ]
            },
            {
              "id": "ElementDefinition.constraint.source",
              "path": "ElementDefinition.constraint.source",
              "short": "Reference to original source of constraint",
              "definition": "A reference to the original source of the constraint, for traceability purposes.",
              "comment": "This is used when, e.g. rendering, where it is not useful to present inherited constraints when rendering the snapshot.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "ElementDefinition.constraint.source",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A (MIF territory)"
                }
              ]
            },
            {
              "id": "ElementDefinition.mustSupport",
              "path": "ElementDefinition.mustSupport",
              "short": "If the element must supported",
              "definition": "If true, implementations that produce or consume resources SHALL provide \"support\" for the element in some meaningful way.  If false, the element may be ignored and not supported.",
              "comment": "\"Something useful\" is context dependent and impossible to describe in the base FHIR specification. For this reason, tue mustSupport flag is never set to true by the FHIR specification itself - it is only set to true in profiles. \n\nThis is done in [Resource Profiles](profiling.html#mustsupport), where the profile labels an element as mustSupport=true. When a profile does this, it SHALL also make clear exactly what kind of \"support\" is required, as this can mean many things.\n\nNote that an element that has the property IsModifier is not necessarily a \"key\" element (e.g. one of the important elements to make use of the resource), nor is it automatically mustSupport - however both of these things are more likely to be true for IsModifier elements than for other elements.",
              "requirements": "Allows a profile to set expectations for system capabilities beyond merely respecting cardinality constraints.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "ElementDefinition.mustSupport",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "boolean"
                }
              ],
              "defaultValueBoolean": false,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A (MIF territory)"
                },
                {
                  "identity": "iso11179",
                  "map": "??"
                }
              ]
            },
            {
              "id": "ElementDefinition.isModifier",
              "path": "ElementDefinition.isModifier",
              "short": "If this modifies the meaning of other elements",
              "definition": "If true, the value of this element affects the interpretation of the element or resource that contains it, and the value of the element cannot be ignored. Typically, this is used for status, negation and qualification codes. The effect of this is that the element cannot be ignored by systems: they SHALL either recognize the element and process it, and/or a pre-determination has been made that it is not relevant to their particular system.",
              "comment": "Only the definition of an element can set IsModifier true - either the specification itself or where an extension is originally defined. Once set, it cannot be changed in derived profiles. An element/extension that has isModifier=true SHOULD also have a minimum cardinality of 1, so that there is no lack of clarity about what to do if it is missing. If it can be missing, the definition SHALL make the meaning of a missing element clear.",
              "requirements": "Allows elements to be introduced into a specification that can't safely be ignored by applications that don't recognize them.",
              "min": 0,
              "max": "0",
              "base": {
                "path": "ElementDefinition.isModifier",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "boolean"
                }
              ],
              "defaultValueBoolean": false,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A (MIF territory)"
                },
                {
                  "identity": "iso11179",
                  "map": "??"
                }
              ]
            },
            {
              "id": "ElementDefinition.isSummary",
              "path": "ElementDefinition.isSummary",
              "short": "Include when _summary = true?",
              "definition": "Whether the element should be included if a client requests a search with the parameter _summary=true.",
              "comment": "Some resources include a set of simple metadata, and some very large data. This element is used to reduce the quantity of data returned in searches. Note that servers may pre-cache summarized resources for optimal performance, so servers may not support per-profile use of the isSummary flag. When a request is made with _summary=true, serailisers only include elements marked as 'isSummary = true'. Other than Attachment.data, all data type properties are included in the summary form. Modifier elements or elements with minimum cardinality = 1 must be marked as summary elements.",
              "requirements": "Allow clients to search through large resources quickly.",
              "min": 0,
              "max": "0",
              "base": {
                "path": "ElementDefinition.isSummary",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "boolean"
                }
              ],
              "defaultValueBoolean": false,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A (MIF territory)"
                },
                {
                  "identity": "iso11179",
                  "map": "??"
                }
              ]
            },
            {
              "id": "ElementDefinition.binding",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                  "valueString": "ElementDefinitionBinding"
                }
              ],
              "path": "ElementDefinition.binding",
              "short": "ValueSet details if this is coded",
              "definition": "Binds to a value set if this element is coded (code, Coding, CodeableConcept, Quantity), or the data types (string, uri).",
              "comment": "For a CodeableConcept, when no codes are allowed - only text, use a binding of strength \"required\" with a description explaining that no coded values are allowed and what sort of information to put in the \"text\" element.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "ElementDefinition.binding",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Element"
                }
              ],
              "condition": [
                "eld-11"
              ],
              "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",
                  "source": "Element"
                },
                {
                  "key": "eld-10",
                  "severity": "error",
                  "human": "provide either a reference or a description (or both)",
                  "expression": "valueSet.exists() or description.exists()",
                  "xpath": "(exists(f:valueSetUri) or exists(f:valueSetReference)) or exists(f:description)"
                },
                {
                  "key": "eld-12",
                  "severity": "error",
                  "human": "ValueSet as a URI SHALL start with http:// or https:// or urn:",
                  "expression": "valueSet.is(uri).not() or valueSet.as(uri).startsWith('http:') or valueSet.as(uri).startsWith('https') or valueSet.as(uri).startsWith('urn:')",
                  "xpath": "not(exists(f:valueSetUri)) or (starts-with(string(f:valueSetUri/@value), 'http:') or starts-with(string(f:valueSetUri/@value), 'https:') or starts-with(string(f:valueSetUri/@value), 'urn:'))"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "v2",
                  "map": "OM3, OMC.11"
                },
                {
                  "identity": "rim",
                  "map": "N/A (MIF territory)"
                },
                {
                  "identity": "iso11179",
                  "map": ".domain"
                },
                {
                  "identity": "loinc",
                  "map": "ANSWER LIST, NORMATIVE ANSWER LIST"
                }
              ]
            },
            {
              "id": "ElementDefinition.binding.id",
              "path": "ElementDefinition.binding.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ElementDefinition.binding.extension",
              "path": "ElementDefinition.binding.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ElementDefinition.binding.strength",
              "path": "ElementDefinition.binding.strength",
              "short": "required | extensible | preferred | example",
              "definition": "Indicates the degree of conformance expectations associated with this binding - that is, the degree to which the provided value set must be adhered to in the instances.",
              "comment": "For further discussion, see [Using Terminologies](terminologies.html).",
              "alias": [
                "conformance",
                "extensibility"
              ],
              "min": 1,
              "max": "1",
              "base": {
                "path": "ElementDefinition.binding.strength",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "BindingStrength"
                  },
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                    "valueBoolean": true
                  }
                ],
                "strength": "required",
                "description": "Indication of the degree of conformance expectations associated with a binding.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/binding-strength"
                }
              },
              "mapping": [
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": "N/A (MIF territory)"
                },
                {
                  "identity": "loinc",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "ElementDefinition.binding.description",
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
                  "valueBoolean": true
                }
              ],
              "path": "ElementDefinition.binding.description",
              "short": "Human explanation of the value set",
              "definition": "Describes the intended use of this particular set of codes.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "ElementDefinition.binding.description",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "condition": [
                "eld-10"
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A (MIF territory)"
                },
                {
                  "identity": "iso11179",
                  "map": ".domain.description"
                }
              ]
            },
            {
              "id": "ElementDefinition.binding.valueSet[x]",
              "path": "ElementDefinition.binding.valueSet[x]",
              "short": "Source of value set",
              "definition": "Points to the value set or external definition (e.g. implicit value set) that identifies the set of codes to be used. If the binding refers to an explicit value set - the normal case - then use a Reference(ValueSet) preferably containing the canonical URL for the value set. If the reference is to an implicit value set - usually, an IETF RFC that defines a grammar, such as mime types - then use a uri.",
              "comment": "For value sets with a referenceResource, the display can contain the value set description.  The reference may be version-specific or not.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "ElementDefinition.binding.valueSet[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ValueSet"
                }
              ],
              "condition": [
                "eld-10",
                "eld-12"
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "dex",
                  "map": "valueDomain.valueSet"
                },
                {
                  "identity": "rim",
                  "map": "N/A (MIF territory)"
                },
                {
                  "identity": "iso11179",
                  "map": "points to explicit list or expression that evaluates to list of (Enumerated_Value_Domain).member"
                },
                {
                  "identity": "loinc",
                  "map": "CODE_TABLE"
                }
              ]
            },
            {
              "id": "ElementDefinition.mapping",
              "path": "ElementDefinition.mapping",
              "short": "Map element to another set of definitions",
              "definition": "Identifies a concept from an external specification that roughly corresponds to this element.",
              "comment": "Mappings are not necessarily specific enough for safe translation.",
              "requirements": "Provides guidance to implementers familiar with or converting content from other specifications.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "ElementDefinition.mapping",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Element"
                }
              ],
              "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",
                  "source": "Element"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "dex",
                  "map": "mappingSpecification"
                },
                {
                  "identity": "rim",
                  "map": "N/A (MIF territory)"
                },
                {
                  "identity": "iso11179",
                  "map": "Registered_item).document_reference[document_type=mapping]  Also, .meaning linkage to Data_Element_Concept is done as a mapping to a reference model.  (Data_Element_Concepts are all defined in some sort of reference model, be that Object_Class and Property or some other mechanism)"
                }
              ]
            },
            {
              "id": "ElementDefinition.mapping.id",
              "path": "ElementDefinition.mapping.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ElementDefinition.mapping.extension",
              "path": "ElementDefinition.mapping.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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "ElementDefinition.mapping.identity",
              "path": "ElementDefinition.mapping.identity",
              "short": "Reference to mapping declaration",
              "definition": "An internal reference to the definition of a mapping.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "ElementDefinition.mapping.identity",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "id"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A (MIF territory)"
                }
              ]
            },
            {
              "id": "ElementDefinition.mapping.language",
              "path": "ElementDefinition.mapping.language",
              "short": "Computable language of mapping",
              "definition": "Identifies the computable language in which mapping.map is expressed.",
              "comment": "If omitted, then there can be no expectation of computational interpretation of the mapping.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "ElementDefinition.mapping.language",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "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 (MIF territory)"
                }
              ]
            },
            {
              "id": "ElementDefinition.mapping.map",
              "path": "ElementDefinition.mapping.map",
              "short": "Details of the mapping",
              "definition": "Expresses what part of the target specification corresponds to this element.",
              "comment": "For most mappings, the syntax is undefined.  Syntax will be provided for mappings to the RIM.  Multiple mappings may be possible and may include constraints on other resource elements that identify when a particular mapping applies.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "ElementDefinition.mapping.map",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A (MIF territory)"
                },
                {
                  "identity": "iso11179",
                  "map": "ObjectClass, Property (this is one possible data model that can be mapped to - the uri would identify the data model  mappingSpecification.mappingScript"
                }
              ]
            },
            {
              "id": "ElementDefinition.mapping.comment",
              "path": "ElementDefinition.mapping.comment",
              "short": "Comments about the mapping or its use",
              "definition": "Comments that provide information about the mapping or its use.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "ElementDefinition.mapping.comment",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A (MIF territory)"
                }
              ]
            }
          ]
        },
        "differential": {
          "element": [
            {
              "id": "ElementDefinition",
              "path": "ElementDefinition",
              "min": 0,
              "max": "*"
            },
            {
              "id": "ElementDefinition.extension:question",
              "path": "ElementDefinition.extension",
              "sliceName": "Question",
              "min": 0,
              "max": "*",
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/elementdefinition-question"
                }
              ]
            },
            {
              "id": "ElementDefinition.extension:allowedunits",
              "path": "ElementDefinition.extension",
              "sliceName": "AllowedUnits",
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/elementdefinition-allowedUnits"
                }
              ]
            },
            {
              "id": "ElementDefinition.representation",
              "path": "ElementDefinition.representation",
              "min": 0,
              "max": "0"
            },
            {
              "id": "ElementDefinition.slicing",
              "path": "ElementDefinition.slicing",
              "min": 0,
              "max": "0"
            },
            {
              "id": "ElementDefinition.short",
              "path": "ElementDefinition.short",
              "min": 0,
              "max": "0"
            },
            {
              "id": "ElementDefinition.contentReference",
              "path": "ElementDefinition.contentReference",
              "min": 0,
              "max": "0"
            },
            {
              "id": "ElementDefinition.type",
              "path": "ElementDefinition.type"
            },
            {
              "id": "ElementDefinition.type.profile",
              "path": "ElementDefinition.type.profile",
              "min": 0,
              "max": "0"
            },
            {
              "id": "ElementDefinition.type.aggregation",
              "path": "ElementDefinition.type.aggregation",
              "min": 0,
              "max": "0"
            },
            {
              "id": "ElementDefinition.defaultValue[x]",
              "path": "ElementDefinition.defaultValue[x]",
              "comment": "...  This element should only be used on child elements of complex data elements."
            },
            {
              "id": "ElementDefinition.meaningWhenMissing",
              "path": "ElementDefinition.meaningWhenMissing",
              "comment": "...  This element should only be used on child elements of complex data elements."
            },
            {
              "id": "ElementDefinition.fixed[x]",
              "path": "ElementDefinition.fixed[x]",
              "min": 0,
              "max": "0"
            },
            {
              "id": "ElementDefinition.pattern[x]",
              "path": "ElementDefinition.pattern[x]",
              "min": 0,
              "max": "0"
            },
            {
              "id": "ElementDefinition.isModifier",
              "path": "ElementDefinition.isModifier",
              "min": 0,
              "max": "0"
            },
            {
              "id": "ElementDefinition.isSummary",
              "path": "ElementDefinition.isSummary",
              "min": 0,
              "max": "0"
            }
          ]
        }
      }
    },
    {
      "fullUrl": "http://hl7.org/fhir/StructureDefinition/ehrsrle-auditevent",
      "resource": {
        "resourceType": "StructureDefinition",
        "id": "ehrsrle-auditevent",
        "text": {
          "status": "generated",
          "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">to do</div>"
        },
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
            "valueCode": "ehr"
          }
        ],
        "url": "http://hl7.org/fhir/StructureDefinition/ehrsrle-auditevent",
        "name": "EHRS FM Record Lifecycle Event - Audit Event",
        "status": "draft",
        "experimental": false,
        "date": "2014-12-04",
        "publisher": "Health Level Seven International (Electronic Health Record)",
        "contact": [
          {
            "telecom": [
              {
                "system": "url",
                "value": "http://hl7.org/special/committees/ehr.html"
              }
            ]
          }
        ],
        "description": "Defines the elements to be supported within the AuditEvent resource in order to conform with the Electronic Health Record System Functional Model Record Lifecycle Event standard",
        "fhirVersion": "3.0.1",
        "mapping": [
          {
            "identity": "rim",
            "uri": "http://hl7.org/v3",
            "name": "RIM Mapping"
          },
          {
            "identity": "dicom",
            "uri": "http://nema.org/dicom",
            "name": "DICOM Tag Mapping"
          },
          {
            "identity": "w5",
            "uri": "http://hl7.org/fhir/w5",
            "name": "W5 Mapping"
          },
          {
            "identity": "w3c.prov",
            "uri": "http://www.w3.org/ns/prov",
            "name": "W3C PROV"
          },
          {
            "identity": "fhirprovenance",
            "uri": "http://hl7.org/fhir/provenance",
            "name": "FHIR Provenance"
          }
        ],
        "kind": "resource",
        "abstract": false,
        "type": "AuditEvent",
        "baseDefinition": "http://hl7.org/fhir/StructureDefinition/AuditEvent",
        "derivation": "constraint",
        "snapshot": {
          "element": [
            {
              "id": "AuditEvent",
              "path": "AuditEvent",
              "short": "Event record kept for security purposes",
              "definition": "A record of an event made for purposes of maintaining a security log. Typical uses include detection of intrusion attempts and monitoring for inappropriate usage.",
              "comment": "Based on ATNA (RFC 3881).",
              "min": 0,
              "max": "*",
              "base": {
                "path": "AuditEvent",
                "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)",
                  "source": "DomainResource"
                },
                {
                  "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)",
                  "source": "DomainResource"
                },
                {
                  "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))",
                  "source": "DomainResource"
                },
                {
                  "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))]))",
                  "source": "DomainResource"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Entity. Role, or Act"
                },
                {
                  "identity": "rim",
                  "map": "ControlAct[moodCode=EVN]"
                },
                {
                  "identity": "dicom",
                  "map": "Message"
                },
                {
                  "identity": "w5",
                  "map": "infrastructure.information"
                }
              ]
            },
            {
              "id": "AuditEvent.id",
              "path": "AuditEvent.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "AuditEvent.meta",
              "path": "AuditEvent.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "AuditEvent.implicitRules",
              "path": "AuditEvent.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"
                }
              ],
              "isModifier": true,
              "isSummary": true
            },
            {
              "id": "AuditEvent.language",
              "path": "AuditEvent.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"
                }
              ],
              "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"
                }
              }
            },
            {
              "id": "AuditEvent.text",
              "path": "AuditEvent.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": [
                "dom-1"
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Act.text?"
                }
              ]
            },
            {
              "id": "AuditEvent.contained",
              "path": "AuditEvent.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": "N/A"
                }
              ]
            },
            {
              "id": "AuditEvent.extension",
              "path": "AuditEvent.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "AuditEvent.modifierExtension",
              "path": "AuditEvent.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 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"
                }
              ],
              "isModifier": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "AuditEvent.type",
              "path": "AuditEvent.type",
              "short": "Type/identifier of event",
              "definition": "Identifier for a family of the event.  For example, a menu item, program, rule, policy, function code, application name or URL. It identifies the performed function.",
              "requirements": "This identifies the performed function. For \"Execute\" Event Action Code audit records, this identifies the application function performed.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "AuditEvent.type",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "Coding"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "AuditEventType"
                  }
                ],
                "strength": "extensible",
                "description": "Type of event.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/audit-event-type"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".code (type, subtype and action are pre-coordinated or sent as translations)"
                },
                {
                  "identity": "dicom",
                  "map": "EventId"
                },
                {
                  "identity": "w3c.prov",
                  "map": "Activity"
                },
                {
                  "identity": "w5",
                  "map": "what"
                }
              ]
            },
            {
              "id": "AuditEvent.subtype",
              "path": "AuditEvent.subtype",
              "short": "More specific type/id for the event",
              "definition": "Identifier for the category of event.",
              "requirements": "This field enables queries of messages by implementation-defined event categories.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "AuditEvent.subtype",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Coding"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "AuditEventSubType"
                  }
                ],
                "strength": "extensible",
                "description": "Sub-type of event.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/audit-event-sub-type"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".code (type, subtype and action are pre-coordinated or sent as translations)"
                },
                {
                  "identity": "dicom",
                  "map": "EventTypeCode"
                },
                {
                  "identity": "w5",
                  "map": "what"
                }
              ]
            },
            {
              "id": "AuditEvent.action",
              "path": "AuditEvent.action",
              "short": "Type of action performed during the event",
              "definition": "Indicator for type of action performed during the event that generated the audit.",
              "requirements": "This broadly indicates what kind of action was done on the AuditEvent.entity by the AuditEvent.agent.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "AuditEvent.action",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "AuditEventAction"
                  }
                ],
                "strength": "required",
                "description": "Indicator for type of action performed during the event that generated the event",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/audit-event-action"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".code (type, subtype and action are pre-coordinated or sent as translations)"
                },
                {
                  "identity": "dicom",
                  "map": "EventActionCode"
                },
                {
                  "identity": "w5",
                  "map": "what"
                }
              ]
            },
            {
              "id": "AuditEvent.recorded",
              "path": "AuditEvent.recorded",
              "short": "Time when the event occurred on source",
              "definition": "The time when the event occurred on the source.",
              "comment": "In a distributed system, some sort of common time base (e.g. an NTP [RFC1305] server) is a good implementation tactic.",
              "requirements": "This ties an event to a specific date and time. Security audits typically require a consistent time base (e.g. UTC), to eliminate time-zone issues arising from geographical distribution.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "AuditEvent.recorded",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "instant"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".effectiveTime"
                },
                {
                  "identity": "dicom",
                  "map": "EventDateTime"
                },
                {
                  "identity": "w3c.prov",
                  "map": "Activity.when"
                },
                {
                  "identity": "fhirprovenance",
                  "map": "Provenance.recorded"
                },
                {
                  "identity": "w5",
                  "map": "when.recorded"
                }
              ]
            },
            {
              "id": "AuditEvent.outcome",
              "path": "AuditEvent.outcome",
              "short": "Whether the event succeeded or failed",
              "definition": "Indicates whether the event succeeded or failed.",
              "comment": "In some cases a \"success\" may be partial, for example, an incomplete or interrupted transfer of a radiological study. For the purpose of establishing accountability, these distinctions are not relevant.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "AuditEvent.outcome",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "AuditEventOutcome"
                  }
                ],
                "strength": "required",
                "description": "Indicates whether the event succeeded or failed",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/audit-event-outcome"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".actionNegationInd"
                },
                {
                  "identity": "dicom",
                  "map": "EventOutcomeIndicator"
                },
                {
                  "identity": "w5",
                  "map": "what"
                }
              ]
            },
            {
              "id": "AuditEvent.outcomeDesc",
              "path": "AuditEvent.outcomeDesc",
              "short": "Description of the event outcome",
              "definition": "A free text description of the outcome of the event.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "AuditEvent.outcomeDesc",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=OUT].target.text"
                },
                {
                  "identity": "dicom",
                  "map": "EventOutcomeDescription"
                },
                {
                  "identity": "w5",
                  "map": "what"
                }
              ]
            },
            {
              "id": "AuditEvent.purposeOfEvent",
              "path": "AuditEvent.purposeOfEvent",
              "short": "The purposeOfUse of the event",
              "definition": "The purposeOfUse (reason) that was used during the event being recorded.",
              "comment": "Use AuditEvent.agent.purposeOfUse when you know that it is specific to the agent, otherwise use AuditEvent.purposeOfEvent. For example, during a machine-to-machine transfer it might not be obvious to the audit system who caused the event, but it does know why.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "AuditEvent.purposeOfEvent",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "AuditPurposeOfUse"
                  }
                ],
                "strength": "extensible",
                "description": "The reason the activity took place.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/v3-PurposeOfUse"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": "* .reasonCode [ControlActReason when Act.class = CACT Control Act]\n*.outboundRelationship[typeCode=RSON].target"
                },
                {
                  "identity": "dicom",
                  "map": "EventPurposeOfUse"
                },
                {
                  "identity": "w3c.prov",
                  "map": "Activity.Activity"
                },
                {
                  "identity": "fhirprovenance",
                  "map": "Provenance.reason, Provenance.activity"
                },
                {
                  "identity": "w5",
                  "map": "why"
                }
              ]
            },
            {
              "id": "AuditEvent.agent",
              "path": "AuditEvent.agent",
              "short": "Actor involved in the event",
              "definition": "An actor taking an active role in the event or activity that is logged.",
              "comment": "Several agents may be associated (i.e. have some responsibility for an activity) with an event or activity.\n\nFor example, an activity may be initiated by one user for other users or involve more than one user. However, only one user may be the initiator/requestor for the activity.",
              "requirements": "An agent can be a person, an organization, software, device, or other actors that may be ascribed responsibility.",
              "alias": [
                "ActiveParticipant"
              ],
              "min": 1,
              "max": "*",
              "base": {
                "path": "AuditEvent.agent",
                "min": 1,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                }
              ],
              "mustSupport": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".participation"
                },
                {
                  "identity": "dicom",
                  "map": "ActiveParticipant"
                },
                {
                  "identity": "w3c.prov",
                  "map": "Agent"
                },
                {
                  "identity": "fhirprovenance",
                  "map": "Provenance.agent"
                },
                {
                  "identity": "w5",
                  "map": "who"
                }
              ]
            },
            {
              "id": "AuditEvent.agent.id",
              "path": "AuditEvent.agent.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "AuditEvent.agent.extension",
              "path": "AuditEvent.agent.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "AuditEvent.agent.modifierExtension",
              "path": "AuditEvent.agent.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "AuditEvent.agent.role",
              "path": "AuditEvent.agent.role",
              "short": "Agent role in the event",
              "definition": "The security role that the user was acting under, that come from local codes defined by the access control security system (e.g. RBAC, ABAC) used in the local context.",
              "comment": "Should be roles relevant to the event. Should  not be an exhaustive list of roles.",
              "requirements": "This value ties an audited event to a user's role(s). It is an optional value that might be used to group events for analysis by user functional role categories.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "AuditEvent.agent.role",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "AuditAgentRole"
                  }
                ],
                "strength": "extensible",
                "description": "What security role enabled the agent to participate in the event",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/security-role-type"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".role and/or .typeCode and/or .functionCode"
                },
                {
                  "identity": "dicom",
                  "map": "RoleIdCode"
                },
                {
                  "identity": "w3c.prov",
                  "map": "Agent.Attribution"
                },
                {
                  "identity": "fhirprovenance",
                  "map": "Provenance.agent.role"
                },
                {
                  "identity": "w5",
                  "map": "who"
                }
              ]
            },
            {
              "id": "AuditEvent.agent.reference",
              "path": "AuditEvent.agent.reference",
              "short": "Direct reference to resource",
              "definition": "Direct reference to a resource that identifies the agent.",
              "requirements": "This field ties an audit event to a specific resource.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "AuditEvent.agent.reference",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".id"
                },
                {
                  "identity": "w3c.prov",
                  "map": "Agent.Identity"
                },
                {
                  "identity": "fhirprovenance",
                  "map": "Provenance.agent.actor"
                },
                {
                  "identity": "w5",
                  "map": "who"
                }
              ]
            },
            {
              "id": "AuditEvent.agent.userId",
              "path": "AuditEvent.agent.userId",
              "short": "Unique identifier for the user",
              "definition": "Unique identifier for the user actively participating in the event.",
              "comment": "A unique value within the Audit Source ID. For node-based authentication -- where only the system hardware or process, but not a human user, is identified -- User ID would be the node name.",
              "requirements": "This field ties an audit event to a specific user.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "AuditEvent.agent.userId",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Identifier"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".id"
                },
                {
                  "identity": "dicom",
                  "map": "UserId"
                },
                {
                  "identity": "w3c.prov",
                  "map": "Agent.Identity"
                },
                {
                  "identity": "fhirprovenance",
                  "map": "Provenance.agent.userId"
                },
                {
                  "identity": "w5",
                  "map": "who"
                }
              ]
            },
            {
              "id": "AuditEvent.agent.altId",
              "path": "AuditEvent.agent.altId",
              "short": "Alternative User id e.g. authentication",
              "definition": "Alternative agent Identifier. For a human, this should be a user identifier text string from authentication system. This identifier would be one known to a common authentication system (e.g. single sign-on), if available.",
              "requirements": "In some situations, a human user may authenticate with one identity but, to access a specific application system, may use a synonymous identify. For example, some \"single sign on\" implementations will do this. The alternative identifier would then be the original identify  used for authentication, and the User ID is the one known to and used by the application.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "AuditEvent.agent.altId",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".id (distinguish id type by root)"
                },
                {
                  "identity": "dicom",
                  "map": "AlternativeUserId"
                },
                {
                  "identity": "w3c.prov",
                  "map": "Agent.Identity"
                },
                {
                  "identity": "w5",
                  "map": "who"
                }
              ]
            },
            {
              "id": "AuditEvent.agent.name",
              "path": "AuditEvent.agent.name",
              "short": "Human-meaningful name for the agent",
              "definition": "Human-meaningful name for the agent.",
              "requirements": "The User ID and Authorization User ID may be internal or otherwise obscure values. This field assists the auditor in identifying the actual user.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "AuditEvent.agent.name",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".name"
                },
                {
                  "identity": "dicom",
                  "map": "UserName"
                },
                {
                  "identity": "w3c.prov",
                  "map": "Agent.Identity"
                },
                {
                  "identity": "w5",
                  "map": "who"
                }
              ]
            },
            {
              "id": "AuditEvent.agent.requestor",
              "path": "AuditEvent.agent.requestor",
              "short": "Whether user is initiator",
              "definition": "Indicator that the user is or is not the requestor, or initiator, for the event being audited.",
              "comment": "There can only be one initiator. If the initiator is not clear, then do not choose any one agent as the initiator.",
              "requirements": "This value is used to distinguish between requestor-users and recipient-users. For example, one person may initiate a report-output to be sent to another user.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "AuditEvent.agent.requestor",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "boolean"
                }
              ],
              "mustSupport": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "If participation.typeCode was author, then true"
                },
                {
                  "identity": "dicom",
                  "map": "UserIsRequestor"
                },
                {
                  "identity": "w5",
                  "map": "who"
                }
              ]
            },
            {
              "id": "AuditEvent.agent.location",
              "path": "AuditEvent.agent.location",
              "short": "Where",
              "definition": "Where the event occurred.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "AuditEvent.agent.location",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
                }
              ],
              "mustSupport": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "* Role.Class =SDLOC\n*Role.Code = ServiceDeliveryLocationRoleType\n *Entity.Code  = PlaceEntityType = df.Types of places for  Entity.Class = PLC\n*EntityClass = PLC = df.A physical place or site with its containing structure. May be natural or man-made. The geographic position of a place may or may not be constant."
                },
                {
                  "identity": "w3c.prov",
                  "map": "Activity.location"
                },
                {
                  "identity": "fhirprovenance",
                  "map": "Provenance.location"
                },
                {
                  "identity": "w5",
                  "map": "where"
                }
              ]
            },
            {
              "id": "AuditEvent.agent.policy",
              "path": "AuditEvent.agent.policy",
              "short": "Policy that authorized event",
              "definition": "The policy or plan that authorized the activity being recorded. Typically, a single activity may have multiple applicable policies, such as patient consent, guarantor funding, etc. The policy would also indicate the security token used.",
              "comment": "For example: Where an OAuth token authorizes, the unique identifier from the OAuth token is placed into the policy element Where a policy engine (e.g. XACML) holds policy logic, the unique policy identifier is placed into the policy element.",
              "requirements": "This value is used retrospectively to determine the authorization policies.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "AuditEvent.agent.policy",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "mustSupport": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "ActPolicyType"
                },
                {
                  "identity": "dicom",
                  "map": "ParticipantRoleIDCode"
                },
                {
                  "identity": "fhirprovenance",
                  "map": "Provenance.policy"
                },
                {
                  "identity": "w5",
                  "map": "why"
                }
              ]
            },
            {
              "id": "AuditEvent.agent.media",
              "path": "AuditEvent.agent.media",
              "short": "Type of media",
              "definition": "Type of media involved. Used when the event is about exporting/importing onto media.",
              "requirements": "Usually, this is used instead of specifying a network address. This field is not used for Media Id (i.e. the serial number of a CD).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "AuditEvent.agent.media",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Coding"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "DICOMMediaType"
                  }
                ],
                "strength": "extensible",
                "description": "Used when the event is about exporting/importing onto media.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/dicm-405-mediatype"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".player.description.mediaType"
                },
                {
                  "identity": "dicom",
                  "map": "MediaType"
                },
                {
                  "identity": "w5",
                  "map": "where"
                }
              ]
            },
            {
              "id": "AuditEvent.agent.network",
              "path": "AuditEvent.agent.network",
              "short": "Logical network location for application activity",
              "definition": "Logical network location for application activity, if the activity has a network location.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "AuditEvent.agent.network",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                }
              ],
              "mustSupport": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".player.description.reference"
                },
                {
                  "identity": "w5",
                  "map": "where"
                }
              ]
            },
            {
              "id": "AuditEvent.agent.network.id",
              "path": "AuditEvent.agent.network.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "AuditEvent.agent.network.extension",
              "path": "AuditEvent.agent.network.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "AuditEvent.agent.network.modifierExtension",
              "path": "AuditEvent.agent.network.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "AuditEvent.agent.network.address",
              "path": "AuditEvent.agent.network.address",
              "short": "Identifier for the network access point of the user device",
              "definition": "An identifier for the network access point of the user device for the audit event.",
              "comment": "This could be a device id, IP address or some other identifier associated with a device.",
              "requirements": "This datum identifies the user's network access point, which may be distinct from the server that performed the action. It is an optional value that may be used to group events recorded on separate servers for analysis of a specific network access point's data access across all servers.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "AuditEvent.agent.network.address",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mustSupport": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "pre-coordinated into URL"
                },
                {
                  "identity": "dicom",
                  "map": "NetworkAccessPointID"
                },
                {
                  "identity": "w3c.prov",
                  "map": "Agent.Location"
                },
                {
                  "identity": "w5",
                  "map": "where"
                }
              ]
            },
            {
              "id": "AuditEvent.agent.network.type",
              "path": "AuditEvent.agent.network.type",
              "short": "The type of network access point",
              "definition": "An identifier for the type of network access point that originated the audit event.",
              "requirements": "This datum identifies the type of network access point identifier of the user device for the audit event. It is an optional value that may be used to group events recorded on separate servers for analysis of access according to a network access point's type.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "AuditEvent.agent.network.type",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "AuditEventAgentNetworkType"
                  }
                ],
                "strength": "required",
                "description": "The type of network access point of this agent in the audit event",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/network-type"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": "pre-coordinated into URL"
                },
                {
                  "identity": "dicom",
                  "map": "NetworkAccessPointTypeCode"
                },
                {
                  "identity": "w5",
                  "map": "where"
                }
              ]
            },
            {
              "id": "AuditEvent.agent.purposeOfUse",
              "path": "AuditEvent.agent.purposeOfUse",
              "short": "Reason given for this user",
              "definition": "The reason (purpose of use), specific to this agent, that was used during the event being recorded.",
              "comment": "Use AuditEvent.agent.purposeOfUse when you know that is specific to the agent, otherwise use AuditEvent.purposeOfEvent. For example, during a machine-to-machine transfer it might not be obvious to the audit system who caused the event, but it does know why.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "AuditEvent.agent.purposeOfUse",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "AuditPurposeOfUse"
                  }
                ],
                "strength": "extensible",
                "description": "The reason the activity took place.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/v3-PurposeOfUse"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": "*.reasonCode [ActHealthInformationPurposeOfUseReason codes/v:PurposeOfUse\n(2.16.840.1.113883.1.11.20448)\n* .outboundRelationship[typeCode=RSON or SUBJ].target"
                },
                {
                  "identity": "w3c.prov",
                  "map": "Agent.Activity"
                },
                {
                  "identity": "w5",
                  "map": "why"
                }
              ]
            },
            {
              "id": "AuditEvent.source",
              "path": "AuditEvent.source",
              "short": "Audit Event Reporter",
              "definition": "The system that is reporting the event.",
              "comment": "Since multi-tier, distributed, or composite applications make source identification ambiguous, this collection of fields may repeat for each application or process actively involved in the event. For example, multiple value-sets can identify participating web servers, application processes, and database server threads in an n-tier distributed application. Passive event participants (e.g. low-level network transports) need not be identified.",
              "requirements": "The event is reported by one source.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "AuditEvent.source",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                }
              ],
              "mustSupport": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".participation[typeCode=INF].role[classCode=ASSIGN].player[classCode=DEV, determinerCode=INSTANCE]"
                },
                {
                  "identity": "dicom",
                  "map": "AuditSourceIdentification"
                },
                {
                  "identity": "w5",
                  "map": "who.witness"
                }
              ]
            },
            {
              "id": "AuditEvent.source.id",
              "path": "AuditEvent.source.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "AuditEvent.source.extension",
              "path": "AuditEvent.source.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "AuditEvent.source.modifierExtension",
              "path": "AuditEvent.source.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "AuditEvent.source.site",
              "path": "AuditEvent.source.site",
              "short": "Logical source location within the enterprise",
              "definition": "Logical source location within the healthcare enterprise network.  For example, a hospital or other provider location within a multi-entity provider group.",
              "requirements": "This value differentiates among the sites in a multi-site enterprise health information system.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "AuditEvent.source.site",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mustSupport": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".scopedRole[classCode=LOCE].player.desc"
                },
                {
                  "identity": "dicom",
                  "map": "AuditEnterpriseSiteId"
                },
                {
                  "identity": "w5",
                  "map": "who.witness"
                }
              ]
            },
            {
              "id": "AuditEvent.source.identifier",
              "path": "AuditEvent.source.identifier",
              "short": "The identity of source detecting the event",
              "definition": "Identifier of the source where the event was detected.",
              "requirements": "This field ties the event to a specific source system. It may be used to group events for analysis according to where the event was detected.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "AuditEvent.source.identifier",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "Identifier"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".id"
                },
                {
                  "identity": "dicom",
                  "map": "AuditSourceId"
                },
                {
                  "identity": "w5",
                  "map": "who.witness"
                }
              ]
            },
            {
              "id": "AuditEvent.source.type",
              "path": "AuditEvent.source.type",
              "short": "The type of source where event originated",
              "definition": "Code specifying the type of source where event originated.",
              "requirements": "This field indicates which type of source is identified by the Audit Source ID. It is an optional value that may be used to group events for analysis according to the type of source where the event occurred.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "AuditEvent.source.type",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Coding"
                }
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "AuditEventSourceType"
                  }
                ],
                "strength": "extensible",
                "description": "Code specifying the type of system that detected and recorded the event.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/audit-source-type"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".code"
                },
                {
                  "identity": "dicom",
                  "map": "AuditSourceTypeCode"
                },
                {
                  "identity": "w5",
                  "map": "who.witness"
                }
              ]
            },
            {
              "id": "AuditEvent.entity",
              "path": "AuditEvent.entity",
              "short": "Data or objects used",
              "definition": "Specific instances of data or objects that have been accessed.",
              "comment": "Required unless the values for event identification, agent identification, and audit source identification are sufficient to document the entire auditable event. Because events may have more than one entity, this group can be a repeating set of values.",
              "requirements": "The event may have other entities involved.",
              "alias": [
                "ParticipantObject"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "AuditEvent.entity",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "key": "sev-1",
                  "severity": "error",
                  "human": "Either a name or a query (NOT both)",
                  "expression": "name.empty() or query.empty()",
                  "xpath": "not(exists(f:name)) or not(exists(f:query))",
                  "source": "AuditEvent.entity"
                }
              ],
              "mustSupport": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=SUBJ].target  or  .participation[typeCode=SBJ].role"
                },
                {
                  "identity": "dicom",
                  "map": "ParticipantObjectIdentification"
                },
                {
                  "identity": "w3c.prov",
                  "map": "Entity"
                },
                {
                  "identity": "fhirprovenance",
                  "map": "Provenance.target, Provenance.entity"
                },
                {
                  "identity": "w5",
                  "map": "what"
                }
              ]
            },
            {
              "id": "AuditEvent.entity.id",
              "path": "AuditEvent.entity.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "AuditEvent.entity.extension",
              "path": "AuditEvent.entity.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "AuditEvent.entity.modifierExtension",
              "path": "AuditEvent.entity.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "AuditEvent.entity.identifier",
              "path": "AuditEvent.entity.identifier",
              "short": "Specific instance of object",
              "definition": "Identifies a specific instance of the entity. The reference should always be version specific.",
              "comment": "Identifier detail depends on entity type.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "AuditEvent.entity.identifier",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Identifier"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".id.extension"
                },
                {
                  "identity": "dicom",
                  "map": "ParticipantObjectID and ParticipantObjectIDTypeCode"
                },
                {
                  "identity": "w5",
                  "map": "what"
                }
              ]
            },
            {
              "id": "AuditEvent.entity.reference",
              "path": "AuditEvent.entity.reference",
              "short": "Specific instance of resource",
              "definition": "Identifies a specific instance of the entity. The reference should be version specific.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "AuditEvent.entity.reference",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "[self]"
                },
                {
                  "identity": "dicom",
                  "map": "ParticipantObjectID"
                },
                {
                  "identity": "fhirprovenance",
                  "map": "Provenance.target, Provenance.entity.reference"
                },
                {
                  "identity": "w5",
                  "map": "what"
                }
              ]
            },
            {
              "id": "AuditEvent.entity.type",
              "path": "AuditEvent.entity.type",
              "short": "Type of entity involved",
              "definition": "The type of the object that was involved in this audit event.",
              "comment": "This value is distinct from the user's role or any user relationship to the entity.",
              "requirements": "To describe the object being acted upon. In addition to queries on the subject of the action in an auditable event, it is also important to be able to query on the object type for the action.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "AuditEvent.entity.type",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Coding"
                }
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "AuditEventEntityType"
                  }
                ],
                "strength": "extensible",
                "description": "Code for the entity type involved in the audit event",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/audit-entity-type"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": "[self::Act].code or role.player.code"
                },
                {
                  "identity": "dicom",
                  "map": "ParticipantObjectTypeCode"
                },
                {
                  "identity": "w3c.prov",
                  "map": "Entity.type"
                },
                {
                  "identity": "fhirprovenance",
                  "map": "Provenance.entity.type"
                },
                {
                  "identity": "w5",
                  "map": "what"
                }
              ]
            },
            {
              "id": "AuditEvent.entity.role",
              "path": "AuditEvent.entity.role",
              "short": "What role the entity played",
              "definition": "Code representing the role the entity played in the event being audited.",
              "requirements": "For some detailed audit analysis it may be necessary to indicate a more granular type of entity, based on the application role it serves.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "AuditEvent.entity.role",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Coding"
                }
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "AuditEventEntityRole"
                  }
                ],
                "strength": "extensible",
                "description": "Code representing the role the entity played in the audit event",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/object-role"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": "role.code (not sure what this would mean for an Act)"
                },
                {
                  "identity": "dicom",
                  "map": "ParticipantObjectTypeCodeRole"
                },
                {
                  "identity": "w3c.prov",
                  "map": "Entity.role"
                },
                {
                  "identity": "w5",
                  "map": "context"
                }
              ]
            },
            {
              "id": "AuditEvent.entity.lifecycle",
              "path": "AuditEvent.entity.lifecycle",
              "short": "Life-cycle stage for the entity",
              "definition": "Identifier for the data life-cycle stage for the entity.",
              "comment": "This can be used to provide an audit trail for data, over time, as it passes through the system.",
              "requirements": "Institutional policies for privacy and security may optionally fall under different accountability rules based on data life cycle. This provides a differentiating value for those cases.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "AuditEvent.entity.lifecycle",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Coding"
                }
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "AuditEventEntityLifecycle"
                  }
                ],
                "strength": "extensible",
                "description": "Identifier for the data life-cycle stage for the entity",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/object-lifecycle-events"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": "target of ObservationEvent[code=\"lifecycle\"].value"
                },
                {
                  "identity": "dicom",
                  "map": "ParticipantObjectDataLifeCycle"
                },
                {
                  "identity": "w3c.prov",
                  "map": "Entity.role"
                },
                {
                  "identity": "fhirprovenance",
                  "map": "Provenance.entity.role"
                },
                {
                  "identity": "w5",
                  "map": "context"
                }
              ]
            },
            {
              "id": "AuditEvent.entity.securityLabel",
              "path": "AuditEvent.entity.securityLabel",
              "short": "Security labels on the entity",
              "definition": "Security labels for the identified entity.",
              "comment": "Copied from entity meta security tags.",
              "requirements": "This field identifies the security labels for a specific instance of an object, such as a patient, to detect/track privacy and security issues.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "AuditEvent.entity.securityLabel",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Coding"
                }
              ],
              "mustSupport": 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": ".confidentialityCode"
                },
                {
                  "identity": "dicom",
                  "map": "ParticipantObjectSensitivity"
                },
                {
                  "identity": "w5",
                  "map": "context"
                }
              ]
            },
            {
              "id": "AuditEvent.entity.name",
              "path": "AuditEvent.entity.name",
              "short": "Descriptor for entity",
              "definition": "A name of the entity in the audit event.",
              "comment": "This field may be used in a query/report to identify audit events for a specific person.  For example, where multiple synonymous entity identifiers (patient number, medical record number, encounter number, etc.) have been used.",
              "requirements": "Use only where entity can't be identified with an identifier.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "AuditEvent.entity.name",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "condition": [
                "sev-1"
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".title"
                },
                {
                  "identity": "dicom",
                  "map": "ParticipantObjectName"
                },
                {
                  "identity": "w3c.prov",
                  "map": "Entity.Label"
                },
                {
                  "identity": "w5",
                  "map": "context"
                }
              ]
            },
            {
              "id": "AuditEvent.entity.description",
              "path": "AuditEvent.entity.description",
              "short": "Descriptive text",
              "definition": "Text that describes the entity in more detail.",
              "requirements": "Use only where entity can't be identified with an identifier.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "AuditEvent.entity.description",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".text"
                },
                {
                  "identity": "dicom",
                  "map": "ParticipantObjectDescription"
                },
                {
                  "identity": "w5",
                  "map": "context"
                }
              ]
            },
            {
              "id": "AuditEvent.entity.query",
              "path": "AuditEvent.entity.query",
              "short": "Query parameters",
              "definition": "The query parameters for a query-type entities.",
              "requirements": "For query events, it may be necessary to capture the actual query input to the query process in order to identify the specific event. Because of differences among query implementations and data encoding for them, this is a base 64 encoded data blob. It may be subsequently decoded or interpreted by downstream audit analysis processing.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "AuditEvent.entity.query",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "base64Binary"
                }
              ],
              "condition": [
                "sev-1"
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "No mapping"
                },
                {
                  "identity": "dicom",
                  "map": "ParticipantObjectQuery"
                },
                {
                  "identity": "w5",
                  "map": "context"
                }
              ]
            },
            {
              "id": "AuditEvent.entity.detail",
              "path": "AuditEvent.entity.detail",
              "short": "Additional Information about the entity",
              "definition": "Tagged value pairs for conveying additional information about the entity.",
              "requirements": "Implementation-defined data about specific details of the object accessed or used.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "AuditEvent.entity.detail",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".inboundRelationship[typeCode=SUBJ].target[classCode=OBS, moodCode=EVN]"
                },
                {
                  "identity": "dicom",
                  "map": "ParticipantObjectDetail"
                },
                {
                  "identity": "w5",
                  "map": "context"
                }
              ]
            },
            {
              "id": "AuditEvent.entity.detail.id",
              "path": "AuditEvent.entity.detail.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "AuditEvent.entity.detail.extension",
              "path": "AuditEvent.entity.detail.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "AuditEvent.entity.detail.modifierExtension",
              "path": "AuditEvent.entity.detail.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "AuditEvent.entity.detail.type",
              "path": "AuditEvent.entity.detail.type",
              "short": "Name of the property",
              "definition": "The type of extra detail provided in the value.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "AuditEvent.entity.detail.type",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".code"
                },
                {
                  "identity": "dicom",
                  "map": "ParticipantObjectDetail.type"
                },
                {
                  "identity": "w5",
                  "map": "context"
                }
              ]
            },
            {
              "id": "AuditEvent.entity.detail.value",
              "path": "AuditEvent.entity.detail.value",
              "short": "Property value",
              "definition": "The details, base64 encoded. Used to carry bulk information.",
              "comment": "The value is base64 encoded to enable various encodings or binary content.",
              "requirements": "Should not duplicate the entity value unless absolutely necessary.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "AuditEvent.entity.detail.value",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "base64Binary"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".value"
                },
                {
                  "identity": "dicom",
                  "map": "ParticipantObjectDetail.value"
                },
                {
                  "identity": "w5",
                  "map": "context"
                }
              ]
            }
          ]
        },
        "differential": {
          "element": [
            {
              "id": "AuditEvent",
              "path": "AuditEvent",
              "min": 0,
              "max": "*"
            },
            {
              "id": "AuditEvent.type",
              "path": "AuditEvent.type",
              "mustSupport": true
            },
            {
              "id": "AuditEvent.subtype",
              "path": "AuditEvent.subtype",
              "mustSupport": true
            },
            {
              "id": "AuditEvent.action",
              "path": "AuditEvent.action",
              "mustSupport": true
            },
            {
              "id": "AuditEvent.recorded",
              "path": "AuditEvent.recorded",
              "mustSupport": true
            },
            {
              "id": "AuditEvent.purposeOfEvent",
              "path": "AuditEvent.purposeOfEvent",
              "mustSupport": true
            },
            {
              "id": "AuditEvent.agent",
              "path": "AuditEvent.agent",
              "mustSupport": true
            },
            {
              "id": "AuditEvent.agent.role",
              "path": "AuditEvent.agent.role",
              "mustSupport": true
            },
            {
              "id": "AuditEvent.agent.reference",
              "path": "AuditEvent.agent.reference",
              "mustSupport": true
            },
            {
              "id": "AuditEvent.agent.userId",
              "path": "AuditEvent.agent.userId",
              "mustSupport": true
            },
            {
              "id": "AuditEvent.agent.requestor",
              "path": "AuditEvent.agent.requestor",
              "mustSupport": true
            },
            {
              "id": "AuditEvent.agent.location",
              "path": "AuditEvent.agent.location",
              "mustSupport": true
            },
            {
              "id": "AuditEvent.agent.policy",
              "path": "AuditEvent.agent.policy",
              "mustSupport": true
            },
            {
              "id": "AuditEvent.agent.network",
              "path": "AuditEvent.agent.network",
              "mustSupport": true
            },
            {
              "id": "AuditEvent.agent.network.address",
              "path": "AuditEvent.agent.network.address",
              "mustSupport": true
            },
            {
              "id": "AuditEvent.agent.network.type",
              "path": "AuditEvent.agent.network.type",
              "mustSupport": true
            },
            {
              "id": "AuditEvent.agent.purposeOfUse",
              "path": "AuditEvent.agent.purposeOfUse",
              "mustSupport": true
            },
            {
              "id": "AuditEvent.source",
              "path": "AuditEvent.source",
              "mustSupport": true
            },
            {
              "id": "AuditEvent.source.site",
              "path": "AuditEvent.source.site",
              "mustSupport": true
            },
            {
              "id": "AuditEvent.source.identifier",
              "path": "AuditEvent.source.identifier",
              "mustSupport": true
            },
            {
              "id": "AuditEvent.source.type",
              "path": "AuditEvent.source.type",
              "mustSupport": true
            },
            {
              "id": "AuditEvent.entity",
              "path": "AuditEvent.entity",
              "mustSupport": true
            },
            {
              "id": "AuditEvent.entity.identifier",
              "path": "AuditEvent.entity.identifier",
              "mustSupport": true
            },
            {
              "id": "AuditEvent.entity.reference",
              "path": "AuditEvent.entity.reference",
              "mustSupport": true
            },
            {
              "id": "AuditEvent.entity.type",
              "path": "AuditEvent.entity.type",
              "mustSupport": true
            },
            {
              "id": "AuditEvent.entity.role",
              "path": "AuditEvent.entity.role",
              "mustSupport": true
            },
            {
              "id": "AuditEvent.entity.lifecycle",
              "path": "AuditEvent.entity.lifecycle",
              "mustSupport": true
            },
            {
              "id": "AuditEvent.entity.securityLabel",
              "path": "AuditEvent.entity.securityLabel",
              "mustSupport": true
            }
          ]
        }
      }
    },
    {
      "fullUrl": "http://hl7.org/fhir/StructureDefinition/ehrsrle-provenance",
      "resource": {
        "resourceType": "StructureDefinition",
        "id": "ehrsrle-provenance",
        "text": {
          "status": "generated",
          "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">to do</div>"
        },
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
            "valueCode": "ehr"
          }
        ],
        "url": "http://hl7.org/fhir/StructureDefinition/ehrsrle-provenance",
        "name": "EHRS FM Record Lifecycle Event - Provenance",
        "status": "draft",
        "experimental": false,
        "date": "2014-01-31",
        "publisher": "Health Level Seven International (Electronic Health Record)",
        "contact": [
          {
            "telecom": [
              {
                "system": "url",
                "value": "http://hl7.org/special/committees/ehr.html"
              }
            ]
          }
        ],
        "description": "Defines the elements to be supported within the Provenance resource in order to conform with the Electronic Health Record System Functional Model Record Lifecycle Event standard",
        "fhirVersion": "3.0.1",
        "mapping": [
          {
            "identity": "rim",
            "uri": "http://hl7.org/v3",
            "name": "RIM Mapping"
          },
          {
            "identity": "w3c.prov",
            "uri": "http://www.w3.org/ns/prov",
            "name": "W3C PROV"
          },
          {
            "identity": "w5",
            "uri": "http://hl7.org/fhir/w5",
            "name": "W5 Mapping"
          },
          {
            "identity": "fhirauditevent",
            "uri": "http://hl7.org/fhir/auditevent",
            "name": "FHIR AuditEvent"
          }
        ],
        "kind": "resource",
        "abstract": false,
        "type": "Provenance",
        "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Provenance",
        "derivation": "constraint",
        "snapshot": {
          "element": [
            {
              "id": "Provenance",
              "path": "Provenance",
              "short": "Who, What, When for a set of resources",
              "definition": "Provenance of a resource is a record that describes entities and processes involved in producing and delivering or otherwise influencing that resource. Provenance provides a critical foundation for assessing authenticity, enabling trust, and allowing reproducibility. Provenance assertions are a form of contextual metadata and can themselves become important records with their own provenance. Provenance statement indicates clinical significance in terms of confidence in authenticity, reliability, and trustworthiness, integrity, and stage in lifecycle (e.g. Document Completion - has the artifact been legally authenticated), all of which may impact security, privacy, and trust policies.",
              "comment": "Some parties may be duplicated between the target resource and its provenance.  For instance, the prescriber is usually (but not always) the author of the prescription resource. This resource is defined with close consideration for W3C Provenance.",
              "alias": [
                "History",
                "Event",
                "Activity"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "Provenance",
                "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)",
                  "source": "DomainResource"
                },
                {
                  "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)",
                  "source": "DomainResource"
                },
                {
                  "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))",
                  "source": "DomainResource"
                },
                {
                  "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))]))",
                  "source": "DomainResource"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Entity. Role, or Act"
                },
                {
                  "identity": "rim",
                  "map": "ControlAct[isNormalAct() and subsumes(CACT, classCode) and moodCode=EVN]"
                },
                {
                  "identity": "w3c.prov",
                  "map": "Activity"
                },
                {
                  "identity": "w5",
                  "map": "infrastructure.information"
                }
              ]
            },
            {
              "id": "Provenance.id",
              "path": "Provenance.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "Provenance.meta",
              "path": "Provenance.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "Provenance.implicitRules",
              "path": "Provenance.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"
                }
              ],
              "isModifier": true,
              "isSummary": true
            },
            {
              "id": "Provenance.language",
              "path": "Provenance.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"
                }
              ],
              "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"
                }
              }
            },
            {
              "id": "Provenance.text",
              "path": "Provenance.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": [
                "dom-1"
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Act.text?"
                }
              ]
            },
            {
              "id": "Provenance.contained",
              "path": "Provenance.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": "N/A"
                }
              ]
            },
            {
              "id": "Provenance.extension",
              "path": "Provenance.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Provenance.modifierExtension",
              "path": "Provenance.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 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"
                }
              ],
              "isModifier": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Provenance.target",
              "path": "Provenance.target",
              "short": "Target Reference(s) (usually version specific)",
              "definition": "The Reference(s) that were generated or updated by  the activity described in this resource. A provenance can point to more than one target if multiple resources were created/updated by the same activity.",
              "comment": "Target references are usually version specific, but may not be, if a version has not been assigned or if the provenance information is part of the set of resources being maintained (i.e. a document). When using the RESTful API, the identity of the resource may not be known (especially not the version specific one); the client may either submit the resource first, and then the provenance, or it may submit both using a single transaction. See the notes on transaction for further discussion.",
              "min": 1,
              "max": "*",
              "base": {
                "path": "Provenance.target",
                "min": 1,
                "max": "*"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "./outboundRelationship[isNormalActRelationship() and typeCode=SUBJ]/target  OR  ./participation[isNormalParticipation() and typeCode=SBJ]/role  OR  ./participation[isNormalParticipation() and typeCode=SBJ]/role[isNormalRole()]/player"
                },
                {
                  "identity": "fhirauditevent",
                  "map": "AuditEvent.entity.reference"
                },
                {
                  "identity": "w3c.prov",
                  "map": "Entity Created/Updated"
                },
                {
                  "identity": "w5",
                  "map": "what"
                }
              ]
            },
            {
              "id": "Provenance.period",
              "path": "Provenance.period",
              "short": "When the activity occurred",
              "definition": "The period during which the activity occurred.",
              "comment": "The period can be a little arbitrary; where possible, the time should correspond to human assessment of the activity time.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Provenance.period",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Period"
                }
              ],
              "mustSupport": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "./effectiveTime[type=IVL_TS]"
                },
                {
                  "identity": "w3c.prov",
                  "map": "Activity.startTime & Activity.endTime"
                },
                {
                  "identity": "w5",
                  "map": "when.done"
                }
              ]
            },
            {
              "id": "Provenance.recorded",
              "path": "Provenance.recorded",
              "short": "When the activity was recorded / updated",
              "definition": "The instant of time at which the activity was recorded.",
              "comment": "This can be a little different from the time stamp on the resource if there is a delay between recording the event and updating the provenance and target resource.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Provenance.recorded",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "instant"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "unique(./participation[isNormalParticipation() and typeCode=AUT]/time[type=TS])"
                },
                {
                  "identity": "fhirauditevent",
                  "map": "AuditEvent.recorded"
                },
                {
                  "identity": "w3c.prov",
                  "map": "Activity.when"
                },
                {
                  "identity": "w5",
                  "map": "when.recorded"
                }
              ]
            },
            {
              "id": "Provenance.policy",
              "path": "Provenance.policy",
              "short": "Policy or plan the activity was defined by",
              "definition": "Policy or plan the activity was defined by. Typically, a single activity may have multiple applicable policy documents, such as patient consent, guarantor funding, etc.",
              "comment": "For example: Where an OAuth token authorizes, the unique identifier from the OAuth token is placed into the policy element Where a policy engine (e.g. XACML) holds policy logic, the unique policy identifier is placed into the policy element.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Provenance.policy",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "mustSupport": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "./inboundRelationship[isNormalActRelationship() and typeCode=\"SUBJ\"]/source[isNormalAct and subsumes(POLICY, classCode) and moodCode=EVN]/text[typeCode='ED'/tel"
                },
                {
                  "identity": "fhirauditevent",
                  "map": "AuditEvent.agent.policy"
                }
              ]
            },
            {
              "id": "Provenance.location",
              "path": "Provenance.location",
              "short": "Where the activity occurred, if relevant",
              "definition": "Where the activity occurred, if relevant.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Provenance.location",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
                }
              ],
              "mustSupport": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "unique(./participation[isNormalParticipation() and typeCode=LOC]/role[isNormalRole() and subsumes(SDLOC, classCode)]/player[isNormalEntity and classCode=\"LOC\" and determinerCode=\"INST\"]"
                },
                {
                  "identity": "fhirauditevent",
                  "map": "AuditEvent.agent.location"
                },
                {
                  "identity": "w3c.prov",
                  "map": "Activity.location"
                },
                {
                  "identity": "w5",
                  "map": "where"
                }
              ]
            },
            {
              "id": "Provenance.reason",
              "path": "Provenance.reason",
              "short": "Reason the activity is occurring",
              "definition": "The reason that the activity was taking place.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Provenance.reason",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Coding"
                }
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ProvenanceReason"
                  }
                ],
                "strength": "extensible",
                "description": "The reason the activity took place.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/v3-PurposeOfUse"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": "unique(./reasonCode)"
                },
                {
                  "identity": "fhirauditevent",
                  "map": "AuditEvent.purposeOfEvent"
                },
                {
                  "identity": "w3c.prov",
                  "map": "Activity.Activity"
                },
                {
                  "identity": "w5",
                  "map": "why"
                }
              ]
            },
            {
              "id": "Provenance.activity",
              "path": "Provenance.activity",
              "short": "Activity that occurred",
              "definition": "An activity is something that occurs over a period of time and acts upon or with entities; it may include consuming, processing, transforming, modifying, relocating, using, or generating entities.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Provenance.activity",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Coding"
                }
              ],
              "mustSupport": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ProvenanceActivity"
                  }
                ],
                "strength": "extensible",
                "description": "The activity that took place.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/provenance-activity-type"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Act.code"
                },
                {
                  "identity": "fhirauditevent",
                  "map": "AuditEvent.purposeOfEvent"
                },
                {
                  "identity": "w3c.prov",
                  "map": "Activity.Activity"
                },
                {
                  "identity": "w5",
                  "map": "why"
                }
              ]
            },
            {
              "id": "Provenance.agent",
              "path": "Provenance.agent",
              "short": "Actor involved",
              "definition": "An actor taking a role in an activity  for which it can be assigned some degree of responsibility for the activity taking place.",
              "comment": "Several agents may be associated (i.e. has some responsibility for an activity) with an activity and vice-versa.",
              "requirements": "An agent can be a person, an organization, software, device, or other entities that may be ascribed responsibility.",
              "min": 1,
              "max": "*",
              "base": {
                "path": "Provenance.agent",
                "min": 1,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                }
              ],
              "mustSupport": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "./participation[isNormalParticipation()]  OR  ./outboundRelationship[isNormalActRelationship() and typeCode='DRIV']"
                },
                {
                  "identity": "fhirauditevent",
                  "map": "AuditEvent.agent"
                },
                {
                  "identity": "w3c.prov",
                  "map": "Agent"
                },
                {
                  "identity": "w5",
                  "map": "who"
                }
              ]
            },
            {
              "id": "Provenance.agent.id",
              "path": "Provenance.agent.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Provenance.agent.extension",
              "path": "Provenance.agent.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Provenance.agent.modifierExtension",
              "path": "Provenance.agent.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Provenance.agent.role",
              "path": "Provenance.agent.role",
              "short": "What the agents role was",
              "definition": "The function of the agent with respect to the activity. The security role enabling the agent with respect to the activity.",
              "comment": "For example: author, performer, enterer, attester, doctor, nurse, clerk, etc.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Provenance.agent.role",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ProvenanceAgentRole"
                  }
                ],
                "strength": "extensible",
                "description": "The role that a provenance agent played with respect to the activity.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/security-role-type"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".role and/or .typecode"
                },
                {
                  "identity": "fhirauditevent",
                  "map": "AuditEvent.agent.role"
                },
                {
                  "identity": "w3c.prov",
                  "map": "Agent.Attribution"
                }
              ]
            },
            {
              "id": "Provenance.agent.who[x]",
              "path": "Provenance.agent.who[x]",
              "short": "Who participated",
              "definition": "The individual, device or organization that participated in the event.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Provenance.agent.who[x]",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
                }
              ],
              "mustSupport": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".id"
                },
                {
                  "identity": "w5",
                  "map": "who.actor"
                }
              ]
            },
            {
              "id": "Provenance.agent.onBehalfOf[x]",
              "path": "Provenance.agent.onBehalfOf[x]",
              "short": "Who the agent is representing",
              "definition": "The individual, device, or organization for whom the change was made.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Provenance.agent.onBehalfOf[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
                }
              ],
              "mustSupport": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Person, Practitioner, Organization, Device :* .role [classCode = RoleClassMutualRelationship; role.code and * .scopes[Role](classCode=IDENT) and *.plays [Role.Code]"
                }
              ]
            },
            {
              "id": "Provenance.agent.relatedAgentType",
              "path": "Provenance.agent.relatedAgentType",
              "short": "Type of relationship between agents",
              "definition": "The type of relationship between agents.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Provenance.agent.relatedAgentType",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "RelatedAgentType"
                  }
                ],
                "strength": "example",
                "description": "Type of relationship between two provenance agents.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/v3-RoleLinkType"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".typeCode"
                },
                {
                  "identity": "w3c.prov",
                  "map": "type"
                }
              ]
            },
            {
              "id": "Provenance.entity",
              "path": "Provenance.entity",
              "short": "An entity used in this activity",
              "definition": "An entity used in this activity.",
              "comment": "Multiple userIds may be associated with the same Practitioner or other individual across various appearances, each with distinct privileges.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Provenance.entity",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "./subjectOf"
                },
                {
                  "identity": "fhirauditevent",
                  "map": "AuditEvent.entity"
                },
                {
                  "identity": "w3c.prov",
                  "map": "Entity"
                }
              ]
            },
            {
              "id": "Provenance.entity.id",
              "path": "Provenance.entity.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Provenance.entity.extension",
              "path": "Provenance.entity.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Provenance.entity.modifierExtension",
              "path": "Provenance.entity.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Provenance.entity.role",
              "path": "Provenance.entity.role",
              "short": "derivation | revision | quotation | source | removal",
              "definition": "How the entity was used during the activity.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Provenance.entity.role",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ProvenanceEntityRole"
                  }
                ],
                "strength": "required",
                "description": "How an entity was used in an activity.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/provenance-entity-role"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": "./typeCode"
                },
                {
                  "identity": "fhirauditevent",
                  "map": "AuditEvent.entity.lifecycle"
                },
                {
                  "identity": "w3c.prov",
                  "map": "Entity.role"
                }
              ]
            },
            {
              "id": "Provenance.entity.what[x]",
              "path": "Provenance.entity.what[x]",
              "short": "Identity of entity",
              "definition": "Identity of the  Entity used. May be a logical or physical uri and maybe absolute or relative.",
              "comment": "Identity may be a reference to a resource or to something else, depending on the type.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Provenance.entity.what[x]",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
                },
                {
                  "code": "Identifier"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "./text/reference"
                },
                {
                  "identity": "fhirauditevent",
                  "map": "AuditEvent.entity.reference"
                },
                {
                  "identity": "w3c.prov",
                  "map": "Entity.Identity"
                }
              ]
            },
            {
              "id": "Provenance.entity.agent",
              "path": "Provenance.entity.agent",
              "short": "Entity is attributed to this agent",
              "definition": "The entity is attributed to an agent to express the agent's responsibility for that entity, possibly along with other agents. This description can be understood as shorthand for saying that the agent was responsible for the activity which generated the entity.",
              "comment": "A usecase where one Provenance.entity.agent is used where the Entity that was used in the creation/updating of the Target, is not in the context of the same custodianship as the Target, and thus the meaning of Provenance.entity.agent is to say that the entity referenced is managed elsewhere and that this Agent provided access to it.  This would be similar to where the Entity being referenced is managed outside FHIR, such as through HL7 v2, v3, or XDS. This might be where the Entity being referenced is managed in another FHIR resource server. Thus it explains the Provenance of that Entity's use in the context of this Provenance activity.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Provenance.entity.agent",
                "min": 0,
                "max": "*"
              },
              "contentReference": "#Provenance.agent",
              "mapping": [
                {
                  "identity": "rim",
                  "map": "./author/role"
                }
              ]
            },
            {
              "id": "Provenance.signature",
              "path": "Provenance.signature",
              "short": "Signature on target",
              "definition": "A digital signature on the target Reference(s). The signer should match a Provenance.agent. The purpose of the signature is indicated.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Provenance.signature",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Signature"
                }
              ],
              "mustSupport": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "./signatureText"
                }
              ]
            }
          ]
        },
        "differential": {
          "element": [
            {
              "id": "Provenance",
              "path": "Provenance",
              "min": 0,
              "max": "*"
            },
            {
              "id": "Provenance.target",
              "path": "Provenance.target",
              "mustSupport": true
            },
            {
              "id": "Provenance.period",
              "path": "Provenance.period",
              "mustSupport": true
            },
            {
              "id": "Provenance.recorded",
              "path": "Provenance.recorded",
              "mustSupport": true
            },
            {
              "id": "Provenance.policy",
              "path": "Provenance.policy",
              "mustSupport": true
            },
            {
              "id": "Provenance.location",
              "path": "Provenance.location",
              "mustSupport": true
            },
            {
              "id": "Provenance.reason",
              "path": "Provenance.reason",
              "mustSupport": true
            },
            {
              "id": "Provenance.activity",
              "path": "Provenance.activity",
              "mustSupport": true
            },
            {
              "id": "Provenance.agent",
              "path": "Provenance.agent",
              "mustSupport": true
            },
            {
              "id": "Provenance.agent.who[x]",
              "path": "Provenance.agent.who[x]",
              "mustSupport": true
            },
            {
              "id": "Provenance.agent.onBehalfOf[x]",
              "path": "Provenance.agent.onBehalfOf[x]",
              "mustSupport": true
            },
            {
              "id": "Provenance.signature",
              "path": "Provenance.signature",
              "mustSupport": true
            }
          ]
        }
      }
    },
    {
      "fullUrl": "http://hl7.org/fhir/StructureDefinition/cqif-questionnaire",
      "resource": {
        "resourceType": "StructureDefinition",
        "id": "cqif-questionnaire",
        "text": {
          "status": "generated",
          "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">to do</div>"
        },
        "url": "http://hl7.org/fhir/StructureDefinition/cqif-questionnaire",
        "name": "CQIF-Questionnaire",
        "status": "draft",
        "experimental": false,
        "date": "2015-05-30",
        "publisher": "Health Level Seven, Inc. - CDS WG",
        "contact": [
          {
            "telecom": [
              {
                "system": "url",
                "value": "http://hl7.org/special/committees/dss"
              }
            ]
          }
        ],
        "description": "A questionnaire with the ability to specify behavior associated with questions or groups of questions",
        "fhirVersion": "3.0.1",
        "mapping": [
          {
            "identity": "rim",
            "uri": "http://hl7.org/v3",
            "name": "RIM Mapping"
          },
          {
            "identity": "w5",
            "uri": "http://hl7.org/fhir/w5",
            "name": "W5 Mapping"
          },
          {
            "identity": "objimpl",
            "uri": "http://hl7.org/fhir/object-implementation",
            "name": "Object Implementation Information"
          },
          {
            "identity": "v2",
            "uri": "http://hl7.org/v2",
            "name": "HL7 v2 Mapping"
          }
        ],
        "kind": "resource",
        "abstract": false,
        "type": "Questionnaire",
        "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Questionnaire",
        "derivation": "constraint",
        "snapshot": {
          "element": [
            {
              "id": "Questionnaire",
              "path": "Questionnaire",
              "short": "A questionnaire with the ability to specify behavior associated with questions or groups of questions",
              "definition": "A CQIF questionnaire is a questionnaire with the added ability to describe behavior associated with questions. For example, whether or not to display a particular question or group of questions, or automatically calculating the value of an answer based on the answers to previous questions.",
              "alias": [
                "Form",
                "CRF",
                "Survey"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "Questionnaire",
                "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)",
                  "source": "DomainResource"
                },
                {
                  "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)",
                  "source": "DomainResource"
                },
                {
                  "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))",
                  "source": "DomainResource"
                },
                {
                  "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))]))",
                  "source": "DomainResource"
                },
                {
                  "key": "que-2",
                  "severity": "error",
                  "human": "The link ids for groups and questions must be unique within the questionnaire",
                  "expression": "descendants().linkId.isDistinct()",
                  "xpath": "count(descendant::f:linkId/@value)=count(distinct-values(descendant::f:linkId/@value))",
                  "source": "Questionnaire"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Entity. Role, or Act"
                },
                {
                  "identity": "rim",
                  "map": "Observation[moodCode=DEF]"
                },
                {
                  "identity": "w5",
                  "map": "infrastructure.information"
                }
              ]
            },
            {
              "id": "Questionnaire.id",
              "path": "Questionnaire.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "Questionnaire.meta",
              "path": "Questionnaire.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"
                }
              ],
              "isSummary": true
            },
            {
              "id": "Questionnaire.implicitRules",
              "path": "Questionnaire.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"
                }
              ],
              "isModifier": true,
              "isSummary": true
            },
            {
              "id": "Questionnaire.language",
              "path": "Questionnaire.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"
                }
              ],
              "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"
                }
              }
            },
            {
              "id": "Questionnaire.text",
              "path": "Questionnaire.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": [
                "dom-1"
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Act.text?"
                }
              ]
            },
            {
              "id": "Questionnaire.contained",
              "path": "Questionnaire.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": "N/A"
                }
              ]
            },
            {
              "id": "Questionnaire.extension",
              "path": "Questionnaire.extension",
              "slicing": {
                "id": "6",
                "discriminator": [
                  {
                    "type": "value",
                    "path": "url"
                  }
                ],
                "ordered": false,
                "rules": "open"
              },
              "short": "Extension",
              "definition": "An Extension",
              "min": 0,
              "max": "*",
              "base": {
                "path": "DomainResource.extension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension"
                }
              ]
            },
            {
              "id": "Questionnaire.extension:library",
              "path": "Questionnaire.extension",
              "sliceName": "library",
              "short": "A library containing logic referenced by the questionnaire",
              "definition": "A CQL or ELM library containing any logic referenced by the questionnaire.",
              "alias": [
                "library"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "DomainResource.extension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/cqif-library"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "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')])",
                  "source": "Extension"
                }
              ]
            },
            {
              "id": "Questionnaire.modifierExtension",
              "path": "Questionnaire.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 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"
                }
              ],
              "isModifier": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Questionnaire.url",
              "path": "Questionnaire.url",
              "short": "Logical URI to reference this questionnaire (globally unique)",
              "definition": "An absolute URI that is used to identify this questionnaire when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this questionnaire is (or will be) published. The URL SHOULD include the major version of the questionnaire. For more information see [Technical and Business Versions](resource.html#versions).",
              "comment": "Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred.  Multiple instances may share the same url if they have a distinct version.",
              "requirements": "…  This is the id that will be used to link a QuestionnaireResponse to the Questionnaire the response is for.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Questionnaire.url",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".identifier[scope=BUSN;reliability=ISS]"
                },
                {
                  "identity": "w5",
                  "map": "id"
                }
              ]
            },
            {
              "id": "Questionnaire.identifier",
              "path": "Questionnaire.identifier",
              "short": "Additional identifier for the questionnaire",
              "definition": "A formal identifier that is used to identify this questionnaire when it is represented in other formats, or referenced in a specification, model, design or an instance.",
              "comment": "Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, e.g., to identify this questionnaire outside of FHIR, where it is not possible to use the logical URI.",
              "requirements": "Allows externally provided and/or usable business identifiers to be easily associated with the module.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Questionnaire.identifier",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Identifier"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".identifier"
                },
                {
                  "identity": "objimpl",
                  "map": "no-gen-base"
                },
                {
                  "identity": "w5",
                  "map": "id"
                }
              ]
            },
            {
              "id": "Questionnaire.version",
              "path": "Questionnaire.version",
              "short": "Business version of the questionnaire",
              "definition": "The identifier that is used to identify this version of the questionnaire when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the questionnaire author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.",
              "comment": "There may be different questionnaire instances that have the same identifier but different versions.  The version can be appended to the url in a reference to allow a refrence to a particular business version of the questionnaire with the format [url]|[version].",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Questionnaire.version",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A (to add?)"
                },
                {
                  "identity": "w5",
                  "map": "id.version"
                }
              ]
            },
            {
              "id": "Questionnaire.name",
              "path": "Questionnaire.name",
              "short": "Name for this questionnaire (computer friendly)",
              "definition": "A natural language name identifying the questionnaire. This name should be usable as an identifier for the module by machine processing applications such as code generation.",
              "comment": "The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly.",
              "requirements": "Support human navigation and code generation.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Questionnaire.name",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Questionnaire.title",
              "path": "Questionnaire.title",
              "short": "Name for this questionnaire (human friendly)",
              "definition": "A short, descriptive, user-friendly title for the questionnaire.",
              "comment": "This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Questionnaire.title",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".title"
                }
              ]
            },
            {
              "id": "Questionnaire.status",
              "path": "Questionnaire.status",
              "short": "draft | active | retired | unknown",
              "definition": "The status of this questionnaire. Enables tracking the life-cycle of the content.",
              "comment": "Allows filtering of questionnaires that are appropriate for use vs. not.  \nThis is labeled as \"Is Modifier\" because applications should not use a retired questionnaire without due consideration.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Questionnaire.status",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "PublicationStatus"
                  },
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                    "valueBoolean": true
                  }
                ],
                "strength": "required",
                "description": "The lifecycle status of a Value Set or Concept Map.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/publication-status"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".status"
                },
                {
                  "identity": "w5",
                  "map": "status"
                }
              ]
            },
            {
              "id": "Questionnaire.experimental",
              "path": "Questionnaire.experimental",
              "short": "For testing purposes, not real usage",
              "definition": "A boolean value to indicate that this questionnaire is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage.",
              "comment": "Allows filtering of questionnaire that are appropriate for use vs. not. This is labeled as \"Is Modifier\" because applications should not use an experimental questionnaire in production.",
              "requirements": "Enables experimental content to be developed following the same lifecycle that would be used for a production-level questionnaire.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Questionnaire.experimental",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "boolean"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                },
                {
                  "identity": "w5",
                  "map": "class"
                }
              ]
            },
            {
              "id": "Questionnaire.date",
              "path": "Questionnaire.date",
              "short": "Date this was last changed",
              "definition": "The date  (and optionally time) when the questionnaire was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the questionnaire changes.",
              "comment": "Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the questionnaire. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.",
              "alias": [
                "Revision Date"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Questionnaire.date",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "dateTime"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".participation[typeCode=AUT].time"
                },
                {
                  "identity": "w5",
                  "map": "when.recorded"
                }
              ]
            },
            {
              "id": "Questionnaire.publisher",
              "path": "Questionnaire.publisher",
              "short": "Name of the publisher (organization or individual)",
              "definition": "The name of the individual or organization that published the questionnaire.",
              "comment": "Usually an organization, but may be an individual. The publisher (or steward) of the questionnaire is the organization or individual primarily responsible for the maintenance and upkeep of the questionnaire. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the questionnaire. This item SHOULD be populated unless the information is available from context.",
              "requirements": "Helps establish the \"authority/credibility\" of the questionnaire.  May also allow for contact.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Questionnaire.publisher",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".participation[typeCode=AUT].role"
                },
                {
                  "identity": "w5",
                  "map": "who.witness"
                }
              ]
            },
            {
              "id": "Questionnaire.description",
              "path": "Questionnaire.description",
              "short": "Natural language description of the questionnaire",
              "definition": "A free text natural language description of the questionnaire from a consumer's perspective.",
              "comment": "This description can be used to capture details such as why the questionnaire was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the questionnaire as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Questionnaire.description",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "markdown"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".text"
                }
              ]
            },
            {
              "id": "Questionnaire.purpose",
              "path": "Questionnaire.purpose",
              "short": "Why this questionnaire is defined",
              "definition": "Explaination of why this questionnaire is needed and why it has been designed as it has.",
              "comment": "This element does not describe the usage of the questionnaire Instead  it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is.  This may be used to point to source materials or specifications that drove the structure of this questionnaire.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Questionnaire.purpose",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "markdown"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".reasonCode.text"
                },
                {
                  "identity": "objimpl",
                  "map": "no-gen-base"
                },
                {
                  "identity": "w5",
                  "map": "why"
                }
              ]
            },
            {
              "id": "Questionnaire.approvalDate",
              "path": "Questionnaire.approvalDate",
              "short": "When the questionnaire was approved by publisher",
              "definition": "The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.",
              "comment": "The 'date' element may be more recent than the approval date because of minor changes / editorial corrections.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Questionnaire.approvalDate",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "date"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=\"SUBJ\"].act[classCode=CACT;moodCode=EVN;code=\"approval\"].effectiveTime"
                },
                {
                  "identity": "objimpl",
                  "map": "no-gen-base"
                }
              ]
            },
            {
              "id": "Questionnaire.lastReviewDate",
              "path": "Questionnaire.lastReviewDate",
              "short": "When the questionnaire was last reviewed",
              "definition": "The date on which the resource content was last reviewed. Review happens periodically after approval, but doesn't change the original approval date.",
              "comment": "If specified, this is usually after the approval date.",
              "requirements": "Gives a sense of how \"current\" the content is.  Resources that have not been reviewed in a long time may have a risk of being less appropriate/relevant.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Questionnaire.lastReviewDate",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "date"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=\"SUBJ\"; subsetCode=\"RECENT\"].act[classCode=CACT;moodCode=EVN;code=\"review\"].effectiveTime"
                },
                {
                  "identity": "objimpl",
                  "map": "no-gen-base"
                }
              ]
            },
            {
              "id": "Questionnaire.effectivePeriod",
              "path": "Questionnaire.effectivePeriod",
              "short": "When the questionnaire is expected to be used",
              "definition": "The period during which the questionnaire content was or is planned to be in active use.",
              "comment": "The effective period for a questionnaire  determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015.",
              "requirements": "Allows establishing a transition before a resource comes into effect and also allows for a sunsetting  process when new versions of a the questionnaire are or are expected to be used instead.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Questionnaire.effectivePeriod",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Period"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A (to add?)"
                },
                {
                  "identity": "objimpl",
                  "map": "no-gen-base"
                }
              ]
            },
            {
              "id": "Questionnaire.useContext",
              "path": "Questionnaire.useContext",
              "short": "Context the content is intended to support",
              "definition": "The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching for appropriate questionnaire instances.",
              "comment": "When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply.",
              "requirements": "Assist in searching for appropriate content.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Questionnaire.useContext",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "UsageContext"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A (to add?)"
                }
              ]
            },
            {
              "id": "Questionnaire.jurisdiction",
              "path": "Questionnaire.jurisdiction",
              "short": "Intended jurisdiction for questionnaire (if applicable)",
              "definition": "A legal or geographic region in which the questionnaire is intended to be used.",
              "comment": "It may be possible for the questionnaire to be used in jurisdictions other than those for which it was originally designed or intended.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Questionnaire.jurisdiction",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "CodeableConcept"
                }
              ],
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "Jurisdiction"
                  },
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                    "valueBoolean": true
                  }
                ],
                "strength": "extensible",
                "description": "Countries and regions within which this artifact is targeted for use",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/jurisdiction"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A (to add?)"
                }
              ]
            },
            {
              "id": "Questionnaire.contact",
              "path": "Questionnaire.contact",
              "short": "Contact details for the publisher",
              "definition": "Contact details to assist a user in finding and communicating with the publisher.",
              "comment": "May be a web site, an email address, a telephone number, etc.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Questionnaire.contact",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "ContactDetail"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".participation[typeCode=CALLBCK].role"
                }
              ]
            },
            {
              "id": "Questionnaire.copyright",
              "path": "Questionnaire.copyright",
              "short": "Use and/or publishing restrictions",
              "definition": "A copyright statement relating to the questionnaire and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the questionnaire.",
              "requirements": "Consumers must be able to determine any legal restrictions on the use of the questionnaire and/or its content.",
              "alias": [
                "License",
                "Restrictions"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Questionnaire.copyright",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "markdown"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A (to add?)"
                },
                {
                  "identity": "objimpl",
                  "map": "no-gen-base"
                }
              ]
            },
            {
              "id": "Questionnaire.code",
              "path": "Questionnaire.code",
              "short": "Concept that represents the overall questionnaire",
              "definition": "An identifier for this question or group of questions in a particular terminology such as LOINC.",
              "requirements": "Allows linking of the complete Questionnaire resources to formal terminologies.  It's common for \"panels\" of questions to be identified by a code.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Questionnaire.code",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Coding"
                }
              ],
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "QuestionnaireConcept"
                  }
                ],
                "strength": "example",
                "description": "Codes for questionnaires, groups and individual questions",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/questionnaire-questions"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".code"
                }
              ]
            },
            {
              "id": "Questionnaire.subjectType",
              "path": "Questionnaire.subjectType",
              "short": "Resource that can be subject of QuestionnaireResponse",
              "definition": "The types of subjects that can be the subject of responses created for the questionnaire.",
              "comment": "If none are specified, then the subject is unlimited.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Questionnaire.subjectType",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "ResourceType"
                  },
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                    "valueBoolean": true
                  }
                ],
                "strength": "required",
                "description": "One of the resource types defined as part of FHIR.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/resource-types"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=META].target[classCode=OBS, moodCode=DEFN, isCriterion=true].participation.role.classCode"
                }
              ]
            },
            {
              "id": "Questionnaire.item",
              "path": "Questionnaire.item",
              "short": "Questions and sections within the Questionnaire",
              "definition": "A particular question, question grouping or display text that is part of the questionnaire.",
              "comment": "The content of the questionnaire is constructed from an ordered, hierarchical collection of items.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Questionnaire.item",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "condition": [
                "que-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",
                  "source": "Element"
                },
                {
                  "key": "que-9",
                  "severity": "error",
                  "human": "Read-only can't be specified for \"display\" items",
                  "expression": "type!='display' or readOnly.empty()",
                  "xpath": "not(f:type/@value='display' and f:readOnly)",
                  "source": "Questionnaire.item"
                },
                {
                  "key": "que-8",
                  "severity": "error",
                  "human": "Default values can't be specified for groups or display items",
                  "expression": "(type!='group' and type!='display') or initial.empty()",
                  "xpath": "not(f:type/@value=('group', 'display') and f:*[starts-with(local-name(.), 'initial')])",
                  "source": "Questionnaire.item"
                },
                {
                  "key": "que-6",
                  "severity": "error",
                  "human": "Required and repeat aren't permitted for display items",
                  "expression": "type!='display' or (required.empty() and repeats.empty())",
                  "xpath": "not(f:type/@value='display' and (f:required or f:repeats))",
                  "source": "Questionnaire.item"
                },
                {
                  "key": "que-5",
                  "severity": "error",
                  "human": "Only 'choice' items can have options",
                  "expression": "(type ='choice' or type = 'open-choice') or (options.empty() and option.empty())",
                  "xpath": "f:type/@value=('choice','open-choice') or not(f:option or f:options)",
                  "source": "Questionnaire.item"
                },
                {
                  "key": "que-4",
                  "severity": "error",
                  "human": "A question cannot have both option and options",
                  "expression": "option.empty() or options.empty()",
                  "xpath": "not(f:options and f:option)",
                  "source": "Questionnaire.item"
                },
                {
                  "key": "que-3",
                  "severity": "error",
                  "human": "Display items cannot have a \"code\" asserted",
                  "expression": "type!='display' or code.empty()",
                  "xpath": "not(f:type/@value='display' and f:code)",
                  "source": "Questionnaire.item"
                },
                {
                  "key": "que-10",
                  "severity": "error",
                  "human": "Maximum length can only be declared for simple question types",
                  "expression": "(type in ('boolean' | 'decimal' | 'integer' | 'string' | 'text' | 'url')) or maxLength.empty()",
                  "xpath": "f:type/@value=('boolean', 'decimal', 'integer', 'open-choice', 'string', 'text', 'url') or not(f:maxLength)",
                  "source": "Questionnaire.item"
                },
                {
                  "key": "que-1",
                  "severity": "error",
                  "human": "Group items must have nested items, display items cannot have nested items",
                  "expression": "(type='group' implies item.empty().not()) and (type.trace('type')='display' implies item.trace('item').empty())",
                  "xpath": "not((f:type/@value='group' and not(f:item)) or (f:type/@value='display' and f:item))",
                  "source": "Questionnaire.item"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=COMP].target[classCode=OBS, moodCode=DEF]"
                }
              ]
            },
            {
              "id": "Questionnaire.item.id",
              "path": "Questionnaire.item.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Questionnaire.item.extension",
              "path": "Questionnaire.item.extension",
              "slicing": {
                "id": "7",
                "discriminator": [
                  {
                    "type": "value",
                    "path": "url"
                  }
                ],
                "ordered": false,
                "rules": "open"
              },
              "short": "Extension",
              "definition": "An Extension",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Element.extension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension"
                }
              ]
            },
            {
              "id": "Questionnaire.item.extension:condition",
              "path": "Questionnaire.item.extension",
              "sliceName": "condition",
              "short": "A condition that determines whether or not the group is applicable",
              "definition": "The name of an expression that determines whether the group on which it appears is applicable. The expression is evaluated within the current context. If the result of evaluating the expression is true, the group is applicable. The expression has access to the current value of answered questions by the linkId of the question.",
              "comment": "Note that per Lloyd this extension may not be necessary, it may be able to specified structurally using the elements already available within Questionnaire.",
              "alias": [
                "condition"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.extension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/cqif-condition"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "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')])",
                  "source": "Extension"
                }
              ]
            },
            {
              "id": "Questionnaire.item.extension:initialvalue",
              "path": "Questionnaire.item.extension",
              "sliceName": "initialValue",
              "short": "An expression that provides the initial value for the answer to the question",
              "definition": "The name of an expression that determines the initial value for the answer to the question. This expression is evaluated once as part of displaying the form, and does not have access to the answers to other questions.",
              "alias": [
                "initialValue"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.extension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/cqif-initialValue"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "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')])",
                  "source": "Extension"
                }
              ]
            },
            {
              "id": "Questionnaire.item.extension:calculatedvalue",
              "path": "Questionnaire.item.extension",
              "sliceName": "calculatedValue",
              "short": "An expression that provides a calculated value for the answer to the question",
              "definition": "The name of an expression that determines a calculated value for the answer to the question. The expression is evaluated as necessary and has access to the answers to other questions by the linkId of the question.",
              "alias": [
                "calculatedValue"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.extension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/cqif-calculatedValue"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "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')])",
                  "source": "Extension"
                }
              ]
            },
            {
              "id": "Questionnaire.item.modifierExtension",
              "path": "Questionnaire.item.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Questionnaire.item.linkId",
              "path": "Questionnaire.item.linkId",
              "short": "Unique id for item in questionnaire",
              "definition": "An identifier that is unique within the Questionnaire allowing linkage to the equivalent item in a QuestionnaireResponse resource.",
              "comment": "This ''can'' be a meaningful identifier (e.g. a LOINC code) but is not intended to have any meaning.  GUIDs or sequential numbers are appropriate here.",
              "requirements": "[QuestionnaireResponse](questionnaireresponse.html#) does not require omitted items to be included and may have some items that repeat, so linkage based on position alone is not sufficient.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Questionnaire.item.linkId",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".id"
                }
              ]
            },
            {
              "id": "Questionnaire.item.definition",
              "path": "Questionnaire.item.definition",
              "short": "ElementDefinition - details for the item",
              "definition": "A reference to an [ElementDefinition](elementdefinition.html) that provides the details for the item. If a definition is provided, then the following element values can be inferred from the definition: \n\n* code (ElementDefinition.code)\n* type (ElementDefinition.type)\n* required (ElementDefinition.min)\n* repeats (ElementDefinition.max)\n* maxLength (ElementDefinition.maxLength)\n* options (ElementDefinition.binding)\n\nAny information provided in these elements on a Questionnaire Item overrides the information from the definition.",
              "comment": "the URI refers to an ElementDefinition in either a [StructureDefinition](structuredefinition.html#) or a [DataElement](dataelement.html#), and always starts with the canonical URL for the target resource. When referring to a StructureDefinition, a fragment identifier is used to specify the element definition by its id [Element.id](element-definitions.html#Element.id). E.g. http://hl7.org/fhir/StructureDefinition/Observation#Observation.value[x]. In the absence of a fragment identifier, the first/root element definition in the target is the matching element definition. Note that [LOINC codes](loinc.html#dataelements) implicitly define DataElement resources.",
              "requirements": "A common pattern is to define a set of data elements and then build multiple questionnaires for different circumstances to gather the data. This element provides traceability to the common definition and allows the content for the question to come from the underlying definition.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Questionnaire.item.definition",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "uri"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=INST].target[classCode=OBS, moodCode=DEF]"
                }
              ]
            },
            {
              "id": "Questionnaire.item.code",
              "path": "Questionnaire.item.code",
              "short": "Corresponding concept for this item in a terminology",
              "definition": "A terminology code that corresponds to this group or question (e.g. a code from LOINC, which defines many questions and answers).",
              "comment": "The value may come from the ElementDefinition referred to by .definition.",
              "requirements": "Allows linking of groups of questions to formal terminologies.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Questionnaire.item.code",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Coding"
                }
              ],
              "condition": [
                "que-3"
              ],
              "isSummary": true,
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "QuestionnaireConcept"
                  }
                ],
                "strength": "example",
                "description": "Codes for questionnaires, groups and individual questions",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/questionnaire-questions"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".code"
                }
              ]
            },
            {
              "id": "Questionnaire.item.prefix",
              "path": "Questionnaire.item.prefix",
              "short": "E.g. \"1(a)\", \"2.5.3\"",
              "definition": "A short label for a particular group, question or set of display text within the questionnaire used for reference by the individual completing the questionnaire.",
              "comment": "These are generally unique within a questionnaire, though this is not guaranteed. Some questionnaires may have multiple questions with the same label with logic to control which gets exposed.\n\nTypically these won't be used for \"display\" items, though such use is not prohibited.\n\nSystems SHOULD NOT generate their own prefixes if prefixes are defined for any items within a Questionnaire.",
              "requirements": "Separating the label from the question text allows improved rendering.  Also, instructions will often refer to specific prefixes, so there's a need for the questionnaire design to have control over what labels are used.",
              "alias": [
                "label"
              ],
              "min": 0,
              "max": "1",
              "base": {
                "path": "Questionnaire.item.prefix",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "Not supported"
                }
              ]
            },
            {
              "id": "Questionnaire.item.text",
              "path": "Questionnaire.item.text",
              "short": "Primary text for the item",
              "definition": "The name of a section, the text of a question or text content for a display item.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Questionnaire.item.text",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".text"
                }
              ]
            },
            {
              "id": "Questionnaire.item.type",
              "path": "Questionnaire.item.type",
              "short": "group | display | boolean | decimal | integer | date | dateTime +",
              "definition": "The type of questionnaire item this is - whether text for display, a grouping of other items or a particular type of data to be captured (string, integer, coded choice, etc.).",
              "comment": "Additional constraints on the type of answer can be conveyed by extensions. The value may come from the ElementDefinition referred to by .definition.",
              "requirements": "Defines the format in which the user is to be prompted for the answer.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Questionnaire.item.type",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "code"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "QuestionnaireItemType"
                  }
                ],
                "strength": "required",
                "description": "Distinguishes groups from questions and display text and indicates data type for questions",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/item-type"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A - MIF rather than RIM level"
                }
              ]
            },
            {
              "id": "Questionnaire.item.enableWhen",
              "path": "Questionnaire.item.enableWhen",
              "short": "Only allow data when",
              "definition": "A constraint indicating that this item should only be enabled (displayed/allow answers to be captured) when the specified condition is true.",
              "comment": "If multiple repetitions of this extension are present, the item should be enabled when the condition for *any* of the repetitions is true.  I.e. treat \"enableWhen\"s as being joined by an \"or\" clause.\n\nThis element is a modifier because if enableWhen is present for an item, \"required\" is ignored unless one of the enableWhen conditions is met.",
              "requirements": "Allows questionnaires to adapt based on answers to other questions. E.g. If physical gender is specified as a male, no need to capture pregnancy history.  Also allows conditional display of instructions or groups of questions.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Questionnaire.item.enableWhen",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "key": "que-7",
                  "severity": "error",
                  "human": "enableWhen must contain either a 'answer' or a 'hasAnswer' element",
                  "expression": "hasAnswer.exists() xor answer.exists()",
                  "xpath": "count(f:*[starts-with(local-name(.), 'answer')]|self::f:hasAnswer) = 1"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A - MIF rather than RIM level"
                }
              ]
            },
            {
              "id": "Questionnaire.item.enableWhen.id",
              "path": "Questionnaire.item.enableWhen.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Questionnaire.item.enableWhen.extension",
              "path": "Questionnaire.item.enableWhen.extension",
              "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"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Questionnaire.item.enableWhen.modifierExtension",
              "path": "Questionnaire.item.enableWhen.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Questionnaire.item.enableWhen.question",
              "path": "Questionnaire.item.enableWhen.question",
              "short": "Question that determines whether item is enabled",
              "definition": "The linkId for the question whose answer (or lack of answer) governs whether this item is enabled.",
              "comment": "If multiple question occurrences are present for the same question (same linkId), then this refers to the nearest question occurrence reachable by tracing first the \"ancestor\" axis and then the \"preceding\" axis and then the \"following\" axis.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Questionnaire.item.enableWhen.question",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A - MIF rather than RIM level"
                }
              ]
            },
            {
              "id": "Questionnaire.item.enableWhen.hasAnswer",
              "path": "Questionnaire.item.enableWhen.hasAnswer",
              "short": "Enable when answered or not",
              "definition": "An indication that this item should be enabled only if the specified question is answered (hasAnswer=true) or not answered (hasAnswer=false).",
              "comment": "If answered=false and answer values are also provided, then they are treated as \"or\".  I.e. \"Enable if the question is unanswered or the answer is one of the specified values\".  If answered=true and answers are present, one of the specified answers must be met. (So there's little reason to specify answered=true if answers are present.).",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Questionnaire.item.enableWhen.hasAnswer",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "boolean"
                }
              ],
              "condition": [
                "que-7"
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A - MIF rather than RIM level"
                }
              ]
            },
            {
              "id": "Questionnaire.item.enableWhen.answer[x]",
              "path": "Questionnaire.item.enableWhen.answer[x]",
              "short": "Value question must have",
              "definition": "An answer that the referenced question must match in order for the item to be enabled.",
              "comment": "Multiple answers are treated as \"or\".  E.g. Enable if question 1 = A, C or E.  \n\nComponents not specified in the answer do not need to match.  For example, if enableWhen specifies code + system for a Coding, it is ok if the answer has a \"display\" element.  I.e. treat the answer as a 'pattern'.\n\nThe dataType of this element must be the same as the data type of the question being referenced.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Questionnaire.item.enableWhen.answer[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "boolean"
                },
                {
                  "code": "decimal"
                },
                {
                  "code": "integer"
                },
                {
                  "code": "date"
                },
                {
                  "code": "dateTime"
                },
                {
                  "code": "time"
                },
                {
                  "code": "string"
                },
                {
                  "code": "uri"
                },
                {
                  "code": "Attachment"
                },
                {
                  "code": "Coding"
                },
                {
                  "code": "Quantity"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
                }
              ],
              "condition": [
                "que-7"
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "QuestionnaireQuestionOption2"
                  }
                ],
                "strength": "example",
                "description": "Allowed values to answer questions.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/questionnaire-answers"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A - MIF rather than RIM level"
                }
              ]
            },
            {
              "id": "Questionnaire.item.required",
              "path": "Questionnaire.item.required",
              "short": "Whether the item must be included in data results",
              "definition": "An indication, if true, that the item must be present in a \"completed\" QuestionnaireResponse.  If false, the item may be skipped when answering the questionnaire.",
              "comment": "Questionnaire.item.required only has meaning for elements that are conditionally enabled with enableWhen if the condition evaluates to true.  If an item that contains other items is marked as required, that does not automatically make the contained elements required (though required groups must contain at least one child element). The value may come from the ElementDefinition referred to by .definition.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Questionnaire.item.required",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "boolean"
                }
              ],
              "defaultValueBoolean": false,
              "condition": [
                "que-6"
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A - MIF rather than RIM level"
                }
              ]
            },
            {
              "id": "Questionnaire.item.repeats",
              "path": "Questionnaire.item.repeats",
              "short": "Whether the item may repeat",
              "definition": "An indication, if true, that the item may occur multiple times in the response, collecting multiple answers answers for questions or multiple sets of answers for groups.",
              "comment": "If a question is marked as repeats=true, then multiple answers can be provided for the question in the corresponding QuestionnaireResponse.  When rendering the questionnaire, it is up to the rendering software whether to render the question text for each answer repetition or to simply list each of the answers beneath the question.  (Which is most appropriate visually may depend on the type of answer as well as whether there are nested items.). The value may come from the ElementDefinition referred to by .definition.",
              "requirements": "Items may be used to create set of (related) questions that can be repeated to give multiple answers to such a set.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Questionnaire.item.repeats",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "boolean"
                }
              ],
              "defaultValueBoolean": false,
              "condition": [
                "que-6"
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A - MIF rather than RIM level"
                }
              ]
            },
            {
              "id": "Questionnaire.item.readOnly",
              "path": "Questionnaire.item.readOnly",
              "short": "Don't allow human editing",
              "definition": "An indication, when true, that the value cannot be changed by a human respondent to the Questionnaire.",
              "comment": "The value of readOnly elements can be established by asserting  extensions for defaultValues, linkages that support pre-population and/or extensions that support calculation based on other answers.",
              "requirements": "Allows certain information to be phrased (and rendered) as a question and an answer, while keeping users from changing it.  May also be useful for preventing changes to pre-populated portions of a questionnaire, for calculated values, etc.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Questionnaire.item.readOnly",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "boolean"
                }
              ],
              "condition": [
                "que-9"
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A - MIF rather than RIM level"
                }
              ]
            },
            {
              "id": "Questionnaire.item.maxLength",
              "path": "Questionnaire.item.maxLength",
              "short": "No more than this many characters",
              "definition": "The maximum number of characters that are permitted in the answer to be considered a \"valid\" QuestionnaireResponse.",
              "comment": "For base64binary, reflects the number of characters representing the encoded data, not the number of bytes of the binary data. The value may come from the ElementDefinition referred to by .definition.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Questionnaire.item.maxLength",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "integer"
                }
              ],
              "condition": [
                "que-10"
              ],
              "mapping": [
                {
                  "identity": "v2",
                  "map": "N/A"
                },
                {
                  "identity": "rim",
                  "map": "N/A - MIF rather than RIM level"
                }
              ]
            },
            {
              "id": "Questionnaire.item.options",
              "path": "Questionnaire.item.options",
              "short": "Valueset containing permitted answers",
              "definition": "A reference to a value set containing a list of codes representing permitted answers for a \"choice\" or \"open-choice\" question.",
              "comment": "LOINC defines many useful value sets for questionnaire responses. See [LOINC Answer Lists](loinc.html#alist). The value may come from the ElementDefinition referred to by .definition.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Questionnaire.item.options",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/ValueSet"
                }
              ],
              "condition": [
                "que-4",
                "que-5"
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A - MIF rather than RIM level"
                }
              ]
            },
            {
              "id": "Questionnaire.item.option",
              "path": "Questionnaire.item.option",
              "short": "Permitted answer",
              "definition": "One of the permitted answers for a \"choice\" or \"open-choice\" question.",
              "comment": "This element can be used when the value set machinery of options is deemed too cumbersome or when there's a need to capture options that are not codes.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Questionnaire.item.option",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "BackboneElement"
                }
              ],
              "condition": [
                "que-4",
                "que-5"
              ],
              "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",
                  "source": "Element"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A - MIF rather than RIM level"
                }
              ]
            },
            {
              "id": "Questionnaire.item.option.id",
              "path": "Questionnaire.item.option.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.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Element.id",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "string"
                }
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": "n/a"
                }
              ]
            },
            {
              "id": "Questionnaire.item.option.extension",
              "path": "Questionnaire.item.option.extension",
              "slicing": {
                "id": "8",
                "discriminator": [
                  {
                    "type": "value",
                    "path": "url"
                  }
                ],
                "ordered": false,
                "rules": "open"
              },
              "short": "Extension",
              "definition": "An Extension",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Element.extension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension"
                }
              ]
            },
            {
              "id": "Questionnaire.item.option.extension:optioncode",
              "path": "Questionnaire.item.option.extension",
              "sliceName": "optionCode",
              "short": "Meaning of the response option",
              "definition": "A CodeableConcept that assigns meaning to the response object on which it appears.",
              "requirements": "Need to be able to determine the semantics of each potential response in order to interpret the meaning when processing the questionnaire response.  For example, the response option \"Severe migraines within the past year\" to the question \"Select all that apply\" needs detailed coding (such as via CodeableConcept) at the option level, as well as a way to represent that an affirmation/negative response should result in (perhaps) an Observation in the QuestionnaireResponse tied to a clinical model (such as CIMI). This is key to support sophisticated CDS based on the semantics of the QuestionnaireResponse -- not just the codes.",
              "alias": [
                "optionCode"
              ],
              "min": 0,
              "max": "*",
              "base": {
                "path": "Element.extension",
                "min": 0,
                "max": "*"
              },
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/cqif-optionCode"
                }
              ],
              "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",
                  "source": "Element"
                },
                {
                  "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')])",
                  "source": "Extension"
                }
              ]
            },
            {
              "id": "Questionnaire.item.option.modifierExtension",
              "path": "Questionnaire.item.option.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"
                }
              ],
              "isModifier": true,
              "isSummary": true,
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A"
                }
              ]
            },
            {
              "id": "Questionnaire.item.option.value[x]",
              "path": "Questionnaire.item.option.value[x]",
              "short": "Answer value",
              "definition": "A potential answer that's allowed as the answer to this question.",
              "comment": "The data type of the value must agree with the item.type.",
              "min": 1,
              "max": "1",
              "base": {
                "path": "Questionnaire.item.option.value[x]",
                "min": 1,
                "max": "1"
              },
              "type": [
                {
                  "code": "integer"
                },
                {
                  "code": "date"
                },
                {
                  "code": "time"
                },
                {
                  "code": "string"
                },
                {
                  "code": "Coding"
                }
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "QuestionnaireQuestionOption"
                  }
                ],
                "strength": "example",
                "description": "Allowed values to answer questions.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/questionnaire-answers"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A - MIF rather than RIM level"
                }
              ]
            },
            {
              "id": "Questionnaire.item.initial[x]",
              "path": "Questionnaire.item.initial[x]",
              "short": "Default value when item is first rendered",
              "definition": "The value that should be defaulted when initially rendering the questionnaire for user input.",
              "comment": "The user is allowed to change the value and override the default (unless marked as read-only). If the user doesn't change the value, then this initial value will be persisted when the QuestionnaireResponse is initially created.  Note that default values can influence results.\n\nThe data type of initial[x] must agree with the item.type.",
              "requirements": "In some workflows, having defaults saves time.",
              "min": 0,
              "max": "1",
              "base": {
                "path": "Questionnaire.item.initial[x]",
                "min": 0,
                "max": "1"
              },
              "type": [
                {
                  "code": "boolean"
                },
                {
                  "code": "decimal"
                },
                {
                  "code": "integer"
                },
                {
                  "code": "date"
                },
                {
                  "code": "dateTime"
                },
                {
                  "code": "time"
                },
                {
                  "code": "string"
                },
                {
                  "code": "uri"
                },
                {
                  "code": "Attachment"
                },
                {
                  "code": "Coding"
                },
                {
                  "code": "Quantity"
                },
                {
                  "code": "Reference",
                  "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
                }
              ],
              "condition": [
                "que-8"
              ],
              "binding": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                    "valueString": "QuestionnaireQuestionOption2"
                  }
                ],
                "strength": "example",
                "description": "Allowed values to answer questions.",
                "valueSetReference": {
                  "reference": "http://hl7.org/fhir/ValueSet/questionnaire-answers"
                }
              },
              "mapping": [
                {
                  "identity": "rim",
                  "map": "N/A - MIF rather than RIM level"
                }
              ]
            },
            {
              "id": "Questionnaire.item.item",
              "path": "Questionnaire.item.item",
              "short": "Nested questionnaire items",
              "definition": "Text, questions and other groups to be nested beneath a question or group.",
              "comment": "There is no specified limit to the depth of nesting.  However, Questionnaire authors are encouraged to consider the impact on the user and user interface of overly deep nesting.",
              "requirements": "Reports can consist of complex nested groups.",
              "min": 0,
              "max": "*",
              "base": {
                "path": "Questionnaire.item.item",
                "min": 0,
                "max": "*"
              },
              "contentReference": "#Questionnaire.item",
              "condition": [
                "que-1"
              ],
              "mapping": [
                {
                  "identity": "rim",
                  "map": ".outboundRelationship[typeCode=COMP].target"
                }
              ]
            }
          ]
        },
        "differential": {
          "element": [
            {
              "id": "Questionnaire",
              "path": "Questionnaire",
              "short": "A questionnaire with the ability to specify behavior associated with questions or groups of questions",
              "definition": "A CQIF questionnaire is a questionnaire with the added ability to describe behavior associated with questions. For example, whether or not to display a particular question or group of questions, or automatically calculating the value of an answer based on the answers to previous questions.",
              "min": 0,
              "max": "*"
            },
            {
              "id": "Questionnaire.extension:library",
              "path": "Questionnaire.extension",
              "sliceName": "library",
              "short": "A library containing logic referenced by the questionnaire",
              "definition": "A CQL or ELM library containing any logic referenced by the questionnaire.",
              "alias": [
                "library"
              ],
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/cqif-library"
                }
              ]
            },
            {
              "id": "Questionnaire.item",
              "path": "Questionnaire.item"
            },
            {
              "id": "Questionnaire.item.extension:condition",
              "path": "Questionnaire.item.extension",
              "sliceName": "condition",
              "short": "A condition that determines whether or not the group is applicable",
              "definition": "The name of an expression that determines whether the group on which it appears is applicable. The expression is evaluated within the current context. If the result of evaluating the expression is true, the group is applicable. The expression has access to the current value of answered questions by the linkId of the question.",
              "comment": "Note that per Lloyd this extension may not be necessary, it may be able to specified structurally using the elements already available within Questionnaire.",
              "alias": [
                "condition"
              ],
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/cqif-condition"
                }
              ]
            },
            {
              "id": "Questionnaire.item.extension:initialvalue",
              "path": "Questionnaire.item.extension",
              "sliceName": "initialValue",
              "short": "An expression that provides the initial value for the answer to the question",
              "definition": "The name of an expression that determines the initial value for the answer to the question. This expression is evaluated once as part of displaying the form, and does not have access to the answers to other questions.",
              "alias": [
                "initialValue"
              ],
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/cqif-initialValue"
                }
              ]
            },
            {
              "id": "Questionnaire.item.extension:calculatedvalue",
              "path": "Questionnaire.item.extension",
              "sliceName": "calculatedValue",
              "short": "An expression that provides a calculated value for the answer to the question",
              "definition": "The name of an expression that determines a calculated value for the answer to the question. The expression is evaluated as necessary and has access to the answers to other questions by the linkId of the question.",
              "alias": [
                "calculatedValue"
              ],
              "min": 0,
              "max": "1",
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/cqif-calculatedValue"
                }
              ]
            },
            {
              "id": "Questionnaire.item.option",
              "path": "Questionnaire.item.option"
            },
            {
              "id": "Questionnaire.item.option.extension:optioncode",
              "path": "Questionnaire.item.option.extension",
              "sliceName": "optionCode",
              "short": "Meaning of the response option",
              "definition": "A CodeableConcept that assigns meaning to the response object on which it appears.",
              "requirements": "Need to be able to determine the semantics of each potential response in order to interpret the meaning when processing the questionnaire response.  For example, the response option \"Severe migraines within the past year\" to the question \"Select all that apply\" needs detailed coding (such as via CodeableConcept) at the option level, as well as a way to represent that an affirmation/negative response should result in (perhaps) an Observation in the QuestionnaireResponse tied to a clinical model (such as CIMI). This is key to support sophisticated CDS based on the semantics of the QuestionnaireResponse -- not just the codes.",
              "alias": [
                "optionCode"
              ],
              "min": 0,
              "max": "*",
              "type": [
                {
                  "code": "Extension",
                  "profile": "http://hl7.org/fhir/StructureDefinition/cqif-optionCode"
                }
              ]
            }
          ]
        }
      }
    }
  ]
}