| title | Communication Flow Reference - Appointment & Clinical Events |
|---|---|
| mode | wide |
This section captures all the system-driven communication events that Eka currently supports through webhooks (events) — such as appointment creation, cancellations, teleconsultation updates, prescription events, etc. Each entry includes the event name, when it's triggered, a sample payload, and guidance on how to use it.
Each communication is driven by a system event (webhook) and follows a predefined logic using appointment, patient, doctor, or clinic data.
These webhook events enable seamless communication between Eka and your systems, allowing you to respond to key actions in real time — whether it's updating records, sending notifications, or triggering downstream processes based on patient or doctor activity.
This version of the table shows high-level details for each use case in a simplified format.
<td>“Mode” can be checked by calling <a href="/api-reference/doc-tool/appointment-api/get-appointment-details">get_appointment_details</a> API</td>
</tr>
<tr>
<td>Doctor Joined Video Consultation</td>
<td><code>appointment.tele.dr_joined</code></td>
<td>Tele</td>
<td>When the doctor enters the video consultation</td>
<td>
<pre style={{whiteSpace: 'pre', fontSize: '12px', padding: '6px', background: 'black', borderRadius: '4px', maxWidth: '250px', overflowX: 'auto'}}>
{`{}`}
</pre>
</td>
<td>Indicates patient that doctor has joined the video room</td>
</tr>
<tr>
<td>Appointment Cancelled</td>
<td><code>appointment.updated</code></td>
<td>All</td>
<td>When the appointment status changes to CN/CND/CNS</td>
<td>
<pre style={{whiteSpace: 'pre', fontSize: '12px', padding: '6px', background: 'black', borderRadius: '4px', maxWidth: '250px', overflowX: 'auto'}}>
{`{ "status": "CND" / "CN" / "CNS" }`}
</pre>
</td>
<td>Status values: CN (Cancelled by patient), CND (Cancelled by Doctor), CNS (Cancelled by Staff).</td>
</tr>
<tr>
<td>Prescription Created</td>
<td><code>prescription.created</code></td>
<td>All</td>
<td>When the doctor clicks finish prescription</td>
<td>
<pre style={{
whiteSpace: 'pre',
fontSize: '12px',
background: 'black',
borderRadius: '4px',
maxWidth: '250px',
overflowX: 'auto',
color: 'white',
margin: 0,
fontFamily: 'monospace',
padding: '6px',
lineHeight:'0.9'
}}>
<code>
{'{'}<br />
"prescription_id": "prescription_id",<br />
"appointment_id": "appointment_id1",<br />
"prescription_url": "prescription_url.pdf"<br />
{'}'}
</code>
</pre>
</td>
<td>Use “prescription_id” to fetch full clinical content by calling <a href="/api-reference/doc-tool/prescription-api/get-prescription-details">get_prescription_details</a> API.</td>
</tr>
<tr>
<td>Prescription Updated</td>
<td><code>prescription.updated</code></td>
<td>All</td>
<td>When the doctor modifies a saved prescription</td>
<td>
<pre style={{
whiteSpace: 'pre',
fontSize: '12px',
background: 'black',
borderRadius: '4px',
maxWidth: '250px',
overflowX: 'auto',
color: 'white',
margin: 0,
fontFamily: 'monospace',
padding: '6px',
lineHeight:'0.9'
}}>
<code>
{'{'}<br />
"prescription_id": "prescription_id1",<br />
"appointment_id": "appointment_id1",<br />
"prescription_url": "prescription_url.pdf"<br />
{'}'}
</code>
</pre>
</td>
<td>Use “prescription_id” to call <a href="/api-reference/doc-tool/prescription-api/get-prescription-details">get_prescription_details</a> API for updated info.</td>
</tr>
| Event Description | Event Name | Applicable Mode | Trigger | Sample Payload Snippet | Notes |
|---|---|---|---|---|---|
| In-Clinic Appointment Booking | appointment.created |
In-clinic | When a patient books an appointment |
|
“Mode” can be checked by calling get_appointment_details API |
| Tele-Consultation Booking | appointment.created |
Tele | When a patient books an appointment |
|