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

# Results

> Understand how lab results and documents work in the Aniva API

After a blood draw is confirmed and the lab processes the samples, results become available on the appointment. Results are retrieved via `GET /api/v1/appointments/{id}/results` and include clinical biomarker results, genetic biomarker results, and downloadable lab report documents.

## Results status

The top-level `status` field on the results response indicates overall processing progress:

| Status        | Meaning                                                    |
| ------------- | ---------------------------------------------------------- |
| `in_progress` | Some submissions are still being processed by the lab.     |
| `completed`   | All submissions have been processed and results are final. |

Individual results within the response have their own per-result status (see below), so you can display partial results while the overall status is still `in_progress`.

## Clinical results

Clinical results represent standard blood biomarker measurements — things like Vitamin D levels, cholesterol, thyroid hormones, and so on.

Each clinical result includes:

* **`biomarker_name`** and **`category`** — what was measured and its grouping (e.g., Vitamins, Hormones).
* **`value`** and **`value_operator`** — the effective measurement. The operator is `eq` (equals) for exact values, or `lt`/`gt` when the lab reports a value below or above the measurable range.
* **`unit`** — the measurement unit (e.g., ng/mL, µIU/mL).
* **`reference_range_lab`** — normal and optimal min/max bounds as reported by the lab.
* **`reference_range_aniva`** — Aniva-curated reference ranges adjusted for age, sex, and pregnancy status.
* **`tested_at`** — the date the test was performed.
* **`comment`** — free-text annotation from the lab on this specific result (e.g., reference-range guidance, sample-quality warnings). `null` when the lab did not attach one.

### Clinical result statuses

| Status      | Meaning                                                            |
| ----------- | ------------------------------------------------------------------ |
| `planned`   | The test is ordered but results have not arrived from the lab yet. |
| `received`  | The lab has returned a result.                                     |
| `corrected` | A human reviewer has revised the lab-reported value.               |

<Tip>
  When displaying results to patients, use the `value` field directly — it already reflects the
  corrected value when one exists.
</Tip>

## Genetic results

Genetic results represent gene-level findings from DNA analysis. Each result corresponds to a gene (e.g., APOE, MTHFR) and includes:

* **`gene`** — the gene symbol.
* **`genotype`** — the detected genotype (e.g., E3/E4).
* **`clinical_significance`** — an ACMG-based classification of the finding.
* **`risk_description`** — a human-readable explanation of what the genotype means.
* **`comment`** — free-text annotation from the lab on this specific result. `null` when the lab did not attach one.
* **`variants`** — the specific genetic variants detected, each with SNV-level detail.

### Clinical significance values

| Value                                                    | Category                                  |
| -------------------------------------------------------- | ----------------------------------------- |
| `pathogenic`, `likely_pathogenic`                        | Disease-causing or likely disease-causing |
| `uncertain`                                              | Variant of uncertain significance (VUS)   |
| `likely_benign`, `benign`                                | Not disease-causing                       |
| `high_risk`, `moderate_risk`, `low_risk`                 | Risk level classification                 |
| `protective`                                             | Protective variant                        |
| `drug_response`, `poor_metabolizer`, `rapid_metabolizer` | Pharmacogenomic findings                  |

### Genetic result statuses

| Status     | Meaning                                               |
| ---------- | ----------------------------------------------------- |
| `planned`  | The test is ordered but results have not arrived yet. |
| `received` | The lab has returned a result.                        |

### Variant structure

Each genetic result contains a `variants` array. Each variant includes:

* **`name`** — common name (e.g., APOE E4).
* **`clinical_significance`** — variant-level significance (may differ from the gene-level significance).
* **`conditions`** — associated diseases/conditions with descriptions.
* **`snvs`** — the underlying single nucleotide variants, each with `rs_id`, `allele`, `reference_allele`, and optional HGVS notation.

## Documents

The `documents` array in the results response contains references to downloadable lab report PDFs. Each document has:

* **`id`** — a file UUID. Pass this to `GET /api/v1/documents/{id}` to download the file.
* **`file_name`** — the original file name (e.g., `lab-report-2026-04-05.pdf`).

<Note>Access to documents is validated against the profile that owns the document.</Note>

## Example results response

```json theme={null}
{
  "status": "in_progress",
  "clinical_results": [
    {
      "status": "received",
      "biomarker_id": 42,
      "biomarker_name": "Vitamin D (25-OH)",
      "category": "Vitamins",
      "value": 38.5,
      "value_operator": "eq",
      "unit_id": 1,
      "unit": "ng/mL",
      "reference_range_lab": {
        "normal_min": 30,
        "normal_max": 100,
        "optimal_min": null,
        "optimal_max": null
      },
      "reference_range_aniva": {
        "normal_min": 30,
        "normal_max": 80,
        "optimal_min": 40,
        "optimal_max": 60
      },
      "tested_at": "2026-04-05",
      "comment": null
    },
    {
      "status": "planned",
      "biomarker_id": 87,
      "biomarker_name": "TSH",
      "category": "Hormones",
      "value": null,
      "value_operator": null,
      "unit_id": null,
      "unit": null,
      "reference_range_lab": null,
      "reference_range_aniva": null,
      "tested_at": null,
      "comment": null
    }
  ],
  "genetic_results": [
    {
      "status": "received",
      "biomarker_id": 201,
      "gene": "APOE",
      "genotype": "E3/E4",
      "clinical_significance": "moderate_risk",
      "risk_description": "Carriers of one APOE E4 allele have a moderately increased risk of Alzheimer's disease.",
      "tested_at": "2026-04-05",
      "comment": null,
      "variants": [
        {
          "name": "APOE E4",
          "clinical_significance": "moderate_risk",
          "description": "The E4 allele is associated with increased Alzheimer's risk.",
          "hgvs_c": "c.388T>C",
          "hgvs_p": "p.Cys130Arg",
          "conditions": [
            {
              "condition": "Alzheimer's disease",
              "association_description": "Increased risk with one E4 allele",
              "badge": "Moderate Risk"
            }
          ],
          "snvs": [
            {
              "rs_id": "rs429358",
              "allele": "C",
              "reference_allele": "T",
              "hgvs_c": "c.388T>C",
              "hgvs_p": "p.Cys130Arg"
            }
          ]
        }
      ]
    }
  ],
  "documents": [
    {
      "id": "f8a1b2c3-d4e5-4f6a-7b8c-9d0e1f2a3b4c",
      "file_name": "lab-report-2026-04-05.pdf"
    }
  ]
}
```
