Precision Sets API
The Precision Sets API leverages IMO's capabilities for retrieving and searching for value sets, supporting both FHIR and generic responses.
Use Cases
The Precision Sets API allows users to retrieve their value sets as well as search through their value sets. The API is a solution for users who need to:
- Retrieve their individual value sets
- Retrieve a list of their value sets based off of search criteria
How to call the API
To call the Precision Sets API, you'll first need to authenticate through the use of an access token. From there, you can begin making requests to the API.
Authentication
Once you have your Client ID and Client Secret from IMO, follow these steps to construct the `Authorization` header.
Send a POST request to:
https://api.imohealth.com/oauth/token
with body:
{
"client_id":"CLIENT_ID",
"client_secret":"CLIENT_SECRET",
"audience":"https://api.imohealth.com",
"grant_type":"client_credentials"
}
and header:
content-type: application/json
The response will give you the access_token. Use that to create the header:
Authorization: "Bearer ACCESS_TOKEN_HERE"
Please contact IMO Customer Support at CustomerSupport@imo-online.com if you do not know your Client ID/Secret.
Making a request
Determine the API endpoint you'd like to call, and call it as such replacing the endpoint:
curl -X GET https://api.imohealth.com/fhir/r6/ValueSet/VALUE_SET_ID_HERE -H "Authorization: Bearer ACCESS_TOKEN_HERE"
The response format will be in FHIR R6 compliant JSON.
*Note: for the search endpoint an "Accept-Encoding" header must be sent with the values "gzip, deflate, br" for compression purposes.
Example:
return http.get(
`https://api-dev.imohealth.com/fhir/r6/valueset/search?searchText=${searchTerm}`,
{
headers: {
Authorization: `Bearer ${token}`,
'Accept-Encoding': 'gzip, deflate, br'
}
}
);
Notes on Response Format
Please note that null or empty fields will be excluded from the response payload. Refer to the table below for information on which fields are nullable.
Precision sets editor fields | fhir api fIELD | NULLABLE |
---|---|---|
Title | name | No |
Value Set ID | id | No |
Value Set Version ID | meta.versionId | No |
Domain | extension.{http://imohealth.com/domain}.value | No |
Value Set Version Publication Status | status | No |
Created Date (Value Set) | extension.{http://imohealth.com/extension/createdDate}.value | No |
Last Updated Date (Value Set) | date | No |
Created Date (Value Set Version) | expansion.timestamp | No |
Published Date (Value Set Version) | approvalDate | No |
Created By (Value Set) | author.name | Yes |
Last Updated By (Value Set) | editor.name | Yes |
Created By (Value Set Version) | publisher | Yes |
Inclusion criteria | scope.inclusionCriteria | Yes |
Exclusion criteria | scope.exclusionCriteria | Yes |
Scope | description | Yes |
External ID | identifier.{http://imohealth.com/identifiers}.value | Yes |