Observation
Descripción general
El recurso Observation representa mediciones y aserciones simples realizadas sobre un paciente. Esto incluye signos vitales (frecuencia cardíaca, presión arterial, temperatura), resultados de laboratorio (glucosa en sangre) y datos recopilados por dispositivos (SpO2, peso).
Endpoints de la API
| Método | Ruta | Descripción |
|---|---|---|
| GET | /api/monitoreds/{id}/observations/ | Listar observaciones de un paciente |
| POST | /api/monitoreds/{id}/observations/ | Crear observaciones |
| GET | /api/observations/{id}/ | Obtener detalles de la observación |
Modelo de datos
| Campo | Tipo | Descripción |
|---|---|---|
id | integer | Identificador único |
observation_definition | object | Tipo y método de observación |
category | string | Categoría (p. ej., physiological_data) |
value | string | Valor medido |
value_type | string | Tipo de dato (float, int, etc.) |
value_unit | string | Unidad de medida (bpm, celsius, mmHg, etc.) |
issued | datetime | Cuándo se emitió la observación |
effective_datetime | datetime | Cuándo se realizó la medición |
source_id | integer | Identificador del dispositivo fuente |
Ejemplo
{
"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
}
Tipos de observación
| Nombre | Unidad | Descripción |
|---|---|---|
heart_rate | bpm | Frecuencia cardíaca |
blood_pressure_systolic | mmHg | Presión arterial sistólica |
blood_pressure_diastolic | mmHg | Presión arterial diastólica |
temperature | celsius | Temperatura corporal |
oxygen_saturation | percentage | SpO2 |
weight | kg | Peso corporal |
blood_glucose | mg/dL | Nivel de glucosa en sangre |
respiratory_rate | breaths/min | Frecuencia respiratoria |
Observaciones tipadas del SDK v2
Cuando utilice el SDK v2 de vitalera, las observaciones se devuelven como clases tipadas en lugar de JSON genérico. Esto proporciona seguridad en tiempo de compilación y autocompletado en su IDE.
observation_name de la API | Clase tipada del SDK v2 | Campos clave |
|---|---|---|
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) |
Ejemplo (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}%")
}
}
Ejemplo (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)%")
}
}
Para la lista completa de más de 30 clases de observación tipadas, consulte la Descripción del SDK.