Skip to content

How to Order Your Own Blood Work Without a Doctor's Order

Oak
A glowing forest tree drips luminous sap through glass thorns into rows of stone vials of varying colors.

By the end of this you will have a panel you designed yourself, drawn under conditions you controlled and recorded, with results stored locally as structured rows keyed by LOINC code (Logical Observation Identifiers Names and Codes, the standard vocabulary for lab tests) rather than sitting in a PDF, plus a defensible rule for deciding whether a change between two draws means anything. You need a credit card, a photo ID, roughly two to three hours of calendar time across two visits, and a willingness to read assay documentation. You do not need a physician relationship, though there are results for which you will want one, and we say where.

In most of the United States, consumer-initiated lab testing is permitted, and the large reference labs sell it directly through Labcorp OnDemand and Quest Health. The legal mechanism is worth understanding because it determines what you can and cannot buy: in the states that require a practitioner order, the retail portals satisfy that requirement by routing your purchase through a contracted independent physician network who signs the requisition and, in principle, reviews critical results. You are the one choosing the tests, but a licensed clinician is nominally in the loop.

A handful of states have historically restricted or prohibited consumer ordering outright, New York being the most persistent example, with New Jersey and Rhode Island also carrying restrictions at various points. These rules change, so check the retailer’s state exclusion list at checkout rather than trusting a blog post, including this one. Two workarounds are legitimate and common: drive to a neighboring state’s patient service center (the requisition follows the draw site, not your residence), or use a telehealth service where a clinician licensed in your state conducts a brief asynchronous review and issues a genuine order. The second path costs more and takes a day or two, and it also gets you the thing the retail path lacks, which is someone with prescriptive authority who will look at an abnormal number.

Outside the US the picture is more restrictive. In the UK, private providers such as Medichecks and Thriva sell direct-to-consumer panels with a clinician sign-off, and NHS GP referral is not required for those. In much of continental Europe, patient-initiated testing at private laboratories is routine and inexpensive. In Canada and Australia, most funded testing requires a requisition, while private pay-for-service options exist in some provinces and states.

2. Choose the ordering channel to match the assay you want

The channel you pick determines which assays are available, what the data looks like coming out, and how much you pay. There are four in practice, and we use different ones for different questions.

Retail portals from the two national labs are the default. You get a Labcorp or Quest patient service center draw, results in three to seven days, and prices that are usually a third to a tenth of the insurance chargemaster rate. Their catalogs are broad for standard chemistry, hematology, endocrine, and infectious disease panels, and thin for anything specialized. Third-party marketplaces (Ulta Lab Tests, Marek Health, Function Health, and a dozen others) resell the same Labcorp and Quest draws with different bundling and their own clinician network. They frequently surface individual test codes the consumer portals hide, which matters when you want, say, an apolipoprotein B by immunoturbidimetry rather than a calculated non-HDL cholesterol.

Hospital outreach laboratories are the underrated option. Academic medical centers often run an outreach arm that will accept a self-pay requisition, and their in-house assays include things the reference labs send out or do not offer. This is also where you go if you want a specific method rather than a specific analyte name, which is a distinction that matters more than most people expect. Comparisons of platforms for the same protein routinely show large differences in sensitivity and dynamic range: a study of glial fibrillary acidic protein in patient plasma found that graphene field-effect biosensors, conventional ELISA, and single-molecule array assays each detected the same target with different limits of detection and different agreement with one another.1 “GFAP” on a requisition does not tell you which of those you are buying.

The fourth channel is research and specialty vendors selling under CLIA or as research-use-only products: broad proteomics (SomaLogic, Olink), untargeted metabolomics, whole-genome sequencing, and the emerging blood-based neurology and oncology assays. These are the tests where the analytical and clinical validation literature is still moving quickly, and they are also where the most interesting longitudinal signal lives.

3. Design the panel around a question, not a category

A panel assembled by picking every box is expensive and produces a wall of numbers with no prior. Write down the question first, then choose analytes that discriminate.

For cardiometabolic baseline, we order apolipoprotein B, lipoprotein(a) (measured in nmol/L rather than mg/dL, because the mass-based assay is confounded by isoform size), a standard lipid panel, hemoglobin A1c, fasting insulin and glucose, high-sensitivity C-reactive protein, and a comprehensive metabolic panel with liver enzymes. Lipoprotein(a) is largely genetically determined and stable, so we measure it once and never again unless the assay changes. Insulin and hs-CRP are the opposite: both are volatile, and a single elevated hs-CRP after a head cold means nothing.

For a longitudinal inflammatory and immune baseline, a complete blood count with differential plus a small set of cytokines is the cheap version, and multiplex proteomics is the informative version. Inflammation-related proteomic panels measured years before clinical onset carry prospective information about later cognitive outcomes in population cohorts, which is the kind of signal that only exists if you have a stored baseline to compare against.2 The value of proteomics to an individual is almost entirely in the second and third measurement, not the first.

For neurological baseline, plasma phosphorylated tau 217, amyloid beta 42/40 ratio, neurofilament light chain, and GFAP are now clinically available. The evidence base for blood p-tau217 in particular has matured to the point where fluid biomarkers are being folded into diagnostic pathways rather than used only in research settings.3 These are results you should not order without a plan to review them with a neurologist or a clinician familiar with the assay’s predictive values in asymptomatic people, because a positive amyloid signal in a person with no symptoms has a very different meaning from the same number in a memory clinic.

Multi-cancer early detection tests deserve a specific warning about arithmetic. In PATHFINDER, a prospective cohort of 6,621 adults aged 50 and over, a cancer signal was detected in roughly 1.4% of participants, and about 38% of those signals corresponded to a diagnosed cancer, with specificity near 99%.4 That positive predictive value is far better than a naive guess would suggest, and it still means that most people with a positive result who work through the diagnostic pathway will not have cancer, and that a negative result excludes very little. Other approaches, including extracellular-vesicle protein panels aimed at early-stage disease, report promising discrimination in case-control designs, which is a weaker study design than prospective screening and tends to overstate real-world performance.5

Transcriptomic panels, where you sequence or quantify RNA from whole blood, are a different animal. Whole-blood RNA expression signatures can discriminate active tuberculosis from other diseases with reported sensitivities and specificities in the high eighties to nineties in African adult cohorts with and without HIV.6 Similar logic underlies exploratory work on stimulated gene expression profiles in psychiatric conditions, where the blood signal is a proxy for regulatory state rather than a direct measure of the organ of interest.7 If you order RNA sequencing, note that stimulation and handling conditions are part of the assay, not incidental details.

One practical note on specific-purpose markers: if you want an objective measure of your own alcohol intake, phosphatidylethanol in whole blood is the analyte, and it has a long elimination half-life in the range of days to a couple of weeks, which makes it a weeks-scale integrator rather than a snapshot.8

4. Control the preanalytical variables, then write them down

More reported variance in personal lab data comes from how blood was collected than from what happened in your biology. Fix the protocol and reuse it exactly.

Fast twelve hours with water only for any draw that includes triglycerides, glucose, or insulin. Skip strenuous exercise for 48 hours before the draw, because creatine kinase, aspartate aminotransferase, alanine aminotransferase, and white cell counts all move substantially after hard training. Book the same time of day every time, preferably 07:00 to 09:00, for cortisol, testosterone, and iron studies, all of which have diurnal amplitudes large enough to swamp any real change. Sit quietly for ten minutes before the venipuncture, since posture shifts plasma volume by several percent and moves everything measured per unit volume.

At the draw itself, three things are worth asking for. Keep the tourniquet under a minute and do not pump your fist, because both raise potassium spuriously. Confirm the correct tube types for what you ordered: gold-top serum separator for chemistry, lavender EDTA for CBC and HbA1c, gray-top sodium fluoride if fasting glucose accuracy matters, and light blue sodium citrate for coagulation. Ask how quickly specimens are centrifuged and whether they ship on ice, because glucose falls measurably per hour in uncentrifuged serum and potassium rises if a tube is refrigerated before spinning.

Then record, in the same file as the results, the draw timestamp, fasting duration, last exercise, current supplements and medications, sleep the prior night, menstrual cycle day if applicable, and acute illness in the prior two weeks. Without these fields you will eventually misread a normal perturbation as a trend.

5. Extract the results as structured data

Retail lab portals hand you a PDF. Treat that as a source document to archive, not as your data layer. There are three ways out, in descending order of preference.

If your results land in a health system’s record, the 21st Century Cures Act information-blocking rules mean there is usually a patient-facing FHIR (Fast Healthcare Interoperability Resources) API. Register an app, complete the SMART on FHIR OAuth flow, and pull observations directly:

curl -H "Authorization: Bearer $TOKEN" \
     -H "Accept: application/fhir+json" \
  "$BASE/Observation?patient=$PID&category=laboratory&_count=200" \
  | jq '.entry[].resource
        | {code: .code.coding[0].code,
           display: .code.coding[0].display,
           value: .valueQuantity.value,
           unit: .valueQuantity.unit,
           time: .effectiveDateTime}' > labs.json

If there is no API, most portals expose a CSV or HL7 v2 download in account settings. Ask support explicitly for “an HL7 or CSV export of my results”; it exists more often than the UI suggests.

If all you have is the PDF, parse it once and verify every row by eye. Table layouts are stable within a lab, so a page-scoped extraction works:

import pdfplumber, re, csv

row = re.compile(r"^(?P<name>[A-Za-z0-9 ,\-\(\)/%]+?)\s+"
                 r"(?P<value>[<>]?\d+\.?\d*)\s+"
                 r"(?P<unit>[A-Za-z%/\^0-9\.]+)\s+"
                 r"(?P<ref>[\d\.\-<> ]+)$")

with pdfplumber.open("labcorp_2026-09-15.pdf") as pdf, \
     open("labs.csv", "w", newline="") as out:
    w = csv.writer(out); w.writerow(["analyte","value","unit","ref_range"])
    for page in pdf.pages:
        for line in (page.extract_text() or "").split("\n"):
            m = row.match(line.strip())
            if m: w.writerow([m["name"].strip(), m["value"],
                              m["unit"], m["ref"].strip()])

Then normalize. Map every analyte to a LOINC code manually the first time and store the mapping, because “Glucose”, “Glucose, Fasting”, and “Glucose, Ser Plas” are the same measurement with three labels. Convert units to a single internal representation and keep the conversion factors explicit: glucose mg/dL to mmol/L divides by 18.0182, total cholesterol mg/dL to mmol/L divides by 38.67, creatinine mg/dL to µmol/L multiplies by 88.4.

A minimal schema that has held up for us:

CREATE TABLE draws (
  draw_id     INTEGER PRIMARY KEY,
  drawn_at    TEXT NOT NULL,          -- ISO 8601 with offset
  lab         TEXT NOT NULL,          -- 'Labcorp', 'Quest', site code
  fasting_hrs REAL,
  notes       TEXT                    -- exercise, illness, supplements
);

CREATE TABLE results (
  draw_id     INTEGER REFERENCES draws(draw_id),
  loinc       TEXT NOT NULL,
  analyte     TEXT NOT NULL,
  value       REAL,
  unit        TEXT NOT NULL,          -- canonical unit only
  method      TEXT,                   -- assay/platform if known
  ref_low     REAL,
  ref_high    REAL,
  PRIMARY KEY (draw_id, loinc, method)
);

Storing method in the primary key is deliberate. When a lab switches platforms, the same LOINC code starts producing values on a different scale, and you want that break visible instead of silently averaged into a trend.

6. Decide what counts as a real change

Two numbers differing is not evidence. The quantity you need is the reference change value, which combines analytical imprecision and within-subject biological variation:

from math import sqrt

def rcv(cv_a, cv_i, z=1.96):
    """Percent change exceeding which a difference is unlikely
    to be noise. cv_a, cv_i in percent."""
    return 2**0.5 * z * sqrt(cv_a**2 + cv_i**2)

Plug in published values from the EFLM Biological Variation Database for the analyte and your lab’s stated coefficient of variation. The consequence is stark for volatile markers. Analytes with large within-subject variation, such as alanine aminotransferase and thyroid-stimulating hormone, need changes on the order of tens of percent before you should believe them, while tightly regulated analytes such as sodium and albumin flag on a few percent. This single calculation eliminates most of the false excitement people experience reading their own results.

Two other habits help. Order duplicates of anything you plan to act on, ideally two draws a week or two apart, and average them. And treat a population reference interval as a description of a distribution, not a target: it is the central 95% of a reference population, so roughly one in twenty healthy people falls outside any given interval, and a panel of thirty analytes will usually produce at least one flag by chance alone.

Common problems

The panel arrived incomplete. Consumer portals sometimes drop tests that require a special tube or a send-out, and you find out when results post. Verify the requisition line items at the patient service center before the draw and ask the phlebotomist to read back the test codes.

Results are flagged critical and no one calls. The independent physician network behind retail ordering does review critical values, but the contact path is thin and the review is not a clinical relationship. If you order tests where an abnormal result requires prompt action, such as anything hematologic, hepatic, or renal, arrange a clinician in advance rather than after.

Your values shifted across a lab change. Between-lab and between-platform differences are real and can exceed within-subject variation, particularly for immunoassays measuring proteins at low concentration.1 Pick one lab and one site and stay there. If you must switch, run one draw split across both and treat the difference as a calibration offset.

You cannot buy the assay you want. Specialty and research-grade assays are often unavailable through retail. Hospital outreach labs, academic core facilities running under CLIA, and vendor-direct programs are the routes, and each usually requires a phone call rather than a checkout page.

A screening test came back positive and you are alarmed. This is the situation where you stop analyzing and call a clinician. Predictive value depends on pretest probability, and the published performance of blood-based screening in prospective cohorts makes clear that a positive signal starts a diagnostic workup rather than concluding one.4

The data is fine and you do not know what it means. That is the normal end state of a first draw, and it is why a single panel is worth much less than four panels over two years collected identically. Baselines earn their value through repetition.

Oak builds longitudinal molecular profiles of individuals: whole-genome sequencing, RNA sequencing, proteomics, blood biomarkers, and continuous glucose data, integrated into one model of you. Build your profile.

Footnotes

  1. Lizhou Xu, Sami Ramadan, Oluwatomi E. Akingbade, et al. Detection of Glial Fibrillary Acidic Protein in Patient Plasma Using On-Chip Graphene Field-Effect Biosensors, in Comparison with ELISA and Single-Molecule Array. ACS Sensors, 2021. https://doi.org/10.1021/acssensors.1c02232 ↩ ↩2

  2. Kira Trares, Megha Bhardwaj, Laura Perna, et al. Association of the inflammation-related proteome with dementia development at older age: results from a large, prospective, population-based cohort study. Alzheimer’s Research & Therapy, 2022. https://doi.org/10.1186/s13195-022-01063-y ↩

  3. Charlotte E Teunissen, Lisa Vermunt, Nicholas R Barthélemy, et al. Fluid biomarkers in the evolving care landscape of Alzheimer’s disease and related disorders. The Lancet Neurology, 2026. https://doi.org/10.1016/s1474-4422(26)00246-2 ↩

  4. Deb Schrag, Tomasz M Beer, Charles H McDonnell, et al. Blood-based tests for multicancer early detection (PATHFINDER): a prospective cohort study. The Lancet, 2023. https://doi.org/10.1016/s0140-6736(23)01700-2 ↩ ↩2

  5. Juan Pablo Hinestrosa, Razelle Kurzrock, Jean M. Lewis, et al. Early-stage multi-cancer detection using an extracellular vesicle protein-based blood test. Communications Medicine, 2022. https://doi.org/10.1038/s43856-022-00088-6 ↩

  6. Myrsini Kaforou, Victoria J. Wright, Tolu Oni, et al. Detection of Tuberculosis in HIV-Infected and -Uninfected African Adults Using Whole Blood RNA Expression Signatures: A Case-Control Study. PLoS Medicine, 2013. https://doi.org/10.1371/journal.pmed.1001538 ↩

  7. Sabine Spijker, Jeroen S. Van Zanten, Simone De Jong, et al. Stimulated Gene Expression Profiles as a Blood Marker of Major Depressive Disorder. Biological Psychiatry, 2010. https://doi.org/10.1016/j.biopsych.2010.03.017 ↩

  8. Anders Helander, Michael Böttcher, Norbert Dahmen, et al. Elimination Characteristics of the Alcohol Biomarker Phosphatidylethanol (PEth) in Blood during Alcohol Detoxification. Alcohol and Alcoholism, 2019. https://doi.org/10.1093/alcalc/agz027 ↩