Observation
Overzicht
De Observation-bron vertegenwoordigt metingen en eenvoudige constateringen over een patient. Dit omvat vitale functies (hartfrequentie, bloeddruk, temperatuur), labresultaten (bloedglucose) en apparaatgegevens (SpO2, gewicht).
API-eindpunten
| Methode | Pad | Beschrijving |
|---|---|---|
| GET | /api/monitoreds/{id}/observations/ | Observaties van een patient ophalen |
| POST | /api/monitoreds/{id}/observations/ | Observaties aanmaken |
| GET | /api/observations/{id}/ | Observatiedetails ophalen |
Datamodel
| Veld | Type | Beschrijving |
|---|---|---|
id | integer | Unieke identificator |
observation_definition | object | Type en methode van de observatie |
category | string | Categorie (bijv. physiological_data) |
value | string | Gemeten waarde |
value_type | string | Gegevenstype (float, int, etc.) |
value_unit | string | Meeteenheid (bpm, celsius, mmHg, etc.) |
issued | datetime | Wanneer de observatie is uitgegeven |
effective_datetime | datetime | Wanneer de meting is uitgevoerd |
source_id | integer | Bronapparaat-identificator |
Voorbeeld
{
"id": 810,
"observation_definition": {
"observation_name": "heart_rate",
"observation_method": "device"
},
"category": "physiological_data",
"value": "72",
"value_type": "int",
"value_unit": "bpm",
"issued": "2024-01-15T10:30:00Z",
"effective_datetime": "2024-01-15T10:30:00Z",
"source_id": 1
}
Observatietypen
| Naam | Eenheid | Beschrijving |
|---|---|---|
heart_rate | bpm | Hartfrequentie |
blood_pressure_systolic | mmHg | Systolische bloeddruk |
blood_pressure_diastolic | mmHg | Diastolische bloeddruk |
temperature | celsius | Lichaamstemperatuur |
oxygen_saturation | percentage | SpO2 |
weight | kg | Lichaamsgewicht |
blood_glucose | mg/dL | Bloedglucosespiegel |
respiratory_rate | breaths/min | Ademhalingsfrequentie |
SDK v2 getypeerde observaties
Bij gebruik van de vitalera SDK v2 worden observaties geretourneerd als getypeerde klassen in plaats van generieke JSON. Dit biedt compile-time-veiligheid en auto-aanvulling in uw IDE.
API observation_name | SDK v2 getypeerde klasse | Belangrijkste velden |
|---|---|---|
heart_rate | HeartRateObservation | heartRate (bpm) |
blood_pressure_systolic / blood_pressure_diastolic | BloodPressureObservation | systolic, diastolic (mmHg), pulseRate (bpm) |
temperature | TemperatureObservation | temperature (celsius) |
oxygen_saturation | OxygenSaturationObservation | spo2 (%) |
weight | WeightObservation | weight (kg) |
blood_glucose | BloodGlucoseObservation | glucose (mg/dL) |
respiratory_rate | RespiratoryRateObservation | respiratoryRate (breaths/min) |
Voorbeeld (Kotlin):
device.collect().collect { observation ->
when (observation) {
is BloodPressureObservation ->
println("BP: ${observation.systolic}/${observation.diastolic} mmHg")
is HeartRateObservation ->
println("HR: ${observation.heartRate} bpm")
is OxygenSaturationObservation ->
println("SpO2: ${observation.spo2}%")
}
}
Voorbeeld (Swift):
for try await observation in device.collect() {
if let bp = observation as? BloodPressureObservation {
print("BP: \(bp.systolic)/\(bp.diastolic) mmHg")
} else if let hr = observation as? HeartRateObservation {
print("HR: \(hr.heartRate) bpm")
} else if let spo2 = observation as? OxygenSaturationObservation {
print("SpO2: \(spo2.spo2)%")
}
}
Voor de volledige lijst van 30+ getypeerde observatieklassen, zie het SDK-overzicht.