CardioX API allows developers to use our powerful neural engine and database to obtain HR and AI BP™ parameters from Apple watch ECG reading.
This is a 2 step API:
- First request - ECG scanner - requires a PDF file generated by native Apple Watch ECG app. Response provides users’ name, age, heart rate and ECG points.
- Second request - AI BP™ - requires the following parameters: users’ sex, date of birth and ECG points provided by ECG scanner response. AI BP™ reading is a final value generated by the service.
Please refer to the instructions below:
Ecg Scanner
Service purpose
Parsing a pdf document generated by native iPhone ECG app.
Service IP endpoint
23.97.214.177
Service methods
- FileUpload (POST /api/FileUpload HTTP/1.1)
Method returns name, age, heart rate and ECG points from the uploaded pdf document.
Request requirements
- Content-Type: application/pdf
- Pdf document to parse
Sample Request
POST /api/FileUpload HTTP/1.1
Host: ecgscanner.azurewebsites.net
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
----WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name=""; filename="ECG-2020-05-24-22_450300.pdf"
Content-Type: application/pdf
(data)
----WebKitFormBoundary7MA4YWxkTrZu0gW
Response
JSON object with requested data.
Sample Response
{"Name":"Name surname","Age":29,"HeartRate":82,"EcgPoints":[0.43965518,
0.5086207,0.49568966,0.49568966,0.5086207,…]}
Blood pressure AI
Service purpose
Determination of AI BP™ based on ECG points
Service IP endpoint
212.109.220.123
Service methods
- PredictXGB (POST /api/PredictXGB HTTP/1.1)
Method returns AI BP™ as a result from 10.000 point of ECG.
Request requirements
- Content-Type: application/json
- Sex: F or M
- BirthDate in the following format: YYYY-MM-DD
- CreationDate in the following format: YYYY-MM-DD
- DataArray: data array must be 10,000 long
All fields are required except for creationDate.
Data can be normalized or not, normalization occurs if necessary on the server side.
Handled exceptions
- If there is no data: "No data"
- If the data length is not 10.000: "The number of points should be equal to 10,000"
- If sex is not specified: “No sex in the data”
- If birthday is not specified: “No birthDate in the data”
Sample Request
curl --location --request POST 'http://212.109.220.123:3001/predictxgb’' \
--header 'Content-Type: application/json' \ --data-raw '{"sex":"F","birthDate":"1971-07-14","dataArray":[0.80324268759929, 0.79875712550229, 0.79805625642463, 0.80539201943744, 0.81118587047939, 0.81384917297449, 0.80595271469956,
Sample Response
{"result":"130/80"}
*AI BP™=Blood Pressure