Lyrebird Health is introducing an open API, allowing electronic medical records (EMRs) to integrate with Lyrebird's AI scribe, pull and push information to and from Lyrebird and improve the clinician's experience while using the software.
Today we release the first such feature, secure launch allowing any EMR to launch lyrebird in patient context, with patient name and sex securely, using our open API interface.
This makes it far easier to open a consultation for a patient, by just clicking the Lyrebird button in your EMR.
Upcoming Patients in Secure Launch Workflows
When clinicians are launched directly into a patient from the medical record system using secure launch, Lyrebird will hide the Upcoming Patients queue. This targeted behaviour is available for Kingston & Richmond and helps keep your workspace focused on the current consultation without unnecessary clutter.
This feature applies specifically when you are launched directly into a patient from your medical record system. The goal is to remove a feature that isn't useful in this workflow, providing a simpler and more focused experience.
💡 Tip: If your team works patient-by-patient from the medical record system, this change should make the workspace feel simpler and more focused.
Setup / Testing Instructions
Secure launch can be setup by first configuring it in api settings:
3. Click 'Set Up' next to Secure Launch:
4. Save the encryption key somewhere secure, do not commit this to your codebase.
5. Click 'Finish Setup'
6. Confirm Secure Launch is setup:
7. Click 'Generate Test URL'
8. When pasting the url into your browser Lyrebird will launch with the test patient:
Code Example:
Example code can be found in the secure launch example repository https://github.com/lyrebird-health/secure-launch which includes an example site. Note - the encryption key should be stored and handled securely on the server side. It should not be exposed to the front end.
Technical Details:
The patient data object contains the following fields:
interface PatientData {
PAT_FIRST_NAME: string; // Patient's first name (required)
PAT_LAST_NAME: string; // Patient's last name (required)
PAT_GENDER: string; // Patient's gender (required)
PAT_DOB: string; // Patient's date of birth (required)
PAT_ACCT: string; // Patient account number (required)
PAT_MRN?: string; // Medical Record Number (optional)
USER: string; // User identifier (required)
USER_NAME?: string; // User's full name (optional)
USER_EMAIL?: string; // User's email address (optional)
}
The following fields must be present in every secure launch request:
- PAT_FIRST_NAME
- PAT_LAST_NAME
- PAT_GENDER
- PAT_ACCT
- USER
Patient data is serialised into a URL-encoded form string format:
key1=value1&key2=value2&key3=value3...
For example:
PAT_FIRST_NAME=John&PAT_LAST_NAME=Doe&PAT_GENDER=M&PAT_DOB=1980-01-15&PAT_ACCT=12345&USER=dr_smith
The payload is then encrypted using AES CBC and appended to the payload as shown in the demo code.
