QI-Core Implementation Guide
5.0.0-ballot - STU Ballot US

This page is part of the Quality Improvement Core Framework (v5.0.0-ballot: STU 5 Ballot 1) based on FHIR R4. The current version which supercedes this version is 4.1.1. For a full list of available versions, see the Directory of published versions

Resource Profile: QICore DiagnosticReport Profile for Report and Note Exchange

Official URL: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-diagnosticreport-note Version: 5.0.0-ballot
Active as of 2022-07-01 Computable Name: QICoreDiagnosticReportNote

Profile of DiagnosticReport for Note exchange for decision support/quality metrics. Defines the core set of elements and extensions for quality rule and measure authors.

Usage

See the patterns page for implementation and usage patterns.

Examples

Radiology Diagnostic Report Example

Usage:

Formal Views of Profile Content

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

This structure is derived from USCoreDiagnosticReportProfileNoteExchange

Summary

Mandatory: 2 elements (1 nested mandatory element)
Must-Support: 13 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element DiagnosticReport.category is sliced based on the value of pattern:$this

This structure is derived from USCoreDiagnosticReportProfileNoteExchange

NameFlagsCard.TypeDescription & Constraintsdoco
.. DiagnosticReport 0..*USCoreDiagnosticReportProfileNoteExchangeA Diagnostic report - a combination of request information, atomic results, images, interpretation, as well as formatted reports
... locationPerformed 0..1Reference(Location)Location Performed
URL: http://hl7.org/fhir/StructureDefinition/diagnosticReport-locationPerformed
.... value[x]:valueReference S1..1Reference(QICoreLocation)Value of extension
... basedOn 0..*Reference(QICore Care Plan | QICoreImmunizationRecommendation | QICore MedicationRequest | QICoreNutritionOrder | QICore Service Request)What was requested
... category S1..*CodeableConceptService category
Slice: Unordered, Open by pattern:$this
... subject S1..1Reference(QICorePatient)The subject of the report - usually, but not always, the patient
... encounter S0..1Reference(QICore Encounter)Health care event when test ordered
... effective[x] SΣI0..1Diagnostically relevant time (typically the time of the procedure)
.... effectiveDateTimedateTime S
.... effectivePeriodPeriod S
... issued S0..1instantDateTime this version was made
... performer S0..*Reference(QICore Practitioner | QICoreOrganization)Responsible Diagnostic Service
... specimen 0..*Reference(QICoreSpecimen)Specimens this report is based on
... result S0..*Reference(QICore Laboratory Result Observation | QICore Observation Clinical Test Result | QICore Observation Imaging Result)Observations
... imagingStudy S0..*Reference(QICore Imaging Study)Reference to full details of imaging associated with the diagnostic report
... media S0..*BackboneElementKey images associated with this report
... conclusion S0..1stringClinical conclusion (interpretation) of test results
... conclusionCode S0..*CodeableConceptCodes for the clinical conclusion of test results
Binding: SNOMEDCTClinicalFindings (preferred): This value set includes all the "Clinical finding" SNOMED CT codes - concepts where concept is-a 404684003 (Clinical finding (finding)).


doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. DiagnosticReport I0..*USCoreDiagnosticReportProfileNoteExchangeA Diagnostic report - a combination of request information, atomic results, images, interpretation, as well as formatted reports
... id Σ0..1stringLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... locationPerformed 0..1Reference(Location)Location Performed
URL: http://hl7.org/fhir/StructureDefinition/diagnosticReport-locationPerformed
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..0
.... url 1..1uri"http://hl7.org/fhir/StructureDefinition/diagnosticReport-locationPerformed"
.... value[x]:valueReference S1..1Reference(QICoreLocation)Value of extension
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierBusiness identifier for report
... basedOn 0..*Reference(QICore Care Plan | QICoreImmunizationRecommendation | QICore MedicationRequest | QICoreNutritionOrder | QICore Service Request)What was requested
... status ?!SΣI1..1coderegistered | partial | preliminary | final +
Binding: DiagnosticReportStatus (required)
... Slices for category SΣ1..*CodeableConceptService category
Slice: Unordered, Open by pattern:$this
Binding: DiagnosticServiceSectionCodes (example): Codes for diagnostic service sections.


.... category:us-core SΣ0..*CodeableConceptService category
Binding: US Core Diagnostic Report Category Codes (required)
... code SΣ1..1CodeableConceptQI Core Report Code
Binding: US Core Non Laboratory Codes (extensible): LOINC codes

... subject SΣ1..1Reference(QICorePatient)The subject of the report - usually, but not always, the patient
... encounter SΣ0..1Reference(QICore Encounter)Health care event when test ordered
... effective[x] SΣI0..1Diagnostically relevant time (typically the time of the procedure)
.... effectiveDateTimedateTime S
.... effectivePeriodPeriod S
... issued SΣ0..1instantDateTime this version was made
... performer SΣ0..*Reference(QICore Practitioner | QICoreOrganization)Responsible Diagnostic Service
... resultsInterpreter Σ0..*Reference(Practitioner | PractitionerRole | Organization | CareTeam)Primary result interpreter
... specimen 0..*Reference(QICoreSpecimen)Specimens this report is based on
... result S0..*Reference(QICore Laboratory Result Observation | QICore Observation Clinical Test Result | QICore Observation Imaging Result)Observations
... imagingStudy S0..*Reference(QICore Imaging Study)Reference to full details of imaging associated with the diagnostic report
... media SΣ0..*BackboneElementKey images associated with this report
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... comment 0..1stringComment about the image (e.g. explanation)
.... link SΣ1..1Reference(Media)Reference to the image source
... conclusion S0..1stringClinical conclusion (interpretation) of test results
... conclusionCode S0..*CodeableConceptCodes for the clinical conclusion of test results
Binding: SNOMEDCTClinicalFindings (preferred): This value set includes all the "Clinical finding" SNOMED CT codes - concepts where concept is-a 404684003 (Clinical finding (finding)).


... presentedForm S0..*AttachmentEntire report as issued

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. DiagnosticReport I0..*USCoreDiagnosticReportProfileNoteExchangeA Diagnostic report - a combination of request information, atomic results, images, interpretation, as well as formatted reports
... locationPerformed 0..1Reference(Location)Location Performed
URL: http://hl7.org/fhir/StructureDefinition/diagnosticReport-locationPerformed
.... value[x]:valueReference 1..1Reference(QICoreLocation)Value of extension
... status ?!ΣI1..1coderegistered | partial | preliminary | final +
Binding: DiagnosticReportStatus (required)
... Slices for category Σ1..*CodeableConceptService category
Slice: Unordered, Open by pattern:$this
Binding: DiagnosticServiceSectionCodes (example): Codes for diagnostic service sections.


.... category:us-core Σ0..*CodeableConceptService category
Binding: US Core Diagnostic Report Category Codes (required)
... subject Σ1..1Reference(QICorePatient)The subject of the report - usually, but not always, the patient
... encounter Σ0..1Reference(QICore Encounter)Health care event when test ordered
... effective[x] ΣI0..1Diagnostically relevant time (typically the time of the procedure)
.... effectiveDateTimedateTime
.... effectivePeriodPeriod
... issued Σ0..1instantDateTime this version was made
... performer Σ0..*Reference(QICore Practitioner | QICoreOrganization)Responsible Diagnostic Service
... result 0..*Reference(QICore Laboratory Result Observation | QICore Observation Clinical Test Result | QICore Observation Imaging Result)Observations
... imagingStudy 0..*Reference(QICore Imaging Study)Reference to full details of imaging associated with the diagnostic report
... media Σ0..*BackboneElementKey images associated with this report
.... link Σ1..1Reference(Media)Reference to the image source
... conclusion 0..1stringClinical conclusion (interpretation) of test results
... conclusionCode 0..*CodeableConceptCodes for the clinical conclusion of test results
Binding: SNOMEDCTClinicalFindings (preferred): This value set includes all the "Clinical finding" SNOMED CT codes - concepts where concept is-a 404684003 (Clinical finding (finding)).


... presentedForm 0..*AttachmentEntire report as issued

doco Documentation for this format

This structure is derived from USCoreDiagnosticReportProfileNoteExchange

Summary

Mandatory: 2 elements (1 nested mandatory element)
Must-Support: 13 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element DiagnosticReport.category is sliced based on the value of pattern:$this

Differential View

This structure is derived from USCoreDiagnosticReportProfileNoteExchange

NameFlagsCard.TypeDescription & Constraintsdoco
.. DiagnosticReport 0..*USCoreDiagnosticReportProfileNoteExchangeA Diagnostic report - a combination of request information, atomic results, images, interpretation, as well as formatted reports
... locationPerformed 0..1Reference(Location)Location Performed
URL: http://hl7.org/fhir/StructureDefinition/diagnosticReport-locationPerformed
.... value[x]:valueReference S1..1Reference(QICoreLocation)Value of extension
... basedOn 0..*Reference(QICore Care Plan | QICoreImmunizationRecommendation | QICore MedicationRequest | QICoreNutritionOrder | QICore Service Request)What was requested
... category S1..*CodeableConceptService category
Slice: Unordered, Open by pattern:$this
... subject S1..1Reference(QICorePatient)The subject of the report - usually, but not always, the patient
... encounter S0..1Reference(QICore Encounter)Health care event when test ordered
... effective[x] SΣI0..1Diagnostically relevant time (typically the time of the procedure)
.... effectiveDateTimedateTime S
.... effectivePeriodPeriod S
... issued S0..1instantDateTime this version was made
... performer S0..*Reference(QICore Practitioner | QICoreOrganization)Responsible Diagnostic Service
... specimen 0..*Reference(QICoreSpecimen)Specimens this report is based on
... result S0..*Reference(QICore Laboratory Result Observation | QICore Observation Clinical Test Result | QICore Observation Imaging Result)Observations
... imagingStudy S0..*Reference(QICore Imaging Study)Reference to full details of imaging associated with the diagnostic report
... media S0..*BackboneElementKey images associated with this report
... conclusion S0..1stringClinical conclusion (interpretation) of test results
... conclusionCode S0..*CodeableConceptCodes for the clinical conclusion of test results
Binding: SNOMEDCTClinicalFindings (preferred): This value set includes all the "Clinical finding" SNOMED CT codes - concepts where concept is-a 404684003 (Clinical finding (finding)).


doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. DiagnosticReport I0..*USCoreDiagnosticReportProfileNoteExchangeA Diagnostic report - a combination of request information, atomic results, images, interpretation, as well as formatted reports
... id Σ0..1stringLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... locationPerformed 0..1Reference(Location)Location Performed
URL: http://hl7.org/fhir/StructureDefinition/diagnosticReport-locationPerformed
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..0
.... url 1..1uri"http://hl7.org/fhir/StructureDefinition/diagnosticReport-locationPerformed"
.... value[x]:valueReference S1..1Reference(QICoreLocation)Value of extension
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierBusiness identifier for report
... basedOn 0..*Reference(QICore Care Plan | QICoreImmunizationRecommendation | QICore MedicationRequest | QICoreNutritionOrder | QICore Service Request)What was requested
... status ?!SΣI1..1coderegistered | partial | preliminary | final +
Binding: DiagnosticReportStatus (required)
... Slices for category SΣ1..*CodeableConceptService category
Slice: Unordered, Open by pattern:$this
Binding: DiagnosticServiceSectionCodes (example): Codes for diagnostic service sections.


.... category:us-core SΣ0..*CodeableConceptService category
Binding: US Core Diagnostic Report Category Codes (required)
... code SΣ1..1CodeableConceptQI Core Report Code
Binding: US Core Non Laboratory Codes (extensible): LOINC codes

... subject SΣ1..1Reference(QICorePatient)The subject of the report - usually, but not always, the patient
... encounter SΣ0..1Reference(QICore Encounter)Health care event when test ordered
... effective[x] SΣI0..1Diagnostically relevant time (typically the time of the procedure)
.... effectiveDateTimedateTime S
.... effectivePeriodPeriod S
... issued SΣ0..1instantDateTime this version was made
... performer SΣ0..*Reference(QICore Practitioner | QICoreOrganization)Responsible Diagnostic Service
... resultsInterpreter Σ0..*Reference(Practitioner | PractitionerRole | Organization | CareTeam)Primary result interpreter
... specimen 0..*Reference(QICoreSpecimen)Specimens this report is based on
... result S0..*Reference(QICore Laboratory Result Observation | QICore Observation Clinical Test Result | QICore Observation Imaging Result)Observations
... imagingStudy S0..*Reference(QICore Imaging Study)Reference to full details of imaging associated with the diagnostic report
... media SΣ0..*BackboneElementKey images associated with this report
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... comment 0..1stringComment about the image (e.g. explanation)
.... link SΣ1..1Reference(Media)Reference to the image source
... conclusion S0..1stringClinical conclusion (interpretation) of test results
... conclusionCode S0..*CodeableConceptCodes for the clinical conclusion of test results
Binding: SNOMEDCTClinicalFindings (preferred): This value set includes all the "Clinical finding" SNOMED CT codes - concepts where concept is-a 404684003 (Clinical finding (finding)).


... presentedForm S0..*AttachmentEntire report as issued

doco Documentation for this format

 

Other representations of profile: CSV, Excel, Schematron

Terminology Bindings

PathConformanceValueSet
DiagnosticReport.languagepreferredCommonLanguages
Max Binding: AllLanguages
DiagnosticReport.statusrequiredDiagnosticReportStatus
DiagnosticReport.categoryexampleDiagnosticServiceSectionCodes
DiagnosticReport.category:us-corerequiredUSCoreDiagnosticReportCategory
DiagnosticReport.codeextensibleUSCoreNonLaboratoryCodes
DiagnosticReport.conclusionCodepreferredSNOMEDCTClinicalFindings

Constraints

IdGradePathDetailsRequirements
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()
us-core-10errorDiagnosticReporteffective[x] SHALL be present if the status is 'partial', 'preliminary', 'final', 'amended', 'corrected' or 'appended'
: (status='partial' or status='preliminary' or status='final' or status='amended' or status='corrected' or status='appended' ) implies effective.exists()
ele-1errorDiagnosticReport.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDiagnosticReport.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDiagnosticReport.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDiagnosticReport.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDiagnosticReport.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorDiagnosticReport.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorDiagnosticReport.extension:locationPerformedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorDiagnosticReport.extension:locationPerformedMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorDiagnosticReport.extension:locationPerformed.value[x]:valueReferenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDiagnosticReport.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorDiagnosticReport.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorDiagnosticReport.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDiagnosticReport.basedOnAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDiagnosticReport.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDiagnosticReport.categoryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDiagnosticReport.category:us-coreAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDiagnosticReport.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDiagnosticReport.subjectAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDiagnosticReport.encounterAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDiagnosticReport.effective[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDiagnosticReport.issuedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDiagnosticReport.performerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDiagnosticReport.resultsInterpreterAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDiagnosticReport.specimenAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDiagnosticReport.resultAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDiagnosticReport.imagingStudyAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDiagnosticReport.mediaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDiagnosticReport.media.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorDiagnosticReport.media.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorDiagnosticReport.media.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorDiagnosticReport.media.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorDiagnosticReport.media.commentAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDiagnosticReport.media.linkAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDiagnosticReport.conclusionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDiagnosticReport.conclusionCodeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDiagnosticReport.presentedFormAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())