i5 Analytics provides an API for identification of undiagnosed patients for targeted screening programmes that can help you with implementing an intelligent Population Health system to reduce diagnosis in emergency settings and deliver better outcomes for patients.

Our AI - Web API accepts patient’s medical history coded in ICD-10 and JSON format. This information is used by our AI inference engine and analysed to provide a probability indicator of the patient having an undiagnosed condition or may develop the condition in the next 12 months.

At the heart of our system sits AI that has been trained on millions of healthcare records to enable accurate prediction of patient's developing long-term conditions in the future.


Getting Started

This short tutorial will get you started with the i5 AI API in no time. Subsequent sections of this documentation describe our API in great detail, but if you're short on time and have experience with web services, this is a quick overview.


The current version of the i5 AI API is available at http://www.i5health.com/i5AITools/estimateAF.php It is a standard web service that accepts GET and POST requests. All responses (including error messages) use the JSON format. POST requests also take JSON inputs (make sure you include the header Content-Type: application/json).


The i5 AI API uses custom HTTP headers to authenticate your requests. You will need to add App-Id and App-Key headers to every request you make. You can enquire your credentials from support@i5health.com.

First request

The key part of our API handles identification of undiagnosed conditions, which accepts POST requests. Apart from sex and age, it requires a list of past medical diagnosis coded in ICD-10 (there are currently 16,759 codes). The list cannot be empty, so first you need to gather the medical history of the patient.

Let's assume we have a male patient (ID: 4534560), aged 55, with a medical history including Personal history of diseases of the circulatory system (ICD-10: Z867), Old myocardial infarction (ICD-10: I252) and Pure hypercholesterolaemia (ICD-10: E780).

The case described above can be represented with the following JSON object:

{ "patients": { "4534560": [{"patientHistoryDx":"MALE, AGE55, Z867,I252,E780"}]}}


Your first request can be performed using Postman or cURL, which could look like this:

curl http://www.i5health.com/i5AITools/estimateAF.php" \
  -X "POST" \
  -H "Content-Type: application/json" \
  -d '{ "patients": { "4534560": [{"patientHistoryDx":"MALE, AGE55, Z867,I252,E780"}]}}'



The response returned from /estimateAF.php will contain the following:

  • the information that was submitted, patient ID and history (patientID, patientHistoryDx)
  • the probability of the patient having the condition e.g. 14.3% (patientAFRisk)
  • suggestion if the patient should be included in a targeted screening programme (patientAFProbability)
        "patientID": "4534565",
        "patientHistoryDx": "MALE, AGE55, Z867,I252,E780",
        "patientAFRisk": 0.1430830,
        "patientAFProbability": 0,
        "remainingCallAllowance": 2613
    }   }


Next steps

You should now have an initial understanding of how to work with the i5 AI API for Atrial Fibrillation (AF). There are many more long term conditions that i5 can predict including Heart Failure (HF), Diabetes Mellitus (DM), Acute Kidney Failure (AKF), etc. For a full list including AI performance specification (specificity/sensitivity/threshold/etc) please contact support@i5health.com.




Our API does not allow you to submit any of your patients’ personal information so our information exchange is anonymous. We only process diagnostic codes, age and demographics which are not combined with any other data or personal context. Our API does not allow or store any personal information. However, we store the request history for statistical analysis in order to improve our services.


We do everything we can to keep our communication safe and private. Every request must be made using a secure connection. We support all currently registered TLS versions and have support for SSL 2 and SSL 3.


If you have questions or would like to report an issue, please contact support.