<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="vn-core-observation-lab-code" />
  <url value="http://moh.gov.vn/fhir/core/StructureDefinition/vn-core-observation-lab-code" />
  <version value="1.0.0" />
  <name value="VNCoreObservationLaboratoryCode" />
  <title value="Observation - Laboratory Result Code Profile - VN Core R4" />
  <status value="draft" />
  <description value="Thông tin về kết quả thực hiện dịch vụ kỹ thuật - Xét nghiệm" />
  <copyright value="Bộ Y tế - Việt Nam" />
  <fhirVersion value="4.0.1" />
  <mapping>
    <identity value="workflow" />
    <uri value="http://hl7.org/fhir/workflow" />
    <name value="Workflow Pattern" />
  </mapping>
  <mapping>
    <identity value="sct-concept" />
    <uri value="http://snomed.info/conceptdomain" />
    <name value="SNOMED CT Concept Domain Binding" />
  </mapping>
  <mapping>
    <identity value="v2" />
    <uri value="http://hl7.org/v2" />
    <name value="HL7 v2 Mapping" />
  </mapping>
  <mapping>
    <identity value="rim" />
    <uri value="http://hl7.org/v3" />
    <name value="RIM Mapping" />
  </mapping>
  <mapping>
    <identity value="w5" />
    <uri value="http://hl7.org/fhir/fivews" />
    <name value="FiveWs Pattern Mapping" />
  </mapping>
  <mapping>
    <identity value="sct-attr" />
    <uri value="http://snomed.org/attributebinding" />
    <name value="SNOMED CT Attribute Binding" />
  </mapping>
  <kind value="resource" />
  <abstract value="false" />
  <type value="Observation" />
  <baseDefinition value="http://moh.gov.vn/fhir/core/StructureDefinition/vn-core-obervation-result-base" />
  <derivation value="constraint" />
  <differential>
    <element id="Observation.identifier">
      <path value="Observation.identifier" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.basedOn">
      <path value="Observation.basedOn" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/CarePlan" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/DeviceRequest" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/ImmunizationRecommendation" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/MedicationRequest" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/NutritionOrder" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/ServiceRequest" />
        <targetProfile value="http://moh.gov.vn/fhir/core/StructureDefinition/vn-core-service-request" />
      </type>
    </element>
    <element id="Observation.partOf">
      <path value="Observation.partOf" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/MedicationAdministration" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/MedicationDispense" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/MedicationStatement" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Procedure" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Immunization" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/ImagingStudy" />
        <targetProfile value="http://moh.gov.vn/fhir/core/StructureDefinition/vn-core-procedure" />
      </type>
    </element>
    <element id="Observation.category">
      <path value="Observation.category" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="coding.system" />
        </discriminator>
        <discriminator>
          <type value="value" />
          <path value="coding.code" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="1" />
    </element>
    <element id="Observation.category:laboratory">
      <path value="Observation.category" />
      <sliceName value="laboratory" />
      <min value="1" />
      <max value="1" />
      <fixedCodeableConcept>
        <coding>
          <system value="http://terminology.hl7.org/CodeSystem/observation-category" />
          <code value="laboratory" />
          <display value="Laboratory" />
        </coding>
        <text value="laboratory" />
      </fixedCodeableConcept>
    </element>
    <element id="Observation.code">
      <path value="Observation.code" />
      <short value="Laboratory Result Code" />
      <definition value="The test that was performed.  A LOINC **SHALL** be used if the concept is present in LOINC." />
      <comment value="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.  When using LOINC , Use either the SHORTNAME or LONG_COMMON_NAME field for the display." />
      <alias value="Test Name" />
      <alias value="Observation Identifer" />
      <binding>
        <strength value="extensible" />
        <description value="LOINC codes" />
        <valueSet value="http://hl7.org/fhir/uv/ips/ValueSet/results-laboratory-observations-uv-ips" />
      </binding>
    </element>
    <element id="Observation.subject">
      <path value="Observation.subject" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://moh.gov.vn/fhir/core/StructureDefinition/vn-core-patient" />
      </type>
    </element>
    <element id="Observation.encounter">
      <path value="Observation.encounter" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://moh.gov.vn/fhir/core/StructureDefinition/vn-core-encounter" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Observation.performer">
      <path value="Observation.performer" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://moh.gov.vn/fhir/core/StructureDefinition/vn-core-practitioner" />
      </type>
    </element>
    <element id="Observation.value[x]">
      <path value="Observation.value[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Observation.value[x]:valueQuantity">
      <path value="Observation.valueQuantity" />
      <sliceName value="valueQuantity" />
      <type>
        <code value="Quantity" />
        <profile value="http://hl7.org/fhir/uv/ips/StructureDefinition/Quantity-uv-ips" />
      </type>
    </element>
    <element id="Observation.value[x]:valueCodeableConcept">
      <path value="Observation.value[x]" />
      <sliceName value="valueCodeableConcept" />
      <type>
        <code value="CodeableConcept" />
        <profile value="http://moh.gov.vn/fhir/core/StructureDefinition/vn-core-codeableconcept" />
      </type>
      <binding>
        <strength value="preferred" />
        <valueSet value="http://hl7.org/fhir/uv/ips/ValueSet/result-coded-value-laboratory-gps-uv-ips" />
      </binding>
    </element>
    <element id="Observation.value[x]:valueString">
      <path value="Observation.value[x]" />
      <sliceName value="valueString" />
      <type>
        <code value="string" />
      </type>
    </element>
    <element id="Observation.value[x]:valueBoolean">
      <path value="Observation.value[x]" />
      <sliceName value="valueBoolean" />
      <type>
        <code value="boolean" />
      </type>
    </element>
    <element id="Observation.value[x]:valueInteger">
      <path value="Observation.value[x]" />
      <sliceName value="valueInteger" />
      <type>
        <code value="integer" />
      </type>
    </element>
    <element id="Observation.value[x]:valueRange">
      <path value="Observation.valueRange" />
      <sliceName value="valueRange" />
      <type>
        <code value="Range" />
        <profile value="http://hl7.org/fhir/uv/ips/StructureDefinition/Range-uv-ips" />
      </type>
    </element>
    <element id="Observation.value[x]:valueRatio">
      <path value="Observation.valueRatio" />
      <sliceName value="valueRatio" />
      <type>
        <code value="Ratio" />
        <profile value="http://hl7.org/fhir/uv/ips/StructureDefinition/Ratio-uv-ips" />
      </type>
    </element>
    <element id="Observation.value[x]:valueSampledData">
      <path value="Observation.value[x]" />
      <sliceName value="valueSampledData" />
      <type>
        <code value="SampledData" />
      </type>
    </element>
    <element id="Observation.value[x]:valueTime">
      <path value="Observation.value[x]" />
      <sliceName value="valueTime" />
      <type>
        <code value="time" />
      </type>
    </element>
    <element id="Observation.value[x]:valueDateTime">
      <path value="Observation.value[x]" />
      <sliceName value="valueDateTime" />
      <type>
        <code value="dateTime" />
      </type>
    </element>
    <element id="Observation.value[x]:valuePeriod">
      <path value="Observation.value[x]" />
      <sliceName value="valuePeriod" />
      <type>
        <code value="Period" />
      </type>
    </element>
    <element id="Observation.interpretation">
      <path value="Observation.interpretation" />
      <type>
        <code value="CodeableConcept" />
        <profile value="http://moh.gov.vn/fhir/core/StructureDefinition/vn-core-codeableconcept" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Observation.bodySite">
      <path value="Observation.bodySite" />
      <type>
        <code value="CodeableConcept" />
        <profile value="http://moh.gov.vn/fhir/core/StructureDefinition/vn-core-codeableconcept" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Observation.method">
      <path value="Observation.method" />
      <type>
        <code value="CodeableConcept" />
        <profile value="http://moh.gov.vn/fhir/core/StructureDefinition/vn-core-codeableconcept" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Observation.specimen">
      <path value="Observation.specimen" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Specimen" />
        <targetProfile value="http://moh.gov.vn/fhir/core/StructureDefinition/vn-core-specimen" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Observation.device">
      <path value="Observation.device" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Device" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/DeviceMetric" />
        <targetProfile value="http://moh.gov.vn/fhir/core/StructureDefinition/vn-core-device" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Observation.referenceRange">
      <path value="Observation.referenceRange" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.hasMember">
      <path value="Observation.hasMember" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/MolecularSequence" />
        <targetProfile value="http://moh.gov.vn/fhir/core/StructureDefinition/vn-core-obervation-result-base" />
        <targetProfile value="http://moh.gov.vn/fhir/core/StructureDefinition/vn-core-observation-lab-code" />
      </type>
    </element>
  </differential>
</StructureDefinition>