CardioPulmo App
Heart & lung screening in your pocket
— or —

CardioPulmo App · Heart & lung screening in your pocket

Research instrument · percussion + auscultation + PPG, with within-patient referencing
NOT a diagnostic device. All flags/indices are uncalibrated — real cut-offs come from your reference-standard data. Always confirm clinically.
🫀 Cardioscope
🫁 PulmoScope
❤️ VascAge

How to percuss with the phone

Both hands stay free for percussion — the phone replaces the sensing finger, it doesn't need to be held in the air. Pick whichever gives a cleaner tap on your device:
METHOD APhone as pleximeter (preferred). Press the phone flat and firm, screen up, mic-edge on bare skin, over the zone — using your non-dominant hand. With your dominant middle finger, strike the chest right beside the phone (1–2 cm away), firmly, 5–6 times ~1 s apart. The phone senses the note your pleximeter finger used to feel.
METHOD BAuscultatory percussion (hands-free). Lay the phone flat on one fixed spot (supine patient — gravity holds it). Percuss elsewhere with your normal two-handed technique; the phone picks up the transmitted note. Move the percussing point, keep the phone still, compare zones.
FIELDPatient or an assistant holds the phone flat on the spot while you percuss with both hands.
Quiet room. Same pressure every tap. Record the patient's clear/resonant zone first as the reference, then the suspicious zones.
1) Tap a normal zone → record it as REFERENCE. 2) Tap each suspicious zone → record. App compares to the reference.
chest
not done recording done selected reference duller
Tap a zone on the body above.
Quiet room. Phone mic against skin. Tap firmly with ONE finger, 5–6× ~1s apart.
RESULT vs reference (heuristic ⚠)
Peak freqHz
CentroidHz
Low:High
Decayms
VascAge · fingertip PPG + CVD risk
Not a "vascular age in years" yet — needs validation vs pulse-wave velocity / carotid IMT. No fabricated numbers.

How to record fingertip PPG

Cover the phone's rear camera lens AND flash together with the pad of the index fingertip — both fully covered, no gap.
PRESSURELight and steady. Rest the finger on; pressing hard squeezes the blood out and kills the signal.
STILLRest the hand on a table and hold dead still for the whole capture. The flash stays on; no flash → sit in bright daylight.
Wait until the live trace shows regular pulse waves before trusting the heart rate.
Fingertip on rear camera
Rest the fingertip lightly over the rear camera + flash
Cover the REAR camera + flash with a fingertip. Use bright light if no torch.
EchoLat · side-to-side breath-sound comparison
Records each side sequentially (one mic) and compares high-frequency / adventitious energy. Not real-time 3-mic beamforming. Heuristic / uncalibrated.

How to record breath sounds

Patient sitting, bare back, leaning slightly forward. Press the phone's bottom (mic) edge flat and firm against the lung base on the back.
SAME SPOTRecord Right first, then Left at the mirror-image spot — the app compares the two sides.
BREATHEPatient takes slow, deep breaths through an open mouth through each 15-second recording.
Quiet room. Don't slide the phone during a recording.
back
not donerecordingdone
Tap a lung base on the figure (mic on posterior base; patient breathes deeply).
Record both sides to compare.
🫀 Cardioscope · cardiovascular exam
On-demand heart-rhythm (phone accelerometer on the chest) + neck / JVP pulsation (camera). Flags only — not a diagnosis, not a stethoscope. Passive all-night monitoring needs the native app (browsers suspend sensors when the screen is off).

How to read rhythm (seismocardiography)

Patient lying down or sitting still. Place the phone flat, screen up, on the centre of the chest (lower breastbone). Hands off, breathe normally, stay quiet for the countdown — the phone feels each heartbeat as a tiny vibration.
Best lying down. Phone flat on the sternum, thin clothing or bare. No talking or moving during capture.
Phone flat on chest
Lay the phone flat, screen up, on the centre of the chest (breastbone)
Phone flat on the chest, then Start.
Heart ratebpm
Mean RRms
RR variability (SDNN)ms
Signal quality
Irregularity is a screen, not a diagnosis. Confirm any "irregular" with ECG / Holter.
🫁 PulmoScope · lung-sound screen
Records lung sounds with the phone mic and an on-device AI model screens for normal vs abnormal (crackles/wheezes). Tap and record 6 points on the back — the app averages them into one result. Screening only — not a diagnosis, not a stethoscope.

How to record lung sounds

Patient seated, back bared, leaning slightly forward, quiet room. Tap a point on the body image below, press the phone's bottom (mic) edge firmly on the skin at that spot, ask the patient to breathe deeply through the mouth, then press record. Do all 6 points.
LISTENRecords each point to a .wav and runs the on-device AI model. Averaging 6 points gives the most reliable normal/abnormal screen.
Thin clothing or bare skin. No talking during capture.
Tap a point on the back image → record 15 s of deep breathing. Do all 6 for the most reliable screen.
back
not done recording done selected
Tap a point on the back above.
Quiet room, phone mic on skin, patient breathes deeply through the mouth.
On-device AI model (trained on ICBHI lung-sound data; multi-point average). Screening only — not a diagnosis.
Mean abnormal probability
Points recorded0/6
The AI lung screen is a screening tool, not a diagnosis. Confirm positives clinically. Threshold is provisional — calibrate with your own data.
About CardioPulmo
CardioPulmo is a smartphone screening tool for heart and lung sounds, made for everyday people — anywhere, not just at a hospital bedside. All AI models run entirely on-device (no audio leaves the phone by default). It is a screening aid only — not a diagnosis, and not a replacement for a stethoscope or clinical judgement.
Test performance
Analytical validation on expert-labelled open datasets. AUC and dataset predictive values are shown; clinical PPV/NPV and odds ratios depend on disease prevalence and are being confirmed in a prospective study (IEC BDX-CARDIO/2026/01).
MetricCardioscope (heart)PulmoScope (lung)
DatasetPhysioNet/CinC-2016ICBHI-2017
Test set (n)1,35726 patients (held-out)
AUC0.9960.87 (patient-level)
Sensitivity98.3% (96.1–99.3)63.2% (41.0–80.9)
Specificity95.6% (94.2–96.7)100% (64.6–100)
PPV86.1% (82.0–89.4)100%
NPV99.5% (98.9–99.8)50%
LR+ / LR−22.2 / 0.02high / 0.37
Operating threshold0.250.022 (Youden)
Cardioscope figures are analytical performance on the held-out CinC-2016 test set (clean audio). Real-world smartphone performance in noisy settings is lower; the on-device model is noise-augmented for robustness. PulmoScope was evaluated at patient level on a small held-out set (26 patients), so its operating-point confidence intervals are wide; the prospective study tightens these. Clinical sensitivity/specificity/PPV/NPV in the target population are being established prospectively.
Other modules
VascAge (fingertip PPG), EchoLat (lung asymmetry), Percussion, Rhythm (seismocardiography) and JVP are signal-processing aids, not machine-learning classifiers. Their sensitivity, specificity, PPV, NPV and odds ratios are being determined in the prospective validation study. They are investigational and must not be used for diagnosis.
Investigator
Dr. Jaideep Rao M., MBBS, MD (Community Medicine), Government Medical College, Maheshwaram, Telangana. Research use only.