ObservationBodyWeightLite

Introduction

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

Intended Use

The profile ObservationBodyWeightLite is used for communicating an entry of a patients body weight by sending a value in the element observation.value. The API can be used to create and read patient body weight information from/to COSMIC.

Create Body Weight

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 Weight

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.
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 weight entries with the Snomed CT concept 364589006 | Birth weight |. Only the concept 27113001 | Body weight | 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 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

ObservationBodyWeightLite

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
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
focusΣ I0..0Reference(Resource)
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
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
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..1string
systemS Σ I1..1uriFixed Value
codeS Σ1..1codeBinding
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 | observation-vitalsigns)
derivedFromΣ I0..0Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | MolecularSequence | observation-vitalsigns)

Statuses

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

Terminology Bindings

The ObservationBodyWeightLite profile is sliced on Observation.code.coding. The first slice is mandatory and fixed to the LOINC code 29463-7, this is inherited from the body weight base profile, BodyWeight.

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

The third slice on Observation.code.coding is fixed to the Snomed CT concept 364589006 | Birth weight |. This is used for communicating only birth weight 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 weight registrations
POST Used to create a body weight entry. If successful, the operation will return id in response

Query Operations

Search Parameters

Parameter Format Mandatory Comment
date date (ddmmyy) 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

No supported parameters

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 27113001 for Body weight." 364589006 | Birth weight | is not supported for POST