Doctor audio/controller
Doctor source WebSocket and consultation controls. Keep this page open after completion until session.processed is received.
Read the complete multi-source protocol guide. Use matching session, encounter, hospital, patient, and expected-source values on the patient page. The API key is never saved.
Shared consultation
Choose the processing mode sent by the client. The created audio InteractionDetail is always stored as Audio url.
Doctor source
Important: Keep these source IDs unchanged for this consultation. Use a new Session ID and Encounter ID for each new consultation. Connecting the same source twice returns duplicate_source.
Use the same session, encounter, hospital, patient and source IDs on the patient page.
Example init payload
Controls
Doctor workflow and important notes
- Enter the active API key and shared consultation data, then select Refresh from fields to inspect the complete
initmessage. - Select Connect. Do not start the microphone until the server returns
source.accepted. - Start the doctor microphone. Audio is sent as a binary frame every five seconds and each frame should receive
chunk.ack. - Use Doctor Mic Off to finalize only the doctor source. Use Patient Audio Off to send
source.disableto the patient source. - Select Complete Session only after every expected source is uploaded or explicitly disabled.
- Keep the WebSocket open after
interaction.created. The loader remains visible untilsession.processed, whoseallData.processedTextis parsed and rendered below.
Security: never place the API key in the WebSocket URL. This page sends it only in init, redacts it from the event log, and excludes it from local storage. Native clients may instead use the X-API-Key upgrade header.
Matching rule: session_id, encounter_id, hospital_id, hospital_patient_id, and the full ordered expected_sources list must match on every source socket.
Events
Processing consultation
Keep this page open. Waiting for the structured clinical response...