openIMIS FHIR R4 Implementation Guide
1.0.0 - ci-build

openIMIS FHIR R4 Implementation Guide - Local Development build (v1.0.0). See the Directory of published versions

Resource Profile: openIMIS Communication

Official URL: https://openimis.github.io/openimis_fhir_r4_ig/StructureDefinition/openimis-communication Version: 1.0.0
Active as of 2022-05-31 Responsible: openIMIS Initiative Computable Name: OpenIMISCommunication

Defines a Communication for openIMIS which maps to the Feedback in openIMIS.

Usage:

Formal Views of Profile Content

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

This structure is derived from Communication

Summary

Mandatory: 14 elements
Prohibited: 19 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element Communication.payload is sliced based on the value of value:extension[type].valueCodeableConcept.coding.code (Closed)

 

Other representations of profile: CSV, Excel, Schematron

Terminology Bindings

PathConformanceValueSet / Code
Communication.languagepreferredCommonLanguages
Max Binding: AllLanguages
Communication.statusrequiredPattern: completed
Communication.payload:CareRendered.extension:type.value[x]:valueCodeableConceptrequiredPattern: CareRendered
Communication.payload:PaymentAsked.extension:type.value[x]:valueCodeableConceptrequiredPattern: PaymentAsked
Communication.payload:DrugPrescribed.extension:type.value[x]:valueCodeableConceptrequiredPattern: DrugPrescribed
Communication.payload:DrugReceived.extension:type.value[x]:valueCodeableConceptrequiredPattern: DrugReceived
Communication.payload:Asessment.extension:type.value[x]:valueCodeableConceptrequiredPattern: Asessment

Constraints

IdGradePathDetailsRequirements
dom-2errorCommunicationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorCommunicationIf 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-4errorCommunicationIf 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-5errorCommunicationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6Best PracticeCommunicationA resource should have narrative for robust management
: text.`div`.exists()
ele-1errorCommunication.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCommunication.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCommunication.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCommunication.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCommunication.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.subjectAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.aboutAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.payloadAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.payload.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCommunication.payload.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCommunication.payload.extension:typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCommunication.payload.extension:typeMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCommunication.payload.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCommunication.payload.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCommunication.payload.content[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.payload:CareRenderedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.payload:CareRendered.extension:typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCommunication.payload:CareRendered.extension:typeMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCommunication.payload:CareRendered.extension:type.value[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.payload:CareRendered.extension:type.value[x]:valueCodeableConceptAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.payload:CareRendered.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCommunication.payload:CareRendered.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCommunication.payload:CareRendered.content[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.payload:PaymentAskedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.payload:PaymentAsked.extension:typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCommunication.payload:PaymentAsked.extension:typeMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCommunication.payload:PaymentAsked.extension:type.value[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.payload:PaymentAsked.extension:type.value[x]:valueCodeableConceptAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.payload:PaymentAsked.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCommunication.payload:PaymentAsked.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCommunication.payload:PaymentAsked.content[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.payload:DrugPrescribedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.payload:DrugPrescribed.extension:typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCommunication.payload:DrugPrescribed.extension:typeMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCommunication.payload:DrugPrescribed.extension:type.value[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.payload:DrugPrescribed.extension:type.value[x]:valueCodeableConceptAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.payload:DrugPrescribed.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCommunication.payload:DrugPrescribed.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCommunication.payload:DrugPrescribed.content[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.payload:DrugReceivedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.payload:DrugReceived.extension:typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCommunication.payload:DrugReceived.extension:typeMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCommunication.payload:DrugReceived.extension:type.value[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.payload:DrugReceived.extension:type.value[x]:valueCodeableConceptAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.payload:DrugReceived.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCommunication.payload:DrugReceived.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCommunication.payload:DrugReceived.content[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.payload:AsessmentAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.payload:Asessment.extension:typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCommunication.payload:Asessment.extension:typeMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCommunication.payload:Asessment.extension:type.value[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.payload:Asessment.extension:type.value[x]:valueCodeableConceptAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.payload:Asessment.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCommunication.payload:Asessment.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCommunication.payload:Asessment.content[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())