How to import lab results into HealthLab: PDF, HEIC, photo
There are three ways to get a lab result into HealthLab: a PDF from the laboratory, a photo of a printed report (HEIC, JPG or PNG), or typing each value in yourself. AI PDF recognition (Gemini Vision) reads a PDF or photo and fills in the values automatically — the free tier includes 3 such imports to try. Manual biomarker entry stays unlimited on every tier, before or after those three imports run out.
This article covers exactly that: getting a result from a file or photo into the app and onto a trend chart. What the values and reference ranges actually mean once they are there is a separate question, answered in how to read your lab results.
What to do and where
| What you want to do | Where in the app | Tier |
|---|---|---|
| Upload a lab PDF | Lab results → add → PDF | Free (3 imports), then Pro |
| Recognize a photo of a report (HEIC/JPG/PNG) | Lab results → add → photo | Free (3 imports), then Pro |
| Enter values by hand | Lab results → add → manual entry | Free, unlimited |
| Check and correct recognized values | The confirmation screen after recognition | Free / Pro |
| View a marker in biomarker trends | Lab results → the selected biomarker | Free / Pro |
Step 1. Pick the source: PDF or photo
Open “Lab results” and add a new entry. If the lab gave you a PDF, upload it as-is — multi-page reports are supported in a single upload. If all you have is a printed sheet, photograph it instead: HEIC, JPG and PNG are all supported. A clear photo recognizes about as reliably as a PDF; the file format itself is not what determines accuracy.
Which one you pick is a matter of what you were handed, not a trade-off. A lab that emailed you a PDF gets uploaded as a PDF. A printed sheet handed to you at the front desk gets photographed rather than typed out.
Step 2. Run AI recognition
Tap to recognize, and HealthLab sends the image to the AI recognition service (Gemini Vision). Within a few seconds it returns a list of the biomarkers it found, with values, units and reference ranges already filled in. This counts as one of your three free imports if you have not subscribed to Pro yet. How many markers are on the report does not change how long this takes — recognizing one value and recognizing twenty takes roughly the same few seconds.
Step 3. Check and correct the recognized values
Before saving, go through the list: compare the units (mmol/L versus mg/dL is the classic mismatch) and the reference range against the original report. AI recognition removes the typing, not the responsibility — the values you confirm here are the ones that feed every future trend chart, so it is worth the extra thirty seconds.
Step 4. Save to the right profile
If you use multiple family profiles, choose whose result this is before saving. A child’s panel and a parent’s panel landing in the same profile makes every later trend for both of them harder to read — this is the step where that mistake is easiest to avoid. Pick the profile while the recognized list is still on screen, not after it’s already saved.
Step 5. Watch it join the biomarker trend
Once saved, each recognized value is added to that marker’s own trend chart. If the same marker was tested before, the new point sits next to the earlier ones immediately — rising, falling, or holding steady inside its reference range becomes visible without opening two separate reports side by side.
A real scenario: an 18-marker panel across several PDF pages
A comprehensive lab panel from a clinic often spans several pages of a single PDF and lists 15 to 20 biomarkers at once. Entering that many values by hand means eighteen separate fields — a name, a number, a unit and a reference range, repeated each time. AI recognition processes every page of that one file in a single pass and fills in a value for each marker instead, with no retyping.
The part worth double-checking before saving is exactly the units and the reference range: multi-page reports frequently print the reference range in a small font in a separate column, and it is easier to miss than the value itself. If a lab uses an unusual unit for one particular marker, compare it against an earlier result for that same marker already saved in the app, if one exists. This is the kind of report a comprehensive metabolic panel typically produces, and it is the scenario where the gap between manual entry and AI import is largest.
Edge cases
- A multi-page PDF. Recognition processes every page of one uploaded file — there is no need to split it or upload pages one at a time.
- A report in another language. AI recognition is not tied to the document’s language and is not limited to any single country’s labs.
- A photo that is too dark or cropped. Retake it in even lighting, with the whole results table inside the frame — a cut-off column is the most common reason a value goes missing.
- No internet connection. Recognizing a new PDF or photo needs a connection. Viewing lab results and trends you already saved works offline.
- The three free AI imports are used up. This is not a dead end: every later result can still be entered manually, with no limit on how many.
None of these situations affect results you have already saved — each one is about the current recognition attempt for a single file or photo, not your existing history.
What it costs: Free and Pro
The free tier includes 3 AI imports of lab results, enough to try recognition on your own reports before deciding anything. Once that limit is reached, there are two honest paths forward, not one: subscribe to Pro and get unlimited AI import (Gemini Vision, photo and PDF), or keep going with manual biomarker entry — which is unlimited on every tier and feeds exactly the same trend charts, the same history, the same graphs. The only difference is how many seconds it takes to log one result: recognition is faster, manual entry is free with no exceptions and no downgrade in what it produces.
That is a deliberate pricing design, not a hidden restriction: HealthLab never blocks access to results you have already saved, and it never puts a paywall in front of the basic job — recording a result and watching it over time. What is paid is the speed of getting there through AI, not the ability to keep a lab history at all.
How HealthLab protects your data during recognition
Your PDF is converted to an image on-device, then sent via our proxy server to our AI recognition service. The proxy does not log requests, does not store images, and deletes them after processing. Every API call is authenticated via Apple App Attest with hardware-backed attestation in the Secure Enclave.
Lab results, medications and your medicine cabinet are stored locally on your iPhone via SwiftData; iCloud sync is optional, off by default, and moves data only between your own devices under your Apple ID — family cabinet sharing is a separate, opt-in feature that can additionally sync the medicine cabinet and refill list to an invited family member’s device through a distinct CloudKit Share channel. AI recognition is a separate case: it applies to lab PDF and photo import, as well as photo-add for your medicine cabinet and prescription import, and in each case the image is sent through the proxy described above to Google Gemini Vision, our AI recognition provider, then discarded after processing.
The practical takeaway for this article: if you only ever use manual biomarker entry, no image of any report ever leaves your phone at all. The exception applies strictly to the reports you choose to send for recognition.
Frequently asked questions
Can I import results from any laboratory?
Yes. Automatic recognition supports Ukrainian labs (Synevo, Dila, CSD, Alex-2) as well as any international laboratory. Upload a PDF, HEIC, JPG or PNG and HealthLab extracts the values regardless of the document’s language.
What happens to the image of my lab report during AI recognition?
Your PDF is converted to an image on-device and sent through HealthLab’s proxy server to the AI recognition service. The proxy does not log requests, does not store images, and deletes them right after processing. The call is authenticated via Apple App Attest with hardware-backed attestation in the Secure Enclave.
How much does importing lab results cost?
The first 3 AI imports are free for every user. After that, a Pro subscription unlocks unlimited AI import, or you can keep entering results manually — which stays free and unlimited regardless of tier.
Do I need an internet connection to import a lab result?
Only for the recognition step itself, whether it’s a PDF or a photo. Viewing lab results, trends and medications you already saved works fully offline.
Can I fix a value that AI recognized incorrectly?
Yes. Before anything is saved, the app shows a confirmation screen listing every recognized value — each one can be edited or removed before it becomes part of your trends.
HealthLab: from a printed report to a trend chart
HealthLab turns a paper or PDF report into structured data in a few steps: pick the source, run recognition, check it, save it to a profile — and the value shows up on its own trend chart right away. The same path takes the same number of steps whether the report has one marker or a full multi-page panel with dozens of rows — the marker count doesn’t add steps, only markers.
The same path works for any marker inside a larger panel, from a routine complete blood count to a broader metabolic workup; for guidance on reading the values themselves rather than getting them into the app, see how to read your lab results and the CBC test guide.
The full list of supported laboratories and file formats is on the lab results page; for an overview of how HealthLab stores your data on-device, see the homepage.