Fires when a provider approves a prescription. targetEntity is the PrescriptionFulfillment. The eventType is prescription_approved_by_practitioner.
Field Guarantee eventData.performedBy, eventData.prescription✅ Always present (v1) eventData.order⚠️ Conditional performedBy in v2 ⛔ Not delivered — blocked as PHI-adjacent v2 order reference (order_id, commerce_status) ✅ Present when the fulfillment's order is populated
🚧
JSON
{
"_id": "event::xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"ownerEntityModel": "Patient",
"targetEntityModel": "PrescriptionFulfillment",
"deleted": false,
"ownerEntity": "pat::xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"targetEntity": "prfm::xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"eventTitle": "Provider (<PROVIDER_NAME>) approved the prescription.",
"eventType": "prescription_approved_by_practitioner",
"eventData": {
"performedBy": { "id": "usr::xxxx", "role": "provider", "name": "<PROVIDER_NAME>" },
"prescription": "prescr::xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"order": "order::xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
},
"createdAt": { "$date": "2023-04-26T17:43:17.809Z" },
"updatedAt": { "$date": "2023-04-26T17:47:45.225Z" },
"__v": 0
}
eventData fieldType Always? Notes performedByobject {id, role, name} ✅ The approving provider prescriptionstring ✅ Prescription id orderstring ⚠️ Present when resolvable
Sanitized envelope. performedBy is stripped; prescription/order field names aren't on the allowlist. order_id/commerce_status resolve from the fulfillment's order.
JSON
{
"event_type": "prescription_approved_by_practitioner",
"event_id": "event::xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"api_version": "2026-08-09",
"timestamp": "2026-05-30T14:00:00.000Z",
"affiliate_id": "aff::xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"patient_id": "pat::xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"patient_external_id": "ext-patient-123",
"patient_marketing_consent": false,
"is_returning_patient": true,
"order_id": "order::xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"commerce_status": "requires_order_processing"
}
Field Delivered in v2 Notes Envelope + patient identity ✅ order_id, commerce_status✅ From the fulfillment's order performedBy, prescription⛔ Stripped / not on allowlist