Triage

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.

Request

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}
}'

Response

The response contains the following elements:

  • a classification of the case provided,
  • a list of serious observations,
  • a root cause explaining the internal rationale of the underlying triage algorithm,
  • a flag indicating whether a teleconsultation with a doctor may be applied in place of a traditional office visit (please note this information will only be provided if 5-level triage is enabled).
{
    "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
    "root_cause": "serious_evidence_present"
}

Triage level

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:

3 level triage (optional)
  • 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.
5 level triage (default)
  • 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.

Serious observations

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 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.

Triage Tuples

Triage Tuples is a feature that refines the Infermedica triage system, making it even safer, while increasing accuracy in more complicated cases.

This feature allows for the creation of combined symptoms and risk factors that - when reported - would increase the next step recommendation seriousness to the expected level. The medical team can use this new 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.

Root cause levels

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.