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