Saltar al contenido principal

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étodoRutaDescripció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​

CampoTipoDescripción
idintegerIdentificador único
observation_definitionobjectTipo y método de observación
categorystringCategoría (p. ej., physiological_data)
valuestringValor medido
value_typestringTipo de dato (float, int, etc.)
value_unitstringUnidad de medida (bpm, celsius, mmHg, etc.)
issueddatetimeCuándo se emitió la observación
effective_datetimedatetimeCuándo se realizó la medición
source_idintegerIdentificador 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​

NombreUnidadDescripción
heart_ratebpmFrecuencia cardíaca
blood_pressure_systolicmmHgPresión arterial sistólica
blood_pressure_diastolicmmHgPresión arterial diastólica
temperaturecelsiusTemperatura corporal
oxygen_saturationpercentageSpO2
weightkgPeso corporal
blood_glucosemg/dLNivel de glucosa en sangre
respiratory_ratebreaths/minFrecuencia 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 APIClase tipada del SDK v2Campos clave
heart_rateHeartRateObservationheartRate (bpm)
blood_pressure_systolic / blood_pressure_diastolicBloodPressureObservationsystolic, diastolic (mmHg), pulseRate (bpm)
temperatureTemperatureObservationtemperature (celsius)
oxygen_saturationOxygenSaturationObservationspo2 (%)
weightWeightObservationweight (kg)
blood_glucoseBloodGlucoseObservationglucose (mg/dL)
respiratory_rateRespiratoryRateObservationrespiratoryRate (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.

Recursos relacionados​

  • Patient - El paciente al que pertenece esta observación
  • CarePlan - El contexto del plan de cuidados