Skip to main content
getbased can read lab reports from virtually any provider worldwide. Use the header import button or drop a file onto the app. The AI extracts results, maps them to known biomarkers, and shows you a preview before saving anything. Text-based reports go through PII obfuscation before the content reaches your AI provider; image-mode imports can include personal information visible on the page.

Before you start

You need an AI provider configured in Settings → AI. Manual lab entry, JSON import, DNA import, charts, comparisons, and correlations do not require AI, but PDF and image lab import do.

Import a report

1

Open getbased

You can import from the dashboard or any lens. On a fresh profile, guided chat is the recommended first path; direct import is also available once AI is configured.
2

Drop or select your file

Click the header import button or drag files onto the page. Supported report formats include PDF, JPG, PNG, and WebP.
3

Wait for AI analysis

getbased processes the file locally, strips personal information from extracted text, then sends the prepared text or page images to your AI provider. During AI analysis, Reading report covers prompt processing and Writing results begins with generated output. Time varies with the report, provider, model, network, and local hardware; large local models can spend several minutes reading before their first result. Repeat local imports use saved performance to improve the reading estimate.
4

Review the import preview

Before anything is saved, you see exactly what the AI found. Review each row and exclude anything you do not want by clicking the × button. Also verify the report date, collection time, fasting status, and reference-range adoption. The button toggles to + so you can re-include rows.
5

Confirm

Click Confirm to save the results. Your values appear in Labs, dashboard widgets, marker details, comparisons, correlations, and AI context while Blood marker results are enabled in Manage → Context. getbased also saves a device-local model-test record with timing, model, and review-quality information.
getbased handles reports in English, French, German, Spanish, Dutch, and many other languages. The AI maps marker names to the correct biomarkers regardless of the language on the report.

Pre-flight checks

Before analysis begins, getbased runs two automatic checks:
  • Model mismatch — if you have changed your AI model since your last import, a warning explains that different models may assign different internal keys to the same marker. You can continue or switch back to your previous model.
  • PII scan — a notification confirms that personal information such as name, address, date of birth, ID numbers, email, and phone will be stripped before the file is sent to your AI provider.

Understanding the import preview

The preview table shows each result the AI found, the value, the lab’s reference range, and how it was mapped. Each row has one of three status colors:
  • Green — Matched: the marker was recognized and mapped to a known biomarker, such as glucose, TSH, or ferritin.
  • Blue — New: the marker is not in the built-in list. getbased creates it as a custom marker with an AI-suggested name, unit, and reference range.
  • Yellow — Unmatched: the AI found a result but could not confidently map it. Review these rows manually before confirming.
If something looks wrong, dismiss the import and try again. Nothing is saved until you click Confirm. The AI-suggested category for a new custom marker is an import-time suggestion that you review before saving. It does not reorganize existing markers. After import, you can use Change category in any marker’s detail modal to change only where that marker appears in the current profile; the saved result, import provenance, and future import mapping stay attached to the same marker. getbased refuses an AI response that ended at its output limit or filled the model’s context before the marker list completed. If this happens with Local AI, increase the model’s context length or split the report into smaller imports. The incomplete marker list is not offered for confirmation.

Reference range adoption

When the reference ranges on your report differ from getbased’s stored ranges, a toggle appears below the preview table: “Update reference ranges from this report (N markers)”. This is checked by default. Accepting it makes the lab’s own interval the active per-marker reference instead of the general built-in fallback. If you later import an older report, its range is preserved with that file but does not replace a range from a newer collection date. A manual range edit wins over an adopted lab range; reverting the edit returns to the lab interval first, then to the built-in default. See Understand lab ranges and calculated markers for the full range order and labels.

Collection time and fasting status

When present on the report, the importer extracts:
  • Collection time — the time the specimen was drawn or collected;
  • Fasting status — fasting, not fasting, or unknown.
Both fields are editable in the review modal. Use the collection or draw time, not a processing, receipt, result, or report timestamp. Leave the value unknown when the source does not distinguish them; getbased does not infer fasting from the time of day, test panel, or result. After confirmation, this context stays attached to that lab date, appears beside affected results, and is available to applicable context-aware ranges and AI interpretation. Re-reviewing or deleting a report restores context supplied by another remaining report for the same date, or clears it when no source remains.

Unit normalization

Common unit differences are normalized automatically. For example, enzymes reported as IU/L are mapped to U/L. The marker detail modal can also show alternate units when Alternate Units is enabled in Settings → Display.

Batch import

To import multiple reports at once, select or drag multiple files. getbased processes them one at a time and shows the preview for each file in sequence. A counter tells you which file you are on. For each file you can Confirm to save or Skip to discard and move on. If a file fails due to a network error, getbased retries it once automatically before offering the option to skip.

Per-file import history

Confirmed AI imports are stored as individual import records in Settings → Data. This matters when several reports share the same collection date: the live lab entry still shows one current value per marker/date, but each source file remains reviewable. From Settings → Data you can:
  • click Review & Edit to reopen the saved import preview without paying for another AI parse;
  • edit values, units, mappings, or excluded rows, then re-import the corrected snapshot;
  • click Delete to remove only the markers owned by that import snapshot while preserving unrelated same-day data.
The saved snapshot also preserves the file’s extracted reference intervals, whether you adopted them, and its collection-time and fasting metadata. Normal charts show only the current effective interval rather than layering every historical lab range. Reports imported before per-file storage existed were saved only as date-based lab entries. To make an old report individually reviewable, import that report again.

Model-test history

Every confirmed AI import also appears under Settings → Data → Test models on lab reports. The record shows the provider and model, results found and kept, corrections and exclusions from your review, and performance details the provider exposed. Import the exact same report with another model or provider to compare the two runs side by side. These are real imports: repeating a report can update the live value for the same marker and date. Deleting a model-test record removes only its diagnostics, not the imported health data. See Test and compare AI models for the built-in answer key, personal-report workflow, and comparison metrics.
Before a large batch import, export a JSON backup from Settings or use Backup. Restoring from a backup is easier than deleting many values manually.

Scanned PDFs and images

Most lab PDFs contain selectable text. If your PDF is a scanned image, getbased detects this and switches to image mode, rendering pages for the AI to read visually. You can also import lab reports saved as photos or screenshots directly. JPG, PNG, and WebP files go through the same image pipeline as scanned PDFs.
Image mode sends rendered page images to the configured AI provider. Text PII obfuscation cannot remove a name, address, barcode, or other identifier visible in those images. The app warns you before switching a PDF to image mode; redact the source image first if needed.
If results are missing after an image-mode import, try exporting the report as a PDF directly from your lab’s portal. Text-based PDFs usually produce more reliable results than scans.

Specialty lab detection

getbased automatically detects non-blood tests in your PDF, including OAT, DEXA, fatty acid panels, Metabolomix+, and more. The AI identifies the test type and routes markers through the specialty pipeline, using the reference ranges from your report rather than built-in defaults. See Import specialty lab panels for details.

Privacy during import

Your file is processed in the browser first. Extracted text goes through regex obfuscation and, when configured, a separate compatible text model before it is sent to the active AI provider. Image mode sends page images without text PII obfuscation. See Privacy for the complete boundary.

What gets extracted

The core schema contains 196 markers across 19 categories, plus specialty-panel adapters and unlimited custom markers. Common areas include:
  • Biochemistry — glucose, liver enzymes, kidney markers, electrolytes
  • Hormones — testosterone, estradiol, cortisol, DHEA, progesterone, LH, and FSH
  • Glucose & Insulin Metabolism — glucose-control markers including insulin, C-peptide, HbA1c, and fructosamine
  • Lipids — cholesterol, triglycerides, LDL, HDL, ratios
  • Hematology — CBC, red and white cell indices
  • Thyroid — TSH, T3, T4, antibodies
  • Electrolytes, coagulation, cardiac, bone, urine, vitamins, minerals, inflammation, and commonly reported tumor markers
  • Body Composition — body fat percentage, lean mass, visceral fat from DEXA scans
  • Bone Density — BMD, T-scores, Z-scores from DEXA scans
Markers not in the built-in schema are created automatically as custom markers and tracked alongside built-in markers. Supported lab-reported ratios and indices are normalized into Calculated Ratios. The app uses the report’s direct value for that date and computes a fallback only when the direct value is absent, avoiding duplicate FIB-4, anion-gap, or ratio cards.

Common questions

Can I import the same PDF twice? If you import a report for a date that already has data, the report is saved as its own import record and the live lab entry is merged by marker/date. When two same-day reports contain the same marker, the newest confirmed value becomes the live value, while the older file remains in import history so you can review or restore it deliberately. What about below-detection-limit values like <0.5? These are imported at the detection limit value itself (<0.5 becomes 0.5). The data point is preserved and shows that the marker was tested. Can I undo an import? Yes, for imports saved with per-file history. Open Settings → Data, find the imported report, then use Review & Edit to correct it or Delete to remove that report’s imported markers. For older date-only imports, restore from an automatic snapshot or JSON backup if the import created bad data. Why can Local AI stay on Reading report for several minutes? Large models must process the complete report before generating the first streamed token. getbased allows a longer first-token wait for Local AI, then uses a shorter stall guard once generation has started. You can still stop the import. If it repeatedly fails before writing begins, try a smaller model, a larger/faster context setup, fewer pages, or another provider.
If you see unexpected results after a large batch import, start with the per-file Review & Edit / Delete controls in Settings → Data. If the problem came from older date-only imports or broad accidental changes, restore from a pre-import snapshot instead of manually deleting many marker values.