QI-Core Implementation Guide: STU 4 (v4.0.0 for FHIR 4.0.1)

QI-Core Implementation Guide - This is the current published version.. See the Directory of published versions

D.4.1 StructureDefinition-qicore-diagnosticreport-lab

Introduction:

See the patterns page for implementation and usage patterns.

Examples:

Blood Panel Example

D.4.1.1 Formal Views of Profile Content

The official URL for this profile is:

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

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.

This profile builds on USCoreDiagnosticReportProfileLaboratoryReporting.

This profile was published on Wed Aug 22 00:00:00 UTC 2018 as a draft by Health Level Seven, Inc. - CQI WG.

Description of Profiles, Differentials, and Snapshots.

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 ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... language I0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension I0..*ExtensionExtension
Slice: Unordered, Open by value:url
... diagnosticReport-locationPerformed I0..1Reference(Location)Location Performed
URL: http://hl7.org/fhir/StructureDefinition/diagnosticReport-locationPerformed
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..0
.... url 1..1uri"http://hl7.org/fhir/StructureDefinition/diagnosticReport-locationPerformed"
.... value[x] I1..1(Slice Definition)Value of extension
Slice: Unordered, Closed by type:$this
..... value[x]:valueReference I1..1Reference(QICoreLocation)Value of extension
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... identifier ΣI0..*IdentifierBusiness identifier for report
... basedOn I0..*Reference(CarePlan | QICoreImmunizationRecommendation | QICoreMedicationRequest | NutritionOrder | QICoreServiceRequest)What was requested
... status ?!ΣI1..1coderegistered | partial | preliminary | final +
Binding: DiagnosticReportStatus (required)
... category SΣI1..*(Slice Definition)Service category
Slice: Unordered, Open by pattern:$this
Binding: DiagnosticServiceSectionCodes (example)
.... category:LaboratorySlice SΣI1..1CodeableConceptService category
Binding: DiagnosticServiceSectionCodes (example)

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 ΣI1..1CodeableConceptUS Core Laboratory Report Order Code
Binding: US Core Diagnostic Report Laboratory Codes (extensible)
... subject ΣI1..1Reference(QICorePatient)The subject of the report - usually, but not always, the patient
... encounter ΣI0..1Reference(QICoreEncounter)Health care event when test ordered
... effective[x] ΣI1..1Specimen Collection Datetime or Period
.... effectiveDateTimedateTime
.... effectivePeriodPeriod
... issued ΣI1..1instantDateTime this version was made
... performer ΣI0..*Reference(QICorePractitioner | QICoreOrganization)Responsible Diagnostic Service
... resultsInterpreter ΣI0..*Reference(Practitioner | PractitionerRole | Organization | CareTeam)Primary result interpreter
... specimen I0..*Reference(QICoreSpecimen)Specimens this report is based on
... result SI0..*Reference(US Core Laboratory Result Observation Profile)Observations
... imagingStudy SI0..*Reference(QICoreImagingStudy)Reference to full details of imaging associated with the diagnostic report
... media ΣI0..*BackboneElementKey images associated with this report
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... comment I0..1stringComment about the image (e.g. explanation)
.... link ΣI1..1Reference(Media)Reference to the image source
... conclusion SI0..1stringClinical conclusion (interpretation) of test results
... conclusionCode SI0..*CodeableConceptCodes for the clinical conclusion of test results
Binding: SNOMEDCTClinicalFindings (preferred)
... presentedForm I0..*AttachmentEntire report as issued

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 ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... language I0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension I0..*ExtensionExtension
Slice: Unordered, Open by value:url
... diagnosticReport-locationPerformed I0..1Reference(Location)Location Performed
URL: http://hl7.org/fhir/StructureDefinition/diagnosticReport-locationPerformed
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..0
.... url 1..1uri"http://hl7.org/fhir/StructureDefinition/diagnosticReport-locationPerformed"
.... value[x] I1..1(Slice Definition)Value of extension
Slice: Unordered, Closed by type:$this
..... value[x]:valueReference I1..1Reference(QICoreLocation)Value of extension
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... identifier ΣI0..*IdentifierBusiness identifier for report
... basedOn I0..*Reference(CarePlan | QICoreImmunizationRecommendation | QICoreMedicationRequest | NutritionOrder | QICoreServiceRequest)What was requested
... status ?!ΣI1..1coderegistered | partial | preliminary | final +
Binding: DiagnosticReportStatus (required)
... category SΣI1..*(Slice Definition)Service category
Slice: Unordered, Open by pattern:$this
Binding: DiagnosticServiceSectionCodes (example)
.... category:LaboratorySlice SΣI1..1CodeableConceptService category
Binding: DiagnosticServiceSectionCodes (example)

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 ΣI1..1CodeableConceptUS Core Laboratory Report Order Code
Binding: US Core Diagnostic Report Laboratory Codes (extensible)
... subject ΣI1..1Reference(QICorePatient)The subject of the report - usually, but not always, the patient
... encounter ΣI0..1Reference(QICoreEncounter)Health care event when test ordered
... effective[x] ΣI1..1Specimen Collection Datetime or Period
.... effectiveDateTimedateTime
.... effectivePeriodPeriod
... issued ΣI1..1instantDateTime this version was made
... performer ΣI0..*Reference(QICorePractitioner | QICoreOrganization)Responsible Diagnostic Service
... resultsInterpreter ΣI0..*Reference(Practitioner | PractitionerRole | Organization | CareTeam)Primary result interpreter
... specimen I0..*Reference(QICoreSpecimen)Specimens this report is based on
... result SI0..*Reference(US Core Laboratory Result Observation Profile)Observations
... imagingStudy SI0..*Reference(QICoreImagingStudy)Reference to full details of imaging associated with the diagnostic report
... media ΣI0..*BackboneElementKey images associated with this report
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... comment I0..1stringComment about the image (e.g. explanation)
.... link ΣI1..1Reference(Media)Reference to the image source
... conclusion SI0..1stringClinical conclusion (interpretation) of test results
... conclusionCode SI0..*CodeableConceptCodes for the clinical conclusion of test results
Binding: SNOMEDCTClinicalFindings (preferred)
... presentedForm I0..*AttachmentEntire report as issued

doco Documentation for this format

 

D.4.1.2 Terminology Bindings

Terminology Bindings

PathConformanceValueSet / Code
DiagnosticReport.languagepreferredCommonLanguages
Max Binding: AllLanguages
DiagnosticReport.statusrequiredDiagnosticReportStatus
DiagnosticReport.categoryexampleDiagnosticServiceSectionCodes
DiagnosticReport.category:LaboratorySliceexamplePattern: LAB
DiagnosticReport.codeextensibleUSCoreDiagnosticReportLabCodes
DiagnosticReport.conclusionCodepreferredSNOMEDCTClinicalFindings

D.4.1.3 Constraints

Constraints

IdPathDetailsRequirements
dom-2DiagnosticReportIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3DiagnosticReportIf 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-4DiagnosticReportIf 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-5DiagnosticReportIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6DiagnosticReportA resource should have narrative for robust management
: text.`div`.exists()
ele-1DiagnosticReport.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DiagnosticReport.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DiagnosticReport.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DiagnosticReport.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DiagnosticReport.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1DiagnosticReport.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1DiagnosticReport.extension:locationPerformedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1DiagnosticReport.extension:locationPerformedMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1DiagnosticReport.extension:locationPerformed.value[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DiagnosticReport.extension:locationPerformed.value[x]:valueReferenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DiagnosticReport.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1DiagnosticReport.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1DiagnosticReport.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DiagnosticReport.basedOnAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DiagnosticReport.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DiagnosticReport.categoryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DiagnosticReport.category:LaboratorySliceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DiagnosticReport.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DiagnosticReport.subjectAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DiagnosticReport.encounterAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DiagnosticReport.effective[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DiagnosticReport.issuedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DiagnosticReport.performerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DiagnosticReport.resultsInterpreterAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DiagnosticReport.specimenAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DiagnosticReport.resultAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DiagnosticReport.imagingStudyAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DiagnosticReport.mediaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DiagnosticReport.media.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1DiagnosticReport.media.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1DiagnosticReport.media.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1DiagnosticReport.media.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1DiagnosticReport.media.commentAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DiagnosticReport.media.linkAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DiagnosticReport.conclusionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DiagnosticReport.conclusionCodeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1DiagnosticReport.presentedFormAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())