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 Laboratory Results Reporting

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

Profile of DiagnosticReport for laboratory results 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

Blood Panel Example

Usage:

  • Refer to this Resource Profile:

Formal Views of Profile Content

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

This structure is derived from USCoreDiagnosticReportProfileLaboratoryReporting

Summary

Mandatory: 2 elements (1 nested mandatory element)
Must-Support: 7 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 USCoreDiagnosticReportProfileLaboratoryReporting

NameFlagsCard.TypeDescription & Constraintsdoco
.. DiagnosticReport 0..*USCoreDiagnosticReportProfileLaboratoryReportingA 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
... basedOn 0..*Reference(QICore Care Plan | QICoreImmunizationRecommendation | QICore MedicationRequest | QICoreNutritionOrder | QICore Service Request)What was requested
... Slices for category SΣ1..*CodeableConceptService category
Slice: Unordered, Open by pattern:$this
Binding: DiagnosticServiceSectionCodes (preferred): Codes for diagnostic service sections.


.... category:LaboratorySlice SΣ1..1CodeableConceptService category
Binding: DiagnosticServiceSectionCodes (preferred): Codes for diagnostic service sections.



Required Pattern: At least the following
..... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
...... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0074
...... code1..1codeSymbol in syntax defined by the system
Fixed Value: LAB
... encounter 0..1Reference(QICore Encounter)Health care event when test ordered
... effective[x] SΣI0..1Diagnostically relevant time (typically the time of specimen collection)
.... effectiveDateTimedateTime S
.... effectivePeriodPeriod S
... performer S0..*Reference(QICore Practitioner | QICorePractitionerRole | QICoreOrganization)Responsible Diagnostic Service
... specimen 0..*Reference(QICoreSpecimen)Specimens this report is based on
... imagingStudy 0..*Reference(QICore Imaging Study)Reference to full details of imaging associated with the diagnostic 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..*USCoreDiagnosticReportProfileLaboratoryReportingA 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 1..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 (preferred): Codes for diagnostic service sections.


.... category:LaboratorySlice SΣ1..1CodeableConceptService category
Binding: DiagnosticServiceSectionCodes (preferred): Codes for diagnostic service sections.



Required Pattern: At least the following
..... id0..1stringUnique id for inter-element referencing
..... extension0..*ExtensionAdditional content defined by implementations
..... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0074
...... version0..1stringVersion of the system - if relevant
...... code1..1codeSymbol in syntax defined by the system
Fixed Value: LAB
...... display0..1stringRepresentation defined by the system
...... userSelected0..1booleanIf this coding was chosen directly by the user
..... text0..1stringPlain text representation of the concept
... code SΣ1..1CodeableConceptUS Core Laboratory Report Order Code
Binding: US Core Diagnostic Report Laboratory Codes (extensible): LOINC codes

... subject SΣ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] SΣI0..1Diagnostically relevant time (typically the time of specimen collection)
.... effectiveDateTimedateTime S
.... effectivePeriodPeriod S
... issued SΣI0..1instantWhen the report was released
... performer SΣ0..*Reference(QICore Practitioner | QICorePractitionerRole | 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(US Core Laboratory Result Observation Profile)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
.... 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 Σ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 0..*AttachmentEntire report as issued

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. DiagnosticReport I0..*USCoreDiagnosticReportProfileLaboratoryReportingA Diagnostic report - a combination of request information, atomic results, images, interpretation, as well as formatted reports
... status ?!ΣI1..1coderegistered | partial | preliminary | final +
Binding: DiagnosticReportStatus (required)
... Slices for category Σ1..*CodeableConceptService category
Slice: Unordered, Open by pattern:$this
Binding: DiagnosticServiceSectionCodes (preferred): Codes for diagnostic service sections.


.... category:LaboratorySlice Σ1..1CodeableConceptService category
Binding: DiagnosticServiceSectionCodes (preferred): Codes for diagnostic service sections.



Required Pattern: At least the following
..... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
...... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0074
...... code1..1codeSymbol in syntax defined by the system
Fixed Value: LAB
... code Σ1..1CodeableConceptUS Core Laboratory Report Order Code
Binding: US Core Diagnostic Report Laboratory Codes (extensible): LOINC codes

... effective[x] ΣI0..1Diagnostically relevant time (typically the time of specimen collection)
.... effectiveDateTimedateTime
.... effectivePeriodPeriod
... issued ΣI0..1instantWhen the report was released
... performer Σ0..*Reference(QICore Practitioner | QICorePractitionerRole | QICoreOrganization)Responsible Diagnostic Service
... result 0..*Reference(US Core Laboratory Result Observation Profile)Observations
... 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)).



doco Documentation for this format

This structure is derived from USCoreDiagnosticReportProfileLaboratoryReporting

Summary

Mandatory: 2 elements (1 nested mandatory element)
Must-Support: 7 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 USCoreDiagnosticReportProfileLaboratoryReporting

NameFlagsCard.TypeDescription & Constraintsdoco
.. DiagnosticReport 0..*USCoreDiagnosticReportProfileLaboratoryReportingA 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
... basedOn 0..*Reference(QICore Care Plan | QICoreImmunizationRecommendation | QICore MedicationRequest | QICoreNutritionOrder | QICore Service Request)What was requested
... Slices for category SΣ1..*CodeableConceptService category
Slice: Unordered, Open by pattern:$this
Binding: DiagnosticServiceSectionCodes (preferred): Codes for diagnostic service sections.


.... category:LaboratorySlice SΣ1..1CodeableConceptService category
Binding: DiagnosticServiceSectionCodes (preferred): Codes for diagnostic service sections.



Required Pattern: At least the following
..... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
...... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0074
...... code1..1codeSymbol in syntax defined by the system
Fixed Value: LAB
... encounter 0..1Reference(QICore Encounter)Health care event when test ordered
... effective[x] SΣI0..1Diagnostically relevant time (typically the time of specimen collection)
.... effectiveDateTimedateTime S
.... effectivePeriodPeriod S
... performer S0..*Reference(QICore Practitioner | QICorePractitionerRole | QICoreOrganization)Responsible Diagnostic Service
... specimen 0..*Reference(QICoreSpecimen)Specimens this report is based on
... imagingStudy 0..*Reference(QICore Imaging Study)Reference to full details of imaging associated with the diagnostic 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..*USCoreDiagnosticReportProfileLaboratoryReportingA 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 1..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 (preferred): Codes for diagnostic service sections.


.... category:LaboratorySlice SΣ1..1CodeableConceptService category
Binding: DiagnosticServiceSectionCodes (preferred): Codes for diagnostic service sections.



Required Pattern: At least the following
..... id0..1stringUnique id for inter-element referencing
..... extension0..*ExtensionAdditional content defined by implementations
..... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0074
...... version0..1stringVersion of the system - if relevant
...... code1..1codeSymbol in syntax defined by the system
Fixed Value: LAB
...... display0..1stringRepresentation defined by the system
...... userSelected0..1booleanIf this coding was chosen directly by the user
..... text0..1stringPlain text representation of the concept
... code SΣ1..1CodeableConceptUS Core Laboratory Report Order Code
Binding: US Core Diagnostic Report Laboratory Codes (extensible): LOINC codes

... subject SΣ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] SΣI0..1Diagnostically relevant time (typically the time of specimen collection)
.... effectiveDateTimedateTime S
.... effectivePeriodPeriod S
... issued SΣI0..1instantWhen the report was released
... performer SΣ0..*Reference(QICore Practitioner | QICorePractitionerRole | 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(US Core Laboratory Result Observation Profile)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
.... 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 Σ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 0..*AttachmentEntire report as issued

doco Documentation for this format

 

Other representations of profile: CSV, Excel, Schematron

Terminology Bindings

PathConformanceValueSet / Code
DiagnosticReport.languagepreferredCommonLanguages
Max Binding: AllLanguages
DiagnosticReport.statusrequiredDiagnosticReportStatus
DiagnosticReport.categorypreferredDiagnosticServiceSectionCodes
DiagnosticReport.category:LaboratorySlicepreferredPattern: LAB
DiagnosticReport.codeextensibleUSCoreDiagnosticReportLabCodes
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-8errorDiagnosticReporteffective[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()
us-core-9errorDiagnosticReportissued 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 issued.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:LaboratorySliceAll 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())