Skip to main content
← Labs

Prescription import from photo: paper script into a schedule

Kyrylo Holovchenko
Kyrylo Holovchenko — founder of HealthLab, developer of the lab tracking and medication app.
Published: July 30, 2026 · Updated: July 30, 2026

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 doWhere in the appFree / Pro
Take a photo of a paper prescriptionMedications & courses → Prescription import from photoPro
Recognize the name, dose, frequency and durationPrescription import from photo → recognitionPro
Review and correct every recognized fieldPrescription import from photo → review before creatingPro
Create a course with a schedule from the reviewed dataCourses & scheduleFree
Turn on reminders for the new scheduleCourses & schedule → RemindersFree

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.

Track your lab results in HealthLab

Download on App Store

Related