Patient Request for Corrections Implementation Guide
1.0.0 - STU 1 Ballot International flag

Patient Request for Corrections Implementation Guide, published by HL7 International - Patient Empowerment Workgroup. This is not an authorized publication; it is the continuous build for version 1.0.0). This version is based on the current content of https://github.com/HL7/fhir-patient-correction/ and changes regularly. See the Directory of published versions

Resource Profile: PatientCorrectionCommunication - Detailed Descriptions

Draft as of 2023-09-11

Definitions for the patient-correction-communication resource profile.

Guidance on how to interpret the contents of this table can be found here

0. Communication
2. Communication.partOf
Definition

The initial communication sent by a Requester for a record correction.

ShortInitial Patient Correction Communication resource for this request.
Comments

When creating an initial correct request, this element SHALL be empty. Subsequent communications in either direction (to or from the patient) SHALL populate this element with a reference to the original communication requesting a correction.

Control0..1
TypeReference(Patient Correction Communication)
Must Supporttrue
4. Communication.inResponseTo
Comments

Patient Correction Request Communication that this is in response to. This will only be filled in if it represents a response to another Communication resource. It can be used to query and assemble conversation threads related to the request process.

Control0..1
TypeReference(Patient Correction Communication)
Must Supporttrue
6. Communication.status
ShortFixed: completed.
Pattern Valuecompleted
8. Communication.category
Control1..1
BindingThe codes SHALL be taken from Patient Correction Communication Types Value Set
Must Supporttrue
10. Communication.subject
ShortThe Patient that the correction request or the log disagreement applies to.
Control1..?
TypeReference(Patient)
Must Supporttrue
12. Communication.topic
ShortA heading/subject line for the message being sent.
Comments

Equivalent to the subject line in an email thread.

Must Supporttrue
14. Communication.about
SlicingThis element introduces a set of slices on Communication.about. The slices are unordered and Open, and can be differentiated using the following discriminators: , and can be differentiated using the following discriminators:
  • type @ reference
16. Communication.about:correctionTask
Slice NamecorrectionTask
Definition

A server-created Correction Task for servicing this correction request.

ShortPatient Correction Task requesting a correction.
Comments

When creating an initial correction request, this element SHALL be empty. If a processing system creates a Task resource related to a correction request, the server SHALL add a reference to that Task here. Any subsequent communication requests regarding the same correction request SHALL reference the relevant Task if present.

Control0..1
TypeReference(Patient Correction Task)
Must Supporttrue
18. Communication.sent
ShortWhen this communication was sent
Comments

The date that this particular part of the conversation is sent. On the initial request from the Requestor for either correction or logging a disagreement, this date/time will be used as Task.authoredOn to signify when the process was initiated on the Fulfiller.

Control1..?
20. Communication.recipient
ShortMessage recipient: either a Requestor or a Fulfiller
Comments

Depending on the direction of the patient correction communication, the recipient of the communication may be the Fulfiller or it may be the Requester.

Control1..?
TypeReference(Patient, RelatedPerson, Practitioner, PractitionerRole, Organization, CareTeam, HealthcareService)
Must Supporttrue
Must Support TypesNo must-support rules about the choice of types/profiles
22. Communication.sender
ShortMessage sender: either a Requestor or a Fulfiller
Comments

Depending on the direction of the patient correction communication, the sender of the communication may be the Requester or it may be the Fulfiller. If spawning a Task relating to an initial request (for either correction or logging of disagreement), the Fulfiller SHALL use this sender to represent the Task.requester.

Control1..?
TypeReference(Patient, RelatedPerson, Practitioner, PractitionerRole, Organization, HealthcareService)
Must Supporttrue
Must Support TypesNo must-support rules about the choice of types/profiles
24. Communication.payload
ShortContents of this communication.
Comments

The contents of this particular conversation component. If this is the original correction request or logging of a disagreement, then the payload would contain the request. If it is the final outcome of the request, then the payload would contain the final outcome information. Otherwise it contains a single message in back and forth conversation needed to process the initial request. Since it is possible to have a Communication resource reference a conversation held outside of the FHIR Rest protocol (email, mail, portal messaging - see Communication.channel) the minimum cardinality is zero. However, it is expected in most cases payload will be valued.

Must Supporttrue
26. Communication.note
ShortNon-actionable notes about this communication.
Comments

If there is NOT a Task created to work on a correction request, this element MAY contain notes from those that are working on a correction. Notes from Requestors SHOULD be placed into additional communications, so that Fulfillers review them. This element SHALL NOT contain actionable requests from either Requestors or Fulfillers.

Guidance on how to interpret the contents of this table can be found here

0. Communication
Definition

An occurrence of information being transmitted; e.g. an alert that was sent to a responsible provider, a public health agency that was notified about a reportable condition.

ShortA record of information transmitted from a sender to a receiver
Control0..*
Is Modifierfalse
Summaryfalse
Invariantsdom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources (contained.contained.empty())
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 (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-4: If 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-5: If a resource is contained in another resource, it SHALL NOT have a security label (contained.meta.security.empty())
dom-6: A resource should have narrative for robust management (text.`div`.exists())
2. Communication.implicitRules
Definition

A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.

ShortA set of rules under which this content was created
Comments

Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.

Control0..1
Typeuri
Is Modifiertrue because This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
4. Communication.modifierExtension
Definition

May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

ShortExtensions that cannot be ignored
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Control0..*
TypeExtension
Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them
Summaryfalse
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Alternate Namesextensions, user content
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
6. Communication.partOf
Definition

The initial communication sent by a Requester for a record correction.


Part of this action.

ShortInitial Patient Correction Communication resource for this request.Part of this action
Comments

When creating an initial correct request, this element SHALL be empty. Subsequent communications in either direction (to or from the patient) SHALL populate this element with a reference to the original communication requesting a correction.

Control0..1*
TypeReference(Patient Correction Communication, Resource)
Is Modifierfalse
Must Supporttrue
Summarytrue
Alternate Namescontainer
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
8. Communication.inResponseTo
Definition

Prior communication that this communication is in response to.

ShortReply to
Comments

Patient Correction Request Communication that this is in response to. This will only be filled in if it represents a response to another Communication resource. It can be used to query and assemble conversation threads related to the request process.

Control0..1*
TypeReference(Patient Correction Communication, Communication)
Is Modifierfalse
Must Supporttrue
Summaryfalse
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
10. Communication.status
Definition

The status of the transmission.

ShortFixed: completed.preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
Comments

This element is labeled as a modifier because the status contains the codes aborted and entered-in-error that mark the communication as not currently valid.

Control1..1
BindingThe codes SHALL be taken from EventStatushttp://hl7.org/fhir/ValueSet/event-status|4.0.1

The status of the communication.

Typecode
Is Modifiertrue because This element is labelled as a modifier because it is a status element that contains status entered-in-error which means that the resource should not be treated as valid
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Summarytrue
Pattern Valuecompleted
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
12. Communication.category
Definition

The type of message conveyed such as alert, notification, reminder, instruction, etc.

ShortMessage category
Comments

There may be multiple axes of categorization and one communication may serve multiple purposes.

Control10..1*
BindingThe codes SHALL be taken from For example codes, see Patient Correction Communication Types Value Sethttp://hl7.org/fhir/ValueSet/communication-category
TypeCodeableConcept
Is Modifierfalse
Must Supporttrue
Summaryfalse
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
14. Communication.subject
Definition

The patient or group that was the focus of this communication.

ShortThe Patient that the correction request or the log disagreement applies to.Focus of message
Control10..1
TypeReference(Patient, Group)
Is Modifierfalse
Must Supporttrue
Summarytrue
Alternate Namespatient
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
16. Communication.topic
Definition

Description of the purpose/content, similar to a subject line in an email.

ShortA heading/subject line for the message being sent.Description of the purpose/content
Comments

Equivalent to the subject line in an email thread.


Communication.topic.text can be used without any codings.

Control0..1
BindingFor example codes, see CommunicationTopichttp://hl7.org/fhir/ValueSet/communication-topic

Codes describing the purpose or content of the communication.

TypeCodeableConcept
Is Modifierfalse
Must Supporttrue
Summaryfalse
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
18. Communication.about
Definition

Other resources that pertain to this communication and to which this communication should be associated.

ShortResources that pertain to this communication
Comments

Don't use Communication.about element when a more specific element exists, such as basedOn or reasonReference.

Control0..*
TypeReference(Resource)
Is Modifierfalse
Summaryfalse
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
SlicingThis element introduces a set of slices on Communication.about. The slices are unordered and Open, and can be differentiated using the following discriminators: , and can be differentiated using the following discriminators:
  • type @ reference
20. Communication.about:correctionTask
Slice NamecorrectionTask
Definition

A server-created Correction Task for servicing this correction request.


Other resources that pertain to this communication and to which this communication should be associated.

ShortPatient Correction Task requesting a correction.Resources that pertain to this communication
Comments

When creating an initial correction request, this element SHALL be empty. If a processing system creates a Task resource related to a correction request, the server SHALL add a reference to that Task here. Any subsequent communication requests regarding the same correction request SHALL reference the relevant Task if present.


Don't use Communication.about element when a more specific element exists, such as basedOn or reasonReference.

Control0..1*
TypeReference(Patient Correction Task, Resource)
Is Modifierfalse
Must Supporttrue
Summaryfalse
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
22. Communication.sent
Definition

The time when this communication was sent.

ShortWhen this communication was sentWhen sent
Comments

The date that this particular part of the conversation is sent. On the initial request from the Requestor for either correction or logging a disagreement, this date/time will be used as Task.authoredOn to signify when the process was initiated on the Fulfiller.

Control10..1
TypedateTime
Is Modifierfalse
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Summaryfalse
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
24. Communication.recipient
Definition

The entity (e.g. person, organization, clinical information system, care team or device) which was the target of the communication. If receipts need to be tracked by an individual, a separate resource instance will need to be created for each recipient. Multiple recipient communications are intended where either receipts are not tracked (e.g. a mass mail-out) or a receipt is captured in aggregate (all emails confirmed received by a particular time).

ShortMessage recipient: either a Requestor or a Fulfiller
Comments

Depending on the direction of the patient correction communication, the recipient of the communication may be the Fulfiller or it may be the Requester.

Control10..*
TypeReference(Patient, RelatedPerson, Practitioner, PractitionerRole, Organization, CareTeam, HealthcareService, Device, Group)
Is Modifierfalse
Must Supporttrue
Must Support TypesNo must-support rules about the choice of types/profiles
Summaryfalse
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
26. Communication.sender
Definition

The entity (e.g. person, organization, clinical information system, or device) which was the source of the communication.

ShortMessage sender: either a Requestor or a Fulfiller
Comments

Depending on the direction of the patient correction communication, the sender of the communication may be the Requester or it may be the Fulfiller. If spawning a Task relating to an initial request (for either correction or logging of disagreement), the Fulfiller SHALL use this sender to represent the Task.requester.

Control10..1
TypeReference(Patient, RelatedPerson, Practitioner, PractitionerRole, Organization, HealthcareService, Device)
Is Modifierfalse
Must Supporttrue
Must Support TypesNo must-support rules about the choice of types/profiles
Summaryfalse
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
28. Communication.payload
Definition

Text, attachment(s), or resource(s) that was communicated to the recipient.

ShortContents of this communication.Message payload
Comments

The contents of this particular conversation component. If this is the original correction request or logging of a disagreement, then the payload would contain the request. If it is the final outcome of the request, then the payload would contain the final outcome information. Otherwise it contains a single message in back and forth conversation needed to process the initial request. Since it is possible to have a Communication resource reference a conversation held outside of the FHIR Rest protocol (email, mail, portal messaging - see Communication.channel) the minimum cardinality is zero. However, it is expected in most cases payload will be valued.

Control0..*
TypeBackboneElement
Is Modifierfalse
Must Supporttrue
Summaryfalse
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
30. Communication.payload.modifierExtension
Definition

May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

ShortExtensions that cannot be ignored even if unrecognized
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Control0..*
TypeExtension
Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
Summarytrue
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Alternate Namesextensions, user content, modifiers
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
32. Communication.payload.content[x]
Definition

A communicated content (or for multi-part communications, one portion of the communication).

ShortMessage part content
Control1..1
TypeChoice of: string, Attachment, Reference(Resource)
[x] NoteSee Choice of Data Types for further information about how to use [x]
Is Modifierfalse
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Summaryfalse
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
34. Communication.note
Definition

Additional notes or commentary about the communication by the sender, receiver or other interested parties.

ShortNon-actionable notes about this communication.Comments made about the communication
Comments

If there is NOT a Task created to work on a correction request, this element MAY contain notes from those that are working on a correction. Notes from Requestors SHOULD be placed into additional communications, so that Fulfillers review them. This element SHALL NOT contain actionable requests from either Requestors or Fulfillers.

Control0..*
TypeAnnotation
Is Modifierfalse
Summaryfalse
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))

Guidance on how to interpret the contents of this table can be found here

0. Communication
Definition

An occurrence of information being transmitted; e.g. an alert that was sent to a responsible provider, a public health agency that was notified about a reportable condition.

ShortA record of information transmitted from a sender to a receiver
Control0..*
Is Modifierfalse
Summaryfalse
Invariantsdom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources (contained.contained.empty())
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 (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-4: If 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-5: If a resource is contained in another resource, it SHALL NOT have a security label (contained.meta.security.empty())
dom-6: A resource should have narrative for robust management (text.`div`.exists())
2. Communication.id
Definition

The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.

ShortLogical id of this artifact
Comments

The only time that a resource does not have an id is when it is being submitted to the server using a create operation.

Control0..1
Typeid
Is Modifierfalse
Summarytrue
4. Communication.meta
Definition

The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.

ShortMetadata about the resource
Control0..1
TypeMeta
Is Modifierfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
6. Communication.implicitRules
Definition

A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.

ShortA set of rules under which this content was created
Comments

Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.

Control0..1
Typeuri
Is Modifiertrue because This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
8. Communication.language
Definition

The base language in which the resource is written.

ShortLanguage of the resource content
Comments

Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).

Control0..1
BindingThe codes SHOULD be taken from CommonLanguages: A human language.
Additional BindingsPurpose
AllLanguagesMax Binding
Typecode
Is Modifierfalse
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Summaryfalse
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
10. Communication.text
Definition

A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.

ShortText summary of the resource, for human interpretation
Comments

Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later.

Control0..1
TypeNarrative
Is Modifierfalse
Summaryfalse
Alternate Namesnarrative, html, xhtml, display
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
12. Communication.contained
Definition

These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.

ShortContained, inline Resources
Comments

This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.

Control0..*
TypeResource
Is Modifierfalse
Summaryfalse
Alternate Namesinline resources, anonymous resources, contained resources
14. Communication.extension
Definition

May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

ShortAdditional content defined by implementations
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Control0..*
TypeExtension
Is Modifierfalse
Summaryfalse
Alternate Namesextensions, user content
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
16. Communication.modifierExtension
Definition

May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

ShortExtensions that cannot be ignored
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Control0..*
TypeExtension
Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them
Summaryfalse
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Alternate Namesextensions, user content
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
18. Communication.identifier
Definition

Business identifiers assigned to this communication by the performer or other systems which remain constant as the resource is updated and propagates from server to server.

ShortUnique identifier
Comments

This is a business identifier, not a resource identifier (see discussion). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number.

NoteThis is a business identifier, not a resource identifier (see discussion)
Control0..*
TypeIdentifier
Is Modifierfalse
Summarytrue
Requirements

Allows identification of the communication as it is known by various participating systems and in a way that remains consistent across servers.

Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
20. Communication.instantiatesCanonical
Definition

The URL pointing to a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this Communication.

ShortInstantiates FHIR protocol or definition
Control0..*
Typecanonical(PlanDefinition, ActivityDefinition, Measure, OperationDefinition, Questionnaire)
Is Modifierfalse
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
22. Communication.instantiatesUri
Definition

The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this Communication.

ShortInstantiates external protocol or definition
Comments

This might be an HTML page, PDF, etc. or could just be a non-resolvable URI identifier.

Control0..*
Typeuri
Is Modifierfalse
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
24. Communication.basedOn
Definition

An order, proposal or plan fulfilled in whole or in part by this Communication.

ShortRequest fulfilled by this communication
Comments

This must point to some sort of a 'Request' resource, such as CarePlan, CommunicationRequest, ServiceRequest, MedicationRequest, etc.

Control0..*
TypeReference(Resource)
Is Modifierfalse
Summarytrue
Alternate Namesfulfills
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
26. Communication.partOf
Definition

The initial communication sent by a Requester for a record correction.

ShortInitial Patient Correction Communication resource for this request.
Comments

When creating an initial correct request, this element SHALL be empty. Subsequent communications in either direction (to or from the patient) SHALL populate this element with a reference to the original communication requesting a correction.

Control0..1
TypeReference(Patient Correction Communication)
Is Modifierfalse
Must Supporttrue
Summarytrue
Alternate Namescontainer
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
28. Communication.inResponseTo
Definition

Prior communication that this communication is in response to.

ShortReply to
Comments

Patient Correction Request Communication that this is in response to. This will only be filled in if it represents a response to another Communication resource. It can be used to query and assemble conversation threads related to the request process.

Control0..1
TypeReference(Patient Correction Communication)
Is Modifierfalse
Must Supporttrue
Summaryfalse
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
30. Communication.status
Definition

The status of the transmission.

ShortFixed: completed.
Comments

This element is labeled as a modifier because the status contains the codes aborted and entered-in-error that mark the communication as not currently valid.

Control1..1
BindingThe codes SHALL be taken from EventStatus: The status of the communication.
Typecode
Is Modifiertrue because This element is labelled as a modifier because it is a status element that contains status entered-in-error which means that the resource should not be treated as valid
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Summarytrue
Pattern Valuecompleted
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
32. Communication.statusReason
Definition

Captures the reason for the current state of the Communication.

ShortReason for current status
Comments

This is generally only used for "exception" statuses such as "not-done", "suspended" or "aborted". The reason for performing the event at all is captured in reasonCode, not here.

Control0..1
BindingFor example codes, see CommunicationNotDoneReason: Codes for the reason why a communication did not happen.
TypeCodeableConcept
Is Modifierfalse
Summarytrue
Alternate NamesSuspended Reason, Cancelled Reason
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
34. Communication.category
Definition

The type of message conveyed such as alert, notification, reminder, instruction, etc.

ShortMessage category
Comments

There may be multiple axes of categorization and one communication may serve multiple purposes.

Control1..1
BindingThe codes SHALL be taken from Patient Correction Communication Types Value Set
TypeCodeableConcept
Is Modifierfalse
Must Supporttrue
Summaryfalse
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
36. Communication.priority
Definition

Characterizes how quickly the planned or in progress communication must be addressed. Includes concepts such as stat, urgent, routine.

Shortroutine | urgent | asap | stat
Comments

Used to prioritize workflow (such as which communication to read first) when the communication is planned or in progress.

Control0..1
BindingThe codes SHALL be taken from RequestPriority: Codes indicating the relative importance of a communication.
Typecode
Is Modifierfalse
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Summarytrue
Meaning if MissingIf missing, this communication should be treated with normal priority
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
38. Communication.medium
Definition

A channel that was used for this communication (e.g. email, fax).

ShortA channel of communication
Control0..*
BindingFor example codes, see ParticipationMode: Codes for communication mediums such as phone, fax, email, in person, etc.
TypeCodeableConcept
Is Modifierfalse
Summaryfalse
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
40. Communication.subject
Definition

The patient or group that was the focus of this communication.

ShortThe Patient that the correction request or the log disagreement applies to.
Control1..1
TypeReference(Patient)
Is Modifierfalse
Must Supporttrue
Summarytrue
Alternate Namespatient
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
42. Communication.topic
Definition

Description of the purpose/content, similar to a subject line in an email.

ShortA heading/subject line for the message being sent.
Comments

Equivalent to the subject line in an email thread.

Control0..1
BindingFor example codes, see CommunicationTopic: Codes describing the purpose or content of the communication.
TypeCodeableConcept
Is Modifierfalse
Must Supporttrue
Summaryfalse
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
44. Communication.about
Definition

Other resources that pertain to this communication and to which this communication should be associated.

ShortResources that pertain to this communication
Comments

Don't use Communication.about element when a more specific element exists, such as basedOn or reasonReference.

Control0..*
TypeReference(Resource)
Is Modifierfalse
Summaryfalse
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
SlicingThis element introduces a set of slices on Communication.about. The slices are unordered and Open, and can be differentiated using the following discriminators: , and can be differentiated using the following discriminators:
  • type @ reference
46. Communication.about:correctionTask
Slice NamecorrectionTask
Definition

A server-created Correction Task for servicing this correction request.

ShortPatient Correction Task requesting a correction.
Comments

When creating an initial correction request, this element SHALL be empty. If a processing system creates a Task resource related to a correction request, the server SHALL add a reference to that Task here. Any subsequent communication requests regarding the same correction request SHALL reference the relevant Task if present.

Control0..1
TypeReference(Patient Correction Task)
Is Modifierfalse
Must Supporttrue
Summaryfalse
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
48. Communication.encounter
Definition

The Encounter during which this Communication was created or to which the creation of this record is tightly associated.

ShortEncounter created as part of
Comments

This will typically be the encounter the event occurred within, but some activities may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter.

Control0..1
TypeReference(Encounter)
Is Modifierfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
50. Communication.sent
Definition

The time when this communication was sent.

ShortWhen this communication was sent
Comments

The date that this particular part of the conversation is sent. On the initial request from the Requestor for either correction or logging a disagreement, this date/time will be used as Task.authoredOn to signify when the process was initiated on the Fulfiller.

Control1..1
TypedateTime
Is Modifierfalse
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Summaryfalse
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
52. Communication.received
Definition

The time when this communication arrived at the destination.

ShortWhen received
Control0..1
TypedateTime
Is Modifierfalse
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Summaryfalse
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
54. Communication.recipient
Definition

The entity (e.g. person, organization, clinical information system, care team or device) which was the target of the communication. If receipts need to be tracked by an individual, a separate resource instance will need to be created for each recipient. Multiple recipient communications are intended where either receipts are not tracked (e.g. a mass mail-out) or a receipt is captured in aggregate (all emails confirmed received by a particular time).

ShortMessage recipient: either a Requestor or a Fulfiller
Comments

Depending on the direction of the patient correction communication, the recipient of the communication may be the Fulfiller or it may be the Requester.

Control1..*
TypeReference(Patient, RelatedPerson, Practitioner, PractitionerRole, Organization, CareTeam, HealthcareService)
Is Modifierfalse
Must Supporttrue
Must Support TypesNo must-support rules about the choice of types/profiles
Summaryfalse
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
56. Communication.sender
Definition

The entity (e.g. person, organization, clinical information system, or device) which was the source of the communication.

ShortMessage sender: either a Requestor or a Fulfiller
Comments

Depending on the direction of the patient correction communication, the sender of the communication may be the Requester or it may be the Fulfiller. If spawning a Task relating to an initial request (for either correction or logging of disagreement), the Fulfiller SHALL use this sender to represent the Task.requester.

Control1..1
TypeReference(Patient, RelatedPerson, Practitioner, PractitionerRole, Organization, HealthcareService)
Is Modifierfalse
Must Supporttrue
Must Support TypesNo must-support rules about the choice of types/profiles
Summaryfalse
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
58. Communication.reasonCode
Definition

The reason or justification for the communication.

ShortIndication for message
Comments

Textual reasons can be captured using reasonCode.text.

Control0..*
BindingFor example codes, see SNOMEDCTClinicalFindings: Codes for describing reasons for the occurrence of a communication.
TypeCodeableConcept
Is Modifierfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
60. Communication.reasonReference
Definition

Indicates another resource whose existence justifies this communication.

ShortWhy was communication done?
Control0..*
TypeReference(Condition, Observation, DiagnosticReport, DocumentReference)
Is Modifierfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
62. Communication.payload
Definition

Text, attachment(s), or resource(s) that was communicated to the recipient.

ShortContents of this communication.
Comments

The contents of this particular conversation component. If this is the original correction request or logging of a disagreement, then the payload would contain the request. If it is the final outcome of the request, then the payload would contain the final outcome information. Otherwise it contains a single message in back and forth conversation needed to process the initial request. Since it is possible to have a Communication resource reference a conversation held outside of the FHIR Rest protocol (email, mail, portal messaging - see Communication.channel) the minimum cardinality is zero. However, it is expected in most cases payload will be valued.

Control0..*
TypeBackboneElement
Is Modifierfalse
Must Supporttrue
Summaryfalse
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
64. Communication.payload.id
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

ShortUnique id for inter-element referencing
Control0..1
Typestring
Is Modifierfalse
XML FormatIn the XML format, this property is represented as an attribute.
Summaryfalse
66. Communication.payload.extension
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

ShortAdditional content defined by implementations
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Control0..*
TypeExtension
Is Modifierfalse
Summaryfalse
Alternate Namesextensions, user content
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
68. Communication.payload.modifierExtension
Definition

May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

ShortExtensions that cannot be ignored even if unrecognized
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Control0..*
TypeExtension
Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
Summarytrue
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Alternate Namesextensions, user content, modifiers
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
70. Communication.payload.content[x]
Definition

A communicated content (or for multi-part communications, one portion of the communication).

ShortMessage part content
Control1..1
TypeChoice of: string, Attachment, Reference(Resource)
[x] NoteSee Choice of Data Types for further information about how to use [x]
Is Modifierfalse
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Summaryfalse
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
72. Communication.note
Definition

Additional notes or commentary about the communication by the sender, receiver or other interested parties.

ShortNon-actionable notes about this communication.
Comments

If there is NOT a Task created to work on a correction request, this element MAY contain notes from those that are working on a correction. Notes from Requestors SHOULD be placed into additional communications, so that Fulfillers review them. This element SHALL NOT contain actionable requests from either Requestors or Fulfillers.

Control0..*
TypeAnnotation
Is Modifierfalse
Summaryfalse
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))