NP Core Body Height Observation
Sets minimum expectations for body height observations in the NP Core. Derives from the FHIR Body Height vital signs profile, which fixes the LOINC code (8302-2) and constrains the value to UCUM length units (cm or [in_i]).
- Canonical URL
- http://fhir.digitalhealth.gov.np/core/StructureDefinition/np-core-body-height-observation
- Resource / type
- Observation
- Based on
- http://hl7.org/fhir/StructureDefinition/bodyheight
- Claim conformance
- Put the canonical URL in
meta.profileof 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.
| Element | Card. | When |
|---|---|---|
Observation.statusregistered | preliminary | final | amended + |
1..1 | Always |
Observation.categoryClassification of type of observation |
1..* | Always |
Observation.category:VSCatClassification of type of observation |
1..1 | Always |
Observation.category:VSCat.codingCode defined by a terminology system |
1..* | Always |
Observation.category:VSCat.coding.systemIdentity of the terminology system |
1..1 | Always |
Observation.category:VSCat.coding.codeSymbol in syntax defined by the system |
1..1 | Always |
Observation.codeBody Height |
1..1 | Always |
Observation.code.codingCode defined by a terminology system |
1..* | Always |
Observation.code.coding:BodyHeightCodeCode defined by a terminology system |
1..1 | Always |
Observation.code.coding:BodyHeightCode.systemIdentity of the terminology system |
1..1 | Always |
Observation.code.coding:BodyHeightCode.codeSymbol in syntax defined by the system |
1..1 | Always |
Observation.subjectWho and/or what the observation is about |
1..1 | Always |
Observation.effective[x]Often just a dateTime for Vital Signs |
1..1 | Always |
Observation.value[x]:valueQuantity.valueNumerical value (with implicit precision) |
1..1 | If parent present |
Observation.value[x]:valueQuantity.unitUnit representation |
1..1 | If parent present |
Observation.value[x]:valueQuantity.systemSystem that defines coded unit form |
1..1 | If parent present |
Observation.value[x]:valueQuantity.codeCoded responses from the common UCUM units for vital signs value set. |
1..1 | If parent present |
Observation.component.codeType 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.value[x]:valueQuantity
- Observation.value[x]:valueQuantity.value
- Observation.value[x]:valueQuantity.unit
- Observation.value[x]:valueQuantity.system
- Observation.value[x]:valueQuantity.code
- Observation.dataAbsentReason
- Observation.component
- Observation.component.code
- Observation.component.value[x]
- Observation.component.dataAbsentReason
Fixed and pattern values
| Element | Value |
|---|---|
Observation.category:VSCat.coding.system | http://terminology.hl7.org/CodeSystem/observation-category |
Observation.category:VSCat.coding.code | vital-signs |
Observation.code.coding:BodyHeightCode.system | http://loinc.org |
Observation.code.coding:BodyHeightCode.code | 8302-2 |
Observation.value[x]:valueQuantity.system | http://unitsofmeasure.org |
Terminology bindings
required: codes SHALL come from the value set · extensible: use the value set if a suitable code exists · preferred / example: guidance only.
| Element | Strength | Value 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.value[x]:valueQuantity.comparator |
required | http://hl7.org/fhir/ValueSet/quantity-comparator |
Observation.value[x]:valueQuantity.code |
required | http://hl7.org/fhir/ValueSet/ucum-bodylength |
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/ExampleNPCoreBodyHeightObservation
{
"resourceType": "Observation",
"id": "ExampleNPCoreBodyHeightObservation",
"meta": {
"profile": [
"http://fhir.digitalhealth.gov.np/core/StructureDefinition/np-core-body-height-observation"
]
},
"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": "8302-2",
"display": "Body height"
}
]
},
"subject": {
"reference": "Patient/ExampleNPCorePatient"
},
"encounter": {
"reference": "Encounter/ExampleNPCoreEncounter"
},
"effectiveDateTime": "2026-05-10T09:11:00+05:45",
"performer": [
{
"reference": "Practitioner/ExampleNPCorePractitioner"
}
],
"valueQuantity": {
"value": 171,
"unit": "cm",
"system": "http://unitsofmeasure.org",
"code": "cm"
}
}
Narrative (text) removed for readability.