1. Guides
  • Getting started
    • Welcome to Cardioexplorer
    • Core Concepts
    • Developer Quickstart & Resources
  • Guides
    • FHIR Client Integration Guide
    • Integration Strategy Guide
    • Cardiac Data Requirements & Gap Analysis
  • Reference
    • API Objects & Models
    • Error Reference
  • Resources
    • Changelog
    • Frequently Asked Questions
Guides
API References
Guides
API References
  1. Guides

Cardiac Data Requirements & Gap Analysis

The AI model reads 32 clinical parameters — this page shows exactly which ones, how they're coded, and what happens when your bundle is incomplete.
The CardioExplorer AI model was trained and validated on 32 clinical parameters — demographics, vitals, routine labs, cardiac markers, medications and symptoms.

Why 32 parameters?#

Coronary risk isn't visible in any single value. The model finds signal in the combination of routine measurements — a lipid panel interpreted alongside blood pressure, glucose, inflammatory markers and current medication. All 32 inputs come from data most clinics already collect, so no additional testing is required.
You don't need a perfect bundle to get started: the system accepts partial data, tells you precisely what's missing, and lets clinicians complete the remainder in the UI.

How your bundle is processed#

Every response tells you where each of the 32 parameters landed:
✅
itemsMapped
Recognized and valid — stored on the draft test, ready for the model run.
❌
itemsRejected
Sent but refused: unknown code, invalid status, or out-of-range value. Each entry carries the offending entry's fullUrl in entryUrl and the cause in rejectionReason.
⭕
itemsMissing
Expected by the model but absent from the bundle — supply via API, or let a clinician complete it in the UI.
{
  "success": true,
  "draftTestId": "1e7adfef-4ffa-4e9b-bde5-49c1f1ab06ae",
  "itemsMapped": 30,
  "itemsRejected": 1,
  "itemsMissing": 1,
  "rejectedItems": [
    {
      "entryUrl": "urn:uuid:...0019",
      "rejectionReason": "Invalid status 'preliminary' (must be 'final')",
      "conceptName": "High-sensitivity troponin T",
      "resourceType": "Observation"
    }
  ],
  "missingItems": [
    { "conceptId": 3004249, "name": "Systolic blood pressure" }
  ]
}
⚠️ Warning: Follow the data-freshness rules from the Instructions for Use — laboratory values no older than 90 days; blood pressure, height and weight no older than 30 days. Always send a valid ISO-8601 effectiveDateTime and query your EHR for the most recent values.

The 32 parameters — reference table#

All quantitative observations use LOINC codes with UCUM units; symptoms use SNOMED CT; medications use CardioExplorer therapy codes.

Demographics & vitals (6)#

#ParameterFHIR sourceCodeUnit / valuesMax age (IFU)
1SexPatient.gender—male / female—
2AgeObservation30525-0years30 days
3Body heightObservation8302-2cm30 days
4Body weightObservation29463-7kg30 days
5Systolic blood pressureObservation8480-6mmHg30 days
6Diastolic blood pressureObservation8462-4mmHg30 days

Laboratory values (15)#

All 15 labs follow the same rules — LOINC-coded Observation with status: "final" and a value within the last 90 days. Scan the codes, then move on:
#ParameterCode (LOINC)UnitMax age (IFU)
7Leukocytes6690-2G/L90 days
8Alkaline phosphatase6768-6U/L90 days
9Total cholesterol2093-3mg/dL · mmol/L90 days
10HDL cholesterol2085-9mmol/L90 days
11LDL cholesterol13457-7mmol/L90 days
12Glucose2345-7mg/dL90 days
13Total protein2885-2g/L90 days
14Albumin1751-7g/dL90 days
15Total bilirubin1975-2µmol/L90 days
16Urea (BUN)3094-0mg/dL90 days
17Uric acid3084-1µmol/L90 days
18MCHC28540-3g/L90 days
19Pancreatic amylase1805-1U/L90 days
20hs-Troponin T67151-1ng/L90 days
21ALAT (ALT)1742-6U/L90 days

Symptoms & findings (3)#

#ParameterFHIR sourceCodesMaps to
22Chest pain typeCondition (SNOMED)429559004 371807002 100001275 100000932Typical / Atypical / Non-cardiac / None
23Q-wave status (resting ECG)Condition (SNOMED)164916001 164917005Normal → No · Abnormal → Yes
24Nicotine consumptionObservation 72166-2LA18978-9 LA15920-4 LA20356-4Non-smoker / Ex-smoker / Smoker

Medication therapies (8)#

#TherapyCardioExplorer codeExample
25Antiplatelet therapyCE_ANTIPLATELET_THERAPYClopidogrel, Aspirin
26Lipid-lowering therapyCE_LIPID_LOWERING_THERAPYStatins
27RAAS-inhibiting therapyCE_RAAS_INHIBITING_THERAPYACE inhibitors, ARBs
28Diuretic therapyCE_DIURETIC_THERAPYFurosemide
29Anti-anginal nitrate therapyCE_ANTI_ANGINAL_NITRATE_THERAPYNitroglycerin
30Calcium channel blockerCE_CALCIUM_CHANNEL_BLOCKER_THERAPYAmlodipine
31Beta blockerCE_BETA_BLOCKER_PLACEHOLDERMetoprolol
32Glucose-lowering therapyCE_GLUECOSE_THERAPY (+ _INSULIN / _NON_INSULIN / _NO)Insulin, Metformin
ℹ️ Note: Medication statements map to Yes only when status: "active" and a valid effectiveDateTime are present. Any other status (stopped, completed, not-taken…) maps to No.
💡 Tip: Using RxNorm, ATC or in-house medication codes? Contact info@explorishealth.com — we add custom code mappings to our database so your existing codes resolve automatically.

Related pages: FHIR Client Integration Guide · Generate draft test · API Objects & Models — Questions? info@explorishealth.com
Previous
Integration Strategy Guide
Next
API Objects & Models
Built with