ediverse Explore the platform

Spotlight PEPPOL BIS Billing 3.0 The EU e-invoicing mandate is here — France Sept 2026, Belgium Jan 2026, Germany 2025.

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

FieldTypeCardinalityRole
identifierIdentifier[]0..*Local filler identifier (lab / radiology accession number).
basedOnReference(ServiceRequest | …)[]0..*Request that triggered the report.
statuscode1..1registered, partial, preliminary, modified, final, amended, corrected, appended, cancelled, entered-in-error, unknown.
categoryCodeableConcept[]0..*Classification (Hematology, Microbiology, Radiology, Pathology…). v2-0074 table.
codeCodeableConcept1..1Examination code. LOINC for laboratory.
subjectReference(Patient | Group | Device | Location | Organization | Practitioner | Medication | Substance | BiologicallyDerivedProduct)0..1Examination subject.
encounterReference(Encounter)0..1Associated visit.
effective[x]dateTime | Period0..1Date/period of the act (sampling, scan acquisition).
issuedinstant0..1Report signature/release date.
performerReference(Practitioner | PractitionerRole | Organization | CareTeam)[]0..*Performer (laboratory, interpreting radiologist).
resultsInterpreterReference(Practitioner | PractitionerRole | Organization | CareTeam)[]0..*Interpreting physician, distinct from technical performer.
specimenReference(Specimen)[]0..*Specimens analysed.
resultReference(Observation)[]0..*Atomic observations making up the report.
studyReference(GenomicStudy | ImagingStudy)[]0..*Associated studies (imaging, genomics).
conclusionmarkdown0..1Textual conclusion.
conclusionCodeCodeableConcept[]0..*Associated diagnostic codes (ICD-10, SNOMED CT).
presentedFormAttachment[]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 after final with clinical information added.
  • corrected — erroneous result in the final version, 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:

json diagnosticreport-cbc.json
{
  "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."
}
  • basedOn points to the originating ServiceRequest — the placer order.
  • status=final indicates a validated report, ready to be billed and archived.
  • category Hematology (HM) per v2-0074.
  • effectiveDateTime = sampling date; issued = report sign-off date — the gap documents lab latency.
  • result lists the 5 atomic Observations (WBC, RBC, HGB, HCT, PLT).
  • conclusion carries 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

ProfileRegulatorRestrictions
US Core DiagnosticReport for LaboratoryHL7 US Realm — ONC EHRMust carry category, LOINC code, effective[x], result.
US Core DiagnosticReport NoteUSCDI v3Profile for narrative reports (radiology, pathology) with presentedForm.
IPS DiagnosticReportHL7 + CEN/TC 251Used in the international patient summary.
FR Core DiagnosticReportANSLOINC FR + slicing on conclusion.
AU Core DiagnosticReportHL7 AustraliaFor My Health Record pathology.

Common pitfalls

  • Confusing effective[x] with issuedeffective is the clinical event date (sampling, MRI); issued is 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 result must point to an existing Observation. Referencing a deleted or non-existent Observation invalidates the report on strict servers.
  • Status regression — moving from final back to preliminary is forbidden. To fix a finalised report, use amended or corrected.
  • Imaging without study — a CT report must point to an ImagingStudy carrying the DICOM reference (Study UID, Series, Instances); without it, the PACS viewer cannot wire it up.
  • 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.