Skip to main content
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: 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

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

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

Genetic result statuses

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).
Access to documents is validated against the profile that owns the document.

Example results response