Skip to content

About

Interpret medical lab reports with OCR and structured insights

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

HealthLens — Mobile App

The React Native / Expo app for HealthLens, an AI medical report companion that reads lab reports, explains every marker in plain language, and flags concerns — without diagnosing.

Live: healthlens.app

This is the mobile client. It talks to a separate backend (OCR extraction, lab-value parsing, and the LLM insight pipeline) which is not in this repo.

What it does

  1. Upload a lab report — PDF, JPG, or PNG
  2. OCR extracts the raw text
  3. Lab values are parsed out of the extracted text
  4. You review and correct any parsed markers before continuing
  5. An LLM generates plain-language insights — with output constrained to avoid diagnostic claims
  6. Results are viewable in-app and exportable as PDF/image

Medical data never persists on a server — reports and results are stored on-device.

Why it's built this way

  • Rate-limit-aware error handling. The upload and parsing steps detect 429s specifically and surface a retry path, rather than a generic failure.
  • Guarded async handlers. Every action handler checks isLoading before firing, so a slow network can't trigger duplicate OCR/parse/insight calls.
  • Reset-on-focus. Loading state resets via useFocusEffect on screen focus, so a stale isLoading from a previous navigation can't strand the UI.

Tech Stack

Layer Technology
Framework React Native (Expo), Expo Router
Language TypeScript
State Redux Toolkit
Styling React Native StyleSheet, custom theme (light/dark)

Running locally

npm install
npx expo prebuild --clean   # if native deps changed
npx expo start

Then press i (iOS), a (Android), or w (web preview).

Requires a running backend — set EXPO_PUBLIC_API_URL in .env to point at it.

Backend endpoints this app expects

POST /ocr/extract     → { files: [{ text, meta }] }
POST /labs/parse       → [{ testName, value, unit, refRange, status, flag }]
POST /nlp/summary      → { overallSummary, keyObservations, enrichedMarkers, ... }

Related

About

Interpret medical lab reports with OCR and structured insights

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages