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.\n\nThe profile defines three timing-related parameters for initiating case reports from Electronic Health Records (the standard does not specify the hour value for the delay of the send - public health operations will determine the specific value appropriate for implementation) the standard conveys the parameters to clinical care but it does not require their implementation.\n\n* Delay initial eICR construction (for example 1 hour) - the time after start of the encounter when the trigger events would not immediately cause an eICR to be composed and sent. (This delay is intended to allow adequate data to be recorded in the EHR, but is not so long as to delay reporting in critical circumstances.) If there is a trigger and the encounter is closed before the specified delay value (for example the encounter is closed in 30 minutes when the specified delay value is 1 hour) the eICR should be created and sent.\n* eICR periodic update (for example 24 hours) - the time after an initial eICR creation to send new eICRs as updates during long encounters. (These updates should only be produced until the end of the encounter).\n* eICR encounter close-out (for example 24 hours or 0 hours for no delay) - the time after the end of an encounter for a final eICR to be sent when there has been one or more trigger events in the encounter. (The close-out eICR is intended to provide the full data available at the end of an encounter.)\n\n' package_name: hl7.fhir.us.ecr derivation: constraint name: Ersd_PlanDefinition type: PlanDefinition elements: date: {short: Date the eRSD was published, mustSupport: true, index: 4} publisher: {short: Name of the agency that published this eRSD, index: 5} name: {short: Name for this eRSD (computer friendly), mustSupport: true, index: 1} type: {short: Type of this eRSD, mustSupport: true, index: 3} title: {short: Title for this eRSD, mustSupport: true, index: 2} library: {mustSupport: true, index: 8} action: mustSupport: true index: 9 slicing: rules: open ordered: true discriminator: - {path: id, type: value} min: 1 slices: sliceMatchTrigger: match: {id: match-trigger} schema: short: Match trigger code mustSupport: true _required: true index: 10 elements: id: pattern: {type: String, value: match-trigger} mustSupport: true index: 11 description: short: Description of the "match-trigger" action. pattern: {type: String, value: This action represents the matching of a trigger code to one of the values in the eRSD value sets.} mustSupport: true index: 12 textEquivalent: short: Text equivalent of the "match-trigger" action. pattern: {type: String, value: Match of a code to one of the values in the eRSD value sets.} mustSupport: true index: 13 trigger: short: When the "match-trigger" action should be triggered. mustSupport: true index: 14 elements: type: pattern: {type: Code, value: data-changed} index: 15 data: short: A triggering value set. mustSupport: true index: 16 elements: type: {short: The type of trigger data., index: 17} codeFilter: short: Match based on code. mustSupport: true index: 18 elements: path: {short: Path to the code to match, mustSupport: true, index: 19} valueSet: {type: canonical, short: eRSD value set containing trigger codes., index: 20} required: [valueSet, path] required: [codeFilter] required: [data] required: [textEquivalent, id, trigger, description] sliceCreateEICR: match: {id: create-eicr} schema: short: Create eICR mustSupport: true _required: true index: 21 elements: id: pattern: {type: String, value: create-eicr} mustSupport: true index: 22 description: short: Description of the "create-eicr" action. pattern: {type: String, value: This action represents the initial creation of the eICR.} mustSupport: true index: 23 textEquivalent: short: Text equivalent of the "create-ecir" action. pattern: {type: String, value: eICR construction delay (offsetDuration.value = x hours) - time after trigger event before an eICR should be created.} mustSupport: true index: 24 relatedAction: mustSupport: true index: 25 elements: actionId: pattern: {type: Id, value: match-trigger} index: 26 relationship: pattern: {type: Code, value: after} mustSupport: false index: 27 offset: choices: [offsetDuration] index: 29 offsetDuration: {type: Duration, choiceOf: offset, index: 30} offset[x]: elements: value: {short: '[x - value]', mustSupport: true, index: 31} unit: pattern: {type: String, value: h} mustSupport: true index: 32 required: [value, unit] required: [relatedAction, textEquivalent, id, description] slicePeriodicUpdateEICR: match: {id: periodic-update-eicr} schema: short: Periodic Update of eICR mustSupport: true _required: true index: 33 elements: id: pattern: {type: String, value: periodic-update-eicr} index: 34 description: short: Description of the Periodic Update of eICR action. pattern: {type: String, value: This action represents the periodic update of the eICR.} mustSupport: true index: 35 textEquivalent: pattern: {type: String, value: eICR periodic update (repeat.frequency = y hours) - the time after an initial eICR creation to send a new eICR as an update during long encounters.} mustSupport: true index: 36 trigger: short: Trigger every y hours after first eICR creation. mustSupport: true index: 37 elements: type: pattern: {type: Code, value: periodic} index: 38 timing: mustSupport: true choices: [timingTiming] index: 40 timingTiming: {type: Timing, mustSupport: true, choiceOf: timing, index: 41} timing[x]: elements: repeat: short: Repeat update of eICR every [y - period] hours. mustSupport: true index: 42 elements: frequency: mustSupport: true pattern: {type: PositiveInt, value: 1} index: 43 period: {short: '[y - period]', mustSupport: true, index: 44} periodUnit: short: Unit - hours pattern: {type: Code, value: h} mustSupport: true index: 45 required: [periodUnit, period, frequency] required: [repeat] required: [timingTiming, timing] condition: mustSupport: true array: true min: 1 index: 46 slicing: rules: open discriminator: - {path: kind, type: value} min: 1 slices: sliceStartCondition: match: {kind: start} schema: mustSupport: true _required: true index: 47 elements: kind: pattern: {type: Code, value: start} index: 48 expression: mustSupport: true index: 49 elements: description: pattern: {type: String, value: Encounter is active.} index: 50 language: {index: 51} expression: {short: Encounter started., mustSupport: true, index: 52} required: [expression] required: [expression] sliceStopCondition: match: {kind: stop} schema: mustSupport: true _required: true index: 53 elements: kind: pattern: {type: Code, value: stop} index: 54 expression: mustSupport: true index: 55 elements: description: pattern: {type: String, value: Encounter is closed.} index: 56 language: {index: 57} expression: {short: Encounter ended., mustSupport: true, index: 58} required: [expression] required: [expression] relatedAction: mustSupport: true index: 59 elements: actionId: pattern: {type: Id, value: create-eicr} index: 60 relationship: pattern: {type: Code, value: after} index: 61 required: [relatedAction, textEquivalent, id, condition, trigger, description] sliceCloseOutEICR: match: {id: close-out-eicr} schema: short: Close Out eICR action mustSupport: true _required: true index: 62 elements: id: pattern: {type: String, value: close-out-eicr} index: 63 description: short: Description of the "close-out-eicr" action. pattern: {type: String, value: This action represents the close out of an eICR encounter.} mustSupport: true index: 64 textEquivalent: pattern: {type: String, value: eICR encounter close out (timingTiming.repeat.duration = z hours) - the time after the end of the encounter to create the final eICR when there have been one or more trigger events.} mustSupport: true index: 65 trigger: mustSupport: true index: 66 elements: type: pattern: {type: Code, value: data-added} index: 67 data: short: Trigger when Encounter.period.end is added. mustSupport: true index: 68 elements: type: pattern: {type: Code, value: Encounter} index: 69 profile: mustSupport: true pattern: {type: Canonical, value: 'http://hl7.org/fhir/us/ecr/StructureDefinition/eicr-encounter'} index: 70 dateFilter: mustSupport: true index: 71 elements: path: pattern: {type: String, value: period.end} mustSupport: true index: 72 required: [path] required: [dateFilter, profile] required: [data] relatedAction: mustSupport: true index: 73 elements: actionId: pattern: {type: Id, value: create-eicr} index: 74 relationship: pattern: {type: Code, value: after} index: 75 timing: mustSupport: true choices: [timingTiming] index: 77 timingTiming: {type: Timing, mustSupport: true, choiceOf: timing, index: 78} timing[x]: elements: repeat: short: Close out eICR [z] hours after end of encounter. mustSupport: true index: 79 elements: count: mustSupport: true pattern: {type: PositiveInt, value: 1} index: 80 duration: {short: '[z - duration]', mustSupport: true, index: 81} durationUnit: pattern: {type: Code, value: h} mustSupport: true index: 82 frequency: mustSupport: true pattern: {type: PositiveInt, value: 1} index: 83 required: [count, durationUnit, duration, frequency] required: [repeat] required: [timingTiming, relatedAction, textEquivalent, id, trigger, description, timing] sliceValidateEICR: match: {id: validate-eicr} schema: short: Validate eICR mustSupport: true _required: true index: 84 elements: id: pattern: {type: String, value: validate-eicr} mustSupport: true index: 85 description: short: Description of the "validate-eicr" action. pattern: {type: String, value: This action represents the validation of an eICR.} mustSupport: true index: 86 textEquivalent: pattern: {type: String, value: Validate eICR.} mustSupport: true index: 87 trigger: short: Trigger when the eICR has been created. mustSupport: true index: 88 elements: type: pattern: {type: Code, value: data-changed} index: 89 name: pattern: {type: String, value: eicr-created} mustSupport: true index: 90 data: mustSupport: true index: 91 elements: type: pattern: {type: Code, value: Composition} mustSupport: true index: 92 profile: mustSupport: true pattern: {type: Canonical, value: 'http://hl7.org/fhir/us/ecr/StructureDefinition/eicr-composition'} index: 93 required: [profile] required: [name, data] required: [textEquivalent, id, trigger, description] sliceRouteAndSendEICR: match: {id: route-and-send-eicr} schema: short: Route and send eICR mustSupport: true _required: true index: 94 elements: id: pattern: {type: String, value: route-and-send-eicr} mustSupport: true index: 95 description: short: Description of the route and send action. pattern: {type: String, value: This action represents the routing and sending of an eICR.} mustSupport: true index: 96 textEquivalent: pattern: {type: String, value: Route and send eICR} mustSupport: true index: 97 relatedAction: mustSupport: true index: 98 elements: actionId: pattern: {type: Id, value: validate-eicr} index: 99 relationship: pattern: {type: Code, value: after} index: 100 required: [relatedAction, textEquivalent, id, description] version: {short: Business version of the eRSD, mustSupport: true, index: 0} effectivePeriod: short: When the eRSD is expected to be used mustSupport: true index: 6 elements: start: {short: The start of the time period when this eRSD goes in effect, index: 7} required: [start] package_version: 1.0.0 class: profile kind: resource url: http://hl7.org/fhir/us/ecr/StructureDefinition/ersd-plandefinition base: http://hl7.org/fhir/StructureDefinition/PlanDefinition version: 1.0.0 required: [name, action, title, version, date]