description: 'This PlanDefinition profile defines the logic and rules around determining: whether or not a condition is reportable to public health, which jurisdiction(s) is/are responsible, which jurisdiction(s) need to be notified, and if the condition is reportable, gives timing information, next steps and condition information to the clinician. The rules for determining reportability described by an eRSD specification involve the use of triggering codes to determine potentially reportable events, and optionally locally evaluated rules for determining suspected reportable events. The final determination of reportability is made by the Public Health Agency or Agencies appropriate for the event, and may be performed by a combination of decisions occurring at various points during the processing of an eICR, as explained in the Reportability Response profile.' package_name: hl7.fhir.us.ecr derivation: constraint name: ERSDPlanDefinition type: PlanDefinition elements: extension: short: Defines variables for the PlanDefinition. type: Extension mustSupport: true url: http://hl7.org/fhir/StructureDefinition/variable|5.2.0 index: 0 slicing: slices: variable: match: {} schema: {short: Defines variables for the PlanDefinition., type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/StructureDefinition/variable|5.2.0', index: 0} min: 0 action: array: true min: 7 index: 1 elements: input: extensions: fhirquerypattern: url: http://hl7.org/fhir/StructureDefinition/cqf-fhirQueryPattern|5.2.0 type: Extension mustSupport: true index: 3 elements: url: {mustSupport: true, index: 4} elements: extension: mustSupport: true index: 2 slicing: slices: fhirquerypattern: match: {} schema: type: Extension mustSupport: true url: http://hl7.org/fhir/StructureDefinition/cqf-fhirQueryPattern|5.2.0 index: 3 elements: url: {mustSupport: true, index: 4} relatedAction: elements: offset: choices: [offsetDuration] index: 6 slicing: slices: offsetDuration: match: {} schema: choices: [offsetDuration] index: 6 offsetDuration: type: Duration choiceOf: offset index: 7 slicing: slices: offsetDuration: match: {} schema: {type: Duration, choiceOf: offset, index: 7} slicing: rules: open ordered: true discriminator: - {path: id, type: value} min: 7 slices: encounterStart: match: {id: start-workflow} schema: short: Encounter start code mustSupport: true _required: true index: 8 elements: id: pattern: {type: String, value: start-workflow} mustSupport: true index: 9 description: short: Description of the "start" action. pattern: {type: String, value: This action represents the start of the reporting workflow in response to the encounter-start event.} index: 10 textEquivalent: short: Text equivalent of the "start" action. pattern: {type: String, value: Start the reporting workflow in response to an encounter-start event} mustSupport: true index: 11 code: short: Code for the "start" action. pattern: type: CodeableConcept value: coding: - {code: initiate-reporting-workflow, system: 'http://hl7.org/fhir/us/ph-library/CodeSystem/us-ph-codesystem-plandefinition-actions'} index: 12 trigger: short: When the "start" action should be triggered. constraint: epd-1: {human: The code value of the namedEventType SHALL be the same as the name element, source: 'http://hl7.org/fhir/us/ecr/StructureDefinition/ersd-plandefinition', severity: error, expression: 'name.supersetOf(extension(''http://hl7.org/fhir/us/ph-library/StructureDefinition/us-ph-named-eventtype-extension'').value.coding.code)'} index: 13 extensions: namedEventType: {url: null, short: Indicates the types of named events to subscribe to from the EHR., index: 14} elements: extension: short: Indicates the types of named events to subscribe to from the EHR. index: 14 slicing: slices: namedEventType: match: {} schema: {short: Indicates the types of named events to subscribe to from the EHR., index: 14} name: pattern: {type: String, value: encounter-start} index: 15 input: extensions: fhirquerypattern: {url: 'http://hl7.org/fhir/StructureDefinition/cqf-fhirQueryPattern|5.2.0', min: 0, max: 1, type: Extension, mustSupport: true, index: 16} elements: extension: type: Extension mustSupport: true url: http://hl7.org/fhir/StructureDefinition/cqf-fhirQueryPattern|5.2.0 index: 16 slicing: slices: fhirquerypattern: match: {} schema: {type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/StructureDefinition/cqf-fhirQueryPattern|5.2.0', index: 16} min: 0 max: 1 relatedAction: index: 17 elements: actionId: pattern: {type: Id, value: check-suspected-disorder} index: 18 relationship: pattern: {type: Code, value: before-start} index: 19 offset: choices: [offsetDuration] index: 21 slicing: slices: offsetDuration: match: {} schema: choices: [offsetDuration] index: 21 offsetDuration: type: Duration choiceOf: offset index: 22 slicing: slices: offsetDuration: match: {} schema: {type: Duration, choiceOf: offset, index: 22} required: [relatedAction, textEquivalent, id, trigger, code, description] checkSuspectedDisorder: match: {id: check-suspected-disorder} schema: short: Check suspected disorder mustSupport: true _required: true index: 23 elements: id: pattern: {type: String, value: check-suspected-disorder} mustSupport: true index: 24 description: short: Description of the check for suspected disorders action. pattern: {type: String, value: This action represents the start of the check suspected disorder reporting workflow in response to the encounter-start event.} index: 25 code: short: Code for the "check-suspected-disorder" action. pattern: type: CodeableConcept value: coding: - {code: execute-reporting-workflow, system: 'http://hl7.org/fhir/us/ph-library/CodeSystem/us-ph-codesystem-plandefinition-actions'} index: 26 trigger: extensions: namedEventType: {url: null, index: 27} elements: extension: index: 27 slicing: slices: namedEventType: match: {} schema: {index: 27} input: extensions: fhirquerypattern: {url: 'http://hl7.org/fhir/StructureDefinition/cqf-fhirQueryPattern|5.2.0', min: 0, max: 1, type: Extension, mustSupport: true, index: 28} elements: extension: type: Extension mustSupport: true url: http://hl7.org/fhir/StructureDefinition/cqf-fhirQueryPattern|5.2.0 index: 28 slicing: slices: fhirquerypattern: match: {} schema: {type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/StructureDefinition/cqf-fhirQueryPattern|5.2.0', index: 28} min: 0 max: 1 action: array: true min: 2 index: 29 slicing: rules: open discriminator: - {path: id, type: value} min: 2 slices: isEncounterSuspectedDisorder: match: {id: is-encounter-suspected-disorder} schema: type: BackboneElement mustSupport: true _required: true index: 30 elements: id: pattern: {type: String, value: is-encounter-suspected-disorder} mustSupport: true index: 31 code: mustSupport: true pattern: type: CodeableConcept value: coding: - {code: check-trigger-codes, system: 'http://hl7.org/fhir/us/ph-library/CodeSystem/us-ph-codesystem-plandefinition-actions'} index: 32 condition: mustSupport: true index: 33 elements: kind: pattern: {type: Code, value: applicability} index: 34 expression: mustSupport: true index: 35 elements: language: pattern: {type: Code, value: text/fhirpath} index: 36 required: [expression] input: mustSupport: true index: 37 elements: id: {mustSupport: true, index: 38} required: [id] relatedAction: elements: actionId: pattern: {type: Id, value: create-eicr} index: 39 relationship: pattern: {type: Code, value: before-start} index: 40 required: [id, code] continueCheckReportable: match: {id: continue-check-reportable} schema: type: BackboneElement mustSupport: true _required: true index: 41 elements: id: pattern: {type: String, value: continue-check-reportable} mustSupport: true index: 42 code: pattern: type: CodeableConcept value: coding: - {code: evaluate-condition, system: 'http://hl7.org/fhir/us/ph-library/CodeSystem/us-ph-codesystem-plandefinition-actions'} index: 43 condition: elements: kind: pattern: {type: Code, value: applicability} index: 44 expression: mustSupport: true index: 45 elements: language: pattern: {type: Code, value: text/fhirpath} index: 46 required: [expression] relatedAction: elements: actionId: pattern: {type: Id, value: check-reportable} index: 47 relationship: pattern: {type: Code, value: before-start} index: 48 offset: choices: [] index: 50 slicing: rules: open ordered: false discriminator: - {path: $this, type: type} min: null slices: offsetDuration: match: {} schema: choices: [offsetDuration] index: 52 min: 0 max: 1 offsetDuration: type: Duration choiceOf: offset index: 53 slicing: slices: offsetDuration: match: {} schema: {type: Duration, choiceOf: offset, index: 53} min: 0 max: 1 required: [id, code] required: [id, code, description] checkReportable: match: {id: check-reportable} schema: short: Check the encounter for reportability mustSupport: true _required: true index: 54 elements: id: pattern: {type: String, value: check-reportable} mustSupport: true index: 55 description: short: Description of the Periodic Update of eICR action. pattern: {type: String, value: This action represents the check for suspected reportability of the eICR.} index: 56 code: pattern: type: CodeableConcept value: coding: - {code: execute-reporting-workflow, system: 'http://hl7.org/fhir/us/ph-library/CodeSystem/us-ph-codesystem-plandefinition-actions'} index: 57 trigger: extensions: namedEventType: {url: null, index: 58} elements: extension: index: 58 slicing: slices: namedEventType: match: {} schema: {index: 58} input: extensions: fhirquerypattern: {url: 'http://hl7.org/fhir/StructureDefinition/cqf-fhirQueryPattern|5.2.0', min: 0, max: 1, type: Extension, mustSupport: true, index: 59} elements: extension: type: Extension mustSupport: true url: http://hl7.org/fhir/StructureDefinition/cqf-fhirQueryPattern|5.2.0 index: 59 slicing: slices: fhirquerypattern: match: {} schema: {type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/StructureDefinition/cqf-fhirQueryPattern|5.2.0', index: 59} min: 0 max: 1 action: array: true min: 4 index: 60 slicing: rules: open discriminator: - {path: id, type: value} min: 4 slices: isEncounterReportable: match: {id: is-encounter-reportable} schema: type: BackboneElement mustSupport: true _required: true index: 61 elements: id: pattern: {type: String, value: is-encounter-reportable} mustSupport: true index: 62 code: pattern: type: CodeableConcept value: coding: - {code: check-trigger-codes, system: 'http://hl7.org/fhir/us/ph-library/CodeSystem/us-ph-codesystem-plandefinition-actions'} index: 63 condition: elements: kind: pattern: {type: Code, value: applicability} index: 64 expression: mustSupport: true index: 65 elements: language: pattern: {type: Code, value: text/fhirpath} index: 66 required: [expression] input: mustSupport: true index: 67 elements: id: {mustSupport: true, index: 68} required: [id] relatedAction: elements: actionId: pattern: {type: Id, value: create-eicr} index: 69 relationship: pattern: {type: Code, value: before-start} index: 70 required: [id, code] checkUpdateEicr: match: {id: check-update-eicr} schema: type: BackboneElement mustSupport: true _required: true index: 71 elements: id: pattern: {type: String, value: check-update-eicr} mustSupport: true index: 72 code: pattern: type: CodeableConcept value: coding: - {code: evaluate-condition, system: 'http://hl7.org/fhir/us/ph-library/CodeSystem/us-ph-codesystem-plandefinition-actions'} index: 73 condition: elements: kind: pattern: {type: Code, value: applicability} index: 74 expression: mustSupport: true index: 75 elements: language: pattern: {type: Code, value: text/fhirpath} index: 76 required: [expression] relatedAction: elements: actionId: pattern: {type: Id, value: create-eicr} index: 77 relationship: pattern: {type: Code, value: before-start} index: 78 required: [id, code] encounterInProgress: match: {id: is-encounter-in-progress} schema: type: BackboneElement mustSupport: true _required: true index: 79 elements: id: pattern: {type: String, value: is-encounter-in-progress} mustSupport: true index: 80 code: pattern: type: CodeableConcept value: coding: - {code: evaluate-condition, system: 'http://hl7.org/fhir/us/ph-library/CodeSystem/us-ph-codesystem-plandefinition-actions'} index: 81 condition: elements: kind: pattern: {type: Code, value: applicability} index: 82 expression: mustSupport: true index: 83 elements: language: pattern: {type: Code, value: text/fhirpath} index: 84 required: [expression] relatedAction: elements: actionId: pattern: {type: Id, value: check-reportable} index: 85 relationship: pattern: {type: Code, value: before-start} index: 86 offset: choices: [] index: 88 slicing: rules: open ordered: false discriminator: - {path: $this, type: type} min: null slices: offsetDuration: match: {} schema: choices: [offsetDuration] index: 90 min: 0 max: 1 offsetDuration: type: Duration choiceOf: offset index: 91 slicing: slices: offsetDuration: match: {} schema: {type: Duration, choiceOf: offset, index: 91} min: 0 max: 1 required: [id, code] encounterComplete: match: {id: is-encounter-completed} schema: type: BackboneElement mustSupport: true _required: true index: 92 elements: id: pattern: {type: String, value: is-encounter-completed} mustSupport: true index: 93 code: pattern: type: CodeableConcept value: coding: - {code: complete-reporting, system: 'http://hl7.org/fhir/us/ph-library/CodeSystem/us-ph-codesystem-plandefinition-actions'} index: 94 condition: elements: kind: pattern: {type: Code, value: applicability} index: 95 expression: mustSupport: true index: 96 elements: language: pattern: {type: Code, value: text/fhirpath} index: 97 required: [expression] required: [id, code] required: [id, code] createEicr: match: {id: create-eicr} schema: short: Create the eICR mustSupport: true _required: true index: 98 elements: id: pattern: {type: String, value: create-eicr} mustSupport: true index: 99 description: pattern: {type: String, value: This action represents the creation of the eICR. It subsequently calls validate.} index: 100 code: pattern: type: CodeableConcept value: coding: - {code: create-report, system: 'http://hl7.org/fhir/us/ph-library/CodeSystem/us-ph-codesystem-plandefinition-actions'} index: 101 trigger: extensions: namedEventType: {url: null, index: 102} elements: extension: index: 102 slicing: slices: namedEventType: match: {} schema: {index: 102} input: extensions: fhirquerypattern: {url: 'http://hl7.org/fhir/StructureDefinition/cqf-fhirQueryPattern|5.2.0', min: 0, max: 1, type: Extension, mustSupport: true, index: 103} elements: extension: type: Extension mustSupport: true url: http://hl7.org/fhir/StructureDefinition/cqf-fhirQueryPattern|5.2.0 index: 103 slicing: slices: fhirquerypattern: match: {} schema: {type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/StructureDefinition/cqf-fhirQueryPattern|5.2.0', index: 103} min: 0 max: 1 relatedAction: index: 104 elements: actionId: pattern: {type: Id, value: validate-eicr} index: 105 relationship: pattern: {type: Code, value: before-start} index: 106 required: [relatedAction, id] validateEicr: match: {id: validate-eicr} schema: short: Validate the eICR mustSupport: true _required: true index: 107 elements: id: pattern: {type: String, value: validate-eicr} mustSupport: true index: 108 description: pattern: {type: String, value: This action represents the validation of the eICR. It subsequently calls route-and-send.} index: 109 code: pattern: type: CodeableConcept value: coding: - {code: validate-report, system: 'http://hl7.org/fhir/us/ph-library/CodeSystem/us-ph-codesystem-plandefinition-actions'} index: 110 trigger: extensions: namedEventType: {url: null, index: 111} elements: extension: index: 111 slicing: slices: namedEventType: match: {} schema: {index: 111} input: extensions: fhirquerypattern: {url: 'http://hl7.org/fhir/StructureDefinition/cqf-fhirQueryPattern|5.2.0', min: 0, max: 1, type: Extension, mustSupport: true, index: 112} elements: extension: type: Extension mustSupport: true url: http://hl7.org/fhir/StructureDefinition/cqf-fhirQueryPattern|5.2.0 index: 112 slicing: slices: fhirquerypattern: match: {} schema: {type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/StructureDefinition/cqf-fhirQueryPattern|5.2.0', index: 112} min: 0 max: 1 relatedAction: index: 113 elements: actionId: pattern: {type: Id, value: route-and-send-eicr} index: 114 relationship: pattern: {type: Code, value: before-start} index: 115 required: [relatedAction, id] routeAndSendEicr: match: {id: route-and-send-eicr} schema: short: Route and send eICR mustSupport: true _required: true index: 116 elements: id: pattern: {type: String, value: route-and-send-eicr} mustSupport: true index: 117 description: short: Description of the route and send action. pattern: {type: String, value: This action represents the routing and sending of the eICR.} index: 118 textEquivalent: pattern: {type: String, value: Route and send eICR} mustSupport: true index: 119 code: pattern: type: CodeableConcept value: coding: - {code: submit-report, system: 'http://hl7.org/fhir/us/ph-library/CodeSystem/us-ph-codesystem-plandefinition-actions'} index: 120 trigger: extensions: namedEventType: {url: null, index: 121} elements: extension: index: 121 slicing: slices: namedEventType: match: {} schema: {index: 121} input: extensions: fhirquerypattern: {url: 'http://hl7.org/fhir/StructureDefinition/cqf-fhirQueryPattern|5.2.0', min: 0, max: 1, type: Extension, mustSupport: true, index: 122} elements: extension: type: Extension mustSupport: true url: http://hl7.org/fhir/StructureDefinition/cqf-fhirQueryPattern|5.2.0 index: 122 slicing: slices: fhirquerypattern: match: {} schema: {type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/StructureDefinition/cqf-fhirQueryPattern|5.2.0', index: 122} min: 0 max: 1 required: [textEquivalent, id, description] encounterModified: match: {id: encounter-modified} schema: short: Encounter modified code mustSupport: true _required: true index: 123 elements: id: pattern: {type: String, value: encounter-modified} mustSupport: true index: 124 description: short: Description of the "encounter-modified" action. pattern: {type: String, value: This action represents the start of the reporting workflow in response to the encounter-modified event} index: 125 textEquivalent: short: Text equivalent of the "encounter-modified" action. pattern: {type: String, value: Start the reporting workflow in response to an encounter-modified event} mustSupport: true index: 126 code: short: Code for the "encounter-modified" action. pattern: type: CodeableConcept value: coding: - {code: initiate-reporting-workflow, system: 'http://hl7.org/fhir/us/ph-library/CodeSystem/us-ph-codesystem-plandefinition-actions'} index: 127 trigger: short: When the "encounter-modified" action should be triggered. constraint: epd-1: {human: The code value of the namedEventType SHALL be the same as the name element, source: 'http://hl7.org/fhir/us/ecr/StructureDefinition/ersd-plandefinition', severity: error, expression: 'name.supersetOf(extension(''http://hl7.org/fhir/us/ph-library/StructureDefinition/us-ph-named-eventtype-extension'').value.coding.code)'} index: 128 extensions: namedEventType: {url: null, short: Indicates the types of named events to subscribe to from the EHR., index: 129} elements: extension: short: Indicates the types of named events to subscribe to from the EHR. index: 129 slicing: slices: namedEventType: match: {} schema: {short: Indicates the types of named events to subscribe to from the EHR., index: 129} name: pattern: {type: String, value: encounter-modified} index: 130 input: extensions: fhirquerypattern: {url: 'http://hl7.org/fhir/StructureDefinition/cqf-fhirQueryPattern|5.2.0', min: 0, max: 1, type: Extension, mustSupport: true, index: 131} elements: extension: type: Extension mustSupport: true url: http://hl7.org/fhir/StructureDefinition/cqf-fhirQueryPattern|5.2.0 index: 131 slicing: slices: fhirquerypattern: match: {} schema: {type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/StructureDefinition/cqf-fhirQueryPattern|5.2.0', index: 131} min: 0 max: 1 relatedAction: index: 132 elements: actionId: pattern: {type: Id, value: create-eicr} index: 133 relationship: pattern: {type: Code, value: before-start} index: 134 action: type: BackboneElement index: 135 elements: condition: elements: kind: pattern: {type: Code, value: applicability} index: 136 expression: mustSupport: true index: 137 elements: language: pattern: {type: Code, value: text/fhirpath} index: 138 required: [expression] required: [relatedAction, textEquivalent, id, trigger, code, description] package_version: 3.0.0-ballot extensions: variable: {url: 'http://hl7.org/fhir/StructureDefinition/variable|5.2.0', min: 0, short: Defines variables for the PlanDefinition., type: Extension, mustSupport: true, index: 0} class: profile kind: resource url: http://hl7.org/fhir/us/ecr/StructureDefinition/ersd-plandefinition base: http://hl7.org/fhir/us/ph-library/StructureDefinition/us-ph-plandefinition version: 3.0.0-ballot