DiagnosticReport — Examination report
The FHIR container that bundles results, conclusion and technical metadata of a diagnostic examination: laboratory, pathology, genomics, imaging.
Purpose of the resource
DiagnosticReport aggregates the results of a diagnostic examination, their interpretation and the metadata of the act. It is the "report" entity from the reader's perspective — referring physician or patient — as opposed to the individual Observations that carry each unit measurement.
Concretely: a complete blood count (CBC) generates one
DiagnosticReport that references five to twenty Observations (WBC, RBC, hemoglobin,
hematocrit, platelets, differential). An abdominal CT generates a DiagnosticReport
that points to the DICOM images (via ImagingStudy) and carries the
radiology report as structured text (presentedForm or
conclusion).
Key fields
| Field | Type | Cardinality | Role |
|---|---|---|---|
identifier | Identifier[] | 0..* | Local filler identifier (lab / radiology accession number). |
basedOn | Reference(ServiceRequest | …)[] | 0..* | Request that triggered the report. |
status | code | 1..1 | registered, partial, preliminary, modified, final, amended, corrected, appended, cancelled, entered-in-error, unknown. |
category | CodeableConcept[] | 0..* | Classification (Hematology, Microbiology, Radiology, Pathology…). v2-0074 table. |
code | CodeableConcept | 1..1 | Examination code. LOINC for laboratory. |
subject | Reference(Patient | Group | Device | Location | Organization | Practitioner | Medication | Substance | BiologicallyDerivedProduct) | 0..1 | Examination subject. |
encounter | Reference(Encounter) | 0..1 | Associated visit. |
effective[x] | dateTime | Period | 0..1 | Date/period of the act (sampling, scan acquisition). |
issued | instant | 0..1 | Report signature/release date. |
performer | Reference(Practitioner | PractitionerRole | Organization | CareTeam)[] | 0..* | Performer (laboratory, interpreting radiologist). |
resultsInterpreter | Reference(Practitioner | PractitionerRole | Organization | CareTeam)[] | 0..* | Interpreting physician, distinct from technical performer. |
specimen | Reference(Specimen)[] | 0..* | Specimens analysed. |
result | Reference(Observation)[] | 0..* | Atomic observations making up the report. |
study | Reference(GenomicStudy | ImagingStudy)[] | 0..* | Associated studies (imaging, genomics). |
conclusion | markdown | 0..1 | Textual conclusion. |
conclusionCode | CodeableConcept[] | 0..* | Associated diagnostic codes (ICD-10, SNOMED CT). |
presentedForm | Attachment[] | 0..* | Signed PDF, image, proprietary format. |
Event pattern (status)
DiagnosticReport follows the Event pattern of the FHIR workflow. State
machine around status:
registered— case opened, examination not started.partial— some results available, others pending.preliminary— preliminary results (urgent, not validated).final— validated, signed.amended— corrected afterfinalwith clinical information added.corrected— erroneous result in thefinalversion, now fixed.cancelled— examination cancelled.entered-in-error— entered by mistake.
JSON example
Final CBC report for Patient "example", in response to
ServiceRequest/lab-cbc:
{
"resourceType": "DiagnosticReport",
"id": "cbc-result",
"basedOn": [{ "reference": "ServiceRequest/lab-cbc" }],
"status": "final",
"category": [{
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/v2-0074",
"code": "HM",
"display": "Hematology"
}]
}],
"code": {
"coding": [{
"system": "http://loinc.org",
"code": "58410-2",
"display": "Complete blood count panel"
}]
},
"subject": { "reference": "Patient/example" },
"encounter": { "reference": "Encounter/example" },
"effectiveDateTime": "2026-05-14T08:30:00+01:00",
"issued": "2026-05-14T10:45:00+01:00",
"performer": [{ "reference": "Organization/lab-acme" }],
"specimen": [{ "reference": "Specimen/blood-001" }],
"result": [
{ "reference": "Observation/wbc" },
{ "reference": "Observation/rbc" },
{ "reference": "Observation/hgb" },
{ "reference": "Observation/hct" },
{ "reference": "Observation/plt" }
],
"conclusion": "Counts within normal range. No significant abnormality."
} basedOnpoints to the originating ServiceRequest — the placer order.status=finalindicates a validated report, ready to be billed and archived.categoryHematology (HM) per v2-0074.effectiveDateTime= sampling date;issued= report sign-off date — the gap documents lab latency.resultlists the 5 atomic Observations (WBC, RBC, HGB, HCT, PLT).conclusioncarries the synthetic interpretation in plain text.
REST API
GET /DiagnosticReport?subject=Patient/example&status=final— finalised reports for a patient.GET /DiagnosticReport?based-on=ServiceRequest/lab-cbc— report matching a specific request.POST /DiagnosticReport— create a new report (typically by the LIS).GET /DiagnosticReport?_include=DiagnosticReport:result&_include=DiagnosticReport:specimen— include Observations and Specimen.GET /DiagnosticReport?code=58410-2&date=ge2026-01-01— search by LOINC code + date.GET /DiagnosticReport/cbc-result/$document— composite operation returning a document Bundle containing the report + its Observations.
National profiles
| Profile | Regulator | Restrictions |
|---|---|---|
| US Core DiagnosticReport for Laboratory | HL7 US Realm — ONC EHR | Must carry category, LOINC code, effective[x], result. |
| US Core DiagnosticReport Note | USCDI v3 | Profile for narrative reports (radiology, pathology) with presentedForm. |
| IPS DiagnosticReport | HL7 + CEN/TC 251 | Used in the international patient summary. |
| FR Core DiagnosticReport | ANS | LOINC FR + slicing on conclusion. |
| AU Core DiagnosticReport | HL7 Australia | For My Health Record pathology. |
Common pitfalls
- Confusing
effective[x]withissued—effectiveis the clinical event date (sampling, MRI);issuedis the administrative signature/release date. Mixing them distorts diagnostic delay metrics. - No link to
specimen— without a referenced Specimen, the source sample cannot be traced, complicating retrospective investigation (wrong tube, degraded sample). - Orphan Observation — each
resultmust point to an existing Observation. Referencing a deleted or non-existent Observation invalidates the report on strict servers. - Status regression — moving from
finalback topreliminaryis forbidden. To fix a finalised report, useamendedorcorrected. - Imaging without
study— a CT report must point to anImagingStudycarrying the DICOM reference (Study UID, Series, Instances); without it, the PACS viewer cannot wire it up.
Related resources
- ServiceRequest — request that triggered the report.
- Observation — atomic results making up the report.
- Specimen — analysed sample.
- ImagingStudy — associated DICOM study.
- GenomicStudy — genomic study (R5).
- Media — image attachments (ultrasounds, photos).
- HL7 v2 ORU^R01 — legacy equivalent.