OpenMRS FHIR2 Implementation Guide
0.1.0 - ci-build

OpenMRS FHIR2 Implementation Guide - Local Development build (v0.1.0). See the Directory of published versions

Resource Profile: OpenMRS Diagnostic Report

Official URL: http://fhir.openmrs.org/fhir/StructureDefinition/OpenMRS-diagnostic-report Version: 0.1.0
Active as of 2022-09-20 Computable Name: OpenMRSDiagnosticReport

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

Usage:

  • This Resource Profile is not used by any profiles in this Implementation Guide

Formal Views of Profile Content

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

This structure is derived from DiagnosticReport

Summary

Mandatory: 1 element

Structures

This structure refers to these other structures:

This structure is derived from DiagnosticReport

NameFlagsCard.TypeDescription & Constraintsdoco
.. DiagnosticReport 0..*DiagnosticReportA Diagnostic report - a combination of request information, atomic results, images, interpretation, as well as formatted reports
... code
.... coding 1..*CodingCode defined by a terminology system
Binding: OpenMRS Order Code (required)
... result 0..*Reference(OpenMRS Observation)Observations

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. DiagnosticReport 0..*DiagnosticReportA Diagnostic report - a combination of request information, atomic results, images, interpretation, as well as formatted reports
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierBusiness identifier for report
... basedOn 0..*Reference(CarePlan | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest)What was requested
... status ?!Σ1..1coderegistered | partial | preliminary | final +
Binding: DiagnosticReportStatus (required): The status of the diagnostic report.

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


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

.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ1..*CodingCode defined by a terminology system
Binding: OpenMRS Order Code (required)
.... text Σ0..1stringPlain text representation of the concept
... subject Σ0..1Reference(Patient | Group | Device | Location)The subject of the report - usually, but not always, the patient
... encounter Σ0..1Reference(Encounter)Health care event when test ordered
... effective[x] Σ0..1Clinically relevant time/time-period for report
.... effectiveDateTimedateTime
.... effectivePeriodPeriod
... issued Σ0..1instantDateTime 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..*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 0..1stringClinical conclusion (interpretation) of test results
... conclusionCode 0..*CodeableConceptCodes for the clinical conclusion of test results
Binding: SNOMEDCTClinicalFindings (example): Diagnosis codes provided as adjuncts to the report.


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

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. DiagnosticReport 0..*DiagnosticReportA Diagnostic report - a combination of request information, atomic results, images, interpretation, as well as formatted reports

doco Documentation for this format

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..*DiagnosticReportA Diagnostic report - a combination of request information, atomic results, images, interpretation, as well as formatted reports
... code
.... coding 1..*CodingCode defined by a terminology system
Binding: OpenMRS Order Code (required)
... result 0..*Reference(OpenMRS Observation)Observations

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. DiagnosticReport 0..*DiagnosticReportA Diagnostic report - a combination of request information, atomic results, images, interpretation, as well as formatted reports
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierBusiness identifier for report
... basedOn 0..*Reference(CarePlan | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest)What was requested
... status ?!Σ1..1coderegistered | partial | preliminary | final +
Binding: DiagnosticReportStatus (required): The status of the diagnostic report.

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


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

.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ1..*CodingCode defined by a terminology system
Binding: OpenMRS Order Code (required)
.... text Σ0..1stringPlain text representation of the concept
... subject Σ0..1Reference(Patient | Group | Device | Location)The subject of the report - usually, but not always, the patient
... encounter Σ0..1Reference(Encounter)Health care event when test ordered
... effective[x] Σ0..1Clinically relevant time/time-period for report
.... effectiveDateTimedateTime
.... effectivePeriodPeriod
... issued Σ0..1instantDateTime 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..*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 0..1stringClinical conclusion (interpretation) of test results
... conclusionCode 0..*CodeableConceptCodes for the clinical conclusion of test results
Binding: SNOMEDCTClinicalFindings (example): Diagnosis codes provided as adjuncts to the report.


... presentedForm 0..*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.codepreferredLOINCDiagnosticReportCodes
DiagnosticReport.code.codingrequiredOpenMRSOrderCodeVS
DiagnosticReport.conclusionCodeexampleSNOMEDCTClinicalFindings

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.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.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDiagnosticReport.code.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorDiagnosticReport.code.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorDiagnosticReport.code.codingAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDiagnosticReport.code.textAll 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())