Zum Hauptinhalt springen

Webhook Event Types

vitalera sends webhook notifications for the following event types. Each event includes a structured payload containing the affected resource data.

Event Naming Convention

Event types follow the pattern <resource>.<action>:

  • <resource> -- the FHIR resource or domain object (lowercase, snake_case)
  • <action> -- the lifecycle event (created, updated, deleted)

Available Events

Observation Events

Triggered when patient health measurements are recorded or updated.

Event TypeDescription
observation.createdA new observation (vital sign, measurement) was recorded
observation.updatedAn existing observation was modified

Example payload:

{
"event_type": "observation.created",
"timestamp": "2024-01-15T10:30:00Z",
"data": {
"id": 810,
"resourceType": "Observation",
"status": "final",
"code": {
"coding": [
{
"system": "http://loinc.org",
"code": "85354-9",
"display": "Blood pressure panel"
}
]
},
"subject": {
"reference": "Patient/456"
},
"effectiveDateTime": "2024-01-15T10:29:45Z",
"component": [
{
"code": {
"coding": [
{
"system": "http://loinc.org",
"code": "8480-6",
"display": "Systolic blood pressure"
}
]
},
"valueQuantity": {
"value": 120,
"unit": "mmHg"
}
},
{
"code": {
"coding": [
{
"system": "http://loinc.org",
"code": "8462-4",
"display": "Diastolic blood pressure"
}
]
},
"valueQuantity": {
"value": 80,
"unit": "mmHg"
}
}
]
}
}

Care Plan Events

Triggered when care plans are created, modified, or their status changes.

Event TypeDescription
plan.createdA new care plan was created
plan.updatedA care plan was modified (schedule, components)
plan.activatedA care plan was activated for a patient
plan.completedA care plan reached its end date

Example payload:

{
"event_type": "plan.updated",
"timestamp": "2024-01-15T14:00:00Z",
"data": {
"id": 55,
"resourceType": "CarePlan",
"status": "active",
"subject": {
"reference": "Patient/456"
},
"period": {
"start": "2024-01-01",
"end": "2024-03-31"
}
}
}

Questionnaire Response Events

Triggered when patients submit questionnaire responses.

Event TypeDescription
questionnaire_response.createdA patient submitted a questionnaire

Example payload:

{
"event_type": "questionnaire_response.created",
"timestamp": "2024-01-15T11:00:00Z",
"data": {
"id": 1200,
"resourceType": "QuestionnaireResponse",
"status": "completed",
"questionnaire": "Questionnaire/42",
"subject": {
"reference": "Patient/456"
},
"authored": "2024-01-15T10:58:30Z",
"item": [
{
"linkId": "q1",
"answer": [
{
"valueInteger": 2
}
]
}
]
}
}

Task Events

Triggered when tasks are assigned, completed, or their status changes.

Event TypeDescription
task.createdA new task was assigned to a patient
task.updatedA task's status or details were changed
task.completedA task was marked as completed

Alarm Events

Triggered when clinical alarms are raised or resolved.

Event TypeDescription
alarm.triggeredAn alarm rule was triggered by a patient's data
alarm.resolvedA previously triggered alarm was resolved

Example payload:

{
"event_type": "alarm.triggered",
"timestamp": "2024-01-15T10:31:00Z",
"data": {
"id": 3001,
"alarm_rule_id": 15,
"patient": {
"reference": "Patient/456"
},
"severity": "high",
"message": "Systolic blood pressure above threshold (140 mmHg)",
"observation": {
"reference": "Observation/810"
}
}
}

Triggered when patient consent records change.

Event TypeDescription
consent.grantedA patient granted consent
consent.revokedA patient revoked a previously granted consent

Common Payload Fields

Every webhook payload includes these top-level fields:

FieldTypeDescription
event_typestringThe event type identifier (see tables above)
timestampstringISO 8601 timestamp of when the event occurred
dataobjectThe resource data associated with the event

Filtering Events

When configuring your webhook endpoint, you can select which event types to receive. This reduces noise and ensures your application only processes relevant events.

Next Steps