OpenMRS Core FHIR Implementation Guide
0.1.0 - ci-build

OpenMRS Core FHIR Implementation Guide, published by . This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/openmrs/openmrs-contrib-fhir2-ig/ and changes regularly. See the Directory of published versions

Resource Profile: OpenMRS Diagnostic Report

Official URL: http://fhir.openmrs.org/core/StructureDefinition/OpenMRS-diagnostic-report Version: 0.1.0
Active as of 2024-12-11 Computable Name: OpenMRSDiagnosticReport

DiagnosticReport resource created by a OpenMRS that representing results of diagnostic tests that are performed in a given clinical context.

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 A Diagnostic report - a combination of request information, atomic results, images, interpretation, as well as formatted reports
... id 1..1 id Logical id of this artifact
... status 1..1 code registered | partial | preliminary | final +
... code 1..1 CodeableConcept Name/Code for this diagnostic report
.... coding 0..* Coding Code defined by a terminology system
Binding: OpenMRS Order Code (required)
... encounter 0..1 Reference(Encounter) Health care event when test ordered
... issued 0..1 instant DateTime this version was made
... result 0..* Reference(OpenMRS Observation) Observations

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
DiagnosticReport.code.codingrequiredOpenMRSOrderCodeVS (a valid code from LOINC)
http://fhir.openmrs.org/core/ValueSet/OpenMRS-order-code-vs
from this IG
NameFlagsCard.TypeDescription & Constraintsdoco
.. DiagnosticReport 0..* DiagnosticReport A Diagnostic report - a combination of request information, atomic results, images, interpretation, as well as formatted reports
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
... id Σ 1..1 id Logical id of this artifact
... 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
... code Σ 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
.... coding Σ 0..* Coding Code defined by a terminology system
Binding: OpenMRS Order Code (required)
ele-1: All FHIR elements must have a @value or children
... subject Σ 0..1 Reference(Patient | Group | Device | Location) The subject of the report - usually, but not always, the patient
ele-1: All FHIR elements must have a @value or children
... encounter Σ 0..1 Reference(Encounter) Health care event when test ordered
ele-1: All FHIR elements must have a @value or children
... issued Σ 0..1 instant DateTime this version was made
ele-1: All FHIR elements must have a @value or children
... result 0..* Reference(OpenMRS Observation) Observations
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|4.0.1
from the FHIR Standard
DiagnosticReport.codepreferredLOINCDiagnosticReportCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/report-codes
from the FHIR Standard
DiagnosticReport.code.codingrequiredOpenMRSOrderCodeVS (a valid code from LOINC)
http://fhir.openmrs.org/core/ValueSet/OpenMRS-order-code-vs
from this IG

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 A Diagnostic report - a combination of request information, atomic results, images, interpretation, as well as formatted reports
... id Σ 1..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 ?!Σ 1..1 code registered | partial | preliminary | final +
Binding: DiagnosticReportStatus (required): The status of the diagnostic report.

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


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

.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ 0..* Coding Code defined by a terminology system
Binding: OpenMRS Order Code (required)
.... text Σ 0..1 string Plain text representation of the concept
... subject Σ 0..1 Reference(Patient | Group | Device | Location) The subject of the report - usually, but not always, the patient
... encounter Σ 0..1 Reference(Encounter) Health care event when test ordered
... effective[x] Σ 0..1 Clinically relevant time/time-period for report
.... effectiveDateTime dateTime
.... effectivePeriod Period
... issued Σ 0..1 instant DateTime this version was made
... performer Σ 0..* Reference(Practitioner | PractitionerRole | Organization | CareTeam) 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(OpenMRS Observation) Observations
... imagingStudy 0..* Reference(ImagingStudy) Reference to full details of imaging associated with the diagnostic report
... media Σ 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 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|4.0.1
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.code.codingrequiredOpenMRSOrderCodeVS (a valid code from LOINC)
http://fhir.openmrs.org/core/ValueSet/OpenMRS-order-code-vs
from this IG
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()

This structure is derived from DiagnosticReport

Summary

Mandatory: 1 element

Structures

This structure refers to these other structures:

Differential View

This structure is derived from DiagnosticReport

NameFlagsCard.TypeDescription & Constraintsdoco
.. DiagnosticReport 0..* DiagnosticReport A Diagnostic report - a combination of request information, atomic results, images, interpretation, as well as formatted reports
... id 1..1 id Logical id of this artifact
... status 1..1 code registered | partial | preliminary | final +
... code 1..1 CodeableConcept Name/Code for this diagnostic report
.... coding 0..* Coding Code defined by a terminology system
Binding: OpenMRS Order Code (required)
... encounter 0..1 Reference(Encounter) Health care event when test ordered
... issued 0..1 instant DateTime this version was made
... result 0..* Reference(OpenMRS Observation) Observations

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
DiagnosticReport.code.codingrequiredOpenMRSOrderCodeVS (a valid code from LOINC)
http://fhir.openmrs.org/core/ValueSet/OpenMRS-order-code-vs
from this IG

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. DiagnosticReport 0..* DiagnosticReport A Diagnostic report - a combination of request information, atomic results, images, interpretation, as well as formatted reports
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
... id Σ 1..1 id Logical id of this artifact
... 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
... code Σ 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
.... coding Σ 0..* Coding Code defined by a terminology system
Binding: OpenMRS Order Code (required)
ele-1: All FHIR elements must have a @value or children
... subject Σ 0..1 Reference(Patient | Group | Device | Location) The subject of the report - usually, but not always, the patient
ele-1: All FHIR elements must have a @value or children
... encounter Σ 0..1 Reference(Encounter) Health care event when test ordered
ele-1: All FHIR elements must have a @value or children
... issued Σ 0..1 instant DateTime this version was made
ele-1: All FHIR elements must have a @value or children
... result 0..* Reference(OpenMRS Observation) Observations
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|4.0.1
from the FHIR Standard
DiagnosticReport.codepreferredLOINCDiagnosticReportCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/report-codes
from the FHIR Standard
DiagnosticReport.code.codingrequiredOpenMRSOrderCodeVS (a valid code from LOINC)
http://fhir.openmrs.org/core/ValueSet/OpenMRS-order-code-vs
from this IG

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 A Diagnostic report - a combination of request information, atomic results, images, interpretation, as well as formatted reports
... id Σ 1..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 ?!Σ 1..1 code registered | partial | preliminary | final +
Binding: DiagnosticReportStatus (required): The status of the diagnostic report.

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


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

.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ 0..* Coding Code defined by a terminology system
Binding: OpenMRS Order Code (required)
.... text Σ 0..1 string Plain text representation of the concept
... subject Σ 0..1 Reference(Patient | Group | Device | Location) The subject of the report - usually, but not always, the patient
... encounter Σ 0..1 Reference(Encounter) Health care event when test ordered
... effective[x] Σ 0..1 Clinically relevant time/time-period for report
.... effectiveDateTime dateTime
.... effectivePeriod Period
... issued Σ 0..1 instant DateTime this version was made
... performer Σ 0..* Reference(Practitioner | PractitionerRole | Organization | CareTeam) 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(OpenMRS Observation) Observations
... imagingStudy 0..* Reference(ImagingStudy) Reference to full details of imaging associated with the diagnostic report
... media Σ 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 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|4.0.1
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.code.codingrequiredOpenMRSOrderCodeVS (a valid code from LOINC)
http://fhir.openmrs.org/core/ValueSet/OpenMRS-order-code-vs
from this IG
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()

This structure is derived from DiagnosticReport

Summary

Mandatory: 1 element

Structures

This structure refers to these other structures:

 

Other representations of profile: CSV, Excel, Schematron