QI-Core Implementation Guide
4.1.0 - release

This page is part of the Quality Improvement Core Framework (v4.1.0: STU 4) 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: QICoreDiagnosticReportLab

Defining URL:http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-diagnosticreport-lab
Version:4.1.0
Name:QICoreDiagnosticReportLab
Status:Draft as of 8/22/18
Definition:

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.

Publisher:http://www.hl7.org/Special/committees/cqi/index.cfm
Source Resource:XML / JSON / Turtle

The official URL for this profile is:

http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-diagnosticreport-lab
Usage

See the patterns page for implementation and usage patterns.

Examples

Blood Panel Example

Formal Views of Profile Content

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

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
... diagnosticReport-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(CarePlan | QICoreImmunizationRecommendation | QICoreMedicationRequest | NutritionOrder | QICoreServiceRequest)What was requested
... subject S1..1Reference(QICorePatient)The subject of the report - usually, but not always, the patient
... performer S0..*Reference(QICorePractitioner | QICoreOrganization)Responsible Diagnostic Service
... specimen 0..*Reference(QICoreSpecimen)Specimens this report is based on
... imagingStudy 0..*Reference(QICoreImagingStudy)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 0..*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)
Max Binding: AllLanguages: A human language.

... 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
... diagnosticReport-locationPerformed 0..1Reference(Location)Location Performed
URL: http://hl7.org/fhir/StructureDefinition/diagnosticReport-locationPerformed
.... id 0..1stringUnique id for inter-element referencing
.... Slices for 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(CarePlan | QICoreImmunizationRecommendation | QICoreMedicationRequest | NutritionOrder | QICoreServiceRequest)What was requested
... status ?!SΣ1..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:LaboratorySlice SΣ1..1CodeableConceptService category
Binding: DiagnosticServiceSectionCodes (example): 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(QICoreEncounter)Health care event when test ordered
... effective[x] SΣ1..1Specimen Collection Datetime or Period
.... effectiveDateTimedateTime
.... effectivePeriodPeriod
... issued SΣ1..1instantDateTime this version was made
... performer SΣ0..*Reference(QICorePractitioner | 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(QICoreImagingStudy)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 0..*USCoreDiagnosticReportProfileLaboratoryReportingA Diagnostic report - a combination of request information, atomic results, images, interpretation, as well as formatted reports
... status ?!Σ1..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:LaboratorySlice Σ1..1CodeableConceptService category
Binding: DiagnosticServiceSectionCodes (example): 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] Σ1..1Specimen Collection Datetime or Period
.... effectiveDateTimedateTime
.... effectivePeriodPeriod
... issued Σ1..1instantDateTime this version was made
... performer Σ0..*Reference(QICorePractitioner | 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

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
... diagnosticReport-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(CarePlan | QICoreImmunizationRecommendation | QICoreMedicationRequest | NutritionOrder | QICoreServiceRequest)What was requested
... subject S1..1Reference(QICorePatient)The subject of the report - usually, but not always, the patient
... performer S0..*Reference(QICorePractitioner | QICoreOrganization)Responsible Diagnostic Service
... specimen 0..*Reference(QICoreSpecimen)Specimens this report is based on
... imagingStudy 0..*Reference(QICoreImagingStudy)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 0..*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)
Max Binding: AllLanguages: A human language.

... 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
... diagnosticReport-locationPerformed 0..1Reference(Location)Location Performed
URL: http://hl7.org/fhir/StructureDefinition/diagnosticReport-locationPerformed
.... id 0..1stringUnique id for inter-element referencing
.... Slices for 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(CarePlan | QICoreImmunizationRecommendation | QICoreMedicationRequest | NutritionOrder | QICoreServiceRequest)What was requested
... status ?!SΣ1..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:LaboratorySlice SΣ1..1CodeableConceptService category
Binding: DiagnosticServiceSectionCodes (example): 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(QICoreEncounter)Health care event when test ordered
... effective[x] SΣ1..1Specimen Collection Datetime or Period
.... effectiveDateTimedateTime
.... effectivePeriodPeriod
... issued SΣ1..1instantDateTime this version was made
... performer SΣ0..*Reference(QICorePractitioner | 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(QICoreImagingStudy)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.categoryexampleDiagnosticServiceSectionCodes
DiagnosticReport.category:LaboratorySliceexamplePattern: 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()
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())