Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Dragon Copilot is our AI assistant for healthcare, providing draft clinical notes from ambient recordings and speech recognition from direct dictations. In addition to standalone apps for web, desktop and mobile devices, we provide SDKs for Microsoft development partners who want to embed this powerful technology into their own systems.
As a Microsoft development partner, you can use Dragon Copilot SDK for JavaScript to integrate the following functionality into your clinical apps:
Dictation into web-based controls or into your app's native text fields external to the DOM.
Capture ambient recording sessions and send the audio to Dragon Copilot for processing. Your electronic health record (EHR) can then retrieve the draft note and transcript from the Dragon data exchange.
Define voice commands, so that users can control your app's functionality by voice.
Handle microphones and button presses.
This site provides the API reference documentation - the complete list of SDK objects organized by namespace, with short descriptions. Go to the @dragon-speech-sdk/types overview to get started.
For conceptual information on how to integrate the Dragon Copilot SDK in your app, including prerequisites and instructions for implementing specific functionality, see the Dragon Copilot Developer Kit documentation.
Organization of the APIs
The Dragon Copilot SDK is organized into modules, each grouping related functionality.
At the top level @dragon-speech-sdk provides functions that apply to the SDK as a whole, such as:
initialize()destroy()
The SDK includes the following modules:
applicationCommandsbuttonDevicecorrectioncustomControlserrormicrophonenavigationrecordingsessionsiteCommandsspeech
Some modules are further divided into sub-modules for more granular functionality. Each module defines its own events, accessible via the events property.
Working with events
The Dragon Copilot SDK provides events at two levels:
- Top-level events - Listen for SDK-wide events -
dragon.events - Module-level events - Listen for module-specific events -
dragon.<moduleName>.events
All event objects implement the standard EventTarget interface for adding and removing events. Register listeners using addEventListener(). IntelliSense will suggest available event names as you type.
Example: Listen for when recording starts:
dragon.recording.events.addEventListener("recordingStarted", () => {
// Handle the event here
});
Enum naming conventions
The Dragon Copilot SDK combines a runtime constant object with a compile-time type for enums. The naming convention is:
- Plural for the const object (runtime values)
- Singular for the type (compile-time type checking)
Example:
// Runtime object (plural) - provides the actual values
const RecordingModes = {
Dictation: "dictation",
Ambient: "ambient",
};
// Type (singular) - for type checking
type RecordingMode = (typeof RecordingModes)[keyof typeof RecordingModes];