Share via


DAXKit SDK for Mobile

DAXKit enables partners to build an embedded Dragon Copilot solution in their mobile apps. DAXKit records and streams audio to Dragon Copilot for generative AI processing in a reliable and secure fashion.

For information on how to install the DAXKit xcframework, see: Install DAXKit SDK.

For information on how to implement specific DAXKit functions, see: Use cases - overview.

For release notes, see: DAXKit release notes

System overview

This diagram gives you a high-level overview of the different system components and how they interact:

DAXKit high level overview

Concepts and terminology

This section outlines some basic concepts and terminology you need to be aware of when integrating DAXKit.

Encounter: An interaction between a patient and healthcare providers for the purpose of providing healthcare services or assessing the health status of a patient. Currently, only outpatient encounters are supported.

Recording: An audio file created by DAXKit during an encounter, capturing the interaction between the healthcare provider and the patient. Multiple recordings can be created for a single encounter, depending on the context and duration of the interaction.

Session: A group of recordings associated with a specific encounter. These recordings collectively capture various aspects of the encounter and provide a comprehensive view of the patient-provider interaction.

Correlation ID: The globally unique identifier for a session that's specific to the partner system and helps track and associate recordings with the corresponding encounter. The correlation ID must be associated with every recording of a session and is also associated with the AI output. The identifier must have the following characteristics:* Globally unique.* Opaque and doesn't contain any inherent meaning. It therefore doesn't contain any personal information (PII or PHI) and can be safely logged as plain text and shared between parties (customer, partner and Microsoft).

Payload: A JSON file with an array of resources for a session. Each new recording triggers the creation of a new payload, allowing the partner system to access valuable insights from the encounter.

Resource: The standards used to describe a category of AI-generated healthcare data. Each resource contains data elements necessary for communicating clinical concepts. For example, a clinical document section resource (e.g. HPI) can be imported into a note template, or a condition resource can supplement a problem list. Resources can be linked to other resources; for example, an order resource can be linked to a condition resource as the reason for placing the order.

The following diagram illustrates the relationships between a session, recordings and payloads. Each additional recording for a session generates a new payload with revised or new resources.

relationships between a session, recordings and payloads

The following diagram shows the main events that trigger state changes in the system. After the 'stop recording' event, processing starts; when processing is completed, the partner system is informed that a payload is available.

main events that trigger state changes

Resiliency

Streaming is the primary method of delivering audio to Dragon Copilot. However, DAXKit also stores the audio locally as a backup in case of network interruptions. This allows users to continuously record even when network interruptions occur, and the upload is completed when the connection is restored. Your mobile app doesn't have to implement audio backup functionality because this is fully managed by DAXKit.

Backup audio files are saved locally to iOS Core Data and encrypted using AES 256. DAXKit uses encryption keys that are stored in the iOS keychain. These keys are unique per recording and never leave the device, so the audio can only be decrypted on the respective device.

The following diagram illustrates the backup and encryption strategy employed by DAXKit.

backup and encryption strategy

Licensing

After the user has signed in to the mobile app, you must check if they have a valid Dragon Copilot license assigned. If they don't have a license, recording functionality must be disabled in the app. For information on how to check for a user's license, see License service.

The customer's administrator is responsible for managing the licenses; they can assign and revoke them in the Nuance Management Center (NMC). For more information on license management, see the NMC documentation delivered with the product.

For more information on Dragon Copilot licensing, contact your Dragon partner relations team.