WHO Digital Documentation of COVID-19 Certificates (DDCC)
1.0.0 - CI Build International flag

This is the continuous build for version 1.0.0. This version is based on the current content of https://github.com/WorldHealthOrganization/ddcc and changes regularly.

Resource Profile: DDCC Diagnostic Report

Official URL: http://worldhealthorganization.github.io/ddcc/StructureDefinition/DDCCDiagnosticReport Version: 1.0.0
Active as of 2022-06-01 Computable Name: DDCCDiagnosticReport

A DDCC Diagnostic Report contains the content corresponding to a row in the Test Events section of a Paper DDCC. While this is not a further profile of the International Patient Summary (IPS) DiagnosticReport resouce, this is intended to map into an IPS DiagnosticReport resource.

Usage:

Formal Views of Profile Content

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

This structure is derived from DiagnosticReportUvIps

This structure is derived from DiagnosticReportUvIps

NameFlagsCard.TypeDescription & Constraintsdoco
.. DiagnosticReport 0..*DiagnosticReportUvIpsA Diagnostic report - a combination of request information, atomic results, images, interpretation, as well as formatted reports
... code 1..1CodeableConceptIPSConcept - reference to a terminology or just text
Binding: WHO Type of Covid-19 Test (required)
... effective[x] 1..1dateTimeClinically relevant time/time-period for report
... specimen S1..1Reference(DDCC Specimen)Specimens this report is based on
... result:observation-results 0..1Reference(DDCC Observation)Observations

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. DiagnosticReport S0..*DiagnosticReportUvIpsA 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
... 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 ?!SΣ1..1coderegistered | partial | preliminary | final +
Binding: DiagnosticReportStatus (required): The status of the diagnostic report.


Fixed Value: final
... category S1..1CodeableConceptIPSConcept - reference to a terminology or just text
Binding: DiagnosticServiceSectionCodes (example): Codes for diagnostic service sections.


... code S1..1CodeableConceptIPSConcept - reference to a terminology or just text
Binding: WHO Type of Covid-19 Test (required)
... subject SΣ1..1Reference(Patient (IPS) | Group)The subject of the report - usually, but not always, the patient
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... reference SΣI1..1stringLiteral reference, Relative, internal or absolute URL
.... type Σ0..1uriType the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

.... identifier Σ0..1IdentifierLogical reference, when literal reference is not known
.... display Σ0..1stringText alternative for the resource
... encounter Σ0..1Reference(Encounter)Health care event when test ordered
... effective[x] SΣ1..1dateTimeClinically relevant time/time-period for report
.... id 0..1stringUnique id for inter-element referencing
.... data-absent-reason S0..1codeeffective[x] absence reason
URL: http://hl7.org/fhir/StructureDefinition/data-absent-reason
Slice: Unordered, Open by value:url
Binding: DataAbsentReason (required): Used to specify why the normally expected content of the data element is missing.


... issued Σ0..1instantDateTime this version was made
... performer SΣ0..*Reference(Practitioner (IPS) | PractitionerRole (IPS) | Organization (IPS) | CareTeam)Responsible Diagnostic Service
... resultsInterpreter Σ0..*Reference(Practitioner | PractitionerRole | Organization | CareTeam)Primary result interpreter
... specimen S1..1Reference(DDCC Specimen)Specimens this report is based on
... Slices for result S1..1Reference(DDCC Observation)Observation results included in the diagnostic report.
Slice: Unordered, Open by profile:$this.resolve()
.... result:observation-results S0..1Reference(DDCC 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..*DiagnosticReportUvIpsA 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): The status of the diagnostic report.


Fixed Value: final
... category 1..1CodeableConceptIPSConcept - reference to a terminology or just text
Binding: DiagnosticServiceSectionCodes (example): Codes for diagnostic service sections.


... code 1..1CodeableConceptIPSConcept - reference to a terminology or just text
Binding: WHO Type of Covid-19 Test (required)
.... reference ΣI1..1stringLiteral reference, Relative, internal or absolute URL
... effective[x] Σ1..1dateTimeClinically relevant time/time-period for report
.... data-absent-reason 0..1codeeffective[x] absence reason
URL: http://hl7.org/fhir/StructureDefinition/data-absent-reason
Slice: Unordered, Open by value:url
Binding: DataAbsentReason (required): Used to specify why the normally expected content of the data element is missing.


... performer Σ0..*Reference(Practitioner (IPS) | PractitionerRole (IPS) | Organization (IPS) | CareTeam)Responsible Diagnostic Service
... specimen 1..1Reference(DDCC Specimen)Specimens this report is based on
... Slices for result 1..1Reference(DDCC Observation)Observation results included in the diagnostic report.
Slice: Unordered, Open by profile:$this.resolve()
.... result:observation-results 0..1Reference(DDCC Observation)Observations

doco Documentation for this format

This structure is derived from DiagnosticReportUvIps

Differential View

This structure is derived from DiagnosticReportUvIps

NameFlagsCard.TypeDescription & Constraintsdoco
.. DiagnosticReport 0..*DiagnosticReportUvIpsA Diagnostic report - a combination of request information, atomic results, images, interpretation, as well as formatted reports
... code 1..1CodeableConceptIPSConcept - reference to a terminology or just text
Binding: WHO Type of Covid-19 Test (required)
... effective[x] 1..1dateTimeClinically relevant time/time-period for report
... specimen S1..1Reference(DDCC Specimen)Specimens this report is based on
... result:observation-results 0..1Reference(DDCC Observation)Observations

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. DiagnosticReport S0..*DiagnosticReportUvIpsA 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
... 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 ?!SΣ1..1coderegistered | partial | preliminary | final +
Binding: DiagnosticReportStatus (required): The status of the diagnostic report.


Fixed Value: final
... category S1..1CodeableConceptIPSConcept - reference to a terminology or just text
Binding: DiagnosticServiceSectionCodes (example): Codes for diagnostic service sections.


... code S1..1CodeableConceptIPSConcept - reference to a terminology or just text
Binding: WHO Type of Covid-19 Test (required)
... subject SΣ1..1Reference(Patient (IPS) | Group)The subject of the report - usually, but not always, the patient
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... reference SΣI1..1stringLiteral reference, Relative, internal or absolute URL
.... type Σ0..1uriType the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

.... identifier Σ0..1IdentifierLogical reference, when literal reference is not known
.... display Σ0..1stringText alternative for the resource
... encounter Σ0..1Reference(Encounter)Health care event when test ordered
... effective[x] SΣ1..1dateTimeClinically relevant time/time-period for report
.... id 0..1stringUnique id for inter-element referencing
.... data-absent-reason S0..1codeeffective[x] absence reason
URL: http://hl7.org/fhir/StructureDefinition/data-absent-reason
Slice: Unordered, Open by value:url
Binding: DataAbsentReason (required): Used to specify why the normally expected content of the data element is missing.


... issued Σ0..1instantDateTime this version was made
... performer SΣ0..*Reference(Practitioner (IPS) | PractitionerRole (IPS) | Organization (IPS) | CareTeam)Responsible Diagnostic Service
... resultsInterpreter Σ0..*Reference(Practitioner | PractitionerRole | Organization | CareTeam)Primary result interpreter
... specimen S1..1Reference(DDCC Specimen)Specimens this report is based on
... Slices for result S1..1Reference(DDCC Observation)Observation results included in the diagnostic report.
Slice: Unordered, Open by profile:$this.resolve()
.... result:observation-results S0..1Reference(DDCC 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 / Code
DiagnosticReport.languagepreferredCommonLanguages
Max Binding: AllLanguages
DiagnosticReport.statusrequiredFixed Value: final
DiagnosticReport.categoryexampleDiagnosticServiceSectionCodes
DiagnosticReport.coderequiredWHO_DDCC_Type_of_Test_COVID_19
DiagnosticReport.subject.typeextensibleResourceType
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.subjectAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDiagnosticReport.subject.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorDiagnosticReport.subject.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorDiagnosticReport.subject.referenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDiagnosticReport.subject.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDiagnosticReport.subject.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDiagnosticReport.subject.displayAll 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.effective[x].extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorDiagnosticReport.effective[x].extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
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.result:observation-resultsAll 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())