PackagesCanonicalsLogsProblems
    Packages
    hl7.fhir.us.ecr@1.1.0
    http://hl7.org/fhir/us/ecr/StructureDefinition/ersd-plandefinition
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.'
package_name: hl7.fhir.us.ecr
derivation: constraint
name: ERSDPlanDefinition
type: PlanDefinition
elements:
  action:
    mustSupport: true
    array: true
    min: 4
    index: 0
    slicing:
      rules: open
      ordered: true
      discriminator:
      - {path: id, type: value}
      min: 4
      slices:
        encounterStart:
          match: {id: start}
          schema:
            short: Encounter start code
            mustSupport: true
            _required: true
            index: 1
            elements:
              id:
                pattern: {type: String, value: start}
                mustSupport: true
                index: 2
              description:
                short: Description of the "match-trigger" action.
                pattern: {type: String, value: This action represents the start of the reporting workflow in response to the encounter-start event}
                mustSupport: true
                index: 3
              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: 4
              trigger:
                short: When the "start" action should be triggered.
                mustSupport: true
                index: 5
                extensions:
                  namedEventType:
                    constraint:
                      ele-1: {human: All FHIR elements must have a @value or children, source: 'http://hl7.org/fhir/StructureDefinition/Element', severity: error, expression: hasValue() or (children().count() > id.count())}
                      ext-1: {human: 'Must have either extensions or value[x], not both', source: 'http://hl7.org/fhir/StructureDefinition/Extension', severity: error, expression: extension.exists() != value.exists()}
                    min: 0
                    isModifier: false
                    short: Indicates the types of named events to subscribe to from the HER.
                    index: 7
                    type: Extension
                    mustSupport: true
                    max: 1
                    url: http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-namedEventType
                    base: {max: '*', min: 0, path: Element.extension}
                    isSummary: false
                elements:
                  extension:
                    constraint:
                      ele-1: {human: All FHIR elements must have a @value or children, source: 'http://hl7.org/fhir/StructureDefinition/Element', severity: error, expression: hasValue() or (children().count() > id.count())}
                      ext-1: {human: 'Must have either extensions or value[x], not both', source: 'http://hl7.org/fhir/StructureDefinition/Extension', severity: error, expression: extension.exists() != value.exists()}
                    isModifier: false
                    short: Additional content defined by implementations
                    index: 6
                    slicing:
                      rules: open
                      description: Extensions are always sliced by (at least) url
                      discriminator:
                      - {path: url, type: value}
                      min: 0
                      slices:
                        namedEventType:
                          match: {url: null}
                          schema:
                            constraint:
                              ele-1: {human: All FHIR elements must have a @value or children, source: 'http://hl7.org/fhir/StructureDefinition/Element', severity: error, expression: hasValue() or (children().count() > id.count())}
                              ext-1: {human: 'Must have either extensions or value[x], not both', source: 'http://hl7.org/fhir/StructureDefinition/Extension', severity: error, expression: extension.exists() != value.exists()}
                            isModifier: false
                            short: Indicates the types of named events to subscribe to from the HER.
                            index: 7
                            type: Extension
                            mustSupport: true
                            url: http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-namedEventType
                            base: {max: '*', min: 0, path: Element.extension}
                            isSummary: false
                          min: 0
                          max: 1
                    type: Extension
                    array: true
                    base: {max: '*', min: 0, path: Element.extension}
                    isSummary: false
                  type:
                    pattern: {type: Code, value: named-event}
                    index: 8
                  name:
                    pattern: {type: String, value: encounter-start}
                    index: 9
              relatedAction:
                mustSupport: true
                index: 10
                elements:
                  actionId:
                    pattern: {type: Id, value: check-reportable}
                    index: 11
                  relationship:
                    pattern: {type: Code, value: before-start}
                    index: 12
                  offsetDuration: {type: Duration, index: 13}
            required: [relatedAction, textEquivalent, id, trigger, description]
        checkReportable:
          match: {id: check-reportable}
          schema:
            _required: true
            index: 14
            elements:
              id:
                pattern: {type: String, value: check-reportable}
                mustSupport: true
                index: 15
              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: 16
              code:
                code:
                - {code: check-reportable, system: 'http://hl7.org/fhir/us/ecr/CodeSystem/executabletask-type', display: Check reportable}
                index: 17
              action:
                array: true
                min: 2
                index: 18
                slicing:
                  rules: open
                  discriminator:
                  - {path: id, type: value}
                  min: 2
                  slices:
                    isEncounterReportable:
                      match: {id: ckr-is-encounter-reportable}
                      schema:
                        type: BackboneElement
                        mustSupport: true
                        _required: true
                        index: 19
                        elements:
                          id:
                            pattern: {type: String, value: ckr-is-encounter-reportable}
                            mustSupport: true
                            index: 20
                          condition:
                            index: 21
                            elements:
                              kind:
                                pattern: {type: Code, value: applicability}
                                index: 22
                              expression:
                                mustSupport: true
                                index: 23
                                elements:
                                  language:
                                    pattern: {type: Code, value: text/fhirpath}
                                    index: 24
                            required: [expression]
                          input:
                            mustSupport: true
                            index: 25
                            elements:
                              id: {mustSupport: true, index: 26}
                            required: [id]
                          relatedAction:
                            index: 27
                            elements:
                              actionId:
                                pattern: {type: Id, value: create-and-report-eicr}
                                index: 28
                              relationship:
                                pattern: {type: Code, value: before-start}
                                index: 29
                        required: [id]
                    encounterInProgress:
                      match: {id: ckr-is-encounter-in-progress}
                      schema:
                        type: BackboneElement
                        mustSupport: true
                        _required: true
                        index: 30
                        elements:
                          id:
                            pattern: {type: String, value: ckr-is-encounter-in-progress}
                            mustSupport: true
                            index: 31
                          condition:
                            index: 32
                            elements:
                              kind:
                                pattern: {type: Code, value: applicability}
                                index: 33
                              expression:
                                mustSupport: true
                                index: 34
                                elements:
                                  language:
                                    pattern: {type: Code, value: text/fhirpath}
                                    index: 35
                            required: [expression]
                          relatedAction:
                            index: 36
                            elements:
                              actionId:
                                pattern: {type: Id, value: check-reportable}
                                index: 37
                              relationship:
                                pattern: {type: Code, value: before-start}
                                index: 38
                        required: [id]
            required: [id, code]
        createAndReport:
          match: {id: create-and-report-eicr}
          schema:
            _required: true
            index: 39
            elements:
              id:
                pattern: {type: String, value: create-and-report-eicr}
                mustSupport: true
                index: 40
              code:
                code:
                - {code: create-and-report-eicr, system: 'http://hl7.org/fhir/us/ecr/CodeSystem/executabletask-type', display: Create And Report eICR}
                index: 41
              action:
                array: true
                min: 3
                index: 42
                slicing:
                  rules: open
                  discriminator:
                  - {path: id, type: value}
                  min: 3
                  slices:
                    reportEicr:
                      match: {id: car-report-eicr}
                      schema:
                        type: BackboneElement
                        mustSupport: true
                        _required: true
                        index: 43
                        elements:
                          id:
                            pattern: {type: String, value: car-report-eicr}
                            mustSupport: true
                            index: 44
                          relatedAction:
                            index: 45
                            elements:
                              actionId:
                                pattern: {type: Id, value: report-eicr}
                                index: 46
                              relationship:
                                pattern: {type: Code, value: before-start}
                                index: 47
                        required: [id]
                    isEncounterComplete:
                      match: {id: car-is-encounter-complete}
                      schema:
                        type: BackboneElement
                        mustSupport: true
                        _required: true
                        index: 48
                        elements:
                          id:
                            pattern: {type: String, value: car-is-encounter-complete}
                            mustSupport: true
                            index: 49
                          condition:
                            index: 50
                            elements:
                              kind:
                                pattern: {type: Code, value: applicability}
                                index: 51
                              expression:
                                mustSupport: true
                                index: 52
                                elements:
                                  language:
                                    pattern: {type: Code, value: text/fhirpath}
                                    index: 53
                            required: [expression]
                          relatedAction:
                            index: 54
                            elements:
                              actionId:
                                pattern: {type: Id, value: report-eicr}
                                index: 55
                              relationship:
                                pattern: {type: Code, value: before-start}
                                index: 56
                              offsetDuration: {type: Duration, index: 57}
                        required: [id]
                    encounterInProgress:
                      match: {id: car-is-encounter-in-progress}
                      schema:
                        type: BackboneElement
                        mustSupport: true
                        _required: true
                        index: 58
                        elements:
                          id:
                            pattern: {type: String, value: car-is-encounter-in-progress}
                            mustSupport: true
                            index: 59
                          condition:
                            index: 60
                            elements:
                              kind:
                                pattern: {type: Code, value: applicability}
                                index: 61
                              expression:
                                mustSupport: true
                                index: 62
                                elements:
                                  language:
                                    pattern: {type: Code, value: text/fhirpath}
                                    index: 63
                            required: [expression]
                          relatedAction:
                            index: 64
                            elements:
                              actionId:
                                pattern: {type: Id, value: create-and-report-eicr}
                                index: 65
                              relationship:
                                pattern: {type: Code, value: before-start}
                                index: 66
                              offsetDuration: {type: Duration, index: 67}
                        required: [id]
            required: [id, code]
        reportEicr:
          match: {id: report-eicr}
          schema:
            _required: true
            index: 68
            elements:
              id:
                pattern: {type: String, value: report-eicr}
                mustSupport: true
                index: 69
              description:
                pattern: {type: String, value: This action represents the reporting of the eICR.}
                index: 70
              action:
                mustSupport: true
                array: true
                min: 3
                index: 71
                slicing:
                  rules: open
                  ordered: true
                  discriminator:
                  - {path: id, type: value}
                  min: 3
                  slices:
                    createEicr:
                      match: {id: create-eicr}
                      schema:
                        _required: true
                        index: 72
                        elements:
                          id:
                            pattern: {type: String, value: create-eicr}
                            mustSupport: true
                            index: 73
                          description:
                            pattern: {type: String, value: This action represents the creation of the eICR.}
                            index: 74
                          code:
                            code:
                            - {code: create-eicr, system: 'http://hl7.org/fhir/us/ecr/CodeSystem/executabletask-type', display: Create eICR}
                            index: 75
                        required: [id]
                    validateEicr:
                      match: {id: validate-eicr}
                      schema:
                        _required: true
                        index: 76
                        elements:
                          id:
                            pattern: {type: String, value: validate-eicr}
                            mustSupport: true
                            index: 77
                          description:
                            pattern: {type: String, value: This action represents the validation of the eICR.}
                            index: 78
                          code:
                            code:
                            - {code: validate-eicr, system: 'http://hl7.org/fhir/us/ecr/CodeSystem/executabletask-type', display: Validate eICR}
                            index: 79
                        required: [id]
                    routeAndSendEicr:
                      match: {id: route-and-send-eicr}
                      schema:
                        short: Route and send eICR
                        _required: true
                        index: 80
                        elements:
                          id:
                            pattern: {type: String, value: route-and-send-eicr}
                            mustSupport: true
                            index: 81
                          description:
                            short: Description of the route and send action.
                            pattern: {type: String, value: This action represents the routing and sending of the eICR.}
                            mustSupport: true
                            index: 82
                          textEquivalent:
                            pattern: {type: String, value: Route and send eICR}
                            mustSupport: true
                            index: 83
                          code:
                            code:
                            - {code: route-and-send-eicr, system: 'http://hl7.org/fhir/us/ecr/CodeSystem/executabletask-type', display: Route and send eICR}
                            index: 84
                        required: [textEquivalent, id, description]
            required: [id]
package_version: 1.1.0
class: profile
kind: resource
url: http://hl7.org/fhir/us/ecr/StructureDefinition/ersd-plandefinition
base: http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-plandefinition
version: 1.1.0