<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="e922ac52-b6d3-44f2-91ec-86ba8f301910" />
  <meta>
    <versionId value="1" />
    <lastUpdated value="2018-02-25T17:04:33.353+01:00" />
  </meta>
  <url value="http://trilliumbridge.eu/fhir/StructureDefinition/observation-imaging-uv-trillium2" />
  <name value="Observation-imaging-uv-trillium2" />
  <status value="draft" />
  <experimental value="true" />
  <date value="2018-02-06T09:53:52.315+01:00" />
  <contact>
    <name value="Giorgio Cangioli" />
  </contact>
  <description value="This profile represents the contraints applied to the Observation resource by the Trillium II project, which specifies an imaging observation for the international patient summary based on the FHIR standard STU3." />
  <fhirVersion value="3.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Observation" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Observation" />
  <derivation value="constraint" />
  <differential>
    <element id="Observation.extension">
      <path value="Observation.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Observation.extension:partOf">
      <path value="Observation.extension" />
      <sliceName value="partOf" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.org/fhir/StructureDefinition/event-partOf" />
      </type>
    </element>
    <element id="Observation.extension:partOf.valueReference:valueReference">
      <path value="Observation.extension.valueReference" />
      <sliceName value="valueReference" />
      <type>
        <code value="Reference" />
        <profile value="http://trilliumbridge.eu/fhir/StructureDefinition/imagingstudy-uv-trillium2" />
      </type>
    </element>
    <element id="Observation.extension:partOf.valueReference:valueReference.identifier">
      <path value="Observation.extension.valueReference.identifier" />
      <max value="0" />
    </element>
    <element id="Observation.extension:partOf.valueReference:valueReference.display">
      <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
        <valueBoolean value="true" />
      </extension>
      <path value="Observation.extension.valueReference.display" />
      <max value="0" />
    </element>
    <element id="Observation.extension:derivedFrom">
      <path value="Observation.extension" />
      <sliceName value="derivedFrom" />
      <type>
        <code value="Extension" />
        <profile value="http://trilliumbridge.eu/fhir/StructureDefinition/derivedfrom-observation-uv-trillium2" />
      </type>
    </element>
    <element id="Observation.extension:derivedFrom.valueReference:valueReference">
      <path value="Observation.extension.valueReference" />
      <sliceName value="valueReference" />
      <type>
        <code value="Reference" />
        <profile value="http://trilliumbridge.eu/fhir/StructureDefinition/documentreference-uv-trillium2" />
        <versioning value="independent" />
      </type>
      <type>
        <code value="Reference" />
        <targetProfile value="http://trilliumbridge.eu/fhir/StructureDefinition/imagingstudy-reftoevidences-uv-trillium2" />
        <versioning value="independent" />
      </type>
    </element>
    <element id="Observation.extension:reasonCode">
      <path value="Observation.extension" />
      <sliceName value="reasonCode" />
      <short value="Why was event performed?" />
      <definition value="Describes why the event occurred in coded or textual form." />
      <comment value="For free text (uncoded data) use reasonCode.text." />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.org/fhir/StructureDefinition/event-reasonCode" />
      </type>
    </element>
    <element id="Observation.basedOn">
      <path value="Observation.basedOn" />
      <max value="0" />
    </element>
    <element id="Observation.category">
      <path value="Observation.category" />
      <min value="1" />
      <max value="1" />
      <fixedCodeableConcept>
        <coding>
          <system value="http://hl7.org/fhir/observation-category" />
          <code value="imaging" />
          <display value="Imaging" />
        </coding>
      </fixedCodeableConcept>
    </element>
    <element id="Observation.category.coding.system">
      <path value="Observation.category.coding.system" />
      <fixedUri value="http://hl7.org/fhir/observation-category" />
    </element>
    <element id="Observation.category.coding.code">
      <path value="Observation.category.coding.code" />
      <fixedCode value="imaging" />
    </element>
    <element id="Observation.category.coding.userSelected">
      <path value="Observation.category.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Observation.category.text">
      <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
        <valueBoolean value="true" />
      </extension>
      <path value="Observation.category.text" />
      <max value="0" />
    </element>
    <element id="Observation.code">
      <path value="Observation.code" />
      <label value="Diagnostic Procedure Code" />
      <definition value="Describes what was observed. Sometimes this is called the observation &quot;name&quot;.&#xD;&#xA;In this profile the code of the containing observation (the organizer result in the CDA implementation) may correspond to the procedure code (e.g. Chest X-Ray)." />
      <binding>
        <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
          <valueString value="ObservationCode" />
        </extension>
        <strength value="extensible" />
        <valueSetUri value="http://trilliumbridge.eu/fhir/ValueSet/imaging-obs-code" />
      </binding>
    </element>
    <element id="Observation.subject">
      <path value="Observation.subject" />
      <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.&#xD;&#xA;&#xD;&#xA;In this profile is constrained to the patient" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://trilliumbridge.eu/fhir/StructureDefinition/patient-uv-trillium2" />
      </type>
    </element>
    <element id="Observation.subject.identifier">
      <path value="Observation.subject.identifier" />
      <max value="0" />
    </element>
    <element id="Observation.context">
      <path value="Observation.context" />
      <max value="0" />
    </element>
    <element id="Observation.effective[x]">
      <path value="Observation.effective[x]" />
      <label value="Date/Time of the Imaging Procedure" />
      <definition value="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 &quot;physiologically relevant time&quot;. 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." />
    </element>
    <element id="Observation.performer">
      <path value="Observation.performer" />
      <label value="Human Observer" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Practitioner" />
      </type>
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Organization" />
      </type>
      <type>
        <code value="Reference" />
        <targetProfile value="http://trilliumbridge.eu/fhir/StructureDefinition/practitioner-uv-trillium2" />
      </type>
      <type>
        <code value="Reference" />
        <targetProfile value="http://trilliumbridge.eu/fhir/StructureDefinition/organization-observation-uv-trillium2" />
      </type>
    </element>
    <element id="Observation.performer.identifier">
      <path value="Observation.performer.identifier" />
      <max value="0" />
    </element>
    <element id="Observation.valueString:valueString">
      <path value="Observation.valueString" />
      <sliceName value="valueString" />
      <label value="Overall Conclusion" />
      <type>
        <code value="string" />
      </type>
    </element>
    <element id="Observation.dataAbsentReason">
      <path value="Observation.dataAbsentReason" />
      <max value="0" />
    </element>
    <element id="Observation.interpretation">
      <path value="Observation.interpretation" />
      <max value="0" />
    </element>
    <element id="Observation.comment">
      <path value="Observation.comment" />
      <max value="0" />
    </element>
    <element id="Observation.bodySite">
      <path value="Observation.bodySite" />
      <label value="body site" />
    </element>
    <element id="Observation.method">
      <path value="Observation.method" />
      <max value="0" />
    </element>
    <element id="Observation.specimen">
      <path value="Observation.specimen" />
      <max value="0" />
    </element>
    <element id="Observation.device">
      <path value="Observation.device" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://trilliumbridge.eu/fhir/StructureDefinition/device-observer-uv-trillium2" />
      </type>
    </element>
    <element id="Observation.device.identifier">
      <path value="Observation.device.identifier" />
      <max value="0" />
    </element>
    <element id="Observation.device.display">
      <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
        <valueBoolean value="true" />
      </extension>
      <path value="Observation.device.display" />
      <max value="0" />
    </element>
    <element id="Observation.referenceRange">
      <path value="Observation.referenceRange" />
      <max value="0" />
    </element>
    <element id="Observation.related">
      <path value="Observation.related" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="type" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Observation.related:hasMember">
      <path value="Observation.related" />
      <sliceName value="hasMember" />
      <constraint>
        <key value="hasMemberOrComponent" />
        <severity value="error" />
        <human value="component and hasMember are mutually exclusive" />
        <expression value="../related[type='has-member'] or ../component" />
      </constraint>
    </element>
    <element id="Observation.related:hasMember.type">
      <path value="Observation.related.type" />
      <min value="1" />
      <fixedCode value="has-member" />
    </element>
    <element id="Observation.related:hasMember.target">
      <path value="Observation.related.target" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://trilliumbridge.eu/fhir/StructureDefinition/observation-imaging-member-uv-trillium2" />
      </type>
    </element>
    <element id="Observation.related:hasMember.target.identifier">
      <path value="Observation.related.target.identifier" />
      <max value="0" />
    </element>
    <element id="Observation.related:hasMember.target.display">
      <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
        <valueBoolean value="true" />
      </extension>
      <path value="Observation.related.target.display" />
      <max value="0" />
    </element>
    <element id="Observation.component">
      <path value="Observation.component" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="value[x]" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <requirements value="Required if not(exists(Observation.valueString))" />
      <constraint>
        <key value="hasMemberOrComponent" />
        <severity value="error" />
        <human value="component and hasMember are mutually exclusive" />
        <expression value="../related[type='has-member'] or ../component" />
      </constraint>
    </element>
    <element id="Observation.component:observationText">
      <path value="Observation.component" />
      <sliceName value="observationText" />
      <max value="1" />
    </element>
    <element id="Observation.component:observationText.code">
      <path value="Observation.component.code" />
      <binding>
        <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
          <valueString value="ObservationCode" />
        </extension>
        <strength value="example" />
        <valueSetReference>
          <reference value="http://trilliumbridge.eu/fhir/ValueSet/imaging-obs-code" />
        </valueSetReference>
      </binding>
    </element>
    <element id="Observation.component:observationText.code.coding">
      <path value="Observation.component.code.coding" />
      <binding>
        <strength value="extensible" />
        <valueSetUri value="http://trilliumbridge.eu/fhir/ValueSet/imaging-txtobs-code" />
      </binding>
    </element>
    <element id="Observation.component:observationText.valueString:valueString">
      <path value="Observation.component.valueString" />
      <sliceName value="valueString" />
      <type>
        <code value="string" />
      </type>
    </element>
    <element id="Observation.component:observationText.dataAbsentReason">
      <path value="Observation.component.dataAbsentReason" />
      <max value="0" />
    </element>
    <element id="Observation.component:observationText.interpretation">
      <path value="Observation.component.interpretation" />
      <max value="0" />
    </element>
    <element id="Observation.component:observationText.referenceRange">
      <path value="Observation.component.referenceRange" />
      <max value="0" />
    </element>
    <element id="Observation.component:observationCode">
      <path value="Observation.component" />
      <sliceName value="observationCode" />
      <max value="1" />
    </element>
    <element id="Observation.component:observationCode.code.coding">
      <path value="Observation.component.code.coding" />
      <binding>
        <strength value="extensible" />
        <valueSetUri value="http://trilliumbridge.eu/fhir/ValueSet/imaging-codedobs-code" />
      </binding>
    </element>
    <element id="Observation.component:observationCode.valueCodeableConcept:valueCodeableConcept">
      <path value="Observation.component.valueCodeableConcept" />
      <sliceName value="valueCodeableConcept" />
      <min value="1" />
      <type>
        <code value="CodeableConcept" />
      </type>
    </element>
    <element id="Observation.component:observationCode.valueCodeableConcept:valueCodeableConcept.coding">
      <path value="Observation.component.valueCodeableConcept.coding" />
      <binding>
        <strength value="example" />
        <valueSetUri value="http://trilliumbridge.eu/fhir/ValueSet/imaging-codedobs-value" />
      </binding>
    </element>
    <element id="Observation.component:observationCode.dataAbsentReason">
      <path value="Observation.component.dataAbsentReason" />
      <max value="0" />
    </element>
    <element id="Observation.component:observationCode.interpretation">
      <path value="Observation.component.interpretation" />
      <max value="0" />
    </element>
    <element id="Observation.component:observationCode.referenceRange">
      <path value="Observation.component.referenceRange" />
      <max value="0" />
    </element>
    <element id="Observation.component:numericMeasurement">
      <path value="Observation.component" />
      <sliceName value="numericMeasurement" />
    </element>
    <element id="Observation.component:numericMeasurement.code">
      <path value="Observation.component.code" />
      <binding>
        <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
          <valueString value="ObservationCode" />
        </extension>
        <strength value="extensible" />
        <description value="Codes identifying names of numeric measurements" />
        <valueSetUri value="http://trilliumbridge.eu/fhir/ValueSet/imaging-num-measure-code" />
      </binding>
    </element>
    <element id="Observation.component:numericMeasurement.value[x]">
      <path value="Observation.component.value[x]" />
      <type>
        <code value="Quantity" />
      </type>
      <type>
        <code value="Range" />
      </type>
      <type>
        <code value="Ratio" />
      </type>
    </element>
    <element id="Observation.component:numericMeasurement.dataAbsentReason">
      <path value="Observation.component.dataAbsentReason" />
      <max value="0" />
    </element>
    <element id="Observation.component:numericMeasurement.interpretation">
      <path value="Observation.component.interpretation" />
      <max value="0" />
    </element>
    <element id="Observation.component:linearMeasurement">
      <path value="Observation.component" />
      <sliceName value="linearMeasurement" />
    </element>
    <element id="Observation.component:linearMeasurement.code">
      <path value="Observation.component.code" />
      <binding>
        <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
          <valueString value="ObservationCode" />
        </extension>
        <strength value="extensible" />
        <valueSetUri value="http://trilliumbridge.eu/fhir/ValueSet/imaging-linear-measure-code" />
      </binding>
    </element>
    <element id="Observation.component:linearMeasurement.value[x]">
      <path value="Observation.component.value[x]" />
      <type>
        <code value="Quantity" />
      </type>
      <type>
        <code value="Range" />
      </type>
      <type>
        <code value="Ratio" />
      </type>
      <type>
        <code value="SampledData" />
      </type>
    </element>
    <element id="Observation.component:linearMeasurement.dataAbsentReason">
      <path value="Observation.component.dataAbsentReason" />
      <max value="0" />
    </element>
    <element id="Observation.component:linearMeasurement.interpretation">
      <path value="Observation.component.interpretation" />
      <max value="0" />
    </element>
    <element id="Observation.component:areaMeasurement">
      <path value="Observation.component" />
      <sliceName value="areaMeasurement" />
    </element>
    <element id="Observation.component:areaMeasurement.code">
      <path value="Observation.component.code" />
      <binding>
        <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
          <valueString value="ObservationCode" />
        </extension>
        <strength value="extensible" />
        <valueSetReference>
          <reference value="http://trilliumbridge.eu/fhir/ValueSet/imaging-area-measure-code" />
        </valueSetReference>
      </binding>
    </element>
    <element id="Observation.component:areaMeasurement.value[x]">
      <path value="Observation.component.value[x]" />
      <type>
        <code value="Quantity" />
      </type>
      <type>
        <code value="Range" />
      </type>
      <type>
        <code value="Ratio" />
      </type>
    </element>
    <element id="Observation.component:areaMeasurement.dataAbsentReason">
      <path value="Observation.component.dataAbsentReason" />
      <max value="0" />
    </element>
    <element id="Observation.component:areaMeasurement.interpretation">
      <path value="Observation.component.interpretation" />
      <max value="0" />
    </element>
    <element id="Observation.component:volumeMeasurement">
      <path value="Observation.component" />
      <sliceName value="volumeMeasurement" />
    </element>
    <element id="Observation.component:volumeMeasurement.code">
      <path value="Observation.component.code" />
      <binding>
        <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
          <valueString value="ObservationCode" />
        </extension>
        <strength value="extensible" />
        <valueSetUri value="http://trilliumbridge.eu/fhir/ValueSet/imaging-volume-measure-code" />
      </binding>
    </element>
    <element id="Observation.component:volumeMeasurement.value[x]">
      <path value="Observation.component.value[x]" />
      <type>
        <code value="Quantity" />
      </type>
      <type>
        <code value="Range" />
      </type>
      <type>
        <code value="Ratio" />
      </type>
    </element>
    <element id="Observation.component:volumeMeasurement.dataAbsentReason">
      <path value="Observation.component.dataAbsentReason" />
      <max value="0" />
    </element>
    <element id="Observation.component:volumeMeasurement.interpretation">
      <path value="Observation.component.interpretation" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>