<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="DataStandardsWales-Observation-VitalSigns" />
  <url value="https://fhir.nhs.wales/StructureDefinition/DataStandardsWales-Observation-VitalSigns" />
  <version value="1.1.0" />
  <name value="DataStandardsWalesObservationVitalSigns" />
  <title value="Data Standards Wales Observation Vital Signs" />
  <status value="draft" />
  <date value="2025-04-01" />
  <publisher value="NHS Wales" />
  <contact>
    <name value="NHS Wales" />
    <telecom>
      <system value="email" />
      <value value="fhir.standards@wales.nhs.uk" />
      <use value="work" />
      <rank value="1" />
    </telecom>
  </contact>
  <description value="Resource structure is based on UKCore-Observation-VitalSigns v1.1.1 which is not yet included in a balloted release. Added manually to prevent structure deviation and to support NHS Wales projects. Once available, the resource will be updated and derived from UK Core. Defines the observation constraints and extensions on the UK Core observation resource for the minimal set of data to query and retrieve clinical observation vital signs information." />
  <purpose value="This profile allows exchange of internationally FHIR compliant vital signs information based on measurements and simple assertions made about an individual." />
  <copyright value="2025 NHS Wales" />
  <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="https://fhir.nhs.wales/StructureDefinition/DataStandardsWales-Observation" />
  <derivation value="constraint" />
  <differential>
    <element id="Observation">
      <path value="Observation" />
      <constraint>
        <key value="DSW-obs-vs-001" />
        <severity value="error" />
        <human value="Where the category is Vital Signs the code.coding SHALL include a LOINC &quot;magic code&quot;" />
        <expression value="category.where(code='vital-signs').exists() implies code.coding.where(system='http://loinc.org').exists()" />
      </constraint>
    </element>
    <element id="Observation.extension:bodyPosition">
      <path value="Observation.extension" />
      <sliceName value="bodyPosition" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.org/fhir/StructureDefinition/observation-bodyPosition" />
      </type>
      <isModifier value="false" />
    </element>
    <element id="Observation.extension:bodyPosition.value[x]">
      <path value="Observation.extension.value[x]" />
      <binding>
        <strength value="preferred" />
        <valueSet value="https://fhir.nhs.wales/ValueSet/DataStandardsWales-BodyPosition" />
      </binding>
    </element>
    <element id="Observation.extension:recordingSetting">
      <path value="Observation.extension" />
      <sliceName value="recordingSetting" />
      <type>
        <code value="Extension" />
        <profile value="https://fhir.nhs.wales/StructureDefinition/Extension-DataStandardsWales-RecordingSetting" />
      </type>
      <isModifier value="false" />
    </element>
    <element id="Observation.category">
      <path value="Observation.category" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Observation.category.coding.system">
      <path value="Observation.category.coding.system" />
      <fixedUri value="http://terminology.hl7.org/CodeSystem/observation-category" />
    </element>
    <element id="Observation.category.coding.code">
      <path value="Observation.category.coding.code" />
      <fixedCode value="vital-signs" />
    </element>
    <element id="Observation.code.coding">
      <path value="Observation.code.coding" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="system" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Observation.code.coding:loinc">
      <path value="Observation.code.coding" />
      <sliceName value="loinc" />
      <binding>
        <strength value="extensible" />
        <valueSet value="http://hl7.org/fhir/ValueSet/observation-vitalsignresult" />
      </binding>
    </element>
    <element id="Observation.code.coding:loinc.system">
      <path value="Observation.code.coding.system" />
      <fixedUri value="http://loinc.org" />
    </element>
    <element id="Observation.code.coding:snomedCT">
      <path value="Observation.code.coding" />
      <sliceName value="snomedCT" />
      <binding>
        <strength value="preferred" />
        <description value="A code from the SNOMED Clinical Terminology UK coding system describing a type of observation" />
        <valueSet value="https://fhir.nhs.wales/ValueSet/DataStandardsWales-ObservationVitalSignsType" />
      </binding>
    </element>
    <element id="Observation.code.coding:snomedCT.system">
      <path value="Observation.code.coding.system" />
      <fixedUri value="http://snomed.info/sct" />
    </element>
    <element id="Observation.subject">
      <path value="Observation.subject" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.nhs.wales/StructureDefinition/DataStandardsWales-Patient" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Group" />
        <targetProfile value="https://fhir.nhs.wales/StructureDefinition/DataStandardsWales-Location" />
        <targetProfile value="https://fhir.nhs.wales/StructureDefinition/DataStandardsWales-Device" />
      </type>
    </element>
    <element id="Observation.effective[x]">
      <path value="Observation.effective[x]" />
      <min value="1" />
    </element>
    <element id="Observation.component.code">
      <path value="Observation.component.code" />
      <binding>
        <strength value="preferred" />
        <description value="A code from the SNOMED Clinical Terminology UK coding system describing a type of vital sign." />
        <valueSet value="https://fhir.nhs.wales/ValueSet/DataStandardsWales-ObservationVitalSignsType" />
      </binding>
    </element>
    <element id="Observation.component.code.coding">
      <path value="Observation.component.code.coding" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="system" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Observation.component.code.coding:loinc">
      <path value="Observation.component.code.coding" />
      <sliceName value="loinc" />
      <binding>
        <strength value="extensible" />
        <valueSet value="http://hl7.org/fhir/ValueSet/observation-vitalsignresult" />
      </binding>
    </element>
    <element id="Observation.component.code.coding:loinc.system">
      <path value="Observation.component.code.coding.system" />
      <fixedUri value="http://loinc.org" />
    </element>
    <element id="Observation.component.code.coding:snomedCT">
      <path value="Observation.component.code.coding" />
      <sliceName value="snomedCT" />
      <binding>
        <strength value="preferred" />
        <description value="A code from the SNOMED Clinical Terminology UK coding system describing a type of observation for vital-signs" />
        <valueSet value="https://fhir.nhs.wales/ValueSet/DataStandardsWales-ObservationVitalSignsType" />
      </binding>
    </element>
    <element id="Observation.component.code.coding:snomedCT.system">
      <path value="Observation.component.code.coding.system" />
      <fixedUri value="http://snomed.info/sct" />
    </element>
  </differential>
</StructureDefinition>