Patient Request for Corrections Implementation Guide
1.0.0 - STU 1

Patient Request for Corrections Implementation Guide, published by HL7 International / Patient Empowerment. This guide is not an authorized publication; it is the continuous build for version 1.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. 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: Patient Correction Task

Official URL: http://hl7.org/fhir/uv/patient-corrections/StructureDefinition/patient-correction-task | Version: 1.0.0
Standards status: Trial-use | Maturity Level: 1 | Computable Name: PatientCorrectionTask

Represents the process of reviewing the patient's request for correction or the patient’s request to log a disagreement to a prior request for correction decision. This Task is spawned by the Fulfiller as a result of a post of a Communication resource that indicates a new request for correction or a new logging of a disagreement.

This is the profile for the Patient Correction Task, which is used to summarize the Fulfiller process to support either a patient’s request for correction to their medical record or their logging of a disagreement to a correction denial. A Requester can query the Patient Correction Task (or request notifications) to understand the current state and history of the process for carrying out the request on the Fulfiller side. It can determine the type of process (Request for Correction or Log Disagreement), the current state of the process, timing information about the process (when did it start, when did it move through states, when did it complete), who made the original request on behalf of the Patient, and who owns the process on the Fulfiller side. This profile sets minimum expectations for the Task resource to support this workflow. It is expected to be used in conjunction with the Patient Correction Communication profile.

### Mandatory and Must Support data elements

The following data-elements must always be present (Mandatory) definition or must be supported if the data is present (Must Support) definition. They are presented below in a simple human-readable explanation. Profile specific guidance is provided as well. The Formal Profile Definition below provides the formal summary, definitions, and terminology requirements. Refer to the Actors and Use Cases section of the guide for example resources provided in the context of an example workflow.

Each implementation of PatientCorrectionTask must provide:

1. `id`: An id
2. `status`: status combined with businessStatus provide the state of the process
3. `businessStatus`: status combined with businessStatus provide the state of the process
4. `intent`: fixed to “order”
5. `code`: indicates whether it’s a “Request Correction” or “Log Disagreement” process
6. `for`: the patient whose record is to be corrected
7. `requestor`: the person who asked for the correction on behalf of the patient in Task.for.
8. `authoredOn`: date/time when the request was received on the Fulfiller side
9. `lastModified`: date/time of last update to the process.
10. `input`: points to the Communication resource containing the original patient correction or log disagreement request.
11. `output`: points to the Communication resource containing the resolution of the request (for example, the completed amendment report)
12. `reasonReference`: if the Task represents a disagreement, points to the Task containing the original request for correction process.

### Profile-specific implementation guidance

- The Task is spawned by the Fulfiller as a result of receipt of a Request for a Correction or a Request to Log a Disagreement. It is expected that in most cases, these requests will be coming through a Communication resource. However, this specification does not preclude the use of Task when requests are received via alternative means such as paper forms in the mail.
- When a request for correction or logging of a disagreement is received via a Request for Correction or Log Disagreement Communication resource posting, a Task is spawned and then several fields in the Task must be populated by copying from the Communication resource that contains the original request. In specific, code, for, requester, input, and authoredOn must be pulled from fields in the original Communication resource (see details on these fields below).
- When the Task is posted on the Fulfiller as a result of an originating Communication resource, the Fulfiller must update the Communication resource to reference the Task in the Communication.about field.

Usages:

- Refer to this Profile: Patient Correction Communication and Patient Correction Task
- Examples for this Profile: Task/correctionrequestprocess, Task/correctionrequestprocess2, Task/correctionrequestprocess3, Task/correctionrequestprocess4... Show 2 more, Task/correctionrequestprocess5 and Task/correctionrequestprocess6

### Formal Views of Profile Content

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

- Differential Table
- Key Elements Table
- Snapshot Table
- Statistics/References
- All

This structure is derived from Task

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Task | C | 0..* | Task | A task to be performed Constraints: task-reasonreference, task-output2
identifier | S | 0..* | Identifier | A business identifier for the correction process.
basedOn |  | 0..0 |  |
partOf |  | 0..0 |  |
status | S C | 1..1 | code | Current status of a Correction Request or Log Disagreement. Binding: TaskStatus (required) Constraints: task-status-allowed
statusReason |  | 0..1 | CodeableConcept | Reason for the correction request status.
businessStatus | S | 0..1 | CodeableConcept | Business status of the request for correction process or the log disagreement process. Binding: Patient Correction Business Status (required)
intent |  | 1..1 | code | Indicates the actionability associated with the Task. Fixed Value: order
code | S C | 1..1 | CodeableConcept | Correction Task type. Binding: Patient Correction Task Types Values Set (required)
for | S | 1..1 | Reference(Patient) | Patient this correction or disagreement relates to.
encounter |  | 0..0 |  |
executionPeriod |  | 0..1 | Period | When the request is completed by the Fulfiller.
authoredOn | S | 1..1 | dateTime | When this Task was created.
lastModified | S | 0..1 | dateTime | When the correction task was last modified.
requester | S | 0..1 | Reference(Patient | RelatedPerson) | Entity requesting the correction or logging the disagreement.
owner | S | 0..1 | Reference(Practitioner | PractitionerRole | Organization | CareTeam | HealthcareService) | The entity that is responsibility for fulfilling the request. Initially, this could be populated from Communication.recipient on the Communication resource of the initial request. TheFulfiller can then refine to a specific individual, group, role, or department. For example, a medical records staff person.
reasonCode |  | 0..1 | CodeableConcept | Why task is needed. E.g., need record correct prior to upcoming surgery.
reasonReference | C | 0..1 | Reference(Patient Correction Task) | Log Disagreement Task to point to the original Request for Correction Task.
note |  | 0..* | Annotation | Non-actionable notes about this communication.
restriction |  | 0..0 |  |
input |  |  |  |
id |  | 0..0 |  |
extension |  | 0..0 |  |
modifierExtension |  | 0..0 |  |
type |  | 1..1 | CodeableConcept | Label for input Binding: Patient Correction Communication Types Value Set (required)
value[x] |  | 1..1 |  | Content to use in performing the task
valueString |  |  | string |
valueAttachment |  |  | Attachment |
valueReference |  |  | Reference(Patient Correction Communication) |
output | C | 0..* | BackboneElement | Formal Response from Fulfiller to the Correction Request or to the Disagreement to Correction Denial.
id |  | 0..0 |  |
extension |  | 0..0 |  |
modifierExtension |  | 0..0 |  |
type |  | 1..1 | CodeableConcept | Label for output Binding: Patient Correction Output Types Value Set (required)
value[x] |  | 1..1 |  | Result of output
valueString |  |  | string |
valueAttachment |  |  | Attachment |
valueReference |  |  | Reference(Patient Correction Communication) |
Documentation for this format

#### Terminology Bindings (Differential)

Path | Conformance | ValueSet | URI
Task.status | required | TaskStatus `http://hl7.org/fhir/ValueSet/task-status` From the FHIR Standard
Task.businessStatus | required | PatientCorrectionBusinessStatusVS(a valid code from Patient Correction Business Statuses) `http://hl7.org/fhir/uv/patient-corrections/ValueSet/PatientCorrectionBusinessStatusVS` From this IG
Task.code | required | PatientCorrectionTaskTypesVS(a valid code from Patient Correction Task Types) `http://hl7.org/fhir/uv/patient-corrections/ValueSet/PatientCorrectionTaskTypesVS` From this IG
Task.input.type | required | PatientCorrectionCommunicationTypesVS(a valid code from Patient Correction Communication Types) `http://hl7.org/fhir/uv/patient-corrections/ValueSet/PatientCorrectionCommunicationTypesVS` From this IG
Task.output.type | required | PatientCorrectionOutputTypesVS(a valid code from Patient Correction Output Types) `http://hl7.org/fhir/uv/patient-corrections/ValueSet/PatientCorrectionOutputTypesVS` From this IG

#### Constraints

Id | Grade | Path(s) | Details | Requirements
task-output2 | error | Task | If this is a completed Request for Correction Task, there SHALL be a formal response to the request (acceptance, denial, partial acceptance/denial). : (Task.code.coding.exists(code = 'medRecCxReq' and system = 'http://hl7.org/fhir/uv/patient-corrections/CodeSystem/PatientCorrectionTaskTypes') and Task.status = 'completed') implies Task.output.type.coding.exists(code = 'medRecCxReqResolution' and system = 'http://hl7.org/fhir/uv/patient-corrections/CodeSystem/PatientCorrectionOutputTypes') |
task-reasonreference | error | Task | If this is a Disagreement Task, there SHALL be a reference to the original Request for Correction Communication. : Task.code.coding.exists(code = 'medRecCxDenialDisagree' and system = 'http://hl7.org/fhir/uv/patient-corrections/CodeSystem/PatientCorrectionTaskTypes') implies Task.reasonReference.exists() |
task-status-allowed | error | Task.status | The status of the Task SHALL be one of the following: ready, in-progress, cancelled, completed. : $this in ('ready' | 'in-progress' | 'cancelled' | 'completed') |

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Task | C | 0..* | Task | A task to be performed Constraints: inv-1, task-reasonreference, task-output2
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | S | 0..* | Identifier | A business identifier for the correction process.
status | ?!S Σ C | 1..1 | code | Current status of a Correction Request or Log Disagreement. Binding: TaskStatus (required) Constraints: task-status-allowed
statusReason | Σ | 0..1 | CodeableConcept | Reason for the correction request status. Binding Description: (example): Codes to identify the reason for current status. These will typically be specific to a particular workflow.
businessStatus | S Σ | 0..1 | CodeableConcept | Business status of the request for correction process or the log disagreement process. Binding: Patient Correction Business Status (required)
intent | Σ | 1..1 | code | Indicates the actionability associated with the Task. Binding: TaskIntent (required): Distinguishes whether the task is a proposal, plan or full order. Fixed Value: order
code | S Σ C | 1..1 | CodeableConcept | Correction Task type. Binding: Patient Correction Task Types Values Set (required)
for | S Σ | 1..1 | Reference(Patient) | Patient this correction or disagreement relates to.
executionPeriod | Σ | 0..1 | Period | When the request is completed by the Fulfiller.
authoredOn | S C | 1..1 | dateTime | When this Task was created.
lastModified | S Σ C | 0..1 | dateTime | When the correction task was last modified.
requester | S Σ | 0..1 | Reference(Patient | RelatedPerson) | Entity requesting the correction or logging the disagreement.
owner | S Σ | 0..1 | Reference(Practitioner | PractitionerRole | Organization | CareTeam | HealthcareService) | The entity that is responsibility for fulfilling the request. Initially, this could be populated from Communication.recipient on the Communication resource of the initial request. TheFulfiller can then refine to a specific individual, group, role, or department. For example, a medical records staff person.
reasonCode |  | 0..1 | CodeableConcept | Why task is needed. E.g., need record correct prior to upcoming surgery. Binding Description: (example): Indicates why the task is needed. E.g. Suspended because patient admitted to hospital.
reasonReference | C | 0..1 | Reference(Patient Correction Task) | Log Disagreement Task to point to the original Request for Correction Task.
note |  | 0..* | Annotation | Non-actionable notes about this communication.
output | C | 0..* | BackboneElement | Formal Response from Fulfiller to the Correction Request or to the Disagreement to Correction Denial.
type |  | 1..1 | CodeableConcept | Label for output Binding: Patient Correction Output Types Value Set (required)
value[x] |  | 1..1 |  | Result of output
valueString |  |  | string |
valueAttachment |  |  | Attachment |
valueReference |  |  | Reference(Patient Correction Communication) |
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet / Code | URI
Task.status | required | TaskStatus `http://hl7.org/fhir/ValueSet/task-status` From the FHIR Standard
Task.statusReason | example |
Task.businessStatus | required | PatientCorrectionBusinessStatusVS(a valid code from Patient Correction Business Statuses) `http://hl7.org/fhir/uv/patient-corrections/ValueSet/PatientCorrectionBusinessStatusVS` From this IG
Task.intent | required | Fixed Value: order `http://hl7.org/fhir/ValueSet/task-intent|4.0.1` From the FHIR Standard
Task.code | required | PatientCorrectionTaskTypesVS(a valid code from Patient Correction Task Types) `http://hl7.org/fhir/uv/patient-corrections/ValueSet/PatientCorrectionTaskTypesVS` From this IG
Task.reasonCode | example |
Task.output.type | required | PatientCorrectionOutputTypesVS(a valid code from Patient Correction Output Types) `http://hl7.org/fhir/uv/patient-corrections/ValueSet/PatientCorrectionOutputTypesVS` From this IG

#### Constraints

Id | Grade | Path(s) | Details | Requirements
dom-2 | error | Task | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() |
dom-3 | error | Task | 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 | error | Task | 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 | error | Task | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() |
dom-6 | best practice | Task | A resource should have narrative for robust management : text.`div`.exists() |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
inv-1 | error | Task | Last modified date must be greater than or equal to authored-on date. : lastModified.exists().not() or authoredOn.exists().not() or lastModified >= authoredOn |
task-output2 | error | Task | If this is a completed Request for Correction Task, there SHALL be a formal response to the request (acceptance, denial, partial acceptance/denial). : (Task.code.coding.exists(code = 'medRecCxReq' and system = 'http://hl7.org/fhir/uv/patient-corrections/CodeSystem/PatientCorrectionTaskTypes') and Task.status = 'completed') implies Task.output.type.coding.exists(code = 'medRecCxReqResolution' and system = 'http://hl7.org/fhir/uv/patient-corrections/CodeSystem/PatientCorrectionOutputTypes') |
task-reasonreference | error | Task | If this is a Disagreement Task, there SHALL be a reference to the original Request for Correction Communication. : Task.code.coding.exists(code = 'medRecCxDenialDisagree' and system = 'http://hl7.org/fhir/uv/patient-corrections/CodeSystem/PatientCorrectionTaskTypes') implies Task.reasonReference.exists() |
task-status-allowed | error | Task.status | The status of the Task SHALL be one of the following: ready, in-progress, cancelled, completed. : $this in ('ready' | 'in-progress' | 'cancelled' | 'completed') |

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Task | C | 0..* | Task | A task to be performed Constraints: inv-1, task-reasonreference, task-output2
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | Contained, inline Resources
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | S | 0..* | Identifier | A business identifier for the correction process.
instantiatesCanonical | Σ | 0..1 | canonical(ActivityDefinition) | Formal definition of task
instantiatesUri | Σ | 0..1 | uri | Formal definition of task
groupIdentifier | Σ | 0..1 | Identifier | Requisition or grouper id
status | ?!S Σ C | 1..1 | code | Current status of a Correction Request or Log Disagreement. Binding: TaskStatus (required) Constraints: task-status-allowed
statusReason | Σ | 0..1 | CodeableConcept | Reason for the correction request status. Binding Description: (example): Codes to identify the reason for current status. These will typically be specific to a particular workflow.
businessStatus | S Σ | 0..1 | CodeableConcept | Business status of the request for correction process or the log disagreement process. Binding: Patient Correction Business Status (required)
intent | Σ | 1..1 | code | Indicates the actionability associated with the Task. Binding: TaskIntent (required): Distinguishes whether the task is a proposal, plan or full order. Fixed Value: order
priority |  | 0..1 | code | routine | urgent | asap | stat Binding: RequestPriority (required): The task's priority.
code | S Σ C | 1..1 | CodeableConcept | Correction Task type. Binding: Patient Correction Task Types Values Set (required)
description | Σ | 0..1 | string | Human-readable explanation of task
focus | Σ | 0..1 | Reference(Resource) | What task is acting on
for | S Σ | 1..1 | Reference(Patient) | Patient this correction or disagreement relates to.
executionPeriod | Σ | 0..1 | Period | When the request is completed by the Fulfiller.
authoredOn | S C | 1..1 | dateTime | When this Task was created.
lastModified | S Σ C | 0..1 | dateTime | When the correction task was last modified.
requester | S Σ | 0..1 | Reference(Patient | RelatedPerson) | Entity requesting the correction or logging the disagreement.
performerType |  | 0..* | CodeableConcept | Requested performer Binding: ProcedurePerformerRoleCodes (preferred): The type(s) of task performers allowed.
owner | S Σ | 0..1 | Reference(Practitioner | PractitionerRole | Organization | CareTeam | HealthcareService) | The entity that is responsibility for fulfilling the request. Initially, this could be populated from Communication.recipient on the Communication resource of the initial request. TheFulfiller can then refine to a specific individual, group, role, or department. For example, a medical records staff person.
location | Σ | 0..1 | Reference(Location) | Where task occurs
reasonCode |  | 0..1 | CodeableConcept | Why task is needed. E.g., need record correct prior to upcoming surgery. Binding Description: (example): Indicates why the task is needed. E.g. Suspended because patient admitted to hospital.
reasonReference | C | 0..1 | Reference(Patient Correction Task) | Log Disagreement Task to point to the original Request for Correction Task.
insurance |  | 0..* | Reference(Coverage | ClaimResponse) | Associated insurance coverage
note |  | 0..* | Annotation | Non-actionable notes about this communication.
relevantHistory |  | 0..* | Reference(Provenance) | Key events in history of the Task
input |  | 0..* | BackboneElement | Information used to perform task
type |  | 1..1 | CodeableConcept | Label for input Binding: Patient Correction Communication Types Value Set (required)
value[x] |  | 1..1 |  | Content to use in performing the task
valueString |  |  | string |
valueAttachment |  |  | Attachment |
valueReference |  |  | Reference(Patient Correction Communication) |
output | C | 0..* | BackboneElement | Formal Response from Fulfiller to the Correction Request or to the Disagreement to Correction Denial.
type |  | 1..1 | CodeableConcept | Label for output Binding: Patient Correction Output Types Value Set (required)
value[x] |  | 1..1 |  | Result of output
valueString |  |  | string |
valueAttachment |  |  | Attachment |
valueReference |  |  | Reference(Patient Correction Communication) |
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet / Code | URI
Task.language | preferred | CommonLanguages `http://hl7.org/fhir/ValueSet/languages` From the FHIR Standard
Additional Bindings | Purpose
AllLanguages | Max Binding
Task.status | required | TaskStatus `http://hl7.org/fhir/ValueSet/task-status` From the FHIR Standard
Task.statusReason | example |
Task.businessStatus | required | PatientCorrectionBusinessStatusVS(a valid code from Patient Correction Business Statuses) `http://hl7.org/fhir/uv/patient-corrections/ValueSet/PatientCorrectionBusinessStatusVS` From this IG
Task.intent | required | Fixed Value: order `http://hl7.org/fhir/ValueSet/task-intent|4.0.1` From the FHIR Standard
Task.priority | required | RequestPriority `http://hl7.org/fhir/ValueSet/request-priority|4.0.1` From the FHIR Standard
Task.code | required | PatientCorrectionTaskTypesVS(a valid code from Patient Correction Task Types) `http://hl7.org/fhir/uv/patient-corrections/ValueSet/PatientCorrectionTaskTypesVS` From this IG
Task.performerType | preferred | ProcedurePerformerRoleCodes `http://hl7.org/fhir/ValueSet/performer-role` From the FHIR Standard
Task.reasonCode | example |
Task.input.type | required | PatientCorrectionCommunicationTypesVS(a valid code from Patient Correction Communication Types) `http://hl7.org/fhir/uv/patient-corrections/ValueSet/PatientCorrectionCommunicationTypesVS` From this IG
Task.output.type | required | PatientCorrectionOutputTypesVS(a valid code from Patient Correction Output Types) `http://hl7.org/fhir/uv/patient-corrections/ValueSet/PatientCorrectionOutputTypesVS` From this IG

#### Constraints

Id | Grade | Path(s) | Details | Requirements
dom-2 | error | Task | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() |
dom-3 | error | Task | 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 | error | Task | 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 | error | Task | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() |
dom-6 | best practice | Task | A resource should have narrative for robust management : text.`div`.exists() |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
inv-1 | error | Task | Last modified date must be greater than or equal to authored-on date. : lastModified.exists().not() or authoredOn.exists().not() or lastModified >= authoredOn |
task-output2 | error | Task | If this is a completed Request for Correction Task, there SHALL be a formal response to the request (acceptance, denial, partial acceptance/denial). : (Task.code.coding.exists(code = 'medRecCxReq' and system = 'http://hl7.org/fhir/uv/patient-corrections/CodeSystem/PatientCorrectionTaskTypes') and Task.status = 'completed') implies Task.output.type.coding.exists(code = 'medRecCxReqResolution' and system = 'http://hl7.org/fhir/uv/patient-corrections/CodeSystem/PatientCorrectionOutputTypes') |
task-reasonreference | error | Task | If this is a Disagreement Task, there SHALL be a reference to the original Request for Correction Communication. : Task.code.coding.exists(code = 'medRecCxDenialDisagree' and system = 'http://hl7.org/fhir/uv/patient-corrections/CodeSystem/PatientCorrectionTaskTypes') implies Task.reasonReference.exists() |
task-status-allowed | error | Task.status | The status of the Task SHALL be one of the following: ready, in-progress, cancelled, completed. : $this in ('ready' | 'in-progress' | 'cancelled' | 'completed') |

This structure is derived from Task

Summary

Mandatory: 3 elements
Must-Support: 9 elements
Fixed: 1 element
Prohibited: 10 elements

Structures

This structure refers to these other structures:

- Patient Correction Task (http://hl7.org/fhir/uv/patient-corrections/StructureDefinition/patient-correction-task)
- Patient Correction Communication (http://hl7.org/fhir/uv/patient-corrections/StructureDefinition/patient-correction-communication)

Maturity: 1

Differential View

This structure is derived from Task

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Task | C | 0..* | Task | A task to be performed Constraints: task-reasonreference, task-output2
identifier | S | 0..* | Identifier | A business identifier for the correction process.
basedOn |  | 0..0 |  |
partOf |  | 0..0 |  |
status | S C | 1..1 | code | Current status of a Correction Request or Log Disagreement. Binding: TaskStatus (required) Constraints: task-status-allowed
statusReason |  | 0..1 | CodeableConcept | Reason for the correction request status.
businessStatus | S | 0..1 | CodeableConcept | Business status of the request for correction process or the log disagreement process. Binding: Patient Correction Business Status (required)
intent |  | 1..1 | code | Indicates the actionability associated with the Task. Fixed Value: order
code | S C | 1..1 | CodeableConcept | Correction Task type. Binding: Patient Correction Task Types Values Set (required)
for | S | 1..1 | Reference(Patient) | Patient this correction or disagreement relates to.
encounter |  | 0..0 |  |
executionPeriod |  | 0..1 | Period | When the request is completed by the Fulfiller.
authoredOn | S | 1..1 | dateTime | When this Task was created.
lastModified | S | 0..1 | dateTime | When the correction task was last modified.
requester | S | 0..1 | Reference(Patient | RelatedPerson) | Entity requesting the correction or logging the disagreement.
owner | S | 0..1 | Reference(Practitioner | PractitionerRole | Organization | CareTeam | HealthcareService) | The entity that is responsibility for fulfilling the request. Initially, this could be populated from Communication.recipient on the Communication resource of the initial request. TheFulfiller can then refine to a specific individual, group, role, or department. For example, a medical records staff person.
reasonCode |  | 0..1 | CodeableConcept | Why task is needed. E.g., need record correct prior to upcoming surgery.
reasonReference | C | 0..1 | Reference(Patient Correction Task) | Log Disagreement Task to point to the original Request for Correction Task.
note |  | 0..* | Annotation | Non-actionable notes about this communication.
restriction |  | 0..0 |  |
input |  |  |  |
id |  | 0..0 |  |
extension |  | 0..0 |  |
modifierExtension |  | 0..0 |  |
type |  | 1..1 | CodeableConcept | Label for input Binding: Patient Correction Communication Types Value Set (required)
value[x] |  | 1..1 |  | Content to use in performing the task
valueString |  |  | string |
valueAttachment |  |  | Attachment |
valueReference |  |  | Reference(Patient Correction Communication) |
output | C | 0..* | BackboneElement | Formal Response from Fulfiller to the Correction Request or to the Disagreement to Correction Denial.
id |  | 0..0 |  |
extension |  | 0..0 |  |
modifierExtension |  | 0..0 |  |
type |  | 1..1 | CodeableConcept | Label for output Binding: Patient Correction Output Types Value Set (required)
value[x] |  | 1..1 |  | Result of output
valueString |  |  | string |
valueAttachment |  |  | Attachment |
valueReference |  |  | Reference(Patient Correction Communication) |
Documentation for this format

#### Terminology Bindings (Differential)

Path | Conformance | ValueSet | URI
Task.status | required | TaskStatus `http://hl7.org/fhir/ValueSet/task-status` From the FHIR Standard
Task.businessStatus | required | PatientCorrectionBusinessStatusVS(a valid code from Patient Correction Business Statuses) `http://hl7.org/fhir/uv/patient-corrections/ValueSet/PatientCorrectionBusinessStatusVS` From this IG
Task.code | required | PatientCorrectionTaskTypesVS(a valid code from Patient Correction Task Types) `http://hl7.org/fhir/uv/patient-corrections/ValueSet/PatientCorrectionTaskTypesVS` From this IG
Task.input.type | required | PatientCorrectionCommunicationTypesVS(a valid code from Patient Correction Communication Types) `http://hl7.org/fhir/uv/patient-corrections/ValueSet/PatientCorrectionCommunicationTypesVS` From this IG
Task.output.type | required | PatientCorrectionOutputTypesVS(a valid code from Patient Correction Output Types) `http://hl7.org/fhir/uv/patient-corrections/ValueSet/PatientCorrectionOutputTypesVS` From this IG

#### Constraints

Id | Grade | Path(s) | Details | Requirements
task-output2 | error | Task | If this is a completed Request for Correction Task, there SHALL be a formal response to the request (acceptance, denial, partial acceptance/denial). : (Task.code.coding.exists(code = 'medRecCxReq' and system = 'http://hl7.org/fhir/uv/patient-corrections/CodeSystem/PatientCorrectionTaskTypes') and Task.status = 'completed') implies Task.output.type.coding.exists(code = 'medRecCxReqResolution' and system = 'http://hl7.org/fhir/uv/patient-corrections/CodeSystem/PatientCorrectionOutputTypes') |
task-reasonreference | error | Task | If this is a Disagreement Task, there SHALL be a reference to the original Request for Correction Communication. : Task.code.coding.exists(code = 'medRecCxDenialDisagree' and system = 'http://hl7.org/fhir/uv/patient-corrections/CodeSystem/PatientCorrectionTaskTypes') implies Task.reasonReference.exists() |
task-status-allowed | error | Task.status | The status of the Task SHALL be one of the following: ready, in-progress, cancelled, completed. : $this in ('ready' | 'in-progress' | 'cancelled' | 'completed') |

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Task | C | 0..* | Task | A task to be performed Constraints: inv-1, task-reasonreference, task-output2
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | S | 0..* | Identifier | A business identifier for the correction process.
status | ?!S Σ C | 1..1 | code | Current status of a Correction Request or Log Disagreement. Binding: TaskStatus (required) Constraints: task-status-allowed
statusReason | Σ | 0..1 | CodeableConcept | Reason for the correction request status. Binding Description: (example): Codes to identify the reason for current status. These will typically be specific to a particular workflow.
businessStatus | S Σ | 0..1 | CodeableConcept | Business status of the request for correction process or the log disagreement process. Binding: Patient Correction Business Status (required)
intent | Σ | 1..1 | code | Indicates the actionability associated with the Task. Binding: TaskIntent (required): Distinguishes whether the task is a proposal, plan or full order. Fixed Value: order
code | S Σ C | 1..1 | CodeableConcept | Correction Task type. Binding: Patient Correction Task Types Values Set (required)
for | S Σ | 1..1 | Reference(Patient) | Patient this correction or disagreement relates to.
executionPeriod | Σ | 0..1 | Period | When the request is completed by the Fulfiller.
authoredOn | S C | 1..1 | dateTime | When this Task was created.
lastModified | S Σ C | 0..1 | dateTime | When the correction task was last modified.
requester | S Σ | 0..1 | Reference(Patient | RelatedPerson) | Entity requesting the correction or logging the disagreement.
owner | S Σ | 0..1 | Reference(Practitioner | PractitionerRole | Organization | CareTeam | HealthcareService) | The entity that is responsibility for fulfilling the request. Initially, this could be populated from Communication.recipient on the Communication resource of the initial request. TheFulfiller can then refine to a specific individual, group, role, or department. For example, a medical records staff person.
reasonCode |  | 0..1 | CodeableConcept | Why task is needed. E.g., need record correct prior to upcoming surgery. Binding Description: (example): Indicates why the task is needed. E.g. Suspended because patient admitted to hospital.
reasonReference | C | 0..1 | Reference(Patient Correction Task) | Log Disagreement Task to point to the original Request for Correction Task.
note |  | 0..* | Annotation | Non-actionable notes about this communication.
output | C | 0..* | BackboneElement | Formal Response from Fulfiller to the Correction Request or to the Disagreement to Correction Denial.
type |  | 1..1 | CodeableConcept | Label for output Binding: Patient Correction Output Types Value Set (required)
value[x] |  | 1..1 |  | Result of output
valueString |  |  | string |
valueAttachment |  |  | Attachment |
valueReference |  |  | Reference(Patient Correction Communication) |
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet / Code | URI
Task.status | required | TaskStatus `http://hl7.org/fhir/ValueSet/task-status` From the FHIR Standard
Task.statusReason | example |
Task.businessStatus | required | PatientCorrectionBusinessStatusVS(a valid code from Patient Correction Business Statuses) `http://hl7.org/fhir/uv/patient-corrections/ValueSet/PatientCorrectionBusinessStatusVS` From this IG
Task.intent | required | Fixed Value: order `http://hl7.org/fhir/ValueSet/task-intent|4.0.1` From the FHIR Standard
Task.code | required | PatientCorrectionTaskTypesVS(a valid code from Patient Correction Task Types) `http://hl7.org/fhir/uv/patient-corrections/ValueSet/PatientCorrectionTaskTypesVS` From this IG
Task.reasonCode | example |
Task.output.type | required | PatientCorrectionOutputTypesVS(a valid code from Patient Correction Output Types) `http://hl7.org/fhir/uv/patient-corrections/ValueSet/PatientCorrectionOutputTypesVS` From this IG

#### Constraints

Id | Grade | Path(s) | Details | Requirements
dom-2 | error | Task | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() |
dom-3 | error | Task | 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 | error | Task | 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 | error | Task | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() |
dom-6 | best practice | Task | A resource should have narrative for robust management : text.`div`.exists() |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
inv-1 | error | Task | Last modified date must be greater than or equal to authored-on date. : lastModified.exists().not() or authoredOn.exists().not() or lastModified >= authoredOn |
task-output2 | error | Task | If this is a completed Request for Correction Task, there SHALL be a formal response to the request (acceptance, denial, partial acceptance/denial). : (Task.code.coding.exists(code = 'medRecCxReq' and system = 'http://hl7.org/fhir/uv/patient-corrections/CodeSystem/PatientCorrectionTaskTypes') and Task.status = 'completed') implies Task.output.type.coding.exists(code = 'medRecCxReqResolution' and system = 'http://hl7.org/fhir/uv/patient-corrections/CodeSystem/PatientCorrectionOutputTypes') |
task-reasonreference | error | Task | If this is a Disagreement Task, there SHALL be a reference to the original Request for Correction Communication. : Task.code.coding.exists(code = 'medRecCxDenialDisagree' and system = 'http://hl7.org/fhir/uv/patient-corrections/CodeSystem/PatientCorrectionTaskTypes') implies Task.reasonReference.exists() |
task-status-allowed | error | Task.status | The status of the Task SHALL be one of the following: ready, in-progress, cancelled, completed. : $this in ('ready' | 'in-progress' | 'cancelled' | 'completed') |

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Task | C | 0..* | Task | A task to be performed Constraints: inv-1, task-reasonreference, task-output2
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | Contained, inline Resources
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | S | 0..* | Identifier | A business identifier for the correction process.
instantiatesCanonical | Σ | 0..1 | canonical(ActivityDefinition) | Formal definition of task
instantiatesUri | Σ | 0..1 | uri | Formal definition of task
groupIdentifier | Σ | 0..1 | Identifier | Requisition or grouper id
status | ?!S Σ C | 1..1 | code | Current status of a Correction Request or Log Disagreement. Binding: TaskStatus (required) Constraints: task-status-allowed
statusReason | Σ | 0..1 | CodeableConcept | Reason for the correction request status. Binding Description: (example): Codes to identify the reason for current status. These will typically be specific to a particular workflow.
businessStatus | S Σ | 0..1 | CodeableConcept | Business status of the request for correction process or the log disagreement process. Binding: Patient Correction Business Status (required)
intent | Σ | 1..1 | code | Indicates the actionability associated with the Task. Binding: TaskIntent (required): Distinguishes whether the task is a proposal, plan or full order. Fixed Value: order
priority |  | 0..1 | code | routine | urgent | asap | stat Binding: RequestPriority (required): The task's priority.
code | S Σ C | 1..1 | CodeableConcept | Correction Task type. Binding: Patient Correction Task Types Values Set (required)
description | Σ | 0..1 | string | Human-readable explanation of task
focus | Σ | 0..1 | Reference(Resource) | What task is acting on
for | S Σ | 1..1 | Reference(Patient) | Patient this correction or disagreement relates to.
executionPeriod | Σ | 0..1 | Period | When the request is completed by the Fulfiller.
authoredOn | S C | 1..1 | dateTime | When this Task was created.
lastModified | S Σ C | 0..1 | dateTime | When the correction task was last modified.
requester | S Σ | 0..1 | Reference(Patient | RelatedPerson) | Entity requesting the correction or logging the disagreement.
performerType |  | 0..* | CodeableConcept | Requested performer Binding: ProcedurePerformerRoleCodes (preferred): The type(s) of task performers allowed.
owner | S Σ | 0..1 | Reference(Practitioner | PractitionerRole | Organization | CareTeam | HealthcareService) | The entity that is responsibility for fulfilling the request. Initially, this could be populated from Communication.recipient on the Communication resource of the initial request. TheFulfiller can then refine to a specific individual, group, role, or department. For example, a medical records staff person.
location | Σ | 0..1 | Reference(Location) | Where task occurs
reasonCode |  | 0..1 | CodeableConcept | Why task is needed. E.g., need record correct prior to upcoming surgery. Binding Description: (example): Indicates why the task is needed. E.g. Suspended because patient admitted to hospital.
reasonReference | C | 0..1 | Reference(Patient Correction Task) | Log Disagreement Task to point to the original Request for Correction Task.
insurance |  | 0..* | Reference(Coverage | ClaimResponse) | Associated insurance coverage
note |  | 0..* | Annotation | Non-actionable notes about this communication.
relevantHistory |  | 0..* | Reference(Provenance) | Key events in history of the Task
input |  | 0..* | BackboneElement | Information used to perform task
type |  | 1..1 | CodeableConcept | Label for input Binding: Patient Correction Communication Types Value Set (required)
value[x] |  | 1..1 |  | Content to use in performing the task
valueString |  |  | string |
valueAttachment |  |  | Attachment |
valueReference |  |  | Reference(Patient Correction Communication) |
output | C | 0..* | BackboneElement | Formal Response from Fulfiller to the Correction Request or to the Disagreement to Correction Denial.
type |  | 1..1 | CodeableConcept | Label for output Binding: Patient Correction Output Types Value Set (required)
value[x] |  | 1..1 |  | Result of output
valueString |  |  | string |
valueAttachment |  |  | Attachment |
valueReference |  |  | Reference(Patient Correction Communication) |
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet / Code | URI
Task.language | preferred | CommonLanguages `http://hl7.org/fhir/ValueSet/languages` From the FHIR Standard
Additional Bindings | Purpose
AllLanguages | Max Binding
Task.status | required | TaskStatus `http://hl7.org/fhir/ValueSet/task-status` From the FHIR Standard
Task.statusReason | example |
Task.businessStatus | required | PatientCorrectionBusinessStatusVS(a valid code from Patient Correction Business Statuses) `http://hl7.org/fhir/uv/patient-corrections/ValueSet/PatientCorrectionBusinessStatusVS` From this IG
Task.intent | required | Fixed Value: order `http://hl7.org/fhir/ValueSet/task-intent|4.0.1` From the FHIR Standard
Task.priority | required | RequestPriority `http://hl7.org/fhir/ValueSet/request-priority|4.0.1` From the FHIR Standard
Task.code | required | PatientCorrectionTaskTypesVS(a valid code from Patient Correction Task Types) `http://hl7.org/fhir/uv/patient-corrections/ValueSet/PatientCorrectionTaskTypesVS` From this IG
Task.performerType | preferred | ProcedurePerformerRoleCodes `http://hl7.org/fhir/ValueSet/performer-role` From the FHIR Standard
Task.reasonCode | example |
Task.input.type | required | PatientCorrectionCommunicationTypesVS(a valid code from Patient Correction Communication Types) `http://hl7.org/fhir/uv/patient-corrections/ValueSet/PatientCorrectionCommunicationTypesVS` From this IG
Task.output.type | required | PatientCorrectionOutputTypesVS(a valid code from Patient Correction Output Types) `http://hl7.org/fhir/uv/patient-corrections/ValueSet/PatientCorrectionOutputTypesVS` From this IG

#### Constraints

Id | Grade | Path(s) | Details | Requirements
dom-2 | error | Task | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() |
dom-3 | error | Task | 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 | error | Task | 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 | error | Task | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() |
dom-6 | best practice | Task | A resource should have narrative for robust management : text.`div`.exists() |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
inv-1 | error | Task | Last modified date must be greater than or equal to authored-on date. : lastModified.exists().not() or authoredOn.exists().not() or lastModified >= authoredOn |
task-output2 | error | Task | If this is a completed Request for Correction Task, there SHALL be a formal response to the request (acceptance, denial, partial acceptance/denial). : (Task.code.coding.exists(code = 'medRecCxReq' and system = 'http://hl7.org/fhir/uv/patient-corrections/CodeSystem/PatientCorrectionTaskTypes') and Task.status = 'completed') implies Task.output.type.coding.exists(code = 'medRecCxReqResolution' and system = 'http://hl7.org/fhir/uv/patient-corrections/CodeSystem/PatientCorrectionOutputTypes') |
task-reasonreference | error | Task | If this is a Disagreement Task, there SHALL be a reference to the original Request for Correction Communication. : Task.code.coding.exists(code = 'medRecCxDenialDisagree' and system = 'http://hl7.org/fhir/uv/patient-corrections/CodeSystem/PatientCorrectionTaskTypes') implies Task.reasonReference.exists() |
task-status-allowed | error | Task.status | The status of the Task SHALL be one of the following: ready, in-progress, cancelled, completed. : $this in ('ready' | 'in-progress' | 'cancelled' | 'completed') |

This structure is derived from Task

Summary

Mandatory: 3 elements
Must-Support: 9 elements
Fixed: 1 element
Prohibited: 10 elements

Structures

This structure refers to these other structures:

- Patient Correction Task (http://hl7.org/fhir/uv/patient-corrections/StructureDefinition/patient-correction-task)
- Patient Correction Communication (http://hl7.org/fhir/uv/patient-corrections/StructureDefinition/patient-correction-communication)

Maturity: 1

Other representations of profile: CSV, Excel, Schematron