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.
curl "https://api.infermedica.com/v3/triage" \
-X "POST" \
-H "App-Id: XXXXXXXX" -H "App-Key: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" \
-H "Content-Type: application/json" -d '{
"sex": "male",
"age": {
"value": 30
},
"evidence": [
{"id": "s_1193", "choice_id": "present"},
{"id": "s_488", "choice_id": "present"},
{"id": "s_418", "choice_id": "present"}
]
}'
Please note that the /triage
endpoint supports both 5-level and 3-level triage.
First option is default and strongly recommended. If you still want to use 3-level triage please apply extra "enable_triage_3": true
curl "https://api.infermedica.com/v3/triage" \
-X "POST" \
-H "App-Id: XXXXXXXX" -H "App-Key: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" \
-H "Content-Type: application/json" -d '{
"sex": "male",
"age": {
"value": 30
},
"evidence": [
{"id": "s_1193", "choice_id": "present"},
{"id": "s_488", "choice_id": "present"},
{"id": "s_418", "choice_id": "present"}
],
"extras": {"enable_triage_3" : true}
}'
The response contains the following elements:
{
"triage_level": "consultation_24",
"serious": [
{
"id": "s_1193",
"name": "Headache, severe",
"common_name": "Severe headache",
"seriousness": "serious",
"is_emergency": false
},
{
"id": "s_418",
"name": "Stiff neck",
"common_name": "Stiff neck",
"seriousness": "serious",
"is_emergency": false
}
],
"teleconsultation_applicable" : false
"root_cause": "serious_evidence_present"
}
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.
All observations returned in the serious
list are alarming and require consultation with a medical professional. Each serious observation has seriousness value, one of:
serious
emergency
emergency_ambulance
Observations with emergency
or emergency_ambulance
seriousness are particularly urgent and may require immediate attention.
Flag is_emergency
is redundant with seriousness
field and should be treated as deprecated.
Triage Tuples is a feature that refines the Infermedica triage system, making it even safer, while increasing accuracy in more complicated cases.
Triage Tuples are pairs of symptoms or risk factors, which trigger a higher triage recommendation when they occur together in the interview. For example: Hypertension and Pregnancy, III trimester separately do not yield medical evaluation. Combined in one interview, however, they call for emergency care.
The medical team can use this functionality to harmonize Infermedica triage with golden standards used in telehealth. Each Tuple has a source that provides evidence for the recommendation we give to our users, clients, and patients.
The root_cause
explains the major reason behind triage recommended by diagnostic engine. Possible triage rationales:
emergency_evidence_present
– emergency evidence was reported as present,serious_evidence_present
– serious evidence was reported as present,emergency_condition_likely
– life-threatening condition is likely enough to recommend emergency triage,emergency_condition_possible
– life-threatening condition is possible,consultation_condition_likely
– at least one condition which requires medical consultation is likely,self_care_sufficient
– no identified reason for medical evaluation,diagnosis_unknown
– diagnosis is unknown.