How to use the Innowell API
Here you will find instructions on how to use the API to...
Setup and Authentication
Read through the Introduction page to verify all the required details and keys are available to you for implementing and testing Innowell Apis.
The steps for authenticating the API requests are provided in Authentication
Follow the steps to call the APIs
- Replace INTEGRATION_ENDPOINT_URL in the API route
- Set headers Innowell-SubscriptionKey with API key, Innowell-EmrId with EMR id, Innowell-TenantId with tenant id received from Innowell.
Create patient
Create a basic patient resource in the Innowell system by using the code.
- Set the value for resourceType as Patient.
curl --location '<INTEGRATION_ENDPOINT_URL>/Patient' \
--header 'Content-Type: application/json' \
--header 'Innowell-SubscriptionKey: <ADD_API_KEY>' \
--header 'Innowell-EmrId: <ADD_INNOWELL_EMR_ID>' \
--header 'Innowell-TenantId: <ADD_INNOWELL_TENANT_ID>' \
--data-raw '{
"resourceType": "Patient",
"active": true,
"identifier": [
{
"system": "http://my_org.com/patients",
"value": "patient_id_1"
}
],
"name": [
{
"use": "official",
"family": "Doe",
"given": [
"John"
]
}
],
"telecom": [
{
"system": "email",
"value": "email1@myorg.com"
},
{
"system": "phone",
"value": "+61444444444",
"use": "mobile"
}
],
"gender": "male",
"birthDate": "2010-09-15"
}'
The create patient API returns the id which would be used as patient_id in the subsequent requests to fetch the details for the patient or update any details.
Get patient by Id
View the patient details that was created. The {patient_id} is returned by the create API, and can be stored for future references.
curl --location '<INTEGRATION_ENDPOINT_URL>/Patient/{patient_id}' \
--header 'Content-Type: application/json' \
--header 'Innowell-SubscriptionKey: <ADD_API_KEY>' \
--header 'Innowell-EmrId: <ADD_INNOWELL_EMR_ID>' \
--header 'Innowell-TenantId: <ADD_INNOWELL_TENANT_ID>'
Create practitioner
Create a basic practitioner resource in the Innowell system.
- Set the value for resourceType as Practitioner.
curl --location '<INTEGRATION_ENDPOINT_URL>/Practitioner' \
--header 'Content-Type: application/json' \
--header 'Innowell-SubscriptionKey: <ADD_API_KEY>' \
--header 'Innowell-EmrId: <ADD_INNOWELL_EMR_ID>' \
--header 'Innowell-TenantId: <ADD_INNOWELL_TENANT_ID>' \
--data-raw '{
"resourceType": "Practitioner",
"active": true,
"name": [
{
"family": "Doe",
"given": [
"Jane"
],
"prefix": [
"Ms"
]
}
],
"telecom": [
{
"system": "phone",
"value": "+61444444444",
"use": "work"
},
{
"system": "email",
"value": "email@myorg.org",
"use": "work"
}
],
"gender": "female",
"birthDate": "2010-09-15",
"qualification": [
{
"code": {
"text": "doctor"
}
}
],
"extension": [
{
"url": "http://innowell.org/fhir/care/staff_roles",
"valueString": "Clinician"
}
]
}'
The create practitioner API returns the id which would be used as practitioner_id in the subsequent requests to fetch the details for the practitioner or update any details.
Create care team
Associate a patient to their practitioner using care team APIs in Innowell system. An active practitioner-patient association can be ended by specifying the period end date
- Set the value for resourceType as CareTeam.
- Replace patient_id with the id value returned by create patient API
- Replace practitioner_id the id value returned by create practitioner API
curl --location '<INTEGRATION_ENDPOINT_URL>/CareTeam' \
--header 'Content-Type: application/json' \
--header 'Innowell-SubscriptionKey: <ADD_API_KEY>' \
--header 'Innowell-EmrId: <ADD_INNOWELL_EMR_ID>' \
--header 'Innowell-TenantId: <ADD_INNOWELL_TENANT_ID>' \
--data '{
"resourceType": "CareTeam",
"status": "active",
"name": "Primary Care Team",
"subject": {
"reference": "Patient/<patient_id>",
"display": "Patient Ref"
},
"period": {
"start": "2024-12-05T14:30:00+00:00",
"end": "2024-12-05T14:30:00+00:00"
},
"participant": [
{
"role": [
{
"coding": [
{
"system": "http://innowell.org/fhir/care/staff_roles",
"display": "Clinician"
}
]
}
],
"member": {
"reference": "Practitioner/<practitioner_id>",
"display": "Dr. Jane Doe"
},
"period": {
"start": "2025-05-21T14:30:00+00:00"
}
}
]
}'
Get all observations
A patient answers questionnaires on the Innowell platform. These questionnaire results can be queried in the form of observations.
curl --location '<INTEGRATION_ENDPOINT_URL>/Observation' \
--header 'Content-Type: application/json' \
--header 'Innowell-SubscriptionKey: <ADD_API_KEY>' \
--header 'Innowell-EmrId: <ADD_INNOWELL_EMR_ID>' \
--header 'Innowell-TenantId: <ADD_INNOWELL_TENANT_ID>'