FHIRcast logo

FHIRcast
3.0.0-ballot - ci-build International flag

FHIRcast, published by HL7 International / Infrastructure And Messaging. This guide is not an authorized publication; it is the continuous build for version 3.0.0-ballot built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/fhircast-docs/ and changes regularly. See the Directory of published versions

Resource Profile: FHIRcast Diagnostic Report for Open Events

Official URL: http://hl7.org/fhir/uv/fhircast/StructureDefinition/fhircast-diagnostic-report-open Version: 3.0.0-ballot
Draft as of 2024-12-19 Computable Name: FHIRcastDiagnosticReportOpen

Provides guidance as to which DiagnosticReport attributes should be present and considerations as to how each attribute should be valued in all [FHIR resource]-open events.

At least one business identifier of the DiagnosticReport SHALL be provided in a [FHIR resource]-open request.

Typically the report is associated with an order from an information system. In this case the accession number of the order is provided in the DiagnosticReport's basedOn array attribute as a reference using a ServiceRequest reference type and the “ACSN” identifier type. The accession number SHALL be included as a business identifier if it is known.

A reporting system may also include its own identifier and should use an appropriate identifier type and system when supplying such a business identifier.

In radiology reports or other image related uses of FHIRcast, at least one imaging study would likely be the subject of the report and included in the event's context. In this case, the reference to one or more ImagingStudy resources would be provided.

FHIR R4 versus FHIR R5 In the FHIR R4 DiagnosticReport resource image study references would be placed in the imagingStudy attribute. In a FHIR R5 (or above) DiagnosticReport this attribute has been renamed study since the allowed reference types has been expanded to include references to GenomicStudy resources. This is obviously a breaking change.

In FHIRcast deployments based on FHIR R5, the attribute study SHALL be used rather than the imagingStudy attribute.

Additionally FHIR R5 includes a supportingInfo attribute. While not yet formally provided for in FHIR R5 (R6 formalizes this support), it has been recommended that the next release of FHIR allow an ImagingStudy reference be included in this attribute so that the DiagnosticReport could indicate one or more image studies were consulted during the creation of the report. As such in FHIR R5 deployments, this field should be considered labeled as must support.

Usage:

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

This structure is derived from DiagnosticReport

NameFlagsCard.TypeDescription & Constraintsdoco
.. DiagnosticReport C 0..* DiagnosticReport A Diagnostic report - a combination of request information, atomic results, images, interpretation, as well as formatted reports
business-identifier: identifier array or basedOn array SHALL contain at least one element
... id 1..1 id A logical id of the resource SHALL be provided.
... identifier S 0..* Identifier A business identifier of the DiagnosticReport may be provided as part of the [FHIR resource]-open request (see detailed description).
... basedOn S 0..* Reference(CarePlan | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) At least one business identifier of the DiagnosticReport SHALL be provided in a [FHIR resource]-open request (see detailed description).
... subject 1..1 Reference(FHIRcast Patient for Open Events) Reference to the Patient resource associated with the DiagnosticReport
... imagingStudy 0..* Reference(FHIRcast ImagingStudy for Open Events) Imaging study (or studies) which are the subject of this report

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
business-identifiererrorDiagnosticReportidentifier array or basedOn array SHALL contain at least one element
: identifier.exists() or basedOn.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. DiagnosticReport C 0..* DiagnosticReport A Diagnostic report - a combination of request information, atomic results, images, interpretation, as well as formatted reports
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
dom-6: A resource should have narrative for robust management
business-identifier: identifier array or basedOn array SHALL contain at least one element
... id Σ 1..1 id A logical id of the resource SHALL be provided.
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
ele-1: All FHIR elements must have a @value or children
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... basedOn S 0..* Reference(CarePlan | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) At least one business identifier of the DiagnosticReport SHALL be provided in a [FHIR resource]-open request (see detailed description).
ele-1: All FHIR elements must have a @value or children
... status ?!Σ 1..1 code Status of the DiagnosticReport, note this may not be known and hence have a value of `unknown`; however, is included since it is required by FHIR
Binding: DiagnosticReportStatus (required): The status of the diagnostic report.


ele-1: All FHIR elements must have a @value or children
... code Σ 1..1 CodeableConcept Name/Code for this diagnostic report
Binding: LOINCDiagnosticReportCodes (preferred): Codes that describe Diagnostic Reports.


ele-1: All FHIR elements must have a @value or children
... subject Σ 1..1 Reference(FHIRcast Patient for Open Events) Reference to the Patient resource associated with the DiagnosticReport
ele-1: All FHIR elements must have a @value or children
... imagingStudy 0..* Reference(FHIRcast ImagingStudy for Open Events) Imaging study (or studies) which are the subject of this report
ele-1: All FHIR elements must have a @value or children

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
DiagnosticReport.statusrequiredDiagnosticReportStatus
http://hl7.org/fhir/ValueSet/diagnostic-report-status|4.0.1
from the FHIR Standard
DiagnosticReport.codepreferredLOINCDiagnosticReportCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/report-codes
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
business-identifiererrorDiagnosticReportidentifier array or basedOn array SHALL contain at least one element
: identifier.exists() or basedOn.exists()
dom-2errorDiagnosticReportIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorDiagnosticReportIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorDiagnosticReportIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorDiagnosticReportIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceDiagnosticReportA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. DiagnosticReport C 0..* DiagnosticReport A Diagnostic report - a combination of request information, atomic results, images, interpretation, as well as formatted reports
business-identifier: identifier array or basedOn array SHALL contain at least one element
... id Σ 1..1 id A logical id of the resource SHALL be provided.
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier SΣ 0..* Identifier A business identifier of the DiagnosticReport may be provided as part of the [FHIR resource]-open request (see detailed description).
... basedOn S 0..* Reference(CarePlan | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) At least one business identifier of the DiagnosticReport SHALL be provided in a [FHIR resource]-open request (see detailed description).
... status ?!Σ 1..1 code Status of the DiagnosticReport, note this may not be known and hence have a value of `unknown`; however, is included since it is required by FHIR
Binding: DiagnosticReportStatus (required): The status of the diagnostic report.

... category Σ 0..* CodeableConcept Service category
Binding: DiagnosticServiceSectionCodes (example): Codes for diagnostic service sections.


... code Σ 1..1 CodeableConcept Name/Code for this diagnostic report
Binding: LOINCDiagnosticReportCodes (preferred): Codes that describe Diagnostic Reports.

... subject Σ 1..1 Reference(FHIRcast Patient for Open Events) Reference to the Patient resource associated with the DiagnosticReport
... encounter Σ 0..1 Reference(Encounter) Health care event when test ordered
... 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 0..* Reference(Observation) Observations
... imagingStudy 0..* Reference(FHIRcast ImagingStudy for Open Events) Imaging study (or studies) which are the subject of this report
... media Σ 0..* BackboneElement Key images associated with this report
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... comment 0..1 string Comment about the image (e.g. explanation)
.... link Σ 1..1 Reference(Media) Reference to the image source
... conclusion 0..1 string Clinical conclusion (interpretation) of test results
... conclusionCode 0..* CodeableConcept Codes for the clinical conclusion of test results
Binding: SNOMEDCTClinicalFindings (example): Diagnosis codes provided as adjuncts to the report.


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

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
DiagnosticReport.languagepreferredCommonLanguages
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding
DiagnosticReport.statusrequiredDiagnosticReportStatus
http://hl7.org/fhir/ValueSet/diagnostic-report-status|4.0.1
from the FHIR Standard
DiagnosticReport.categoryexampleDiagnosticServiceSectionCodes
http://hl7.org/fhir/ValueSet/diagnostic-service-sections
from the FHIR Standard
DiagnosticReport.codepreferredLOINCDiagnosticReportCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/report-codes
from the FHIR Standard
DiagnosticReport.conclusionCodeexampleSNOMEDCTClinicalFindings
http://hl7.org/fhir/ValueSet/clinical-findings
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
business-identifiererrorDiagnosticReportidentifier array or basedOn array SHALL contain at least one element
: identifier.exists() or basedOn.exists()
dom-2errorDiagnosticReportIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorDiagnosticReportIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorDiagnosticReportIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorDiagnosticReportIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceDiagnosticReportA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Differential View

This structure is derived from DiagnosticReport

NameFlagsCard.TypeDescription & Constraintsdoco
.. DiagnosticReport C 0..* DiagnosticReport A Diagnostic report - a combination of request information, atomic results, images, interpretation, as well as formatted reports
business-identifier: identifier array or basedOn array SHALL contain at least one element
... id 1..1 id A logical id of the resource SHALL be provided.
... identifier S 0..* Identifier A business identifier of the DiagnosticReport may be provided as part of the [FHIR resource]-open request (see detailed description).
... basedOn S 0..* Reference(CarePlan | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) At least one business identifier of the DiagnosticReport SHALL be provided in a [FHIR resource]-open request (see detailed description).
... subject 1..1 Reference(FHIRcast Patient for Open Events) Reference to the Patient resource associated with the DiagnosticReport
... imagingStudy 0..* Reference(FHIRcast ImagingStudy for Open Events) Imaging study (or studies) which are the subject of this report

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
business-identifiererrorDiagnosticReportidentifier array or basedOn array SHALL contain at least one element
: identifier.exists() or basedOn.exists()

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. DiagnosticReport C 0..* DiagnosticReport A Diagnostic report - a combination of request information, atomic results, images, interpretation, as well as formatted reports
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
dom-6: A resource should have narrative for robust management
business-identifier: identifier array or basedOn array SHALL contain at least one element
... id Σ 1..1 id A logical id of the resource SHALL be provided.
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
ele-1: All FHIR elements must have a @value or children
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... basedOn S 0..* Reference(CarePlan | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) At least one business identifier of the DiagnosticReport SHALL be provided in a [FHIR resource]-open request (see detailed description).
ele-1: All FHIR elements must have a @value or children
... status ?!Σ 1..1 code Status of the DiagnosticReport, note this may not be known and hence have a value of `unknown`; however, is included since it is required by FHIR
Binding: DiagnosticReportStatus (required): The status of the diagnostic report.


ele-1: All FHIR elements must have a @value or children
... code Σ 1..1 CodeableConcept Name/Code for this diagnostic report
Binding: LOINCDiagnosticReportCodes (preferred): Codes that describe Diagnostic Reports.


ele-1: All FHIR elements must have a @value or children
... subject Σ 1..1 Reference(FHIRcast Patient for Open Events) Reference to the Patient resource associated with the DiagnosticReport
ele-1: All FHIR elements must have a @value or children
... imagingStudy 0..* Reference(FHIRcast ImagingStudy for Open Events) Imaging study (or studies) which are the subject of this report
ele-1: All FHIR elements must have a @value or children

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
DiagnosticReport.statusrequiredDiagnosticReportStatus
http://hl7.org/fhir/ValueSet/diagnostic-report-status|4.0.1
from the FHIR Standard
DiagnosticReport.codepreferredLOINCDiagnosticReportCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/report-codes
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
business-identifiererrorDiagnosticReportidentifier array or basedOn array SHALL contain at least one element
: identifier.exists() or basedOn.exists()
dom-2errorDiagnosticReportIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorDiagnosticReportIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorDiagnosticReportIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorDiagnosticReportIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceDiagnosticReportA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. DiagnosticReport C 0..* DiagnosticReport A Diagnostic report - a combination of request information, atomic results, images, interpretation, as well as formatted reports
business-identifier: identifier array or basedOn array SHALL contain at least one element
... id Σ 1..1 id A logical id of the resource SHALL be provided.
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier SΣ 0..* Identifier A business identifier of the DiagnosticReport may be provided as part of the [FHIR resource]-open request (see detailed description).
... basedOn S 0..* Reference(CarePlan | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) At least one business identifier of the DiagnosticReport SHALL be provided in a [FHIR resource]-open request (see detailed description).
... status ?!Σ 1..1 code Status of the DiagnosticReport, note this may not be known and hence have a value of `unknown`; however, is included since it is required by FHIR
Binding: DiagnosticReportStatus (required): The status of the diagnostic report.

... category Σ 0..* CodeableConcept Service category
Binding: DiagnosticServiceSectionCodes (example): Codes for diagnostic service sections.


... code Σ 1..1 CodeableConcept Name/Code for this diagnostic report
Binding: LOINCDiagnosticReportCodes (preferred): Codes that describe Diagnostic Reports.

... subject Σ 1..1 Reference(FHIRcast Patient for Open Events) Reference to the Patient resource associated with the DiagnosticReport
... encounter Σ 0..1 Reference(Encounter) Health care event when test ordered
... 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 0..* Reference(Observation) Observations
... imagingStudy 0..* Reference(FHIRcast ImagingStudy for Open Events) Imaging study (or studies) which are the subject of this report
... media Σ 0..* BackboneElement Key images associated with this report
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... comment 0..1 string Comment about the image (e.g. explanation)
.... link Σ 1..1 Reference(Media) Reference to the image source
... conclusion 0..1 string Clinical conclusion (interpretation) of test results
... conclusionCode 0..* CodeableConcept Codes for the clinical conclusion of test results
Binding: SNOMEDCTClinicalFindings (example): Diagnosis codes provided as adjuncts to the report.


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

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
DiagnosticReport.languagepreferredCommonLanguages
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding
DiagnosticReport.statusrequiredDiagnosticReportStatus
http://hl7.org/fhir/ValueSet/diagnostic-report-status|4.0.1
from the FHIR Standard
DiagnosticReport.categoryexampleDiagnosticServiceSectionCodes
http://hl7.org/fhir/ValueSet/diagnostic-service-sections
from the FHIR Standard
DiagnosticReport.codepreferredLOINCDiagnosticReportCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/report-codes
from the FHIR Standard
DiagnosticReport.conclusionCodeexampleSNOMEDCTClinicalFindings
http://hl7.org/fhir/ValueSet/clinical-findings
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
business-identifiererrorDiagnosticReportidentifier array or basedOn array SHALL contain at least one element
: identifier.exists() or basedOn.exists()
dom-2errorDiagnosticReportIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorDiagnosticReportIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorDiagnosticReportIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorDiagnosticReportIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceDiagnosticReportA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

 

Other representations of profile: CSV, Excel, Schematron