<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="saudi-observation" />
  <url value="http://nphies.sa/fhir/ksa/nphies-fs/StructureDefinition/saudi-observation" />
  <version value="1.0.0" />
  <name value="SaudiObservation" />
  <title value="Saudi Clinical Observation Profile" />
  <status value="active" />
  <date value="2025-07-07" />
  <publisher value="Saudi Health Council" />
  <contact>
    <name value="Saudi Health Council" />
    <telecom>
      <system value="url" />
      <value value="https://www.shc.gov.sa" />
    </telecom>
  </contact>
  <description value="Saudi Clinical Observation Profile provides standardized clinical observation documentation aligned with Saudi clinical practices and cultural considerations. This profile supports comprehensive clinical data capture including vital signs, laboratory results, diagnostic findings, and clinical assessments with appropriate cultural context and NHIC terminology compliance." />
  <jurisdiction>
    <coding>
      <system value="urn:iso:std:iso:3166" />
      <code value="SA" />
      <display value="Saudi Arabia" />
    </coding>
  </jurisdiction>
  <purpose value="To standardize clinical observation documentation across Saudi healthcare facilities while accommodating cultural considerations and Saudi clinical practices." />
  <copyright value="Copyright © 2025 Saudi Health Council" />
  <fhirVersion value="4.0.1" />
  <mapping>
    <identity value="shdd" />
    <uri value="http://shc.gov.sa/shdd" />
    <name value="Saudi Health Data Dictionary v2" />
  </mapping>
  <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>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
    </element>
    <element id="Observation.extension:measurementContext">
      <path value="Observation.extension" />
      <sliceName value="measurementContext" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://nphies.sa/fhir/ksa/nphies-fs/StructureDefinition/saudi-observation-measurement-context" />
      </type>
    </element>
    <element id="Observation.extension:culturalContext">
      <path value="Observation.extension" />
      <sliceName value="culturalContext" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://nphies.sa/fhir/ksa/nphies-fs/StructureDefinition/saudi-observation-cultural-context" />
      </type>
    </element>
    <element id="Observation.extension:religiousConsiderations">
      <path value="Observation.extension" />
      <sliceName value="religiousConsiderations" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://nphies.sa/fhir/ksa/nphies-fs/StructureDefinition/saudi-observation-religious-considerations" />
      </type>
    </element>
    <element id="Observation.extension:environmentalFactors">
      <path value="Observation.extension" />
      <sliceName value="environmentalFactors" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://nphies.sa/fhir/ksa/nphies-fs/StructureDefinition/saudi-observation-environmental-factors" />
      </type>
    </element>
    <element id="Observation.identifier">
      <path value="Observation.identifier" />
      <mapping>
        <identity value="shdd" />
        <map value="VS001 - Observation Identifier" />
      </mapping>
    </element>
    <element id="Observation.basedOn">
      <path value="Observation.basedOn" />
      <mapping>
        <identity value="shdd" />
        <map value="VS002 - Observation Order Reference" />
      </mapping>
    </element>
    <element id="Observation.partOf">
      <path value="Observation.partOf" />
      <mapping>
        <identity value="shdd" />
        <map value="VS003 - Parent Observation Reference" />
      </mapping>
    </element>
    <element id="Observation.status">
      <path value="Observation.status" />
      <mapping>
        <identity value="shdd" />
        <map value="VS004 - Observation Status" />
      </mapping>
    </element>
    <element id="Observation.category">
      <path value="Observation.category" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="coding.code" />
        </discriminator>
        <description value="Slice based on observation category" />
        <rules value="open" />
      </slicing>
      <min value="1" />
      <mapping>
        <identity value="shdd" />
        <map value="VS005 - Observation Category" />
      </mapping>
    </element>
    <element id="Observation.category:vitalSigns">
      <path value="Observation.category" />
      <sliceName value="vitalSigns" />
      <short value="Vital signs category" />
      <min value="0" />
      <max value="1" />
    </element>
    <element id="Observation.category:vitalSigns.coding.system">
      <path value="Observation.category.coding.system" />
      <patternUri value="http://terminology.hl7.org/CodeSystem/observation-category" />
    </element>
    <element id="Observation.category:vitalSigns.coding.code">
      <path value="Observation.category.coding.code" />
      <min value="1" />
      <patternCode value="vital-signs" />
    </element>
    <element id="Observation.category:laboratory">
      <path value="Observation.category" />
      <sliceName value="laboratory" />
      <short value="Laboratory category" />
      <min value="0" />
      <max value="1" />
    </element>
    <element id="Observation.category:laboratory.coding.system">
      <path value="Observation.category.coding.system" />
      <patternUri value="http://terminology.hl7.org/CodeSystem/observation-category" />
    </element>
    <element id="Observation.category:laboratory.coding.code">
      <path value="Observation.category.coding.code" />
      <min value="1" />
      <patternCode value="laboratory" />
    </element>
    <element id="Observation.category:imaging">
      <path value="Observation.category" />
      <sliceName value="imaging" />
      <short value="Imaging category" />
      <min value="0" />
      <max value="1" />
    </element>
    <element id="Observation.category:imaging.coding.system">
      <path value="Observation.category.coding.system" />
      <patternUri value="http://terminology.hl7.org/CodeSystem/observation-category" />
    </element>
    <element id="Observation.category:imaging.coding.code">
      <path value="Observation.category.coding.code" />
      <min value="1" />
      <patternCode value="imaging" />
    </element>
    <element id="Observation.category:procedure">
      <path value="Observation.category" />
      <sliceName value="procedure" />
      <short value="Procedure category" />
      <min value="0" />
      <max value="1" />
    </element>
    <element id="Observation.category:procedure.coding.system">
      <path value="Observation.category.coding.system" />
      <patternUri value="http://terminology.hl7.org/CodeSystem/observation-category" />
    </element>
    <element id="Observation.category:procedure.coding.code">
      <path value="Observation.category.coding.code" />
      <min value="1" />
      <patternCode value="procedure" />
    </element>
    <element id="Observation.category:survey">
      <path value="Observation.category" />
      <sliceName value="survey" />
      <short value="Survey category" />
      <min value="0" />
      <max value="1" />
    </element>
    <element id="Observation.category:survey.coding.system">
      <path value="Observation.category.coding.system" />
      <patternUri value="http://terminology.hl7.org/CodeSystem/observation-category" />
    </element>
    <element id="Observation.category:survey.coding.code">
      <path value="Observation.category.coding.code" />
      <min value="1" />
      <patternCode value="survey" />
    </element>
    <element id="Observation.category:exam">
      <path value="Observation.category" />
      <sliceName value="exam" />
      <short value="Exam category" />
      <min value="0" />
      <max value="1" />
    </element>
    <element id="Observation.category:exam.coding.system">
      <path value="Observation.category.coding.system" />
      <patternUri value="http://terminology.hl7.org/CodeSystem/observation-category" />
    </element>
    <element id="Observation.category:exam.coding.code">
      <path value="Observation.category.coding.code" />
      <min value="1" />
      <patternCode value="exam" />
    </element>
    <element id="Observation.category:therapy">
      <path value="Observation.category" />
      <sliceName value="therapy" />
      <short value="Therapy category" />
      <min value="0" />
      <max value="1" />
    </element>
    <element id="Observation.category:therapy.coding.system">
      <path value="Observation.category.coding.system" />
      <patternUri value="http://terminology.hl7.org/CodeSystem/observation-category" />
    </element>
    <element id="Observation.category:therapy.coding.code">
      <path value="Observation.category.coding.code" />
      <min value="1" />
      <patternCode value="therapy" />
    </element>
    <element id="Observation.category:activity">
      <path value="Observation.category" />
      <sliceName value="activity" />
      <short value="Activity category" />
      <min value="0" />
      <max value="1" />
    </element>
    <element id="Observation.category:activity.coding.system">
      <path value="Observation.category.coding.system" />
      <patternUri value="http://terminology.hl7.org/CodeSystem/observation-category" />
    </element>
    <element id="Observation.category:activity.coding.code">
      <path value="Observation.category.coding.code" />
      <min value="1" />
      <patternCode value="activity" />
    </element>
    <element id="Observation.category:social-history">
      <path value="Observation.category" />
      <sliceName value="social-history" />
      <short value="Social history category" />
      <min value="0" />
      <max value="1" />
    </element>
    <element id="Observation.category:social-history.coding.system">
      <path value="Observation.category.coding.system" />
      <patternUri value="http://terminology.hl7.org/CodeSystem/observation-category" />
    </element>
    <element id="Observation.category:social-history.coding.code">
      <path value="Observation.category.coding.code" />
      <min value="1" />
      <patternCode value="social-history" />
    </element>
    <element id="Observation.code">
      <path value="Observation.code" />
      <binding>
        <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
          <valueString value="ObservationCode" />
        </extension>
        <strength value="extensible" />
        <description value="LOINC codes with SNOMED CT extensions for Saudi clinical observations" />
        <valueSet value="http://nphies.sa/fhir/ksa/nphies-fs/ValueSet/saudi-observation-codes" />
      </binding>
      <mapping>
        <identity value="shdd" />
        <map value="VS010 - Observation Code (LOINC/SNOMED CT)" />
      </mapping>
    </element>
    <element id="Observation.subject">
      <path value="Observation.subject" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://nphies.sa/fhir/ksa/nphies-fs/StructureDefinition/saudi-patient" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Group" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Device" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Location" />
      </type>
      <mapping>
        <identity value="shdd" />
        <map value="VS020 - Observation Subject" />
      </mapping>
    </element>
    <element id="Observation.focus">
      <path value="Observation.focus" />
      <mapping>
        <identity value="shdd" />
        <map value="VS021 - Observation Focus" />
      </mapping>
    </element>
    <element id="Observation.encounter">
      <path value="Observation.encounter" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://nphies.sa/fhir/ksa/nphies-fs/StructureDefinition/saudi-encounter" />
      </type>
      <mapping>
        <identity value="shdd" />
        <map value="VS022 - Associated Encounter" />
      </mapping>
    </element>
    <element id="Observation.effective[x]">
      <path value="Observation.effective[x]" />
      <min value="1" />
      <mapping>
        <identity value="shdd" />
        <map value="VS030 - Observation Date/Time" />
      </mapping>
    </element>
    <element id="Observation.issued">
      <path value="Observation.issued" />
      <mapping>
        <identity value="shdd" />
        <map value="VS031 - Observation Issued Date/Time" />
      </mapping>
    </element>
    <element id="Observation.performer">
      <path value="Observation.performer" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="resolve()" />
        </discriminator>
        <description value="Slice based on performer type" />
        <rules value="open" />
      </slicing>
      <mapping>
        <identity value="shdd" />
        <map value="VS040 - Observation Performer" />
      </mapping>
    </element>
    <element id="Observation.performer:practitioner">
      <path value="Observation.performer" />
      <sliceName value="practitioner" />
      <short value="Healthcare practitioner who performed the observation" />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Practitioner" />
      </type>
    </element>
    <element id="Observation.performer:organization">
      <path value="Observation.performer" />
      <sliceName value="organization" />
      <short value="Healthcare organization responsible for the observation" />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Organization" />
      </type>
    </element>
    <element id="Observation.performer:patient">
      <path value="Observation.performer" />
      <sliceName value="patient" />
      <short value="Patient who performed self-observation" />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://nphies.sa/fhir/ksa/nphies-fs/StructureDefinition/saudi-patient" />
      </type>
    </element>
    <element id="Observation.performer:relatedPerson">
      <path value="Observation.performer" />
      <sliceName value="relatedPerson" />
      <short value="Related person who performed the observation" />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/RelatedPerson" />
      </type>
    </element>
    <element id="Observation.value[x]">
      <path value="Observation.value[x]" />
      <mapping>
        <identity value="shdd" />
        <map value="VS050 - Observation Value" />
      </mapping>
    </element>
    <element id="Observation.dataAbsentReason">
      <path value="Observation.dataAbsentReason" />
      <mapping>
        <identity value="shdd" />
        <map value="VS051 - Data Absent Reason" />
      </mapping>
    </element>
    <element id="Observation.interpretation">
      <path value="Observation.interpretation" />
      <binding>
        <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
          <valueString value="ObservationInterpretation" />
        </extension>
        <strength value="extensible" />
        <description value="Saudi-specific observation interpretation codes" />
        <valueSet value="http://nphies.sa/fhir/ksa/nphies-fs/ValueSet/saudi-observation-interpretation" />
      </binding>
      <mapping>
        <identity value="shdd" />
        <map value="VS060 - Observation Interpretation" />
      </mapping>
    </element>
    <element id="Observation.note">
      <path value="Observation.note" />
      <mapping>
        <identity value="shdd" />
        <map value="VS070 - Observation Notes" />
      </mapping>
    </element>
    <element id="Observation.bodySite">
      <path value="Observation.bodySite" />
      <binding>
        <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
          <valueString value="BodySite" />
        </extension>
        <strength value="extensible" />
        <description value="SNOMED CT body site codes with Arabic translations" />
        <valueSet value="http://nphies.sa/fhir/ksa/nphies-fs/ValueSet/saudi-body-site" />
      </binding>
      <mapping>
        <identity value="shdd" />
        <map value="VS080 - Body Site" />
      </mapping>
    </element>
    <element id="Observation.method">
      <path value="Observation.method" />
      <binding>
        <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
          <valueString value="ObservationMethod" />
        </extension>
        <strength value="extensible" />
        <description value="SNOMED CT observation method codes with Arabic translations" />
        <valueSet value="http://nphies.sa/fhir/ksa/nphies-fs/ValueSet/saudi-observation-method" />
      </binding>
      <mapping>
        <identity value="shdd" />
        <map value="VS090 - Observation Method" />
      </mapping>
    </element>
    <element id="Observation.specimen">
      <path value="Observation.specimen" />
      <mapping>
        <identity value="shdd" />
        <map value="VS100 - Specimen Reference" />
      </mapping>
    </element>
    <element id="Observation.device">
      <path value="Observation.device" />
      <mapping>
        <identity value="shdd" />
        <map value="VS110 - Device Reference" />
      </mapping>
    </element>
    <element id="Observation.referenceRange">
      <path value="Observation.referenceRange" />
      <mapping>
        <identity value="shdd" />
        <map value="VS120 - Reference Range" />
      </mapping>
    </element>
    <element id="Observation.referenceRange.low">
      <path value="Observation.referenceRange.low" />
      <mapping>
        <identity value="shdd" />
        <map value="VS121 - Reference Range Low" />
      </mapping>
    </element>
    <element id="Observation.referenceRange.high">
      <path value="Observation.referenceRange.high" />
      <mapping>
        <identity value="shdd" />
        <map value="VS122 - Reference Range High" />
      </mapping>
    </element>
    <element id="Observation.referenceRange.type">
      <path value="Observation.referenceRange.type" />
      <binding>
        <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
          <valueString value="ObservationRangeMeaning" />
        </extension>
        <strength value="extensible" />
        <description value="Saudi-specific reference range types" />
        <valueSet value="http://nphies.sa/fhir/ksa/nphies-fs/ValueSet/saudi-reference-range-type" />
      </binding>
    </element>
    <element id="Observation.referenceRange.appliesTo">
      <path value="Observation.referenceRange.appliesTo" />
      <binding>
        <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
          <valueString value="ObservationRangeType" />
        </extension>
        <strength value="extensible" />
        <description value="Saudi population groups for reference ranges" />
        <valueSet value="http://nphies.sa/fhir/ksa/nphies-fs/ValueSet/saudi-population-groups" />
      </binding>
    </element>
    <element id="Observation.referenceRange.age">
      <path value="Observation.referenceRange.age" />
      <mapping>
        <identity value="shdd" />
        <map value="VS123 - Reference Range Age" />
      </mapping>
    </element>
    <element id="Observation.referenceRange.text">
      <path value="Observation.referenceRange.text" />
      <mapping>
        <identity value="shdd" />
        <map value="VS124 - Reference Range Text" />
      </mapping>
    </element>
    <element id="Observation.hasMember">
      <path value="Observation.hasMember" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://nphies.sa/fhir/ksa/nphies-fs/StructureDefinition/saudi-observation" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/MolecularSequence" />
      </type>
      <mapping>
        <identity value="shdd" />
        <map value="VS130 - Related Observations" />
      </mapping>
    </element>
    <element id="Observation.derivedFrom">
      <path value="Observation.derivedFrom" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/DocumentReference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/ImagingStudy" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Media" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse" />
        <targetProfile value="http://nphies.sa/fhir/ksa/nphies-fs/StructureDefinition/saudi-observation" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/MolecularSequence" />
      </type>
      <mapping>
        <identity value="shdd" />
        <map value="VS140 - Source Observations" />
      </mapping>
    </element>
    <element id="Observation.component">
      <path value="Observation.component" />
      <mapping>
        <identity value="shdd" />
        <map value="VS150 - Observation Components" />
      </mapping>
    </element>
    <element id="Observation.component.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="LOINC codes with SNOMED CT extensions for observation components" />
        <valueSet value="http://nphies.sa/fhir/ksa/nphies-fs/ValueSet/saudi-observation-component-codes" />
      </binding>
    </element>
    <element id="Observation.component.value[x]">
      <path value="Observation.component.value[x]" />
      <mapping>
        <identity value="shdd" />
        <map value="VS151 - Component Value" />
      </mapping>
    </element>
    <element id="Observation.component.dataAbsentReason">
      <path value="Observation.component.dataAbsentReason" />
      <mapping>
        <identity value="shdd" />
        <map value="VS152 - Component Data Absent Reason" />
      </mapping>
    </element>
    <element id="Observation.component.interpretation">
      <path value="Observation.component.interpretation" />
      <binding>
        <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
          <valueString value="ObservationInterpretation" />
        </extension>
        <strength value="extensible" />
        <description value="Saudi-specific component interpretation codes" />
        <valueSet value="http://nphies.sa/fhir/ksa/nphies-fs/ValueSet/saudi-observation-interpretation" />
      </binding>
    </element>
    <element id="Observation.component.referenceRange">
      <path value="Observation.component.referenceRange" />
      <mapping>
        <identity value="shdd" />
        <map value="VS153 - Component Reference Range" />
      </mapping>
    </element>
  </differential>
</StructureDefinition>