AI Clinical Decision Support

Altitude Itinerary Analyzer

Turns a messy, multi-format travel itinerary into a clinician-reviewable altitude-illness risk profile — because the risk depends on where a traveler sleeps each night, not the landmark photo on the itinerary.

Live App Artificial Intelligence Clinical Decision Support Travel Medicine
Open Live App ↗
Problem

Altitude illness (acute mountain sickness, and its more severe forms HACE and HAPE) is common and largely preventable — but the risk hinges on a detail commercial itineraries routinely bury: where a traveler actually sleeps each night, and how quickly that sleeping altitude climbs. A day titled "Visit Jade Dragon Snow Mountain" might have the traveler overnighting far lower, in Lijiang — but a real-world itinerary PDF mixes promotional copy, multilingual place names, ambiguous dates, and transit stops in with genuine overnight stays, so pulling out the true ascent profile by hand is feasible but slow.

A pre-travel-medicine study of Thai travelers (Harnnavachok et al., JITMM Proceedings, 2018, n=362) found acute mountain sickness incidence around 20% — the scale of the problem this tool targets.

Approach & Architecture

A traveler uploads an itinerary as a PDF, image, or pasted text. A Vercel serverless API sends it to Google Gemini, using an iterated extraction prompt that performs "clinical semantic narrowing" — deliberately separating each day's sleeping location/altitude from its highest point reached, since those are clinically different numbers with different risk implications.

The output renders as an editable table plus an elevation-profile chart, and a clinician reviews and corrects every row before anything is finalized — the tool is built to assist judgment, not replace it, and never auto-diagnoses. Rule-based flags surface ascent-rate risk directly, for example more than 500 m/day of sleeping-altitude gain, or sleeping above 2,500 m.

Clinical Grounding

The extraction schema and risk flags follow the "climb high, sleep low" principle from established altitude-medicine guidance (Wilderness Medical Society altitude-illness guidelines; CDC Yellow Book altitude chapter): risk rises for unacclimatized travelers sleeping above roughly 2,500 m, and above roughly 3,000 m, sleeping-altitude gains are generally kept under ~500 m/night with a rest day roughly every 3–4 days or 1,000 m gained.

This is a technical proof-of-concept, not yet a clinically validated tool — there is no specialist-adjudicated ground truth or regulatory clearance behind it. Every report is reviewed by a clinician before use.
Outcome & Evaluation

As part of a Chulalongkorn Faculty of Medicine DigiHealth independent-study thesis, the extraction pipeline was benchmarked against 20 researcher-built itineraries across text, PDF, and image formats, comparing roughly 18 candidate models. The selected model performed best on altitude agreement within ±100 m of reference, at a mean latency of 4.8 seconds and roughly $0.0038 per call for text input.

A classical OCR-plus-gazetteer baseline scored far lower, supporting the conclusion that this task needs contextual language-model reasoning rather than lookup alone.

84.9%
Altitude agreement (±100m) — text input
79.7%
Altitude agreement (±100m) — PDF input
77.4%
Altitude agreement (±100m) — image input
These are technical benchmark figures against a researcher-created dataset, not a validated measure of clinical accuracy. Future work targets specialist-adjudicated ground truth and clinician/traveler usability testing.
Tech Stack
React 19 Vite Tailwind CSS Recharts Vercel Serverless Functions Firebase (Auth / Firestore / Storage) Google Gemini API LangSmith