Prescription import from photo: paper script into a schedule
Instead of retyping a paper prescription by hand — the medication name, the dose, how often, for how long — you can photograph it and let AI produce a first draft of that information. This is a Pro feature, and it takes five steps: photo, recognition, review, course, reminders. Whatever gets recognized is always shown back to you for review before it becomes a live schedule.
What to do and where
| What you want to do | Where in the app | Free / Pro |
|---|---|---|
| Take a photo of a paper prescription | Medications & courses → Prescription import from photo | Pro |
| Recognize the name, dose, frequency and duration | Prescription import from photo → recognition | Pro |
| Review and correct every recognized field | Prescription import from photo → review before creating | Pro |
| Create a course with a schedule from the reviewed data | Courses & schedule | Free |
| Turn on reminders for the new schedule | Courses & schedule → Reminders | Free |
Step 1. Take a photo of the paper prescription
In Medications & courses, choose “Take photo” for a prescription import. iOS asks for camera permission at exactly this moment, not ahead of time — and only because you chose to photograph a prescription, not for any other feature in the app.
Step 2. AI recognizes the name, dose, frequency and duration
The photographed image is sent through HealthLab’s secure proxy server to the Google Gemini Vision API. Gemini extracts the medication names, dosages, frequency and course duration written on the prescription, for every medication listed on it.
Step 3. Review every recognized field
Before a recognized prescription becomes a course and a schedule, the app shows you the result for review: name, dose, frequency and duration, one medication at a time. This is not a formality — it is the step that matters most. AI recognition of handwritten or printed text can get something wrong, and this is the point where an error is still visible and correctable, before it turns into a schedule that starts sending reminders.
Step 4. Turn the reviewed data into a course with a schedule
Once every field has been checked and corrected where needed, confirm the course. The app carries the name, dose, frequency and duration into Courses & schedule the same way it would if you had typed them in yourself. From there, the course behaves exactly as described in medication course, schedule and reminders — the same schedule, the same PIN protection for dose confirmation, the same entries in the intake log.
Step 5. Turn on reminders
The last step is turning on reminders for the schedule you just created. This is where prescription import and manually building a course converge into the same path: reminders are set up the same way regardless of where the underlying schedule came from.
What gets transmitted during recognition
The photographed prescription image is sent through HealthLab’s secure proxy server to the Google Gemini Vision API — that is the point where the image leaves your device. The proxy does not log requests, does not store images, and deletes them right after processing. Every call is authenticated with Apple App Attest, a hardware-backed device attestation that confirms the request is coming from a genuine, unmodified copy of HealthLab on your iPhone.
Before the first time a prescription image is sent, the app shows a separate privacy notice and waits for your explicit confirmation — this happens once, before the feature is used for the first time. The prescription image itself is not stored on HealthLab’s servers and is not reused: it exists only for that one recognition pass, then it is deleted.
The medication data that comes out of it — name, dose, frequency, course duration, supply, medication photo, intake history — is stored locally on your device via SwiftData once the course is created, and is not sent to HealthLab’s servers, with two exceptions: optional iCloud sync (off by default, and only between your own devices under one Apple ID), or you sharing it yourself through the iOS share dialog. For the full picture of what is transmitted and when, see the privacy policy.
Example: a script with three medications after a GP visit
A doctor writes out a paper prescription with three medications: an antibiotic for 7 days, twice a day; a second medication for 10 days, three times a day; and a third one, as needed, with no fixed schedule. Retyping a script like that by hand is exactly where frequency gets mixed up — three times a day instead of twice, or the other way around — especially when all three lines are written in the same handwriting, in the same column.
AI recognition pulls all three medications out at once, with a recognized dose and frequency for each — which is precisely why reviewing every field in step 3 matters. Skip checking frequency against the paper prescription at that point, and a mistake like “three times a day” instead of “twice a day” can go unnoticed for a week, surfacing only when a course should already be finished but reminders are still arriving, or the other way around, when they stopped too soon.
Edge cases
- The doctor’s handwriting is hard to read. If the AI recognized a medication name, dose, or frequency ambiguously or incorrectly, correct the field by hand at the review step — the prescription stays visible in front of you, so checking against the original is possible at any point before the course is created.
- Several medications on one script. Each medication is reviewed as its own entry before it becomes its own course — reviewing one does not depend on the others, and a correction to one entry does not touch the rest.
- The recognized dose does not match the box or what the doctor said. That is a question for a doctor or a pharmacist, not a decision to make based on what the app displays — recognition only carries over the text on the prescription, it does not verify whether the prescription itself is correct.
- No internet. Recognizing a prescription needs a connection, since the image is processed through the Google Gemini Vision API. Courses, schedules, reminders, and viewing data already saved keep working offline — the limitation applies only to the moment of recognizing a new prescription.
Free or Pro
Prescription import from photo — photographing the script, recognition, and reviewing it before a course is created — is a Pro feature. Everything that comes out of a reviewed prescription — the course, its schedule, reminders, the intake log and adherence calendar — is Free, unlimited, no subscription required, exactly the same as for a course built by hand.
Without a Pro subscription, or simply when it’s more convenient to type the details in directly, the same course can be built manually with no restrictions at all: the steps are the same, minus the AI recognition at the start. Recognizing a prescription saves the work of retyping it — it does not replace any of the free steps that follow.
Frequently asked questions
Does the prescription photo stay on my device, or is it sent somewhere?
The prescription photo is sent through HealthLab’s secure proxy server to the Google Gemini Vision API for recognition — that is the point where it leaves the device. The proxy does not log requests, does not store images, and deletes the image right after processing; it is not stored on HealthLab’s servers and is not reused. Once a course is created, the medication data itself is stored locally on your device via SwiftData.
Is a schedule created automatically as soon as recognition finishes?
No. The recognized result — name, dose, frequency, duration — is shown to you first for review and correction. The course and schedule are only created once you confirm that data, not automatically the moment recognition completes.
What if the AI got the dose wrong?
Correct the field by hand at the review step, checking it against the paper prescription. If the recognized dose differs from what the doctor wrote or from what’s on the box, that is a question for a doctor or pharmacist — not a decision to make based on what the app shows.
Do I need internet to import a prescription from a photo?
Yes, for the recognition step itself — the image is processed through the Google Gemini Vision API, and without a connection recognition can’t happen. Courses, schedules, reminders, and the rest of the app keep working offline once a course already exists.
Does the app check whether the dose is correct or whether medications interact?
No. The app is not a medical device and does not provide medical advice, diagnoses, or treatment recommendations. Prescription import carries over what’s written on the paper into a schedule — it does not judge whether the prescription itself is correct, does not check for drug interactions, and does not replace a conversation with a doctor or pharmacist.
HealthLab: from a paper script to a reviewed schedule
Prescription import from photo is a faster starting point for a course, not a separate system for tracking medication. Once the data is reviewed and the course is created, everything works exactly the way it does for a course entered by hand — including the schedule, reminders, and PIN protection for dose confirmation covered in medication course, schedule and reminders.
Confirming each dose day to day, the intake history, and the adherence calendar are covered afterward in medication intake log and adherence calendar — regardless of whether the underlying course came from typing it in manually or from recognizing a prescription.
Prescription import from photo and manual course setup are both available under Medications & courses — your data stays on your device, aside from the moment of recognition described above and detailed in the privacy policy.