Canadian Baseline
1.1.0 - CI Build Canada flag

Canadian Baseline, published by HL7 Canada - FHIR Implementation Work Group. This guide is not an authorized publication; it is the continuous build for version 1.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7-Canada/ca-baseline/ and changes regularly. See the Directory of published versions

Resource Profile: Diagnostic Report for Report and Note Exchange Profile

Official URL: http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-diagnosticreportnote Version: 1.1.0
Draft as of 2022-06-08 Computable Name: DiagnosticReportNoteProfile

Proposed constraints and extensions on the Diagnostic Report Resource to support collection of diagnostic report information for reports and notes. Generated as a first step toward creating a set of Canadian Baseline FHIR profiles.

CA Core DiagnosticReport (Note) Profile

This profile initially put forth placeholders for the value sets used in category and code. Further work is required to determine if this profile should align to the value set in use in US Core (https://www.hl7.org/fhir/us/core/ValueSet-us-core-diagnosticreport-category.html and https://www.hl7.org/fhir/us/core/ValueSet-us-core-diagnosticreport-report-and-note-codes.html) or if a Canadian value set needs to be created.
</blockquote> </div> This profile sets minimum expectations to support collection of diagnostic report information for reports and notes. Generated as a first step toward creating a set of Canadian Baseline FHIR profiles. It identifies which core elements, constraints and value sets SHALL be present in the resource instance when using this profile. This profile defines core localisation concepts for use in an Canadian context. ## Mandatory Data Elements All elements or attributes defined in FHIR have cardinality as part of their definition - a minimum number of required appearances and a maximum number. Most elements in FHIR specification have a minimum cardinality of **0**, which means that they may be missing from a resource when it is exchanged between systems. **Required elements:** * status of the diagnostic report * category of the diagnostic report * code that describes the diagnostic report * subject of the report * time when report was created ## Must Support Data Elements Some elements are labeled as MustSupport meaning that implementations that produce or consume resources SHALL provide "support" for the element in some meaningful way (see [Must Support](https://build.fhir.org/ig/HL7-Canada/ca-baseline/general-guidance.html#must-support) definition). Following elements are marked as Must Support in the Canadian DiagnosticReport Note profile to aid record matching in databases. **Must Support elements:** * status of the report * category that classifies the report * code that describes the diagnostic report * subject of the report * healthcare event this report is about * time when report was created * time when report was issued * diagnostic service responsible for report * Media that are part of this report * Attachments that are part of this report ## Usage Note

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 0..* DiagnosticReport DiagnosticReport for Report and Note Profile
... status S 1..1 code registered | partial | preliminary | final +
Binding: DiagnosticReportStatus (required): Codes providing the status of a DiagnosticReport.

... category S 0..* CodeableConcept Service category
... code S 1..1 CodeableConcept Name/Code for this diagnostic report
... encounter S 0..1 Reference(Encounter Profile) Health care event when test ordered
... effective[x] S 1..1 dateTime, Period Time of report or note
... issued S 0..1 instant Date/Time this version of the DiagnosticReport was made available
... performer S 0..* Reference(Practitioner Profile (General) | Organization Profile) Responsible Diagnostic Service
... media S 0..* BackboneElement Key images associated with this report
... presentedForm S 0..* Attachment Entire report as issued

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
DiagnosticReport.statusrequiredDiagnosticReportStatus
http://hl7.org/fhir/ValueSet/diagnostic-report-status
from the FHIR Standard
NameFlagsCard.TypeDescription & Constraintsdoco
.. DiagnosticReport 0..* DiagnosticReport DiagnosticReport for Report and Note Profile
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
... 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
... status ?!SΣ 1..1 code registered | partial | preliminary | final +
Binding: DiagnosticReportStatus (required): Codes providing the status of a DiagnosticReport.


ele-1: All FHIR elements must have a @value or children
... code SΣ 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 SΣ 1..1 Reference(Patient Profile) The patient that the diagnostic report refers to
ele-1: All FHIR elements must have a @value or children
... encounter SΣ 0..1 Reference(Encounter Profile) Health care event when test ordered
ele-1: All FHIR elements must have a @value or children
... effective[x] SΣ 1..1 Time of report or note
ele-1: All FHIR elements must have a @value or children
.... effectiveDateTime dateTime
.... effectivePeriod Period
... issued SΣ 0..1 instant Date/Time this version of the DiagnosticReport was made available
ele-1: All FHIR elements must have a @value or children
... performer SΣ 0..* Reference(Practitioner Profile (General) | Organization Profile) Responsible Diagnostic Service
ele-1: All FHIR elements must have a @value or children
... media SΣ 0..* BackboneElement Key images associated with this report
ele-1: All FHIR elements must have a @value or children
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... link Σ 1..1 Reference(Media) Reference to the image source
ele-1: All FHIR elements must have a @value or children
... presentedForm S 0..* Attachment Entire report as issued
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
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

Constraints

IdGradePath(s)DetailsRequirements
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 0..* DiagnosticReport DiagnosticReport for Report and Note Profile
... id Σ 0..1 id Logical id of this artifact
... 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 Σ 0..* Identifier Business identifier for report
... basedOn 0..* Reference(CarePlan | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) What was requested
... status ?!SΣ 1..1 code registered | partial | preliminary | final +
Binding: DiagnosticReportStatus (required): Codes providing the status of a DiagnosticReport.

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


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

... subject SΣ 1..1 Reference(Patient Profile) The patient that the diagnostic report refers to
... encounter SΣ 0..1 Reference(Encounter Profile) Health care event when test ordered
... effective[x] SΣ 1..1 Time of report or note
.... effectiveDateTime dateTime
.... effectivePeriod Period
... issued SΣ 0..1 instant Date/Time this version of the DiagnosticReport was made available
... performer SΣ 0..* Reference(Practitioner Profile (General) | Organization Profile) 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(ImagingStudy) Reference to full details of imaging associated with the diagnostic report
... media SΣ 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 S 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
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
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 0..* DiagnosticReport DiagnosticReport for Report and Note Profile
... status S 1..1 code registered | partial | preliminary | final +
Binding: DiagnosticReportStatus (required): Codes providing the status of a DiagnosticReport.

... category S 0..* CodeableConcept Service category
... code S 1..1 CodeableConcept Name/Code for this diagnostic report
... encounter S 0..1 Reference(Encounter Profile) Health care event when test ordered
... effective[x] S 1..1 dateTime, Period Time of report or note
... issued S 0..1 instant Date/Time this version of the DiagnosticReport was made available
... performer S 0..* Reference(Practitioner Profile (General) | Organization Profile) Responsible Diagnostic Service
... media S 0..* BackboneElement Key images associated with this report
... presentedForm S 0..* Attachment Entire report as issued

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
DiagnosticReport.statusrequiredDiagnosticReportStatus
http://hl7.org/fhir/ValueSet/diagnostic-report-status
from the FHIR Standard

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. DiagnosticReport 0..* DiagnosticReport DiagnosticReport for Report and Note Profile
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
... 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
... status ?!SΣ 1..1 code registered | partial | preliminary | final +
Binding: DiagnosticReportStatus (required): Codes providing the status of a DiagnosticReport.


ele-1: All FHIR elements must have a @value or children
... code SΣ 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 SΣ 1..1 Reference(Patient Profile) The patient that the diagnostic report refers to
ele-1: All FHIR elements must have a @value or children
... encounter SΣ 0..1 Reference(Encounter Profile) Health care event when test ordered
ele-1: All FHIR elements must have a @value or children
... effective[x] SΣ 1..1 Time of report or note
ele-1: All FHIR elements must have a @value or children
.... effectiveDateTime dateTime
.... effectivePeriod Period
... issued SΣ 0..1 instant Date/Time this version of the DiagnosticReport was made available
ele-1: All FHIR elements must have a @value or children
... performer SΣ 0..* Reference(Practitioner Profile (General) | Organization Profile) Responsible Diagnostic Service
ele-1: All FHIR elements must have a @value or children
... media SΣ 0..* BackboneElement Key images associated with this report
ele-1: All FHIR elements must have a @value or children
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... link Σ 1..1 Reference(Media) Reference to the image source
ele-1: All FHIR elements must have a @value or children
... presentedForm S 0..* Attachment Entire report as issued
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
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

Constraints

IdGradePath(s)DetailsRequirements
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 0..* DiagnosticReport DiagnosticReport for Report and Note Profile
... id Σ 0..1 id Logical id of this artifact
... 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 Σ 0..* Identifier Business identifier for report
... basedOn 0..* Reference(CarePlan | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) What was requested
... status ?!SΣ 1..1 code registered | partial | preliminary | final +
Binding: DiagnosticReportStatus (required): Codes providing the status of a DiagnosticReport.

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


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

... subject SΣ 1..1 Reference(Patient Profile) The patient that the diagnostic report refers to
... encounter SΣ 0..1 Reference(Encounter Profile) Health care event when test ordered
... effective[x] SΣ 1..1 Time of report or note
.... effectiveDateTime dateTime
.... effectivePeriod Period
... issued SΣ 0..1 instant Date/Time this version of the DiagnosticReport was made available
... performer SΣ 0..* Reference(Practitioner Profile (General) | Organization Profile) 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(ImagingStudy) Reference to full details of imaging associated with the diagnostic report
... media SΣ 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 S 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
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
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

Notes: