R6 Ballot (2nd Draft)

Publish-box (todo)

10.3 Resource DiagnosticReport - Content

Orders and Observations icon Work GroupMaturity Level: 3 Trial UseSecurity Category: Patient Compartments: Device, Encounter, Patient, Practitioner

The findings and interpretation of diagnostic tests performed on patients, groups of patients, products, substances, devices, and locations, and/or specimens derived from these. The report includes clinical context such as requesting provider information, and some mix of atomic results, images, textual and coded interpretations, and formatted representation of diagnostic reports. The report also includes non-clinical context such as batch analysis and stability reporting of products and substances.

This resource is an event resource from a FHIR workflow perspective - see Workflow. It is the intent of the Orders and Observation Workgroup to align this resource with the workflow pattern for event resources.

A diagnostic report is the set of information that is typically provided by a diagnostic service when investigations are complete. The information includes a mix of atomic results, text reports, images, and codes. The mix varies depending on the nature of the diagnostic procedure, and sometimes on the nature of the outcomes for a particular investigation. In FHIR, the report can be conveyed in a variety of ways including a Document, RESTful API, or Messaging framework. Included within each of these, would be the DiagnosticReport resource itself.

The DiagnosticReport resource has information about the diagnostic report itself, and about the subject and, in the case of laboratory tests, the specimen of the report. It can also refer to the request details and atomic observations details or image instances. Report conclusions can be expressed as a simple text blob, structured coded data or as an attached fully formatted report such as a PDF.

The DiagnosticReport resource is suitable for the following kinds of diagnostic reports:

  • Laboratory (Clinical Chemistry, Hematology, Microbiology, etc.)
  • Pathology / Histopathology / related disciplines
  • Imaging Investigations (x-ray, CT, MRI, etc.)
  • Other diagnostics such as Cardiology, Gastroenterology, etc.
  • Product quality tests such as pH, Assay, Microbial limits, etc. on product and substance

The DiagnosticReport resource is not intended to support cumulative result presentation (tabular presentation of past and present results in the resource). The DiagnosticReport resource does not yet provide full support for detailed structured reports of sequencing; this is planned for a future release.

Diagnostic Report Names

The words "tests", "results", "observations", "panels" and "batteries" are often used interchangeably when describing the various parts of a diagnostic report. This leads to much confusion. The naming confusion is worsened because of the wide variety of forms that the result of a diagnostic investigation can take, as described above. Languages other than English have their own variations on this theme.

This resource uses one particular set of terms. A practitioner "requests" a set of "tests". The diagnostic service returns a "report" which may contain a "narrative" - a written summary of the outcomes, and/or "results" - the individual pieces of atomic data which each are "observations". The results are assembled in "groups" which are nested structures of Observations (traditionally referred to as "panels" or " batteries" by laboratories) that can be used to represent relationships between the individual data items.

Note that many diagnostic processes are procedures that generate observations and diagnostic reports. In many cases, such an observation does not require an explicit representation of the procedure used to create the observation, but where there are details of interest about how the diagnostic procedure was performed, the Procedure resource is used to describe the activity.

In contrast to the Observation resource, the DiagnosticReport resource typically includes additional clinical context and some mix of atomic results, images, imaging reports, textual and coded interpretation, and formatted representations. Laboratory reports, pathology reports, and imaging reports should be represented using the DiagnosticReport resource. The Observation resource is referenced by the DiagnosticReport to provide the atomic results for a particular investigation.

If you have a highly structured report, then use DiagnosticReport - it has data and workflow support. Details about the request for a diagnostic investigation are captured in the various "request" resources (e.g., the ServiceRequest) and allow the report to connect to clinical workflows. For more narrative driven reports with less work flow (histology/mortuary, etc.), the Composition resource would be more appropriate.

Diagnostic studies, such as those involving radiologic images or genomic data, are referenced via the "study" element.

For image studies, the details and actual image instances can be referenced in the DiagnosticReport using the "media" element or through the "study" element to reference ImagingStudy resources which represent the content produced in a DICOM imaging study or set of DICOM Instances for a patient.

When a report includes genomic testing, the complex metadata about the analysis performed can be captured referenced through the "study" element to reference GenomicStudy resources.

As other complex laboratory areas develop resources to capture metadata about different types of studies, this attribute will be extended to reference those.

Image and media representations of the report and supporting images and data are referenced in the "media" element.

A DiagnosticReport has overlapping characteristics with DocumentReference. The DiagnosticReport is appropriate to reflect a set of discrete results (Observations) and associated contextual details for a specific report, and within those results any further structure within the Observation instances, while a DocumentReference typically reflects a non-FHIR object (e.g., an existing C-CDA document, a scan of a drivers license, or narrative note). There is some overlap potential, such as a scan of a CBC report that can either be referenced via a DocumentReference, or included in a DiagnosticReport as a representedForm together with the structured, discrete data. In some cases, a single in-system entity may be represented as both resources if they provide relevant metadata or workflow-specific attributes. Specific implementation guides would further clarify which approach is more appropriate.

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. DiagnosticReport TU DomainResource A Diagnostic report - a combination of request information, atomic results, images, interpretation, as well as formatted reports
+ Rule: When a Composition is referenced in `Diagnostic.composition`, all Observation resources referenced in `Composition.entry` must also be referenced in `Diagnostic.entry` or in the references Observations in `Observation.hasMember`

Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... identifier Σ 0..* Identifier Business identifier for report

... basedOn 0..* Reference(CarePlan | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) What was requested

... status ?!Σ 1..1 code registered | partial | preliminary | modified | final | amended | corrected | appended | cancelled | entered-in-error | unknown
Binding: Diagnostic Report Status (Required)
... code Σ 1..1 CodeableConcept Name/Code for this diagnostic report
Binding: LOINC Diagnostic Report Codes (Preferred)
... subject Σ 0..1 Reference(Patient | Group | Device | Location | Organization | Practitioner | Medication | Substance | BiologicallyDerivedProduct) The subject of the report - usually, but not always, the patient
... encounter Σ 0..1 Reference(Encounter) Encounter associated with the DiagnosticReport
... effective[x] Σ 0..1 Clinically relevant time/time-period for report
.... effectiveDateTime dateTime
.... effectivePeriod Period
... issued Σ 0..1 instant DateTime this version was made
... performer Σ 0..* Reference(Practitioner | PractitionerRole | Organization | CareTeam) Responsible Diagnostic Service

... resultsInterpreter Σ 0..* Reference(Practitioner | PractitionerRole | Organization | CareTeam) Primary result interpreter

... specimen 0..* Reference(Specimen) Specimens this report is based on

... result C 0..* Reference(Observation) Observations

... note 0..* Annotation Comments about the diagnostic report

... study 0..* Reference(GenomicStudy | ImagingStudy) Reference to full details of an analysis associated with the diagnostic report

... supportingInfo 0..* BackboneElement Additional information supporting the diagnostic report

.... type 1..1 CodeableConcept Supporting information role code
Binding: hl7VS-VS-observationType icon (Example)
.... reference 1..1 Reference(ImagingStudy | Procedure | Observation | DiagnosticReport | Citation | FamilyMemberHistory | AllergyIntolerance | DeviceUsage) Supporting information reference
... media Σ 0..* BackboneElement Key images or data associated with this report

.... comment 0..1 string Comment about the image or data (e.g. explanation)
.... link Σ 1..1 Reference(DocumentReference) Reference to the image or data source
... composition C 0..1 Reference(Composition) Reference to a Composition resource for the DiagnosticReport structure
... conclusion 0..1 markdown Clinical conclusion (interpretation) of test results
... conclusionCode 0..* CodeableConcept Codes for the clinical conclusion of test results
Binding: SNOMED CT Clinical Findings (Example)

... presentedForm 0..* Attachment Entire report as issued


doco Documentation for this format icon

See the Extensions for this resource

UML Diagram (Legend)

DiagnosticReport (DomainResource)Identifiers assigned to this report by the performer or other systemsidentifier : Identifier [0..*]Details concerning a service requestedbasedOn : Reference [0..*] « CarePlan|ImmunizationRecommendation| MedicationRequest|NutritionOrder|ServiceRequest »The status of the diagnostic report (this element modifies the meaning of other elements)status : code [1..1] « null (Strength=Required)DiagnosticReportStatus! »A code that classifies the clinical discipline, department or diagnostic service that created the report (e.g. cardiology, biochemistry, hematology, MRI). This is used for searching, sorting and display purposescategory : CodeableConcept [0..*] « Codes for diagnostic service sections. (Strength=Example)DiagnosticServiceSectionCodes?? »A code or name that describes this diagnostic reportcode : CodeableConcept [1..1] « Codes that describe Diagnostic Reports. (Strength=Preferred)LOINCDiagnosticReportCodes? »The subject of the report. Usually, but not always, this is a patient. However, diagnostic services also perform analyses on specimens collected from a variety of other sourcessubject : Reference [0..1] « Patient|Group|Device|Location| Organization|Practitioner|Medication|Substance| BiologicallyDerivedProduct »The encounter (e.g. a patient and healthcare provider interaction) that is associated with the DiagnosticReportencounter : Reference [0..1] « Encounter »The time or time-period the observed values are related to. When the subject of the report is a patient, this is usually either the time of the procedure or of specimen collection(s), but very often the source of the date/time is not known, only the date/time itselfeffective[x] : DataType [0..1] « dateTime|Period »The date and time that this version of the report was made available to providers, typically after the report was reviewed and verifiedissued : instant [0..1]The diagnostic service that is responsible for issuing the reportperformer : Reference [0..*] « Practitioner|PractitionerRole| Organization|CareTeam »The practitioner or organization that is responsible for the report's conclusions and interpretationsresultsInterpreter : Reference [0..*] « Practitioner| PractitionerRole|Organization|CareTeam »Details about the specimens on which this diagnostic report is basedspecimen : Reference [0..*] « Specimen »[Observations](observation.html) that are part of this diagnostic reportresult : Reference [0..*] « Observation » « This element has or is affected by some invariantsC »Comments about the diagnostic reportnote : Annotation [0..*]One or more links to full details of any study performed during the diagnostic investigation. An ImagingStudy might comprise a set of radiologic images obtained via a procedure that are analyzed as a group. Typically, this is imaging performed by DICOM enabled modalities, but this is not required. A fully enabled PACS viewer can use this information to provide views of the source images. A GenomicStudy might comprise one or more analyses, each serving a specific purpose. These analyses may vary in method (e.g., karyotyping, CNV, or SNV detection), performer, software, devices used, or regions targetedstudy : Reference [0..*] « GenomicStudy|ImagingStudy »Reference to a Composition resource instance that provides structure for organizing the contents of the DiagnosticReportcomposition : Reference [0..1] « Composition » « This element has or is affected by some invariantsC »Concise and clinically contextualized summary conclusion (interpretation/impression) of the diagnostic reportconclusion : markdown [0..1]One or more codes that represent the summary conclusion (interpretation/impression) of the diagnostic reportconclusionCode : CodeableConcept [0..*] « Diagnosis codes provided as adjuncts to the report. (Strength=Example)SNOMEDCTClinicalFindings?? »Rich text representation of the entire result as issued by the diagnostic service. Multiple formats are allowed but they SHALL be semantically equivalentpresentedForm : Attachment [0..*]SupportingInfoThe code value for the role of the supporting information in the diagnostic reporttype : CodeableConcept [1..1] « Supporting information role code (Strength=Example)Hl7VSVSObservationType?? »The reference for the supporting information in the diagnostic reportreference : Reference [1..1] « ImagingStudy|Procedure|Observation| DiagnosticReport|Citation|FamilyMemberHistory| AllergyIntolerance|DeviceUsage »MediaA comment about the image or data. Typically, this is used to provide an explanation for why the image or data is included, or to draw the viewer's attention to important featurescomment : string [0..1]Reference to the image or data sourcelink : Reference [1..1] « DocumentReference »This backbone element contains supporting information that was used in the creation of the report not included in the results already included in the reportsupportingInfo[0..*]A list of key images or data associated with this report. The images or data are generally created during the diagnostic process, and may be directly of the patient, or of treated specimens (i.e. slides of interest)media[0..*]

XML Template

<DiagnosticReport xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..* Identifier Business identifier for report --></identifier>
 <basedOn><!-- 0..* Reference(CarePlan|ImmunizationRecommendation|
   MedicationRequest|NutritionOrder|ServiceRequest) What was requested --></basedOn>
 <status value="[code]"/><!-- 1..1 registered | partial | preliminary | modified | final | amended | corrected | appended | cancelled | entered-in-error | unknown -->
 <category><!-- 0..* CodeableConcept Service category --></category>
 <code><!-- 1..1 CodeableConcept Name/Code for this diagnostic report --></code>
 <subject><!-- 0..1 Reference(BiologicallyDerivedProduct|Device|Group|Location|
   Medication|Organization|Patient|Practitioner|Substance) The subject of the report - usually, but not always, the patient --></subject>
 <encounter><!-- 0..1 Reference(Encounter) Encounter associated with the DiagnosticReport --></encounter>
 <effective[x]><!-- 0..1 dateTime|Period Clinically relevant time/time-period for report --></effective[x]>
 <issued value="[instant]"/><!-- 0..1 DateTime this version was made -->
 <performer><!-- 0..* Reference(CareTeam|Organization|Practitioner|
   PractitionerRole) Responsible Diagnostic Service --></performer>
 <resultsInterpreter><!-- 0..* Reference(CareTeam|Organization|Practitioner|
   PractitionerRole) Primary result interpreter --></resultsInterpreter>
 <specimen><!-- 0..* Reference(Specimen) Specimens this report is based on --></specimen>
 <result><!-- I 0..* Reference(Observation) Observations --></result>
 <note><!-- 0..* Annotation Comments about the diagnostic report --></note>
 <study><!-- 0..* Reference(GenomicStudy|ImagingStudy) Reference to full details of an analysis associated with the diagnostic report --></study>
 <supportingInfo>  <!-- 0..* Additional information supporting the diagnostic report -->
  <type><!-- 1..1 CodeableConcept Supporting information role code icon --></type>
  <reference><!-- 1..1 Reference(AllergyIntolerance|Citation|DeviceUsage|
    DiagnosticReport|FamilyMemberHistory|ImagingStudy|Observation|Procedure) Supporting information reference --></reference>
 </supportingInfo>
 <media>  <!-- 0..* Key images or data associated with this report -->
  <comment value="[string]"/><!-- 0..1 Comment about the image or data (e.g. explanation) -->
  <link><!-- 1..1 Reference(DocumentReference) Reference to the image or data source --></link>
 </media>
 <composition><!-- I 0..1 Reference(Composition) Reference to a Composition resource for the DiagnosticReport structure --></composition>
 <conclusion value="[markdown]"/><!-- 0..1 Clinical conclusion (interpretation) of test results -->
 <conclusionCode><!-- 0..* CodeableConcept Codes for the clinical conclusion of test results --></conclusionCode>
 <presentedForm><!-- 0..* Attachment Entire report as issued --></presentedForm>
</DiagnosticReport>

JSON Template

{doco
  "resourceType" : "DiagnosticReport",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "identifier" : [{ Identifier }], // Business identifier for report
  "basedOn" : [{ Reference(CarePlan|ImmunizationRecommendation|
   MedicationRequest|NutritionOrder|ServiceRequest) }], // What was requested
  "status" : "<code>", // R!  registered | partial | preliminary | modified | final | amended | corrected | appended | cancelled | entered-in-error | unknown
  "category" : [{ CodeableConcept }], // Service category
  "code" : { CodeableConcept }, // R!  Name/Code for this diagnostic report
  "subject" : { Reference(BiologicallyDerivedProduct|Device|Group|Location|
   Medication|Organization|Patient|Practitioner|Substance) }, // The subject of the report - usually, but not always, the patient
  "encounter" : { Reference(Encounter) }, // Encounter associated with the DiagnosticReport
  // effective[x]: Clinically relevant time/time-period for report. One of these 2:
  "effectiveDateTime" : "<dateTime>",
  "effectivePeriod" : { Period },
  "issued" : "<instant>", // DateTime this version was made
  "performer" : [{ Reference(CareTeam|Organization|Practitioner|
   PractitionerRole) }], // Responsible Diagnostic Service
  "resultsInterpreter" : [{ Reference(CareTeam|Organization|Practitioner|
   PractitionerRole) }], // Primary result interpreter
  "specimen" : [{ Reference(Specimen) }], // Specimens this report is based on
  "result" : [{ Reference(Observation) }], // I Observations
  "note" : [{ Annotation }], // Comments about the diagnostic report
  "study" : [{ Reference(GenomicStudy|ImagingStudy) }], // Reference to full details of an analysis associated with the diagnostic report
  "supportingInfo" : [{ // Additional information supporting the diagnostic report
    "type" : { CodeableConcept }, // R!  Supporting information role code icon
    "reference" : { Reference(AllergyIntolerance|Citation|DeviceUsage|
    DiagnosticReport|FamilyMemberHistory|ImagingStudy|Observation|Procedure) } // R!  Supporting information reference
  }],
  "media" : [{ // Key images or data associated with this report
    "comment" : "<string>", // Comment about the image or data (e.g. explanation)
    "link" : { Reference(DocumentReference) } // R!  Reference to the image or data source
  }],
  "composition" : { Reference(Composition) }, // I Reference to a Composition resource for the DiagnosticReport structure
  "conclusion" : "<markdown>", // Clinical conclusion (interpretation) of test results
  "conclusionCode" : [{ CodeableConcept }], // Codes for the clinical conclusion of test results
  "presentedForm" : [{ Attachment }] // Entire report as issued
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:DiagnosticReport;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:identifier  ( [ Identifier ] ... ) ; # 0..* Business identifier for report
  fhir:basedOn  ( [ Reference(CarePlan|ImmunizationRecommendation|MedicationRequest|NutritionOrder|
  ServiceRequest) ] ... ) ; # 0..* What was requested
  fhir:status [ code ] ; # 1..1 registered | partial | preliminary | modified | final | amended | corrected | appended | cancelled | entered-in-error | unknown
  fhir:category  ( [ CodeableConcept ] ... ) ; # 0..* Service category
  fhir:code [ CodeableConcept ] ; # 1..1 Name/Code for this diagnostic report
  fhir:subject [ Reference(BiologicallyDerivedProduct|Device|Group|Location|Medication|Organization|Patient|
  Practitioner|Substance) ] ; # 0..1 The subject of the report - usually, but not always, the patient
  fhir:encounter [ Reference(Encounter) ] ; # 0..1 Encounter associated with the DiagnosticReport
  # effective[x] : 0..1 Clinically relevant time/time-period for report. One of these 2
    fhir:effective [  a fhir:dateTime ; dateTime ]
    fhir:effective [  a fhir:Period ; Period ]
  fhir:issued [ instant ] ; # 0..1 DateTime this version was made
  fhir:performer  ( [ Reference(CareTeam|Organization|Practitioner|PractitionerRole) ] ... ) ; # 0..* Responsible Diagnostic Service
  fhir:resultsInterpreter  ( [ Reference(CareTeam|Organization|Practitioner|PractitionerRole) ] ... ) ; # 0..* Primary result interpreter
  fhir:specimen  ( [ Reference(Specimen) ] ... ) ; # 0..* Specimens this report is based on
  fhir:result  ( [ Reference(Observation) ] ... ) ; # 0..* I Observations
  fhir:note  ( [ Annotation ] ... ) ; # 0..* Comments about the diagnostic report
  fhir:study  ( [ Reference(GenomicStudy|ImagingStudy) ] ... ) ; # 0..* Reference to full details of an analysis associated with the diagnostic report
  fhir:supportingInfo ( [ # 0..* Additional information supporting the diagnostic report
    fhir:type [ CodeableConcept ] ; # 1..1 Supporting information role code
    fhir:reference [ Reference(AllergyIntolerance|Citation|DeviceUsage|DiagnosticReport|FamilyMemberHistory|
  ImagingStudy|Observation|Procedure) ] ; # 1..1 Supporting information reference
  ] ... ) ;
  fhir:media ( [ # 0..* Key images or data associated with this report
    fhir:comment [ string ] ; # 0..1 Comment about the image or data (e.g. explanation)
    fhir:link [ Reference(DocumentReference) ] ; # 1..1 Reference to the image or data source
  ] ... ) ;
  fhir:composition [ Reference(Composition) ] ; # 0..1 I Reference to a Composition resource for the DiagnosticReport structure
  fhir:conclusion [ markdown ] ; # 0..1 Clinical conclusion (interpretation) of test results
  fhir:conclusionCode  ( [ CodeableConcept ] ... ) ; # 0..* Codes for the clinical conclusion of test results
  fhir:presentedForm  ( [ Attachment ] ... ) ; # 0..* Entire report as issued
]

Changes from both R4 and R4B

DiagnosticReport
DiagnosticReport.status
  • Add code modified
DiagnosticReport.subject
  • Type Reference: Added Target Types Organization, Practitioner, Medication, Substance, BiologicallyDerivedProduct
DiagnosticReport.note
  • Added Element
DiagnosticReport.study
  • Added Element
DiagnosticReport.supportingInfo
  • Added Element
DiagnosticReport.supportingInfo.type
  • Added Mandatory Element
DiagnosticReport.supportingInfo.reference
  • Added Mandatory Element
DiagnosticReport.media.link
  • Type Reference: Added Target Type DocumentReference
  • Type Reference: Removed Target Type Media
DiagnosticReport.composition
  • Added Element
DiagnosticReport.conclusion
  • Type changed from string to markdown
DiagnosticReport.imagingStudy
  • Deleted

See the Full Difference for further information

This analysis is available for R4 as XML or JSON and for R4B as XML or JSON.

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. DiagnosticReport TU DomainResource A Diagnostic report - a combination of request information, atomic results, images, interpretation, as well as formatted reports
+ Rule: When a Composition is referenced in `Diagnostic.composition`, all Observation resources referenced in `Composition.entry` must also be referenced in `Diagnostic.entry` or in the references Observations in `Observation.hasMember`

Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... identifier Σ 0..* Identifier Business identifier for report

... basedOn 0..* Reference(CarePlan | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) What was requested

... status ?!Σ 1..1 code registered | partial | preliminary | modified | final | amended | corrected | appended | cancelled | entered-in-error | unknown
Binding: Diagnostic Report Status (Required)
... code Σ 1..1 CodeableConcept Name/Code for this diagnostic report
Binding: LOINC Diagnostic Report Codes (Preferred)
... subject Σ 0..1 Reference(Patient | Group | Device | Location | Organization | Practitioner | Medication | Substance | BiologicallyDerivedProduct) The subject of the report - usually, but not always, the patient
... encounter Σ 0..1 Reference(Encounter) Encounter associated with the DiagnosticReport
... effective[x] Σ 0..1 Clinically relevant time/time-period for report
.... effectiveDateTime dateTime
.... effectivePeriod Period
... issued Σ 0..1 instant DateTime this version was made
... performer Σ 0..* Reference(Practitioner | PractitionerRole | Organization | CareTeam) Responsible Diagnostic Service

... resultsInterpreter Σ 0..* Reference(Practitioner | PractitionerRole | Organization | CareTeam) Primary result interpreter

... specimen 0..* Reference(Specimen) Specimens this report is based on

... result C 0..* Reference(Observation) Observations

... note 0..* Annotation Comments about the diagnostic report

... study 0..* Reference(GenomicStudy | ImagingStudy) Reference to full details of an analysis associated with the diagnostic report

... supportingInfo 0..* BackboneElement Additional information supporting the diagnostic report

.... type 1..1 CodeableConcept Supporting information role code
Binding: hl7VS-VS-observationType icon (Example)
.... reference 1..1 Reference(ImagingStudy | Procedure | Observation | DiagnosticReport | Citation | FamilyMemberHistory | AllergyIntolerance | DeviceUsage) Supporting information reference
... media Σ 0..* BackboneElement Key images or data associated with this report

.... comment 0..1 string Comment about the image or data (e.g. explanation)
.... link Σ 1..1 Reference(DocumentReference) Reference to the image or data source
... composition C 0..1 Reference(Composition) Reference to a Composition resource for the DiagnosticReport structure
... conclusion 0..1 markdown Clinical conclusion (interpretation) of test results
... conclusionCode 0..* CodeableConcept Codes for the clinical conclusion of test results
Binding: SNOMED CT Clinical Findings (Example)

... presentedForm 0..* Attachment Entire report as issued


doco Documentation for this format icon

See the Extensions for this resource

UML Diagram (Legend)

DiagnosticReport (DomainResource)Identifiers assigned to this report by the performer or other systemsidentifier : Identifier [0..*]Details concerning a service requestedbasedOn : Reference [0..*] « CarePlan|ImmunizationRecommendation| MedicationRequest|NutritionOrder|ServiceRequest »The status of the diagnostic report (this element modifies the meaning of other elements)status : code [1..1] « null (Strength=Required)DiagnosticReportStatus! »A code that classifies the clinical discipline, department or diagnostic service that created the report (e.g. cardiology, biochemistry, hematology, MRI). This is used for searching, sorting and display purposescategory : CodeableConcept [0..*] « Codes for diagnostic service sections. (Strength=Example)DiagnosticServiceSectionCodes?? »A code or name that describes this diagnostic reportcode : CodeableConcept [1..1] « Codes that describe Diagnostic Reports. (Strength=Preferred)LOINCDiagnosticReportCodes? »The subject of the report. Usually, but not always, this is a patient. However, diagnostic services also perform analyses on specimens collected from a variety of other sourcessubject : Reference [0..1] « Patient|Group|Device|Location| Organization|Practitioner|Medication|Substance| BiologicallyDerivedProduct »The encounter (e.g. a patient and healthcare provider interaction) that is associated with the DiagnosticReportencounter : Reference [0..1] « Encounter »The time or time-period the observed values are related to. When the subject of the report is a patient, this is usually either the time of the procedure or of specimen collection(s), but very often the source of the date/time is not known, only the date/time itselfeffective[x] : DataType [0..1] « dateTime|Period »The date and time that this version of the report was made available to providers, typically after the report was reviewed and verifiedissued : instant [0..1]The diagnostic service that is responsible for issuing the reportperformer : Reference [0..*] « Practitioner|PractitionerRole| Organization|CareTeam »The practitioner or organization that is responsible for the report's conclusions and interpretationsresultsInterpreter : Reference [0..*] « Practitioner| PractitionerRole|Organization|CareTeam »Details about the specimens on which this diagnostic report is basedspecimen : Reference [0..*] « Specimen »[Observations](observation.html) that are part of this diagnostic reportresult : Reference [0..*] « Observation » « This element has or is affected by some invariantsC »Comments about the diagnostic reportnote : Annotation [0..*]One or more links to full details of any study performed during the diagnostic investigation. An ImagingStudy might comprise a set of radiologic images obtained via a procedure that are analyzed as a group. Typically, this is imaging performed by DICOM enabled modalities, but this is not required. A fully enabled PACS viewer can use this information to provide views of the source images. A GenomicStudy might comprise one or more analyses, each serving a specific purpose. These analyses may vary in method (e.g., karyotyping, CNV, or SNV detection), performer, software, devices used, or regions targetedstudy : Reference [0..*] « GenomicStudy|ImagingStudy »Reference to a Composition resource instance that provides structure for organizing the contents of the DiagnosticReportcomposition : Reference [0..1] « Composition » « This element has or is affected by some invariantsC »Concise and clinically contextualized summary conclusion (interpretation/impression) of the diagnostic reportconclusion : markdown [0..1]One or more codes that represent the summary conclusion (interpretation/impression) of the diagnostic reportconclusionCode : CodeableConcept [0..*] « Diagnosis codes provided as adjuncts to the report. (Strength=Example)SNOMEDCTClinicalFindings?? »Rich text representation of the entire result as issued by the diagnostic service. Multiple formats are allowed but they SHALL be semantically equivalentpresentedForm : Attachment [0..*]SupportingInfoThe code value for the role of the supporting information in the diagnostic reporttype : CodeableConcept [1..1] « Supporting information role code (Strength=Example)Hl7VSVSObservationType?? »The reference for the supporting information in the diagnostic reportreference : Reference [1..1] « ImagingStudy|Procedure|Observation| DiagnosticReport|Citation|FamilyMemberHistory| AllergyIntolerance|DeviceUsage »MediaA comment about the image or data. Typically, this is used to provide an explanation for why the image or data is included, or to draw the viewer's attention to important featurescomment : string [0..1]Reference to the image or data sourcelink : Reference [1..1] « DocumentReference »This backbone element contains supporting information that was used in the creation of the report not included in the results already included in the reportsupportingInfo[0..*]A list of key images or data associated with this report. The images or data are generally created during the diagnostic process, and may be directly of the patient, or of treated specimens (i.e. slides of interest)media[0..*]

XML Template

<DiagnosticReport xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..* Identifier Business identifier for report --></identifier>
 <basedOn><!-- 0..* Reference(CarePlan|ImmunizationRecommendation|
   MedicationRequest|NutritionOrder|ServiceRequest) What was requested --></basedOn>
 <status value="[code]"/><!-- 1..1 registered | partial | preliminary | modified | final | amended | corrected | appended | cancelled | entered-in-error | unknown -->
 <category><!-- 0..* CodeableConcept Service category --></category>
 <code><!-- 1..1 CodeableConcept Name/Code for this diagnostic report --></code>
 <subject><!-- 0..1 Reference(BiologicallyDerivedProduct|Device|Group|Location|
   Medication|Organization|Patient|Practitioner|Substance) The subject of the report - usually, but not always, the patient --></subject>
 <encounter><!-- 0..1 Reference(Encounter) Encounter associated with the DiagnosticReport --></encounter>
 <effective[x]><!-- 0..1 dateTime|Period Clinically relevant time/time-period for report --></effective[x]>
 <issued value="[instant]"/><!-- 0..1 DateTime this version was made -->
 <performer><!-- 0..* Reference(CareTeam|Organization|Practitioner|
   PractitionerRole) Responsible Diagnostic Service --></performer>
 <resultsInterpreter><!-- 0..* Reference(CareTeam|Organization|Practitioner|
   PractitionerRole) Primary result interpreter --></resultsInterpreter>
 <specimen><!-- 0..* Reference(Specimen) Specimens this report is based on --></specimen>
 <result><!-- I 0..* Reference(Observation) Observations --></result>
 <note><!-- 0..* Annotation Comments about the diagnostic report --></note>
 <study><!-- 0..* Reference(GenomicStudy|ImagingStudy) Reference to full details of an analysis associated with the diagnostic report --></study>
 <supportingInfo>  <!-- 0..* Additional information supporting the diagnostic report -->
  <type><!-- 1..1 CodeableConcept Supporting information role code icon --></type>
  <reference><!-- 1..1 Reference(AllergyIntolerance|Citation|DeviceUsage|
    DiagnosticReport|FamilyMemberHistory|ImagingStudy|Observation|Procedure) Supporting information reference --></reference>
 </supportingInfo>
 <media>  <!-- 0..* Key images or data associated with this report -->
  <comment value="[string]"/><!-- 0..1 Comment about the image or data (e.g. explanation) -->
  <link><!-- 1..1 Reference(DocumentReference) Reference to the image or data source --></link>
 </media>
 <composition><!-- I 0..1 Reference(Composition) Reference to a Composition resource for the DiagnosticReport structure --></composition>
 <conclusion value="[markdown]"/><!-- 0..1 Clinical conclusion (interpretation) of test results -->
 <conclusionCode><!-- 0..* CodeableConcept Codes for the clinical conclusion of test results --></conclusionCode>
 <presentedForm><!-- 0..* Attachment Entire report as issued --></presentedForm>
</DiagnosticReport>

JSON Template

{doco
  "resourceType" : "DiagnosticReport",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "identifier" : [{ Identifier }], // Business identifier for report
  "basedOn" : [{ Reference(CarePlan|ImmunizationRecommendation|
   MedicationRequest|NutritionOrder|ServiceRequest) }], // What was requested
  "status" : "<code>", // R!  registered | partial | preliminary | modified | final | amended | corrected | appended | cancelled | entered-in-error | unknown
  "category" : [{ CodeableConcept }], // Service category
  "code" : { CodeableConcept }, // R!  Name/Code for this diagnostic report
  "subject" : { Reference(BiologicallyDerivedProduct|Device|Group|Location|
   Medication|Organization|Patient|Practitioner|Substance) }, // The subject of the report - usually, but not always, the patient
  "encounter" : { Reference(Encounter) }, // Encounter associated with the DiagnosticReport
  // effective[x]: Clinically relevant time/time-period for report. One of these 2:
  "effectiveDateTime" : "<dateTime>",
  "effectivePeriod" : { Period },
  "issued" : "<instant>", // DateTime this version was made
  "performer" : [{ Reference(CareTeam|Organization|Practitioner|
   PractitionerRole) }], // Responsible Diagnostic Service
  "resultsInterpreter" : [{ Reference(CareTeam|Organization|Practitioner|
   PractitionerRole) }], // Primary result interpreter
  "specimen" : [{ Reference(Specimen) }], // Specimens this report is based on
  "result" : [{ Reference(Observation) }], // I Observations
  "note" : [{ Annotation }], // Comments about the diagnostic report
  "study" : [{ Reference(GenomicStudy|ImagingStudy) }], // Reference to full details of an analysis associated with the diagnostic report
  "supportingInfo" : [{ // Additional information supporting the diagnostic report
    "type" : { CodeableConcept }, // R!  Supporting information role code icon
    "reference" : { Reference(AllergyIntolerance|Citation|DeviceUsage|
    DiagnosticReport|FamilyMemberHistory|ImagingStudy|Observation|Procedure) } // R!  Supporting information reference
  }],
  "media" : [{ // Key images or data associated with this report
    "comment" : "<string>", // Comment about the image or data (e.g. explanation)
    "link" : { Reference(DocumentReference) } // R!  Reference to the image or data source
  }],
  "composition" : { Reference(Composition) }, // I Reference to a Composition resource for the DiagnosticReport structure
  "conclusion" : "<markdown>", // Clinical conclusion (interpretation) of test results
  "conclusionCode" : [{ CodeableConcept }], // Codes for the clinical conclusion of test results
  "presentedForm" : [{ Attachment }] // Entire report as issued
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:DiagnosticReport;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:identifier  ( [ Identifier ] ... ) ; # 0..* Business identifier for report
  fhir:basedOn  ( [ Reference(CarePlan|ImmunizationRecommendation|MedicationRequest|NutritionOrder|
  ServiceRequest) ] ... ) ; # 0..* What was requested
  fhir:status [ code ] ; # 1..1 registered | partial | preliminary | modified | final | amended | corrected | appended | cancelled | entered-in-error | unknown
  fhir:category  ( [ CodeableConcept ] ... ) ; # 0..* Service category
  fhir:code [ CodeableConcept ] ; # 1..1 Name/Code for this diagnostic report
  fhir:subject [ Reference(BiologicallyDerivedProduct|Device|Group|Location|Medication|Organization|Patient|
  Practitioner|Substance) ] ; # 0..1 The subject of the report - usually, but not always, the patient
  fhir:encounter [ Reference(Encounter) ] ; # 0..1 Encounter associated with the DiagnosticReport
  # effective[x] : 0..1 Clinically relevant time/time-period for report. One of these 2
    fhir:effective [  a fhir:dateTime ; dateTime ]
    fhir:effective [  a fhir:Period ; Period ]
  fhir:issued [ instant ] ; # 0..1 DateTime this version was made
  fhir:performer  ( [ Reference(CareTeam|Organization|Practitioner|PractitionerRole) ] ... ) ; # 0..* Responsible Diagnostic Service
  fhir:resultsInterpreter  ( [ Reference(CareTeam|Organization|Practitioner|PractitionerRole) ] ... ) ; # 0..* Primary result interpreter
  fhir:specimen  ( [ Reference(Specimen) ] ... ) ; # 0..* Specimens this report is based on
  fhir:result  ( [ Reference(Observation) ] ... ) ; # 0..* I Observations
  fhir:note  ( [ Annotation ] ... ) ; # 0..* Comments about the diagnostic report
  fhir:study  ( [ Reference(GenomicStudy|ImagingStudy) ] ... ) ; # 0..* Reference to full details of an analysis associated with the diagnostic report
  fhir:supportingInfo ( [ # 0..* Additional information supporting the diagnostic report
    fhir:type [ CodeableConcept ] ; # 1..1 Supporting information role code
    fhir:reference [ Reference(AllergyIntolerance|Citation|DeviceUsage|DiagnosticReport|FamilyMemberHistory|
  ImagingStudy|Observation|Procedure) ] ; # 1..1 Supporting information reference
  ] ... ) ;
  fhir:media ( [ # 0..* Key images or data associated with this report
    fhir:comment [ string ] ; # 0..1 Comment about the image or data (e.g. explanation)
    fhir:link [ Reference(DocumentReference) ] ; # 1..1 Reference to the image or data source
  ] ... ) ;
  fhir:composition [ Reference(Composition) ] ; # 0..1 I Reference to a Composition resource for the DiagnosticReport structure
  fhir:conclusion [ markdown ] ; # 0..1 Clinical conclusion (interpretation) of test results
  fhir:conclusionCode  ( [ CodeableConcept ] ... ) ; # 0..* Codes for the clinical conclusion of test results
  fhir:presentedForm  ( [ Attachment ] ... ) ; # 0..* Entire report as issued
]

Changes from both R4 and R4B

DiagnosticReport
DiagnosticReport.status
  • Add code modified
DiagnosticReport.subject
  • Type Reference: Added Target Types Organization, Practitioner, Medication, Substance, BiologicallyDerivedProduct
DiagnosticReport.note
  • Added Element
DiagnosticReport.study
  • Added Element
DiagnosticReport.supportingInfo
  • Added Element
DiagnosticReport.supportingInfo.type
  • Added Mandatory Element
DiagnosticReport.supportingInfo.reference
  • Added Mandatory Element
DiagnosticReport.media.link
  • Type Reference: Added Target Type DocumentReference
  • Type Reference: Removed Target Type Media
DiagnosticReport.composition
  • Added Element
DiagnosticReport.conclusion
  • Type changed from string to markdown
DiagnosticReport.imagingStudy
  • Deleted

See the Full Difference for further information

This analysis is available for R4 as XML or JSON and for R4B as XML or JSON.

 

Additional definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions, the spreadsheet version & the dependency analysis

Path ValueSet Type Documentation
DiagnosticReport.status DiagnosticReportStatus Required

The status of the diagnostic report.

DiagnosticReport.category DiagnosticServiceSectionCodes (a valid code from diagnosticServiceSectionId icon) Example

This value set includes all the codes in HL7 V2 table 0074.

DiagnosticReport.code LOINCDiagnosticReportCodes (a valid code from LOINC icon) Preferred

This value set includes LOINC codes that relate to Diagnostic Observations.

DiagnosticReport.supportingInfo.type Hl7VSVSObservationType icon (a valid code from observationType icon) Example

Value Set of codes that specify types of observations to enable systems to distinguish between observations sent along with an order, versus observations sent as the result to an order.

DiagnosticReport.conclusionCode SNOMEDCTClinicalFindings Example

This value set includes all the "Clinical finding" SNOMED CT icon codes - concepts where concept is-a 404684003 (Clinical finding (finding)).

UniqueKeyLevelLocationDescriptionExpression
img dgr-1Rule (base)When a Composition is referenced in `Diagnostic.composition`, all Observation resources referenced in `Composition.entry` must also be referenced in `Diagnostic.entry` or in the references Observations in `Observation.hasMember`composition.exists() implies (composition.resolve().section.entry.reference.where(resolve() is Observation) in (result.reference|result.reference.resolve().hasMember.reference))

The identifier datatype has a type element that may be used to distinguish the identifiers assigned by the requester and the performer of the request (known as the 'Placer' and 'Filler' in the HL7 Version 2 Messaging Standard). Use the identifier type code "PLAC" for the Placer Identifier and "FILL" for the Filler identifier as is shown in the example below:

<!-- Placer identifier-->
<identifier>
<type>
<coding>
  <system value="http://terminology.hl7.org/CodeSystem/v2-0203"/>
  <code value="PLAC"/>
</coding>
<text value="Placer"/>
</type>
<system value="urn:oid:1.3.4.5.6.7"/>
<value value="2345234234234"/>
</identifier>
<!-- Filler identifier-->
<identifier>
<type>
<coding>
  <system value="http://terminology.hl7.org/CodeSystem/v2-0203"/>
  <code value="PLAC"/>
</coding>
<text value="Placer"/>
</type>
<system value="http://terminology.hl7.org/CodeSystem/v2-0203"/>
<value value="567890"/>
</identifier>

If the diagnostic procedure was performed on the patient directly, the effective[x] element is a dateTime, the time it was performed. If specimens were taken, the clinically relevant time of the report can be derived from the specimen collection times, but since detailed specimen information is not always available, and nor is the clinically relevant time always exactly the specimen collection time (e.g. complex timed tests), the reports SHALL always include an effective[x] element. Note that HL7 V2 icon messages often carry a diagnostically relevant time without carrying any specimen information.

  • The DiagnosticReport.code always contains the name of the report itself. The report can also contain a set of Observations in the DiagnosticReport.result element. These Observations can be simple observations (e.g. atomic results) or groups/panels of other observations. The Observation.code indicates the nature of the observation or panel (e.g. individual measure, organism isolate/sensitivity or antibody functional testing). When relevant, the observation can specify a particular specimen from which the result comes.
    • Examples of nesting groups/panels within an observation include reporting a "profile" consisting of several panels as is shown in this example, a group of antibiotic isolate/sensitivities for a bacterial culture, or a set of perinatal measurements on a single fetus.
    • There is rarely a need for more than two levels of nesting in the Observation tree. One known use is for organism sensitivities - an example of a complex Micro Isolate and Sensitivities is provided.

ImagingStudy and the media element are somewhat overlapping - typically, the list of image references in the media element will also be found in one of the imaging study resources. However, each caters to different types of displays for different types of purposes. Neither, either, or both may be provided.

  • Applications consuming diagnostic reports must take careful note of updated (revised) reports and ensure that retracted reports are appropriately handled.
  • For applications providing diagnostic reports, a report should not be final until all the individual data items reported with it are final or appended.
  • If the report has been withdrawn following a previous final release, the DiagnosticReport and associated Observations should be retracted by replacing the status codes with the concept "entered-in-error" and setting the conclusion/comment (if provided) and the text narrative to some text like "This report has been withdrawn" in the appropriate language. A reason for retraction may be provided in the narrative.

Typically, a report is either: all data, no narrative (e.g. Core lab) or a mix of data with some concluding narrative (e.g. Structured Pathology Report, Bone Density), or all narrative (for example a typical imaging report, histopathology). This resource provides for these 3 different presentations:

  • As atomic data items: a hierarchical set of nested references to Observation resources often including pathologist/radiologist interpretation(s), one or more images, and possibly with a conclusion and/or one or more coded diagnoses
  • As narrative: an XHTML presentation in the standard resource narrative
  • As a "presented form": A rich text representation of the report - typically a PDF

Note that the conclusion and the coded diagnoses are part of the atomic data and SHOULD be duplicated in the narrative and in the presented form if the latter is present. The narrative and the presented form serve the same function: a representation of the report for a human. The presented form is included since diagnostic service reports often contain presentation features that are not easy to reproduce in the HTML narrative. Whether or not the presented form is included, the narrative must be a clinically safe view of the diagnostic report; at a minimum, this could be fulfilled by a note indicating that the narrative is not proper representation of the report, and that the presented form must be used, or a generated view from the atomic data. However, consumers of the report will best be served if the narrative contains clinically relevant data from the form. Commonly, the following patterns are used:

  • Simple Laboratory Reports: A single set of atomic observations, and a tabular presentation in narrative. This is typically encountered in high volume areas such as Biochemistry and Hematology
  • Histopathology Report: A document report in a presented form and the narrative. Possibly a few key images, and some coded diagnoses for registries. If the service is creating a structured report, some atomic data may be included
  • imaging Report: A document report in a presented form and the narrative, with an imaging study reference and possibly some key images. Some imaging reports such as a Bone Density Scan may include some atomic data

Note that the nature of reports from the various disciplines that provide diagnostic reports are changing quickly, as expert systems provide improved narrative reporting in high volume reports, structured reporting brings additional data to areas that have classically been narrative based, and the nature of the imaging and laboratory procedures are merging. Therefore, these patterns described above are only examples of how a diagnostic report can be used.

Genomic reporting makes heavy use of the DiagnosticReport and Observation resources to capture the genomic data in a highly structured and computable way. An implementation guide describing how to represent genetic results can be found here icon.

Beyond the structured, computable data available in DiagnosticReport and Observation, metadata about the analysis performed is captured in the GenomicStudy resource. GenomicStudy aims at delineating relevant information of a genomic study. A genomic study might comprise one or more analyses, each serving a specific purpose. These analyses may vary in method (e.g., karyotyping, CNV, or SNV detection), performer, software, devices used, or regions targeted.

Search parameters for this resource. See also the full list of search parameters for this resource, and check the Extensions registry for search parameters on extensions related to this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.

Name Type Description Expression In Common
based-on reference Reference to the service request. DiagnosticReport.basedOn
(CarePlan, MedicationRequest, NutritionOrder, ServiceRequest, ImmunizationRecommendation)
category token Which diagnostic discipline/department created the report DiagnosticReport.category
code token The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result DiagnosticReport.code 21 Resources
conclusion token A coded conclusion (interpretation/impression) on the report DiagnosticReport.conclusionCode
date date The clinically relevant time of the report DiagnosticReport.effective.ofType(dateTime) | DiagnosticReport.effective.ofType(Period) 26 Resources
encounter reference The Encounter when the order was made DiagnosticReport.encounter
(Encounter)
29 Resources
identifier token An identifier for the report DiagnosticReport.identifier 65 Resources
issued date When the report was issued DiagnosticReport.issued
media reference A reference to the image source. DiagnosticReport.media.link
(DocumentReference)
patient reference The subject of the report if a patient DiagnosticReport.subject.where(resolve() is Patient)
(Patient)
65 Resources
performer reference Who is responsible for the report DiagnosticReport.performer
(Practitioner, Organization, CareTeam, PractitionerRole)
result reference Link to an atomic result (observation resource) DiagnosticReport.result
(Observation)
results-interpreter reference Who was the source of the report DiagnosticReport.resultsInterpreter
(Practitioner, Organization, CareTeam, PractitionerRole)
specimen reference The specimen details DiagnosticReport.specimen
(Specimen)
status token The status of the report DiagnosticReport.status
study reference Studies associated with the diagnostic report DiagnosticReport.study
(GenomicStudy, ImagingStudy)
subject reference The subject of the report DiagnosticReport.subject
(Practitioner, Group, Organization, BiologicallyDerivedProduct, Device, Medication, Patient, Substance, Location)