Kivicare Telemed Addon
Core Concepts

How Zoom Integration Works

Understanding the lifecycle of a virtual consultation is key to managing your clinic efficiently. This section explains the automation behind the scenes.


📅 1. The Scheduling Trigger

When an appointment is saved in KiviCare, the plugin checks two things:

  1. Is the Service telemed-enabled?
  2. Does the Doctor have an active Zoom connection?

If both are true, the KCTZoom->create_meeting() method is called.


☁️ 2. API Provisioning

The plugin makes a POST request to Zoom’s /users/me/meetings endpoint. It sends:

  • Topic: Appointment title.
  • Start Time: Formatted in ISO 8601 (UTC).
  • Duration: Appointment length.
  • Settings: Host/Participant video preferences, waiting room status, etc.

💾 3. Secure Mapping

Zoom sends back a payload containing the start_url (for the doctor) and the join_url (for the patient).

  • These are saved in the wp_kc_appointment_zoom_mappings table.
  • The join_url is automatically included in KiviCare email/SMS templates via the {telemed_join_url} tag.

🚀 4. Launching the Consultation

In the Dashboard, the generic “Appointment Details” view is replaced with a dynamic Telemed UI:

  • Doctor: Sees a “Start Session” button (launches the start_url).
  • Patient: Sees a “Join Room” button (launches the join_url).

🏁 5. Completion & Reporting

When the meeting ends, the doctor returns to the KiviCare Dashboard to mark the appointment as “Completed” This ensures accurate billing, updates the patient history, and triggers any post-consultation reports.


Next: Authentication & HIPAA-ready Security

Suggestions & Improvements

Your email address will not be published. Required fields are marked *