Extensions
Coming Soon

Time Tracker Widget

Times a patient encounter directly from their chart and logs duration, start, and end time to a configured form — no manual calculation, no leaving the profile.

Built by SE Team

The problem it solves

Providers spend time on encounters that should be documented — for example, care coordination time supporting CCM/BHI billing codes — but manual time tracking is cumbersome and often skipped, leaving that time undocumented.

What's included

  • Live start/stop timer embedded in the patient profile
  • On stop, opens a log modal pre-filled with duration, start time, and end time
  • Saves to a specifically configured "Time Log" custom form via createFormAnswerGroup
  • Supports additional basic fields on the same form; complex field types have limited v1 support
  • Self-hides when the required form/field configuration is missing

How it works

Requires a "Time Log" custom module form pre-configured with exact-match fields: Duration (Number), Start Time, and End Time. The widget reads timeLogFormId and durationFieldId URL parameters (plus an optional patient id, also delivered via postMessage) — if either required parameter is missing, it renders nothing. Staff start and stop the timer during an encounter; stopping opens a log modal pre-filled with duration, start time, and end time. "Save Log" submits a completed FormAnswerGroup via createFormAnswerGroup. Duration always rounds to the nearest minute (one-minute minimum), and the timer doesn't persist across a page refresh in v1. Authenticates the same way as Healthie's other embedded staff-side widgets: a JWT via postMessage, sent as a Bearer token with an AuthorizationSource: ThirdPartyApp header.

Example configuration

mutation SaveTimeLog($input: createFormAnswerGroupInput!) {
  createFormAnswerGroup(input: $input) {
    form_answer_group { id }
    messages { field message }
  }
}

# Example variables
{
  "input": {
    "custom_module_form_id": "29004",
    "user_id": "patient_id",
    "finished": true,
    "form_answers": [
      { "custom_module_id": "265012", "user_id": "patient_id", "answer": "42" }
    ]
  }
}

The Time Tracker Widget lets providers and care coordinators time a patient encounter and log it straight to the chart, without leaving the profile or calculating duration by hand. It's built for practices billing by time, and requires a pre-configured "Time Log" custom form with exact-match Duration, Start Time, and End Time fields. Staff start the timer at the beginning of an encounter and stop it at the end, which opens a log modal pre-filled with the elapsed duration. As a v1 limitation, the timer resets if the page is refreshed.

Building on Healthie?

Talk to our team about API access, white-label, and enterprise architecture — or dive into the docs.