Guides
Take cases into your clinical system
When a patient reports something that needs a clinician, NezerCare opens a case and sends it to your endpoint. From there it goes into your clinical workflow, whether that's your EHR, a provider network such as Beluga or MDI, or your own tools. NezerCare just needs to hear back.
The clinical boundary
A delivered webhook confirms transport only; it never means a clinician reviewed the case. If your system schedules care, report it as a scheduled update. Only an explicit resolved update closes a case.
The handoff
- Receive
clinical_case.opened. Your endpoint gets a signed webhook with the case. Verify the signature and deduplicate byx-nezer-event-idbefore you act on it. Itssourcesays where it came from; astaff_slackcase was raised by your team in Slack, not reported by the patient. - Return
processed. Post a case update withstatus: "processed"atsequence: 1. It's required, and it must be the first update. - Message and update as work happens. Send messages the patient can read, and report scheduling, a clinician's response or contact with the patient.
- Resolve explicitly. Close the case with a
resolvedupdate, aresolutionOutcomeand a note. Nothing closes a case on its own.
Use the caseId UUID from the webhook in every call. It isn't the NC-XXXXXXXX reference the patient sees.
Report progress
Every update needs the next consecutive sequence, which the progress endpoint returns as nextSequence. A skipped or reused number is refused with 409. Retry an uncertain request with the same updateId and an identical body.
curl "https://api.nezercare.com/v1/clinical-cases/CASE_ID/updates" \
--request POST \
--header "Authorization: Bearer $NEZER_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"updateId": "b1e6b8a2-2f0e-4a3a-9c1e-2a6b7e9f1a44",
"sequence": 1,
"status": "processed",
"externalReference": "provider-ticket-88213"
}'Statuses
| Status | When to send it |
|---|---|
processed | First, at sequence 1. The case has landed in your workflow. |
scheduled | Your system booked care for the patient. Include scheduledFor. |
clinician_responded | A clinician has reviewed or responded to the case. |
patient_contacted | Your team reached the patient outside NezerCare's messages. |
resolved | Last. Needs a resolutionOutcome and a resolutionNote of at least 10 characters. |
Message the patient
Messages appear in the patient's secure case conversation in the widget. The patient gets an email saying there's a new message, never the message itself.
curl "https://api.nezercare.com/v1/clinical-cases/CASE_ID/messages" \
--request POST \
--header "Authorization: Bearer $NEZER_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"messageId": "0b8f1a3e-6c2d-4f9a-8e51-1d9b6c4a7f02",
"message": "Your care team has your update and will follow up shortly.",
"externalReference": "provider-ticket-88213"
}'The patient reads this field
Keep internal clinical notes in your own system and send only what the patient should read. When the patient replies, you get a clinical_case.patient_message_created webhook.