> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getbased.health/llms.txt
> Use this file to discover all available pages before exploring further.

# Import lab PDFs into getbased

> Drop lab reports as PDFs, photos, or screenshots and let the AI extract results, strip personal information, and map markers — any lab, format, or language.

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. Personal information is stripped before the file reaches your AI provider.

## 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

<Steps>
  <Step title="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.
  </Step>

  <Step title="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.
  </Step>

  <Step title="Wait for AI analysis">
    getbased processes the file locally, strips personal information, then sends anonymized text or images to your AI provider. This typically takes 5-20 seconds for a normal report.
  </Step>

  <Step title="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. The button toggles to **+** so you can re-include rows.
  </Step>

  <Step title="Confirm">
    Click **Confirm** to save the results. Your values appear in Labs, dashboard widgets, marker details, comparisons, correlations, and AI context immediately.
  </Step>
</Steps>

<Tip>
  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.
</Tip>

## 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**.

### 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 saves the lab's own ranges as per-marker overrides.

### 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.

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.

<Note>
  Before a large batch import, export a JSON backup from Settings or use [Backup](/guides/backup). Restoring from a backup is easier than deleting many values manually.
</Note>

## 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.

<Tip>
  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.
</Tip>

## 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](/guides/specialty-labs) for details.

## Privacy during import

Your file is processed locally first. Personal information is stripped before anything is sent to your AI provider. See [Privacy](/guides/privacy) for full details on PII obfuscation.

## What gets extracted

getbased tracks 287+ built-in biomarkers across standard categories, plus unlimited custom markers. Common areas include:

* **Biochemistry** — glucose, liver enzymes, kidney markers, electrolytes
* **Hormones** — testosterone, estradiol, cortisol, DHEA, insulin
* **Lipids** — cholesterol, triglycerides, LDL, HDL, ratios
* **Hematology** — CBC, red and white cell indices
* **Thyroid** — TSH, T3, T4, antibodies
* **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.

## 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.

<Warning>
  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.
</Warning>
