Home Measurements
Patients can submit home vital sign measurements (e.g. blood pressure, weight, pulse rate) through the patient-facing API. Each submission creates one or more Observation resources, one per measurement submitted.
Submitting measurements
To submit measurements, a POST request should be made to the <TENANT_BASE_URL>/fhir/R4/Patient/<PATIENT_ID>/Observation/$create-vital-signs endpoint.
POST <TENANT_BASE_URL>/fhir/R4/Patient/<PATIENT_ID>/Observation/$create-vital-signs
The request body should be a Parameters resource containing the following parameters:
effective-date-time[optional - default now]
The dateTime at which the measurements were taken.measurement[optional, repeatable]
A simple single-value measurement. Can be provided multiple times to submit multiple measurements in one request. Each occurrence must include the following parts:code— a Coding identifying the measurement type (e.g. a LOINC or NHG code).value— the measurement value, expressed as one of:valueQuantity— a numeric value with a unit (e.g. weight in kg).valueCodeableConcept— a coded value (e.g. a severity category).valueBoolean— a true/false value.
composite-measurement[optional, repeatable]
A composite measurement made up of multiple component measurements (e.g. a blood pressure reading with both systolic and diastolic values). Each occurrence must include:code— a Coding identifying the composite measurement type.component— a container part holding one or moremeasurementsub-parts, each with the same structure as the top-levelmeasurementparameter above.
At least one measurement or composite-measurement must be provided.
Response
Returns a FHIR Bundle (searchset) containing the newly created Observation resources. Each observation will have:
status:preliminary(indicating it is a patient-reported value awaiting clinical review)category:vital-signssubjectset to the patientperformerset to the patient (indicating a patient-reported measurement)
Examples
Simple measurement (e.g. body weight)
{
"resourceType": "Parameters",
"parameter": [
{
"name": "effective-date-time",
"valueDateTime": "2024-01-15T10:30:00+01:00"
},
{
"name": "measurement",
"part": [
{
"name": "code",
"valueCoding": {
"system": "http://loinc.org",
"code": "29463-7",
"display": "Body weight"
}
},
{
"name": "value",
"valueQuantity": {
"value": 72.0,
"unit": "kg",
"system": "http://unitsofmeasure.org",
"code": "kg"
}
}
]
}
]
}
Composite measurement (e.g. blood pressure)
{
"resourceType": "Parameters",
"parameter": [
{
"name": "effective-date-time",
"valueDateTime": "2024-01-15T10:30:00+01:00"
},
{
"name": "composite-measurement",
"part": [
{
"name": "code",
"valueCoding": {
"system": "http://loinc.org",
"code": "85354-9",
"display": "Blood pressure panel"
}
},
{
"name": "component",
"part": [
{
"name": "measurement",
"part": [
{
"name": "code",
"valueCoding": {
"system": "http://loinc.org",
"code": "8480-6",
"display": "Systolic blood pressure"
}
},
{
"name": "value",
"valueQuantity": {
"value": 120.0,
"unit": "mmHg",
"system": "http://unitsofmeasure.org",
"code": "mm[Hg]"
}
}
]
},
{
"name": "measurement",
"part": [
{
"name": "code",
"valueCoding": {
"system": "http://loinc.org",
"code": "8462-4",
"display": "Diastolic blood pressure"
}
},
{
"name": "value",
"valueQuantity": {
"value": 80.0,
"unit": "mmHg",
"system": "http://unitsofmeasure.org",
"code": "mm[Hg]"
}
}
]
}
]
}
]
}
]
}