Observation
Descripció general
El recurs Observation representa mesures i afirmacions simples fetes sobre un pacient. Això inclou constants vitals (freqüència cardíaca, pressió arterial, temperatura), resultats de laboratori (glucosa en sang) i dades recollides per dispositius (SpO2, pes).
Punts d'accés de l'API
| Mètode | Ruta | Descripció |
|---|---|---|
| GET | /api/monitoreds/{id}/observations/ | Llistar observacions d'un pacient |
| POST | /api/monitoreds/{id}/observations/ | Crear observacions |
| GET | /api/observations/{id}/ | Obtenir detalls d'una observació |
Model de dades
| Camp | Tipus | Descripció |
|---|---|---|
id | integer | Identificador únic |
observation_definition | object | Tipus i mètode de l'observació |
category | string | Categoria (p. ex., physiological_data) |
value | string | Valor mesurat |
value_type | string | Tipus de dada (float, int, etc.) |
value_unit | string | Unitat de mesura (bpm, celsius, mmHg, etc.) |
issued | datetime | Quan es va emetre l'observació |
effective_datetime | datetime | Quan es va prendre la mesura |
source_id | integer | Identificador del dispositiu font |
Exemple
{
"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
}
Tipus d'observació
| Nom | Unitat | Descripció |
|---|---|---|
heart_rate | bpm | Freqüència cardíaca |
blood_pressure_systolic | mmHg | Pressió arterial sistòlica |
blood_pressure_diastolic | mmHg | Pressió arterial diastòlica |
temperature | celsius | Temperatura corporal |
oxygen_saturation | percentage | SpO2 |
weight | kg | Pes corporal |
blood_glucose | mg/dL | Nivell de glucosa en sang |
respiratory_rate | breaths/min | Freqüència respiratòria |
Observacions tipades del SDK v2
Quan s'utilitza el SDK v2 de vitalera, les observacions es retornen com a classes tipades en lloc de JSON genèric. Això proporciona seguretat en temps de compilació i autocompletat al vostre IDE.
observation_name de l'API | Classe tipada del SDK v2 | Camps clau |
|---|---|---|
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) |
Exemple (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}%")
}
}
Exemple (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)%")
}
}
Per a la llista completa de més de 30 classes d'observació tipades, consulteu la Descripció del SDK.