API v3 is already available!
API v3 introduces significant improvements including enhanced reasoning algorithm, which provides better diagnostic and triage accuracy. The current version API v2 will be supported for the next six months, although the medical content updates will only be continued on v3. We recommend you to adapt your application to the v3 version.
Check the API v3 migration guidelines >>
Go to the API v3 documentation >>
Please note that the /triage
endpoint has been updated and it now supports both 3-level and 5-level triage. For backwards compatibility the 3-level triage is used by default but we recommend to use 5-level triage whenever applicable.
Apart from the /diagnosis
endpoint, the Infermedica API provides a complementary /triage
endpoint that can categorize provided patient cases based on the seriousness of reported observations and the severity of likely conditions. This procedure may be viewed as similar to the telephone triage, hence the name of this endpoint.
Under the hood the /triage
endpoint uses the same diagnostic engine that powers the /diagnosis
endpoint to compute the ranking of possible conditions. The triage classification algorithm we propose takes into account the severity of the most likely conditions identified by the diagnostic engine as well as the occurrence of any alarming symptoms or risk factors.
Please note that the free trial plan of the Infermedica API allows for only a limited number of calls to the /triage
endpoint. Please contact us
for other plan options.
The /triage
endpoint responds to POST requests and accepts the same JSON object as the /diagnosis
endpoint. In order to use the 5-level triage you need to send an extras
paramter called enable_triage_5
and set it to true
as presented below:
curl "https://api.infermedica.com/v2/triage" \
-X "POST" \
-H "App-Id: XXXXXXXX" -H "App-Key: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" \
-H "Content-Type: application/json" -d '{
"sex": "male",
"age": 30,
"evidence": [
{"id": "s_1193", "choice_id": "present"},
{"id": "s_488", "choice_id": "present"},
{"id": "s_418", "choice_id": "present"}
],
"extras": {"enable_triage_5" : true}
}'
The response contains the following elements:
{
"triage_level": "consultation_24",
"serious": [
{
"id": "s_1193",
"name": "Headache, severe",
"common_name": "Severe headache",
"is_emergency": false
},
{
"id": "s_418",
"name": "Stiff neck",
"common_name": "Stiff neck",
"is_emergency": false
}
],
"teleconsultation_applicable" : false
}
Depending on the version used there are either three or five possible categories that can be assigned to the case reported in a request to the /triage
endpoint. The category is returned as a triage_level
attribute with one of the following values:
emergency
– the reported evidence may indicate a serious or life-threatening condition and thus the patient may require immediate medical attention,consultation
– the patient may require a medical consultation when possible,self_care
– a medical consultation is advised but not strictly required; the patient should observe their symptoms and consult a doctor if symptoms worsen within 24 hours.emergency_ambulance
– the reported symptoms are very serious and the patient may require emergency care. The patient should call an ambulance right now,emergency
– the reported evidence appears serious and the patient should go to an emergency department. If the patient can't get to the nearest emergency department, he/she should call an ambulance,consultation_24
– the patient should see a doctor within 24 hours. If the symptoms suddenly get worse, the patient should go to the nearest emergency department,consultation
– the patient may require medical evaluation and may need to schedule an appointment with a doctor. If symptoms get worse, the patient should see a doctor immediately,self_care
– a medical consultation is advised but not strictly required; the patient should observe their symptoms and consult a doctor if symptoms worsen within 24 hours.Each listed observation has an unique id
and name
. These values are consistent with the database of medical concepts understood by the Infermedica API.
There are two possible levels of observation seriousness: all observations returned in the serious_observations
list are alarming and require consultation with a medical professional, but observations with is_emergency
set to true are particularly urgent and may require immediate attention.