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.
