Sonde Health API Platform Documentation
API Release Notes and Best Practices
- 1 Sonde API 3.4 Release: (August 29th, 2022 release date)
- 2 Sonde API 3.3 Release: (September 20th, 2021 release date)
- 3 Sonde API 3.2 Release: (September 6th, 2021 release date)
- 4 Sonde API 3.1 Release: (June 16th, 2021 release date)
- 4.1 Functionality
- 4.2 API
- 5 Sonde API 3.0 Release: (May 24th, 2021 release date)
- 5.1 Functionality
- 5.2 API
- 5.3 Use case
- 6 Sonde API 2.6 Release: (April 7th, 2021 release date)
Sonde API 3.4 Release: (August 29th, 2022 release date)
M3 questionnaire deployment and scoring
Questionnaire creation
For more detail please refer to REST API Reference.
API
Mental Fitness - M3 Questionnaire and Score: This enables partner users to get a score
for the M3 questionnaire
o POST /platform/v2/inference/inference-parameters
o POST /platform/v2/inference/scores
o GET /platform/v2/inference/scores/<scoreId>The Create Questionnaire API is introduced to facilitate partners to create their own
questionnaires
o POST /platform/v1/questionnaire API
Use Case
Updated Use Cases
Sonde API 3.3 Release: (September 20th, 2021 release date)
Crispness Acoustic score is added (Mental Fitness Voice Features )
Aggregate Mental Fitness score (which is the integration of the 6 Acoustic scores) is added.
MF App description now includes sample screens for display of Aggregate MF score.
For more detail please refer to REST API Reference.
API
Updated API
GET /platform/async/v1/inference/voice-feature-scores/{asyncJobId}
Use Case
Updated Use Case
Sonde API 3.2 Release: (September 6th, 2021 release date)
Inference v2 API are introduced to infer measure’s score using two audio sample
API
New API
POST /platform/v2/inference/inference-parameters
PUT /platform/v2/inference/inference-parameters/{inferenceParameterId}
POST /platform/v2/inference/scores
GET /platform/v2/inference/scores/{scoreId}
For more detail please refer REST API Reference
Use Case
A new use-case is introduced to try-out the v2 inference api
Sonde API 3.1 Release: (June 16th, 2021 release date)
Functionality
TranscriptionService
TranscriptionService provides speech to text functionality for health-condition audio filesPOST /platform/async/v1/transcriptions
GET /platform/async/v1/transcriptions/{asyncJobId}
GET /platform/v1/storage/files/{filePath}/transcriptions
voice-feature-score history with ability to filter based on time (from & to) and user
GET /platform/v1/inference/voice-feature-scores
GET /platform/v1/inference/voice-feature-scores/{voiceFeatureScoreId}
API
New API
POST /platform/async/v1/transcriptions
GET /platform/async/v1/transcriptions/{asyncJobId}
GET /platform/v1/storage/files/{filePath}/transcriptions
GET /platform/v1/inference/voice-feature-scores
GET /platform/v1/inference/voice-feature-scores/{voiceFeatureScoreId}
For more detail on API please refer REST API Reference
Sonde API 3.0 Release: (May 24th, 2021 release date)
Functionality
Acoustic voice feature. For more detail please refer Mental Fitness Voice Features
API
Four new APIs are introduces
POST /platform/v2/users
POST /platform/async/v1/inference/voice-feature-scores
GET /platform/async/v1/inference/voice-feature-scores/{asyncJobId}
GET /platform/v1/measures/name/{measureName}/voice-features
For more detail on API please refer REST API Reference
Use case
A new use case is introduced
Sonde API 2.6 Release: (April 7th, 2021 release date)
New functionality in this release – Elicitation Check (ELCK) for voice samples collected as part of Respiratory Symptom Risk score calculation. This ELCK does not apply to other health check measures.
All voice samples (“ahh”) are automatically checked for the following attributes:
Energy level
Voice is present
Correct elicitation (single, continuous “ahh” held for 6 seconds)
Voice samples that fail these checks are rejected with an error code (see below).
Why is Sonde rolling out Elicitation Check?
In order to achieve our validated performance in correctly identifying respiratory symptom risk for users, proper voice sample elicitation and sufficient audio quality is critical. User instruction is an important aspect to get good voice samples, but this has limited potential. We have conducted extensive research on >100,000 voice samples regarding quality and how it impacts score reliability. We have been able to include ELCK on our Sonde app with significant impact on improving the quality of the voice samples. We are now making this available to our API partners so you can benefit from these capabilities without any additional engineering in your own apps.
How to use Elicitation Check?
No additional API calls are required for ELCK. The Sonde API will provide the ELCK status code, error code, and error description (see below in Developer Notes section). Best practice implementation: • If the user's first sample fails ELCK, provide a message and ask them to give another sample. We recommend a neutral generic message, such as:
“Uh oh, looks like we can’t process your voice sample. Please try again in a quiet place and make sure to say “Ahh” clearly without pausing for 6 seconds.”
If the user's second attempt also fails ELCK, follow the same procedure.
We recommend asking for no more than 3 voice samples. If the third sample also fails ELCK, we suggest not providing the score and treating this like an unavailable test result. Depending on how you have integrated the voice sample within your app user flow, it may be appropriate to stop the test at this point or continue to whatever comes next in the user flow
Sonde can provide further consultation on how to handle situations where a user cannot provide a sample that meets the ELCK criteria.
How accurate is the Elicitation check?
Elicitation Check accuracy is approximately 80%. That means the majority of voice samples will be correctly identified as either meeting or not meeting the required quality standards. Our team continues to work on further improving quality detection performance over time.
Guidance to end-users
Partners are requested to educate their users on proper voice sample collection protocol using tutorials, user guides, or a video. Sonde has templates available and can provide suggestions to partners.
First, the voice sample must be collected in the right environment:
Minimal background noise of any kind (e.g., TV/ radio, street noise, fans, animal sounds etc.) • Must be done indoors to avoid street noise, wind sounds, etc.
No other conversations or people taking
Second, the elicitation instructions should be followed:
A single, continuous, held “ahh” vowel (as in the word “father”) for 6 seconds • Do not interrupt or repeat brief “ahh” elicitations to fill up the 6 seconds
Speak moderately loud (as if talking to someone at the other side of the room)
Users should know that they may be requested to provide another voice sample if their sample fails quality control assessment.
Developer Notes
If the Elicitation check fails, the following Error code and Error description will be returned as a response to POST /platform/v1/inference/scores API call:
HTTP Status Code: 422
Error code: ELICITATION_CHECK_FAILED
Error description: We are not able process the audio-file <audio-file> for <elicitation> audio quality. Please make sure to record <prompt> in a clear voice, in a quiet place, and without pause to pass the audio quality check
For more information, please contact Sonde at support@sondehealth.com.
Sonde API 2.5: (released Feb. 2021)
This is the current version and it is backward compatible with API 1.0 with the following additions in API 2.0 and API 2.5:
Added new API resources
API to return a questionnaire that needs to be shown in Partner App(Client) and API to capture the responses to the questionnaire. API details added in the "QuestionnaireManager" section in the REST API reference document
API to update device type and device manufacturer in "UserService" mentioned in REST API reference document
API to get historical score data for single or multiple subjects(users) for any date/time range. API details are available in the "InferenceService" of the REST API reference document.
API to download submitted audio files. API details available in "StorageService" of REST API reference document
Added sharing of the additional device and disease-related meta-data
Added Device type, Device manufacturer, and Disease information as additional meta-data to request/capture while registering a user. Details available in the "UserService" REST API reference document.
Changed measure names, score thresholds, and models
"Depression Symptoms Risk" Health check changed to "Depressive Symptoms Risk.”
"Respiratory Symptoms Risk" Health check version upgraded from 1.0.7 to 2.0.4.
Next API release: Sonde API 2.6: (March 22th 2021 release date)
Elicitation Check for “Ahh” - For “Ahh” elicitation for Respiratory Symptoms Risk, all voice samples are checked for voice, energy level and correct user utterance of “Ahh.”
Following this release in April will be Release 2.7 for elicitation check for “Free Speech (for Depressive Symptoms Risk all voice samples are checked for voice, energy level, and acceptable “Free Speech” sample).
Implementation Requirement change - Requirement to share additional device-related metadata
To receive correct scores from Sonde models, partners API implementation will require the following information (previously this data was optional):
Added Device type, Device manufacturer, and Disease information as additional meta-data to request/capture while registering a user. Details available in the "UserService" REST API reference document.
Deprecate POST/platform/v1/users (April 5th release date)
Sonde will deprecate POST /platform/v1/users. Sonde will release API 2.7 version (POST /platform/v2/users), where "device" related metadata/attributes will be mandatory. All partners are requested to update this API implementation as we will launch mentioned API change by April 15th.
Partner Program – Partner’s Application Validation
Over the next few months, Sonde will be rolling out a Partner’s Program which will include validation of Sonde’s API implementation. Sonde will support in validating the audio end to end pipeline, score accuracy, sharing of meta data, and recommended messaging to end users to get an optimal sample and score.
Best Practices:
Audio Quality - Users should be encouraged to view the video on how to give voice samples. End-user should be frequently reminded that the voice sample must be given in a quiet place with no background noise.
Device Information - Sharing this data with Sonde is important for Sonde to validate the partner’s implementation, audio quality check, and debugging end-to-end capturing to the scoring pipeline.
Elicitation - The user should be encouraged to follow the specific activity that is requested. For example, when a user is asked to give a 30-second voice sample, the user should adhere to these directions.
For more information, please contact Sonde at support@sondehealth.com.
Sonde Health