Laboratory
Datasets
US Core 6.1.0 maps each USCDI element to FHIR.
| Dataset | US Core 6.1.0 target profile(s) |
|---|---|
labs | US Core Laboratory Result Observation, US Core Specimen |
labs
One row per analyte result. A panel flattens: each member analyte is its own row, grouped back together by a shared diagnostic_report_id. The FHIR category is fixed to laboratory — non-lab test results belong in clinical_observations.
| Column | Required | Format / values | Example |
|---|---|---|---|
record_id | Yes | your stable key for this result | LAB-0001 |
patient_identifier | Yes | patient key | MRN-4471903 |
status | Yes | registered, preliminary, final, amended, corrected, cancelled, entered-in-error, unknown observation-status | final |
loinc_code | Yes | LOINC us-core-laboratory-test-codes | 2339-0 glucose [mass/volume] in blood |
value_quantity | If numeric | decimal | 104 |
unit | If value_quantity | UCUM ucum-common | mg/dL |
value_comparator | If censored | <, <=, >=, > quantity-comparator | |
value_string | If non-numeric | text | POSITIVE |
value_code | If coded | SNOMED CT code, with value_system (SNOMED CT assumed when empty) | |
data_absent_reason | If no value | unknown, not-performed, error, etc. data-absent-reason | |
interpretation | If available | H high, L low, N normal, A abnormal observation-interpretation | H |
reference_range_low | If available | decimal | 70 |
reference_range_high | If available | decimal | 99 |
effective_datetime | Recommended | datetime, at least to the day | 2026-04-18T08:40:00-04:00 |
specimen_type_code | If available | SNOMED CT specimen code Specimen Type | 119297000 blood specimen |
diagnostic_report_id | If available | record_id of the diagnostic_reports row | DR-771 |
performer_npi | If available | 10 digits | 9999999991 |
is_deleted | If retracting | true retracts this row | true |
loinc_codeis the USCDI Tests element and the one coded field with no fallback: a row without it cannot become an Observation. The binding accepts any laboratory LOINC code (http://loinc.orgassumed).- Every row needs a result or a reason it is missing. Send exactly one of
value_quantity(+unit),value_string, orvalue_code; when the source has none — the test was cancelled, the specimen was unsatisfactory —data_absent_reasonbecomes required. A row with neither is rejected. unitis not free text: US Core requires UCUM for quantity results.value_codeshould be SNOMED CT, e.g.260385009Negative for a coded qualitative result.- A censored numeric result — below or above the assay's detection limit — stays structured:
<0.5isvalue_quantity0.5withvalue_comparator<, not avalue_string. interpretationand thereference_range_*pair go beyond the USCDI v3.1 floor (they joined USCDI in v4), but pass them through whenever your source has them — they are what makes a bare number readable.specimen_type_codeis the USCDI Specimen Type element; it becomes a companion US Core Specimen resource the Observation points at, not a separate dataset you deliver.diagnostic_report_idgroups the analytes of one panel under a report in thediagnostic_reportsdataset. A lab row is complete without it.performer_npiis the resulting lab or clinician and must match a row inpractitionersororganizations.
These resources are served by Patient Access, Provider Access, and Payer-to-Payer.