Visit Type Updated

Fires when a visit's type changes (e.g. a provider elevating an asynchronous visit to synchronous). targetEntity is the PrescriptionFulfillment associated with the visit, not the order directly. The eventType is visit_type_updated.

Field guarantees

FieldGuarantee
eventData.visitId, eventData.performedBy✅ Always present (v1)
visitId, performedBy in v2⛔ Not delivered — not on the allowlist / blocked as PHI-adjacent
v2 order reference (order_id, commerce_status)✅ Present when the fulfillment's order is populated
🚧

Visit detail is v1-only. v2 payloads carry the linked order reference but not visitId or performedBy. Keep this webhook on v1 for those.

v1 payload (legacy)

{
  "_id": "event::3e4f5a6b-xxxx-xxxx-xxxx-7c8d9e0f1a2b",
  "ownerEntity": "pat::117eb3b9-xxxx-xxxx-xxxx-9424274b5425",
  "ownerEntityModel": "Patient",
  "targetEntity": "prescrfulf::4f5a6b7c-xxxx-xxxx-xxxx-8d9e0f1a2b3c",
  "targetEntityModel": "PrescriptionFulfillment",
  "eventTitle": "The visit type has been changed from asynchronous to synchronous",
  "eventDescription": "",
  "eventType": "visit_type_updated",
  "eventData": {
    "visitId": "vst::0026ae86-xxxx-xxxx-xxxx-701ce060075a",
    "performedBy": {
      "id": "usr::154300b9-xxxx-xxxx-xxxx-c09f9be9f8d7",
      "role": "provider",
      "name": "<ADMIN_NAME>"
    }
  },
  "deleted": false,
  "createdAt": { "$date": "2026-01-01T12:00:00.000Z" },
  "updatedAt": { "$date": "2026-01-01T12:00:00.000Z" },
  "__v": 0
}
eventData fieldTypeAlways?Notes
visitIdstringThe visit whose type changed
performedByobject {id, role, name}Who changed it

v2 payload

Sanitized envelope. visitId and performedBy are dropped; order_id/commerce_status resolve from the fulfillment's linked order.

{
  "event_type": "visit_type_updated",
  "event_id": "event::3e4f5a6b-xxxx-xxxx-xxxx-7c8d9e0f1a2b",
  "api_version": "2026-08-09",
  "timestamp": "2026-05-30T14:00:00.000Z",
  "affiliate_id": "aff::xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "patient_id": "pat::117eb3b9-xxxx-xxxx-xxxx-9424274b5425",
  "patient_external_id": "ext-patient-123",
  "patient_marketing_consent": false,
  "is_returning_patient": true,
  "order_id": "order::e5576e92-xxxx-xxxx-xxxx-3c3173a3fb82",
  "commerce_status": "requires_provider_review"
}
FieldDelivered in v2Notes
Envelope + patient identity
order_id, commerce_statusWhen the fulfillment's order is populated
visitId, performedByDropped