NP Core Vital Signs Panel

Sets minimum expectations for a vital signs panel in the NP Core. Derives from the FHIR Vital Signs Panel profile, which defines the panel LOINC code (85353-1) as an optional slice and groups individual vital sign observations via hasMember. This profile makes that panel code mandatory.

Canonical URL
http://fhir.digitalhealth.gov.np/core/StructureDefinition/np-core-vital-signs-panel
Resource / type
Observation
Based on
http://hl7.org/fhir/StructureDefinition/vitalspanel
Claim conformance
Put the canonical URL in meta.profile of each instance.

Required elements

“Always” means the element must be present in every instance. Otherwise it is required only when its parent element is present.

ElementCard.When
Observation.status
registered | preliminary | final | amended +
1..1 Always
Observation.category
Classification of type of observation
1..* Always
Observation.category:VSCat
Classification of type of observation
1..1 Always
Observation.category:VSCat.coding
Code defined by a terminology system
1..* Always
Observation.category:VSCat.coding.system
Identity of the terminology system
1..1 Always
Observation.category:VSCat.coding.code
Symbol in syntax defined by the system
1..1 Always
Observation.code
Vital Signs Panel
1..1 Always
Observation.code.coding
Code defined by a terminology system
1..* Always
Observation.code.coding:VitalsPanelCode
Code defined by a terminology system
1..1 Always
Observation.subject
Who and/or what the observation is about
1..1 Always
Observation.effective[x]
Often just a dateTime for Vital Signs
1..1 Always
Observation.hasMember
Vital sign observations grouped by this panel
1..* Always
Observation.component.code
Type of component observation (code / type)
1..1 If parent present

Must-support elements

If your system has this data it SHALL send it, and receivers SHALL process it. Must-support does not by itself make an element mandatory.

  • Observation.status
  • Observation.category
  • Observation.category:VSCat
  • Observation.category:VSCat.coding
  • Observation.category:VSCat.coding.system
  • Observation.category:VSCat.coding.code
  • Observation.code
  • Observation.subject
  • Observation.encounter
  • Observation.effective[x]
  • Observation.value[x]
  • Observation.dataAbsentReason
  • Observation.hasMember
  • Observation.component
  • Observation.component.code
  • Observation.component.value[x]
  • Observation.component.dataAbsentReason

Fixed and pattern values

ElementValue
Observation.category:VSCat.coding.system
http://terminology.hl7.org/CodeSystem/observation-category
Observation.category:VSCat.coding.code
vital-signs
Observation.code.coding:VitalsPanelCode.system
http://loinc.org
Observation.code.coding:VitalsPanelCode.code
85353-1

Terminology bindings

required: codes SHALL come from the value set · extensible: use the value set if a suitable code exists · preferred / example: guidance only.

ElementStrengthValue set
Observation.language preferred
http://hl7.org/fhir/ValueSet/languages
Observation.status required
http://hl7.org/fhir/ValueSet/observation-status
Observation.category preferred
http://hl7.org/fhir/ValueSet/observation-category
Observation.category:VSCat preferred
http://hl7.org/fhir/ValueSet/observation-category
Observation.code extensible
http://hl7.org/fhir/ValueSet/observation-vitalsignresult
Observation.dataAbsentReason extensible
http://hl7.org/fhir/ValueSet/data-absent-reason
Observation.interpretation extensible
http://hl7.org/fhir/ValueSet/observation-interpretation
Observation.bodySite example
http://hl7.org/fhir/ValueSet/body-site
Observation.method example
http://hl7.org/fhir/ValueSet/observation-methods
Observation.referenceRange.type preferred
http://hl7.org/fhir/ValueSet/referencerange-meaning
Observation.referenceRange.appliesTo example
http://hl7.org/fhir/ValueSet/referencerange-appliesto
Observation.component.code extensible
http://hl7.org/fhir/ValueSet/observation-vitalsignresult
Observation.component.value[x] extensible
http://hl7.org/fhir/ValueSet/ucum-vitals-common
Observation.component.dataAbsentReason extensible
http://hl7.org/fhir/ValueSet/data-absent-reason
Observation.component.interpretation extensible
http://hl7.org/fhir/ValueSet/observation-interpretation

Rules (invariants)

vs-2 If there is no component or hasMember element then either a value[x] or a data absent reason must be present.

FHIRPath
(component.empty() and hasMember.empty()) implies (dataAbsentReason.exists() or value.exists())

vs-1 if Observation.effective[x] is dateTime and has a value then that value shall be precise to the day

FHIRPath
$this is dateTime implies $this.toString().length() >= 10

obs-3 Must have at least a low or a high or text

FHIRPath
low.exists() or high.exists() or text.exists()

vs-3 If there is no a value a data absent reason must be present

FHIRPath
value.exists() or dataAbsentReason.exists()

Official examples

Observation/ExampleNPCoreVitalSignsPanel
View in IG ↗
{
  "resourceType": "Observation",
  "id": "ExampleNPCoreVitalSignsPanel",
  "meta": {
    "profile": [
      "http://fhir.digitalhealth.gov.np/core/StructureDefinition/np-core-vital-signs-panel"
    ]
  },
  "status": "final",
  "category": [
    {
      "coding": [
        {
          "system": "http://terminology.hl7.org/CodeSystem/observation-category",
          "code": "vital-signs",
          "display": "Vital Signs"
        }
      ]
    }
  ],
  "code": {
    "coding": [
      {
        "system": "http://loinc.org",
        "code": "85353-1",
        "display": "Vital signs, weight, height, head circumference, oxygen saturation and BMI panel"
      }
    ]
  },
  "subject": {
    "reference": "Patient/ExampleNPCorePatient"
  },
  "encounter": {
    "reference": "Encounter/ExampleNPCoreEncounter"
  },
  "effectiveDateTime": "2026-05-10T09:15:00+05:45",
  "performer": [
    {
      "reference": "Practitioner/ExampleNPCorePractitioner"
    }
  ],
  "hasMember": [
    {
      "reference": "Observation/ExampleNPCoreHeartRateObservation"
    },
    {
      "reference": "Observation/ExampleNPCoreBodyTemperatureObservation"
    },
    {
      "reference": "Observation/ExampleNPCoreOxygenSaturationObservation"
    },
    {
      "reference": "Observation/ExampleNPCoreBloodPressureObservation"
    },
    {
      "reference": "Observation/ExampleNPCoreBodyWeightObservation"
    }
  ]
}

Narrative (text) removed for readability.