<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="spark1700" />
  <meta>
    <versionId value="spark2488" />
    <lastUpdated value="2016-01-19T22:14:39.647+00:00" />
  </meta>
  <url value="http://premierinc.com/fhir/StructureDefinition/tdaf-resultobs" />
  <version value="TWTW10" />
  <name value="Theradoc Data Access Framework (TDAF) Results Profile" />
  <display value="DAF-ResultObs" />
  <status value="draft" />
  <publisher value="Health Level Seven International (Infrastructure and Messaging - Data Access Framework)" />
  <contact>
    <telecom>
      <system value="other" />
      <value value="http://www.healthit.gov" />
    </telecom>
  </contact>
  <date value="2014-11-17" />
  <description value="Theradoc DAF result observation" />
  <fhirVersion value="1.0.1" />
  <kind value="resource" />
  <constrainedType value="Observation" />
  <abstract value="false" />
  <base value="http://hl7.org/fhir/StructureDefinition/Observation" />
  <differential>
    <element>
      <path value="Observation" />
      <name value="DAF-ResultObs" />
      <short value="US Realm DAF result observation" />
      <definition value="US Realm clinical coded results." />
      <comments value="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 value="Obs" />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="Observation" />
      </type>
      <mapping>
        <identity value="v2" />
        <map value="OBX" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="Observation[classCode=OBS, moodCode=EVN]" />
      </mapping>
      <mapping>
        <identity value="w5" />
        <map value="clinical.diagnostics" />
      </mapping>
    </element>
    <element>
      <path value="Observation.identifier" />
      <short value="Unique Id for this particular observation" />
      <definition value="A unique identifier for the simple observation instance." />
      <requirements value="Allows observations to be distinguished and referenced." />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="Identifier" />
      </type>
      <mustSupport value="true" />
      <mapping>
        <identity value="v2" />
        <map value="OBX.21" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="id" />
      </mapping>
      <mapping>
        <identity value="w5" />
        <map value="id" />
      </mapping>
    </element>
    <element>
      <path value="Observation.identifier.use" />
      <short value="usual | official | temp | secondary (If known)" />
      <definition value="The purpose of this identifier." />
      <comments value="This is labeled as &quot;Is Modifier&quot; because applications should not mistake a temporary id for a permanent one. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary." />
      <requirements value="Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers." />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="code" />
      </type>
      <mustSupport value="true" />
      <isModifier value="true" />
      <isSummary value="true" />
      <binding>
        <strength value="required" />
        <description value="Identifies the purpose for this identifier, if known ." />
        <valueSetReference>
          <reference value="http://hl7.org/fhir/ValueSet/identifier-use" />
        </valueSetReference>
      </binding>
      <mapping>
        <identity value="v2" />
        <map value="N/A" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="Role.code or implied by context" />
      </mapping>
    </element>
    <element>
      <path value="Observation.identifier.system" />
      <short value="The namespace for the identifier" />
      <definition value="Establishes the namespace in which set of possible id values is unique." />
      <requirements value="There are many sequences of identifiers.  To perform matching, we need to know what sequence we're dealing with. The system identifies a particular sequence or set of unique identifiers." />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="uri" />
      </type>
      <exampleUri value="http://www.acme.com/identifiers/patient or urn:ietf:rfc:3986 if the Identifier.value itself is a full uri" />
      <mustSupport value="true" />
      <isSummary value="true" />
      <mapping>
        <identity value="v2" />
        <map value="CX.4 / EI-2-4" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="II.root or Role.id.root" />
      </mapping>
      <mapping>
        <identity value="servd" />
        <map value="./IdentifierType" />
      </mapping>
    </element>
    <element>
      <path value="Observation.identifier.value" />
      <short value="The value that is unique" />
      <definition value="The portion of the identifier typically displayed to the user and which is unique within the context of the system." />
      <comments value="If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986." />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="string" />
      </type>
      <exampleString value="123456" />
      <mustSupport value="true" />
      <isSummary value="true" />
      <mapping>
        <identity value="v2" />
        <map value="CX.1 / EI.1" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)" />
      </mapping>
      <mapping>
        <identity value="servd" />
        <map value="./Value" />
      </mapping>
    </element>
    <element>
      <path value="Observation.status" />
      <short value="registered | preliminary | final | amended +" />
      <definition value="The status of the result value." />
      <requirements value="Need to track the status of individual results. Some results are finalized before the whole report is finalized." />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="code" />
      </type>
      <mustSupport value="true" />
      <isModifier value="true" />
      <isSummary value="true" />
      <binding>
        <strength value="required" />
        <description value="Codes providing the status of an observation." />
        <valueSetReference>
          <reference value="http://hl7.org/fhir/ValueSet/observation-status" />
        </valueSetReference>
      </binding>
      <mapping>
        <identity value="v2" />
        <map value="OBX-11" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="status  Amended &amp; Final are differentiated by whether it is the subject of a ControlAct event with a type of &quot;revise&quot;" />
      </mapping>
      <mapping>
        <identity value="w5" />
        <map value="status" />
      </mapping>
    </element>
    <element>
      <path value="Observation.code" />
      <short value="US Realm Laboratory Test Name" />
      <definition value="The test that was performed.  This is element is bound to LOINC." />
      <comments value="UsageNote= The typical patterns for codes are:  1)  a LOINC code either as a  translation from a &quot;local&quot; code or as a primary code, or 2)  a local code only if no suitable LOINC exists,  or 3)  both the local and the LOINC translation.   Systems SHALL be capable of sending the local code if one exists." />
      <requirements value="The use of the Logical Observation Identifiers Names and Codes (LOINC) code system is required where a LOINC code is available for the Observation.code, i.e. the being resulted." />
      <alias value="Test Name" />
      <alias value="Observation Identifer" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="CodeableConcept" />
      </type>
      <mustSupport value="true" />
      <isSummary value="true" />
      <binding>
        <strength value="extensible" />
        <description value="LOINC codes" />
        <valueSetReference>
          <reference value="http://hl7.org/fhir/ValueSet/uslab-obs-codes" />
        </valueSetReference>
      </binding>
      <mapping>
        <identity value="v2" />
        <map value="OBX-3" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="code" />
      </mapping>
      <mapping>
        <identity value="w5" />
        <map value="what" />
      </mapping>
    </element>
    <element>
      <path value="Observation.code.coding" />
      <short value="Standard and local codes may be included here by repeating the coding element with a different coding.system." />
      <definition value="Standard and local codes may be included here by repeating the coding element with a different coding.system." />
      <comments value="Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.  Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labelled as UserSelected = true." />
      <requirements value="Allows for translations and alternate encodings within a code system.  Also supports communication of the same instance to systems requiring different encodings." />
      <min value="1" />
      <max value="*" />
      <type>
        <code value="Coding" />
      </type>
      <mustSupport value="true" />
      <isSummary value="true" />
      <mapping>
        <identity value="v2" />
        <map value="C*E.1-8, C*E.10-22" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="union(., ./translation)" />
      </mapping>
      <mapping>
        <identity value="orim" />
        <map value="fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding" />
      </mapping>
    </element>
    <element>
      <path value="Observation.code.coding.system" />
      <short value="Identity of the terminology system" />
      <definition value="The identification of the code system that defines the meaning of the symbol in the code." />
      <comments value="The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...).  OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously." />
      <requirements value="Need to be unambiguous about the source of the definition of the symbol." />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="uri" />
      </type>
      <mustSupport value="true" />
      <isSummary value="true" />
      <mapping>
        <identity value="v2" />
        <map value="C*E.3" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="./codeSystem" />
      </mapping>
      <mapping>
        <identity value="orim" />
        <map value="fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem" />
      </mapping>
    </element>
    <element>
      <path value="Observation.code.coding.code" />
      <short value="Symbol in syntax defined by the system" />
      <definition value="A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination)." />
      <comments value="Logical Observation Identifiers Names and Codes (LOINC) is a database and universal standard for identifying medical laboratory observations." />
      <requirements value="Need to refer to a particular code in the system." />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="code" />
      </type>
      <mustSupport value="true" />
      <isSummary value="true" />
      <mapping>
        <identity value="v2" />
        <map value="C*E.1" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="./code" />
      </mapping>
      <mapping>
        <identity value="orim" />
        <map value="fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code" />
      </mapping>
    </element>
    <element>
      <path value="Observation.code.coding.display" />
      <short value="Representation defined by the system" />
      <definition value="A representation of the meaning of the code in the system, following the rules of the system." />
      <comments value="When using LOINC  'long common name' is preferred although the LOINC 'short name' or the LOINC 'fully-specified name can also be used.  ( http://lionc.org.terms-of-use)." />
      <requirements value="Need to be able to carry a human-readable meaning of the code for readers that do not know  the system." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="string" />
      </type>
      <mustSupport value="true" />
      <isSummary value="true" />
      <mapping>
        <identity value="v2" />
        <map value="C*E.2 - but note this is not well followed" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="CV.displayName" />
      </mapping>
      <mapping>
        <identity value="orim" />
        <map value="fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName" />
      </mapping>
    </element>
    <element>
      <path value="Observation.code.text" />
      <short value="Display text" />
      <definition value="This is the laboratory defined display text for the lab test if different from the code display text(s)." />
      <comments value="If this exists, this is the text to be used for display." />
      <requirements value="Used when the laboratory define how the dsplay text if different from the code display text." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="string" />
      </type>
      <mustSupport value="true" />
      <isSummary value="true" />
      <mapping>
        <identity value="v2" />
        <map value="C*E.9. But note many systems use C*E.2 for this" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="./originalText[mediaType/code=&quot;text/plain&quot;]/data" />
      </mapping>
      <mapping>
        <identity value="orim" />
        <map value="fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText" />
      </mapping>
    </element>
    <element>
      <path value="Observation.subject" />
      <short value="Who and/or what this is about" />
      <definition value="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." />
      <comments value="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.  If 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 value="Observations have no value if you don't know who or what they're about." />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Reference" />
        <profile value="http://hl7.org/fhir/StructureDefinition/daf-patient" />
      </type>
      <mustSupport value="true" />
      <isSummary value="true" />
      <mapping>
        <identity value="v2" />
        <map value="PID-3" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="participation[typeCode=SBJ]" />
      </mapping>
      <mapping>
        <identity value="w5" />
        <map value="who.focus" />
      </mapping>
    </element>
    <element>
      <path value="Observation.encounter" />
      <short value="Healthcare event during which this observation is made" />
      <definition value="The healthcare event  (e.g. a patient and healthcare provider interaction) during which this observation is made." />
      <requirements value="For some observations it may be important to know the link between an observation and a particular encounter." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Reference" />
        <profile value="http://hl7.org/fhir/StructureDefinition/daf-encounter" />
      </type>
      <mustSupport value="true" />
      <mapping>
        <identity value="v2" />
        <map value="PV1" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="inboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN]" />
      </mapping>
      <mapping>
        <identity value="w5" />
        <map value="context" />
      </mapping>
    </element>
    <element>
      <path value="Observation.effective[x]" />
      <short value="Clinically relevant time/time-period for observation" />
      <definition value="For lab tests this is the specimen collection date.  For Ask at Order Entry Questions (AOE)'s this is the date the question was asked." />
      <comments value="At least a date should be present unless this observation is a historical report." />
      <requirements value="Minimum Precision to Day." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="dateTime" />
      </type>
      <type>
        <code value="Period" />
      </type>
      <condition value="inv-1" />
      <constraint>
        <key value="inv-1" />
        <severity value="error" />
        <human value="Datetime must be at least to day." />
        <xpath value="f:matches(effectiveDateTime,/\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z)/)" />
      </constraint>
      <mustSupport value="true" />
      <isSummary value="true" />
      <mapping>
        <identity value="v2" />
        <map value="OBX-14, and/or OBX-19 after v2.4  (depends on who observation made)" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="effectiveTime" />
      </mapping>
      <mapping>
        <identity value="w5" />
        <map value="when.done" />
      </mapping>
    </element>
    <element>
      <path value="Observation.issued" />
      <short value="Date/Time this was made available" />
      <definition value="The date and time this observation was made available to providers, typically after the results have been reviewed and verified." />
      <comments value="Updated when the result is updated." />
      <requirements value="Minimum Precision to Day." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="instant" />
      </type>
      <mustSupport value="true" />
      <isSummary value="true" />
      <mapping>
        <identity value="v2" />
        <map value="OBR.22 (or MSH.7), or perhaps OBX-19 (depends on who observation made)" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="participation[typeCode=AUT].time" />
      </mapping>
      <mapping>
        <identity value="w5" />
        <map value="when.recorded" />
      </mapping>
    </element>
    <element>
      <path value="Observation.performer" />
      <short value="Who is responsible for the observation" />
      <definition value="Who was responsible for asserting the observed value as &quot;true&quot;." />
      <requirements value="May give a degree of confidence in the observation and also indicates where follow-up questions should be directed." />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="Reference" />
        <profile value="http://hl7.org/fhir/StructureDefinition/daf-pract" />
      </type>
      <type>
        <code value="Reference" />
        <profile value="http://hl7.org/fhir/StructureDefinition/daf-organization" />
      </type>
      <type>
        <code value="Reference" />
        <profile value="http://hl7.org/fhir/StructureDefinition/daf-patient" />
      </type>
      <type>
        <code value="Reference" />
        <profile value="http://hl7.org/fhir/StructureDefinition/daf-relatedperson" />
      </type>
      <isSummary value="true" />
      <mapping>
        <identity value="v2" />
        <map value="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'" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="participation[typeCode=PRF]" />
      </mapping>
      <mapping>
        <identity value="w5" />
        <map value="who.actor" />
      </mapping>
    </element>
    <element>
      <path value="Observation.value[x]" />
      <short value="Actual result" />
      <definition value="If codeableConcept, valueCodeableConcept must be selected from [SNOMED CT](http://hl7.org/fhir/ValueSet/uslab-obs-codedresults)." />
      <comments value="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 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, valueRange, valueRatio, valueSampledData, valueAttachment, valueTime, valueDateTime, or valuePeriod. (The name format is &quot;'value' + the type name&quot; with a capital on the first letter of the type).   If 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 boolean values use valueCodeableConcept and select codes from [HL7 Version 2 Table 0136](v2/0136/index.html). These &quot;yes/no&quot; concepts can be mapped to the display name &quot;true/false&quot; or other mutually exclusive terms that may be needed.   For further discussion and examples see the  [notes section](observation.html#4.20.4) below." />
      <requirements value="An observation exists to have a value, though it may not if it is in error, or it represents a group of observations." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Quantity" />
      </type>
      <type>
        <code value="CodeableConcept" />
      </type>
      <type>
        <code value="string" />
      </type>
      <type>
        <code value="Range" />
      </type>
      <type>
        <code value="Ratio" />
      </type>
      <type>
        <code value="SampledData" />
      </type>
      <type>
        <code value="Attachment" />
      </type>
      <type>
        <code value="time" />
      </type>
      <type>
        <code value="dateTime" />
      </type>
      <type>
        <code value="Period" />
      </type>
      <mustSupport value="true" />
      <isSummary value="true" />
      <mapping>
        <identity value="v2" />
        <map value="OBX.2, OBX.5, OBX.6" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="value" />
      </mapping>
    </element>
    <element>
      <path value="Observation.dataAbsentReason" />
      <short value="Why the result is missing" />
      <definition value="Provides a reason why the expected value in the element Observation.value[x] is missing." />
      <comments value="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  &quot;detected&quot;, &quot;not detected&quot;, &quot;inconclusive&quot;, or  &quot;specimen unsatisfactory&quot;.   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 &quot;error&quot; 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 value="For many results it is necessary to handle exceptional values in measurements." />
      <min value="0" />
      <max value="0" />
      <type>
        <code value="CodeableConcept" />
      </type>
      <condition value="obs-6" />
      <mapping>
        <identity value="v2" />
        <map value="N/A" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="value.nullFlavor" />
      </mapping>
    </element>
    <element>
      <path value="Observation.interpretation" />
      <short value="High, low, normal, etc." />
      <definition value="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 value="For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result." />
      <alias value="Abnormal Flag" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="CodeableConcept" />
      </type>
      <mustSupport value="true" />
      <binding>
        <strength value="required" />
        <description value="Codes identifying interpretations of observations" />
        <valueSetReference>
          <reference value="http://hl7.org/fhir/ValueSet/observation-interpretation" />
        </valueSetReference>
      </binding>
      <mapping>
        <identity value="v2" />
        <map value="OBX-8" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="interpretationCode" />
      </mapping>
    </element>
    <element>
      <path value="Observation.interpretation.coding" />
      <short value="Code defined by a terminology system" />
      <definition value="A reference to a code defined by a terminology system." />
      <comments value="Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.  Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labelled as UserSelected = true." />
      <requirements value="Allows for translations and alternate encodings within a code system.  Also supports communication of the same instance to systems requiring different encodings." />
      <min value="1" />
      <max value="*" />
      <type>
        <code value="Coding" />
      </type>
      <mustSupport value="true" />
      <isSummary value="true" />
      <mapping>
        <identity value="v2" />
        <map value="C*E.1-8, C*E.10-22" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="union(., ./translation)" />
      </mapping>
      <mapping>
        <identity value="orim" />
        <map value="fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding" />
      </mapping>
    </element>
    <element>
      <path value="Observation.interpretation.coding.system" />
      <short value="Identity of the terminology system" />
      <definition value="The identification of the code system that defines the meaning of the symbol in the code." />
      <comments value="The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...).  OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously." />
      <requirements value="Need to be unambiguous about the source of the definition of the symbol." />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="uri" />
      </type>
      <mustSupport value="true" />
      <isSummary value="true" />
      <mapping>
        <identity value="v2" />
        <map value="C*E.3" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="./codeSystem" />
      </mapping>
      <mapping>
        <identity value="orim" />
        <map value="fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem" />
      </mapping>
    </element>
    <element>
      <path value="Observation.interpretation.coding.code" />
      <short value="Symbol in syntax defined by the system" />
      <definition value="A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination)." />
      <requirements value="Need to refer to a particular code in the system." />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="code" />
      </type>
      <mustSupport value="true" />
      <isSummary value="true" />
      <mapping>
        <identity value="v2" />
        <map value="C*E.1" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="./code" />
      </mapping>
      <mapping>
        <identity value="orim" />
        <map value="fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code" />
      </mapping>
    </element>
    <element>
      <path value="Observation.bodySite" />
      <short value="Observed body part" />
      <definition value="Indicates the site on the subject's body where the observation was made (i.e. the target site)." />
      <comments value="Only used if not implicit in code found in Observation.code.  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[ body-site-instance](extension-body-site-instance.html)." />
      <requirements value="Knowing where the observation is made is important for tracking if multiple sites are possible." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="CodeableConcept" />
      </type>
      <mustSupport value="false" />
      <binding>
        <strength value="example" />
        <description value="Codes describing anatomical locations. May include laterality." />
        <valueSetReference>
          <reference value="http://hl7.org/fhir/ValueSet/body-site" />
        </valueSetReference>
      </binding>
      <mapping>
        <identity value="v2" />
        <map value="OBX-20" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="targetSiteCode" />
      </mapping>
    </element>
    <element>
      <path value="Observation.specimen" />
      <short value="Specimen used for this observation" />
      <definition value="The specimen that was used when this observation was made." />
      <comments value="Observations are not made on specimens themselves; they are made on a subject, but usually 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 value="0" />
      <max value="1" />
      <type>
        <code value="Reference" />
        <profile value="http://hl7.org/fhir/StructureDefinition/daf-spec" />
      </type>
      <mustSupport value="true" />
      <mapping>
        <identity value="v2" />
        <map value="SPM segment" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="participation[typeCode=SPC].specimen" />
      </mapping>
    </element>
    <element>
      <path value="Observation.referenceRange" />
      <name value="referenceRange" />
      <short value="Provides guide for interpretation" />
      <definition value="Guidance on how to interpret the value by comparison to a normal or recommended range." />
      <comments value="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 value="Knowing what values are considered &quot;normal&quot; can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="BackboneElement" />
      </type>
      <mustSupport value="true" />
      <mapping>
        <identity value="v2" />
        <map value="OBX.7" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]" />
      </mapping>
    </element>
    <element>
      <path value="Observation.related" />
      <short value="Components of Panel/Battery" />
      <definition value="A set of related observations that together form the panel or battery of this observation." />
      <comments value="For a discussion on the ways Observations can assembled in groups together see [Notes below](observation.html#4.20.4)." />
      <requirements value="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 QuestionnaireResponse  from which the measure is derived." />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="BackboneElement" />
      </type>
      <mustSupport value="true" />
      <isSummary value="true" />
      <mapping>
        <identity value="v2" />
        <map value="Relationships established by OBX-4 usage" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="outBoundRelationship" />
      </mapping>
    </element>
    <element>
      <path value="Observation.related.type" />
      <short value="has-member | derived-from | sequel-to | replaces | qualified-by | interfered-by" />
      <definition value="A code specifying the kind of relationship that exists with the target resource." />
      <comments value="&quot;derived-from&quot; is only logical choice when referencing QuestionnaireAnswer resource." />
      <requirements value="A relationship type SHOULD be provided." />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="code" />
      </type>
      <fixedCode value="has-member" />
      <mustSupport value="true" />
      <binding>
        <strength value="required" />
        <description value="Codes specifying how two observations are related." />
        <valueSetReference>
          <reference value="http://hl7.org/fhir/ValueSet/observation-relationshiptypes" />
        </valueSetReference>
      </binding>
      <mapping>
        <identity value="v2" />
        <map value="N/A" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value=".typeCode" />
      </mapping>
    </element>
    <element>
      <path value="Observation.related.target" />
      <short value="US DAF Component observations" />
      <definition value="US DAF Component observations." />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Reference" />
        <profile value="http://premierinc.com/fhir/StructureDefinition/tdaf-resultobs" />
      </type>
      <mustSupport value="true" />
      <mapping>
        <identity value="rim" />
        <map value=".targetObservation" />
      </mapping>
    </element>
    <element>
      <path value="Observation.component" />
      <short value="Component results" />
      <definition value="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." />
      <comments value="For a discussion on the ways Observations can assembled in groups together see [Notes below](observation.html#4.20.4)." />
      <requirements value="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 value="0" />
      <max value="*" />
      <type>
        <code value="BackboneElement" />
      </type>
      <mustSupport value="true" />
      <isSummary value="true" />
      <mapping>
        <identity value="v2" />
        <map value="containment by OBX-4?" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="outBoundRelationship[typeCode=COMP]" />
      </mapping>
    </element>
    <element>
      <path value="Observation.component.code" />
      <short value="US Realm Laboratory Test Name" />
      <definition value="The laboratory test that was performed.  This is element is bound to LOINC." />
      <comments value="UsageNote= The typical patterns for codes are:  1)  a LOINC code either as a  translation from a &quot;local&quot; code or as a primary code, or 2)  a local code only if no suitable LOINC exists,  or 3)  both the local and the LOINC translation.   Systems SHALL be capable of sending the local code if one exists." />
      <requirements value="Knowing what kind of observation is being made is essential to understanding the observation." />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="CodeableConcept" />
      </type>
      <condition value="obs-7" />
      <mustSupport value="true" />
      <isSummary value="true" />
      <binding>
        <strength value="extensible" />
        <description value="LOINC codes" />
        <valueSetReference>
          <reference value="http://hl7.org/fhir/ValueSet/uslab-obs-codes" />
        </valueSetReference>
      </binding>
      <mapping>
        <identity value="v2" />
        <map value="OBX-3" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="code" />
      </mapping>
      <mapping>
        <identity value="w5" />
        <map value="what" />
      </mapping>
    </element>
    <element>
      <path value="Observation.component.code.coding" />
      <short value="Code defined by a terminology system" />
      <definition value="A reference to a code defined by a terminology system." />
      <comments value="Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.  Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labelled as UserSelected = true." />
      <requirements value="Allows for translations and alternate encodings within a code system.  Also supports communication of the same instance to systems requiring different encodings." />
      <min value="1" />
      <max value="*" />
      <type>
        <code value="Coding" />
      </type>
      <mustSupport value="true" />
      <isSummary value="true" />
      <mapping>
        <identity value="v2" />
        <map value="C*E.1-8, C*E.10-22" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="union(., ./translation)" />
      </mapping>
      <mapping>
        <identity value="orim" />
        <map value="fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding" />
      </mapping>
    </element>
    <element>
      <path value="Observation.component.code.coding.system" />
      <short value="Identity of the terminology system" />
      <definition value="The identification of the code system that defines the meaning of the symbol in the code." />
      <comments value="The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...).  OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously." />
      <requirements value="Need to be unambiguous about the source of the definition of the symbol." />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="uri" />
      </type>
      <mustSupport value="true" />
      <isSummary value="true" />
      <mapping>
        <identity value="v2" />
        <map value="C*E.3" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="./codeSystem" />
      </mapping>
      <mapping>
        <identity value="orim" />
        <map value="fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem" />
      </mapping>
    </element>
    <element>
      <path value="Observation.component.code.coding.code" />
      <short value="Symbol in syntax defined by the system" />
      <definition value="A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination)." />
      <comments value="Logical Observation Identifiers Names and Codes (LOINC) is a database and universal standard for identifying medical laboratory observations." />
      <requirements value="Need to refer to a particular code in the system." />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="code" />
      </type>
      <mustSupport value="true" />
      <isSummary value="true" />
      <mapping>
        <identity value="v2" />
        <map value="C*E.1" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="./code" />
      </mapping>
      <mapping>
        <identity value="orim" />
        <map value="fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code" />
      </mapping>
    </element>
    <element>
      <path value="Observation.component.code.coding.display" />
      <short value="Representation defined by the system" />
      <definition value="A representation of the meaning of the code in the system, following the rules of the system." />
      <comments value="When using LOINC  'long common name' is preferred although the LOINC 'short name' or the LOINC 'fully-specified name can also be used.  ( http://lionc.org.terms-of-use)." />
      <requirements value="Need to be able to carry a human-readable meaning of the code for readers that do not know  the system." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="string" />
      </type>
      <mustSupport value="true" />
      <isSummary value="true" />
      <mapping>
        <identity value="v2" />
        <map value="C*E.2 - but note this is not well followed" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="CV.displayName" />
      </mapping>
      <mapping>
        <identity value="orim" />
        <map value="fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName" />
      </mapping>
    </element>
    <element>
      <path value="Observation.component.code.text" />
      <short value="Display text" />
      <definition value="This is the laboratory defined display text for the lab test if different from the code display text(s)." />
      <comments value="If this exists, this is the text to be used for display." />
      <requirements value="Used when the laboratory define how the dsplay text if different from the code display text." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="string" />
      </type>
      <mustSupport value="true" />
      <isSummary value="true" />
      <mapping>
        <identity value="v2" />
        <map value="C*E.9. But note many systems use C*E.2 for this" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="./originalText[mediaType/code=&quot;text/plain&quot;]/data" />
      </mapping>
      <mapping>
        <identity value="orim" />
        <map value="fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText" />
      </mapping>
    </element>
    <element>
      <path value="Observation.component.value[x]" />
      <short value="Actual component result" />
      <definition value="The information determined as a result of making the observation, if the information has a simple value." />
      <comments value="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 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 &lt;http://hl7.org/fhir/ValueSet/v2-0136&gt; (These &quot;yes/no&quot; concepts can be mapped to the display name &quot;true/false&quot; or other mutually exclusive terms that may be needed&quot;).  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 &quot;'value' + the type name&quot; with a capital on the first letter of the type)." />
      <requirements value="An observation exists to have a value, though it may not if it is in error, or it represents a group of observations." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Quantity" />
      </type>
      <type>
        <code value="CodeableConcept" />
      </type>
      <type>
        <code value="string" />
      </type>
      <type>
        <code value="Range" />
      </type>
      <type>
        <code value="Ratio" />
      </type>
      <type>
        <code value="SampledData" />
      </type>
      <type>
        <code value="Attachment" />
      </type>
      <type>
        <code value="time" />
      </type>
      <type>
        <code value="dateTime" />
      </type>
      <type>
        <code value="Period" />
      </type>
      <mustSupport value="true" />
      <isSummary value="true" />
      <mapping>
        <identity value="v2" />
        <map value="OBX.2, OBX.5, OBX.6" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="value" />
      </mapping>
    </element>
    <element>
      <path value="Observation.component.dataAbsentReason" />
      <short value="Why the component result is missing" />
      <definition value="Provides a reason why the expected value in the element Observation.value[x] is missing." />
      <comments value="&quot;Null&quot; 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  &quot;detected&quot;, &quot;not detected&quot;, &quot;inconclusive&quot;, or  &quot;test not done&quot;.   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 &quot;error&quot; 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 value="For many results it is necessary to handle exceptional values in measurements." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="CodeableConcept" />
      </type>
      <condition value="obs-6" />
      <mustSupport value="true" />
      <binding>
        <strength value="extensible" />
        <description value="Codes specifying why the result (Observation.value[x]) is missing." />
        <valueSetReference>
          <reference value="http://hl7.org/fhir/ValueSet/observation-valueabsentreason" />
        </valueSetReference>
      </binding>
      <mapping>
        <identity value="v2" />
        <map value="N/A" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="value.nullFlavor" />
      </mapping>
    </element>
    <element>
      <path value="Observation.component.referenceRange" />
      <short value="Provides guide for interpretation of component result" />
      <definition value="Guidance on how to interpret the value by comparison to a normal or recommended range." />
      <comments value="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 value="Knowing what values are considered &quot;normal&quot; can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts." />
      <min value="0" />
      <max value="1" />
      <nameReference value="referenceRange" />
      <mustSupport value="true" />
      <mapping>
        <identity value="v2" />
        <map value="OBX.7" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]" />
      </mapping>
    </element>
  </differential>
</StructureDefinition>