ObservationBodyHeightLite

Introduction

The ObservationBodyHeightLite profile represents the vital parameter body height and is a profile created from the resource Observation. Body height is an observation concerning body height of a person. The profile is derived from the standard FHIR profile Body height which makes the profile compliant with the FHIR standardized way of communicating vital sign data.

Intended Use

The profile ObservationBodyHeightLite is used for communicating an entry of a patients body height by sending a value in the element observation.value. The profile defines three different types of body height registrations: Body height, birth length and sitting height. The API can be used to create and read patient body height information from/to COSMIC.

Create Body Height

Patient Generated

The patient generated data is ordered by a care giver and there should be a responsible unit sent together with the data.

Healthcare Professional

Should be done by a health care professional with a specified HSA ID. This professional should have their assignment (medarbetaruppdrag) and be connected to the specified unit. Unit should also be specified with HSA ID. Intended use is in first hand that the API is used within the same care giver. The user and specified unit should exist in COSMIC and be the same in the external system.

Read Body Height

Intended use is in first hand that the API is applied for direct access and should not be used to transfer data between caregivers. If it should be used for copying inbetween care givers patient consent must be handled outside the API.

Specific Rules and Limitations

Type Description
Rule This API should not be used to transfer data between caregivers.
Rule If the performer is Patient, the subject should be the same as given performer:observation.
Rule The consumer of the API is responsible for making sure data retrieved is filtered in compliance with laws and regulations prior to presenting it to any end-users.
Rule For reading vital sign observations, the external system needs to be able to evaluate PDL. This means whether the information can be displayed for a healthcare professional with a specific assignment. PDL data needed (HSA care unit and HSA care provider) is retrieved by including the organization referenced from Observation.performer.organization (OrganizationSEVendorLite).
Rule POST: It is not supported to create body height entries with the Snomed CT concepts 169886007 | Birth length | and 248335006 | Sitting height | . Only the concept 1153637007 | Body height | is supported for POST.
Rule POST: The data should not be patient initiated. If patient generated, it should be ordered by a care giver and belong to a specific unit.
Rule POST: It is not supported to create vital sign entries with statuses preliminary, entered-in-error, amended or cancelled. Only status final is supported for POST.
Rule POST: dateTime cannot be 1st of the month with the time 00:00:00.000+01:00 (See error messages described below)
Rule POST: dateTime cannot be only date component, also time component will be needed (See error messages described below)
Rule POST: COSMIC does not support displaying continuous values and hence the external product should not send values to COSMIC more often than every 15 minutes per patient. All values received in COSMIC will be saved and displayed but because it cannot be displayed in a proper way it should not be sent more often as standard

Profile Overview

ObservationBodyHeightLite

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionI0..*Extension
modifierExtension?! I0..*Extension
identifierΣ0..*Identifier
basedOnΣ I0..0Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest)
partOfΣ I0..0Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy)
statusS Σ ?!1..1codeBinding
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemS Σ1..1uriFixed Value
versionΣ0..1string
codeS Σ1..1codeFixed Value
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1codeFixed Value
displayΣ0..1string
userSelectedΣ0..1boolean
id0..1string
extensionI0..*Extension
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1codeFixed Value
displayΣ0..1string
userSelectedΣ0..1boolean
id0..1string
extensionI0..*Extension
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1codeFixed Value
displayΣ0..1string
userSelectedΣ0..1boolean
id0..1string
extensionI0..*Extension
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1codeFixed Value
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
id0..1string
extensionI0..*Extension
referenceΣ I0..1string
typeΣ0..1uriBinding
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ0..1string
encounterΣ I0..1Reference(Encounter)
effectiveDateTimedateTime
issuedΣ0..0instant
id0..1string
extensionI0..*Extension
referenceΣ I0..1string
typeΣ1..1uriBindingFixed Value
identifierΣ0..1Identifier
displayΣ0..1string
id0..1string
extensionI0..*Extension
referenceΣ I0..1string
typeΣ1..1uriBindingFixed Value
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ0..1string
id0..1string
extensionI0..*Extension
referenceΣ I0..1string
typeΣ1..1uriBindingFixed Value
identifierΣ0..1Identifier
displayΣ0..1string
id0..1string
extensionI0..*Extension
referenceΣ I0..1string
typeΣ1..1uriBindingFixed Value
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ0..1string
id0..1string
extensionI0..*Extension
valueS Σ1..1decimal
comparatorΣ ?!0..1codeBinding
unitS Σ1..1stringFixed Value
systemS Σ I1..1uriFixed Value
codeS Σ1..1codeBindingFixed Value
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1codeFixed Value
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
interpretation0..0CodeableConceptBinding
note0..1Annotation
bodySite0..0CodeableConcept
method0..0CodeableConcept
specimenI0..0Reference(Specimen)
deviceI0..0Reference(Device | DeviceMetric)
hasMemberΣ I0..0Reference(QuestionnaireResponse | MolecularSequence | Vital Signs Profile)
derivedFromΣ I0..0Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | MolecularSequence | Vital Signs Profile)

Statuses

FHIR status Status in COSMIC
preliminary unsigned
final signed, completednonSignable
entered-in-error invalidated
cancelled removed
amended resigned

Terminology Bindings

The ObservationBodyheightLite profile is sliced on Observation.code.coding. The first slice is mandatory and fixed to the LOINC code 8302-2, this is inherited from the body height base profile, Bodyheight.

The second slice on Observation.code.coding is fixed to the Snomed CT concept 1153637007 | Body height |. This is used for communicating regular body height registrations.

The third slice on Observation.code.coding is fixed to the Snomed CT concept 169886007 | Birth length |. This is used for communicating only birth height registrations.

The third slice on Observation.code.coding is fixed to the Snomed CT concept 248335006 | Sitting height |. This is used for communicating only sitting height registrations.

Versions

COS version Profile version Required COSMIC version Date Description
3.0.0 1.1.0 R8.3.05 May 2022 Updates in target profile for performer.organization which makes it possible to retrieve PDL units
2.4.0 1.0.0 R8.3.04 Feb 2022 Initial version, support for GET and POST.

Supported Operations

HTTP Methods

Method Description
GET Used to get or search for Body height registrations
POST Used to create a Body height entry. If successful, the operation will return id in response

Query Operations

Search Parameters

Parameter Format Mandatory Comment
date dateTime (dd-mm-yyhh:mm:ss) Yes Obtained date/time. The date is always a range, i.e. two dates are used as search parameters.
status token No The status of the observation. See supported statuses in #Statuses
patient reference Yes The subject that the observation is about (if patient). The reference can be a literal reference ex: subject=1 or a Business identifier as well.ex: subject.identifier=urn:oid:1.2.752.129.2.1.3.1|20200109-6078
code token No SNOMED CT code of the observation type
profile string No search on the profile url. Either code or profile is needed as search parameter.

Supported Queries

  1. GET [baseURL]/Observation/?search?patient= (Search)
  2. GET [baseURL]/Observation/?search?status= (Search)
  3. GET [baseURL]/Observation/?search?date=[gt_date]&date=[lt_date] (Search)
  4. GET [baseURL]/Observation/?search?code= (Search)
  5. GET [baseURL]/Observation/?search?profile= (Search)
  6. GET [baseURL]/Observation/?search?patient=&_include=Observation:performer (Search)
  7. GET [baseURL]/Observation/?search?status=[status]&_include=[] (Search)
  8. GET [baseURL]/Observation/?search?date=[gt_date]&date=[lt_date]&_include=[] (Search)
  9. GET [baseURL]/Observation/?search?code=[code]&_include=[] (Search)
  10. GET [baseURL]/Observation/?search?profile=[url]&_include=[] (Search)
  11. POST [baseURL]/Observation (Post)

Supported SearchInclude Operations

The following searchInclude parameters are supported:

  1. Observation:performer
  2. Observation:performer.organization
  3. Observation:performer.practitioner
  4. Observation:subject

Supported RevInclude Operations

No supported parameters

Error Codes

In the table below, a few error messages specific for Observation are listed.

Code Description Comment
400 "Subject and Performer Patient references does not match."
400 "The date time: < date > is invalid" the dateTime must contain a time component
400 "Server supports only FINAL status when posting Observations" Statuses preliminary, entered-in-error or cancelled. Only status final are not supported for POST.
400 "Only supported Snomed code is 1153637007 for Body height." 169886007 | Birth lentgh | and 248335006 | Sitting height | are not supported for POST