PackagesCanonicalsLogsProblems
    Packages
    rs/kbv.ita.erp@1.0.2
    https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Prescription
description: null
package_name: rs/kbv.ita.erp
derivation: constraint
name: KBV_PR_ERP_Prescription
type: MedicationRequest
elements:
  performerType: {index: 105}
  category: {index: 76}
  insurance:
    type: Reference
    mustSupport: true
    refers: ['https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Coverage|1.0.3']
    index: 114
    elements:
      reference: {mustSupport: true, index: 115}
      type: {index: 116}
      identifier: {index: 117}
      display: {index: 118}
    required: [reference]
  instantiatesCanonical: {index: 109}
  eventHistory: {index: 167}
  meta:
    mustSupport: true
    index: 1
    elements:
      versionId: {index: 2}
      lastUpdated: {index: 3}
      source: {index: 4}
      profile:
        pattern: {type: canonical, value: 'https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Prescription|1.0.2'}
        type: canonical
        index: 5
      security: {index: 6}
      tag: {index: 7}
    required: [profile]
  instantiatesUri: {index: 110}
  substitution:
    mustSupport: true
    index: 157
    elements:
      allowed:
        short: Aut idem
        mustSupport: true
        choices: [allowedBoolean]
        index: 162
        slicing:
          slices:
            allowedBoolean:
              match: {}
              schema:
                short: Aut idem
                mustSupport: true
                choices: [allowedBoolean]
                _required: true
                index: 162
              min: 1
      allowedBoolean:
        short: Aut idem
        type: boolean
        mustSupport: true
        choiceOf: allowed
        index: 163
        slicing:
          slices:
            allowedBoolean:
              match: {}
              schema: {short: Aut idem, type: boolean, mustSupport: true, _required: true, choiceOf: allowed, index: 163}
              min: 1
      reason: {index: 164}
    required: [allowed, allowedBoolean]
  detectedIssue: {index: 166}
  encounter: {index: 96}
  medication[x]:
    elements:
      reference: {index: 87}
      type: {index: 88}
      identifier: {index: 89}
      display: {index: 90}
    required: [reference]
  dispenseRequest:
    mustSupport: true
    index: 145
    elements:
      initialFill: {index: 146}
      dispenseInterval: {index: 147}
      validityPeriod: {index: 148}
      numberOfRepeatsAllowed: {index: 149}
      quantity:
        mustSupport: true
        index: 150
        elements:
          value: {short: Anzahl der verordneten Packungen, mustSupport: true, maxValueDecimal: 999, index: 151}
          unit: {index: 152}
          system:
            pattern: {type: uri, value: 'http://unitsofmeasure.org'}
            mustSupport: true
            type: uri
            index: 153
          code:
            pattern: {type: code, value: '{Package}'}
            mustSupport: true
            type: code
            index: 154
        required: [code, system, value]
      expectedSupplyDuration: {index: 155}
      performer: {index: 156}
    required: [quantity]
  implicitRules: {index: 8}
  reported:
    choices: []
    index: 80
  reasonCode: {index: 107}
  statusReason: {index: 74}
  authoredOn: {short: Ausstellungsdatum, mustSupport: true, index: 98}
  note:
    constraint:
      -erp-begrenzungText: {human: Die Länge der Abgeabehinweise (text) darf 160 Zeichen nicht überschreiten., source: 'https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Prescription', severity: error, expression: text.toString().length() <=160}
    mustSupport: true
    index: 119
    elements:
      author:
        choices: []
        index: 121
      time: {index: 122}
      text: {short: Abgabehinweis, mustSupport: true, index: 123}
  extension:
    index: 12
    slicing:
      rules: open
      discriminator:
      - {path: url, type: value}
      min: null
      slices:
        Zuzahlungsstatus:
          match: {url: null}
          schema:
            type: Extension
            mustSupport: true
            url: https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_StatusCoPayment
            index: 13
            elements:
              value:
                mustSupport: true
                choices: []
                index: 15
                slicing:
                  slices:
                    valueCoding:
                      match: {}
                      schema:
                        mustSupport: true
                        choices: []
                        index: 17
              value[x]:
                elements:
                  system: {mustSupport: true, index: 18}
                  code: {mustSupport: true, index: 19}
        Notdienstgebuehr:
          match: {url: null}
          schema:
            type: Extension
            mustSupport: true
            url: https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_EmergencyServicesFee
            index: 20
            elements:
              value:
                mustSupport: true
                choices: []
                index: 22
                slicing:
                  slices:
                    valueBoolean:
                      match: {}
                      schema:
                        mustSupport: true
                        choices: []
                        index: 24
        BVG:
          match: {url: null}
          schema:
            type: Extension
            mustSupport: true
            url: https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_BVG
            index: 25
            elements:
              value:
                mustSupport: true
                choices: []
                index: 27
                slicing:
                  slices:
                    valueBoolean:
                      match: {}
                      schema:
                        mustSupport: true
                        choices: []
                        index: 29
        unfallinformationen:
          match: {url: null}
          schema:
            type: Extension
            constraint:
              -erp-angabeUnfallbetrieb: {human: 'Unfallbetrieb nicht vorhanden, aber Pflicht bei Arbeitsunfall (code=''2'')', source: 'https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Prescription', severity: error, expression: (extension('unfallkennzeichen').value as Coding).code = '2' implies extension('unfallbetrieb').exists()}
              -erp-angabeUnfalltag: {human: 'Unfalltag nicht vorhanden, aber Pflicht bei Unfall (code=''1'') oder Arbeitsunfall (code=''2'')', source: 'https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Prescription', severity: error, expression: ((extension('unfallkennzeichen').value as Coding).code = '1' or (extension('unfallkennzeichen').value as Coding).code = '2') implies extension('unfalltag').exists()}
            mustSupport: true
            url: https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Accident
            index: 30
            extensions:
              unfallkennzeichen:
                url: null
                mustSupport: true
                index: 32
                elements:
                  value:
                    mustSupport: true
                    choices: []
                    index: 34
                    slicing:
                      slices:
                        valueCoding:
                          match: {}
                          schema:
                            mustSupport: true
                            choices: []
                            index: 36
                  value[x]:
                    elements:
                      system: {mustSupport: true, index: 37}
                      code: {mustSupport: true, index: 38}
              unfallbetrieb:
                url: null
                mustSupport: true
                index: 39
                elements:
                  value:
                    mustSupport: true
                    choices: []
                    index: 41
                    slicing:
                      slices:
                        valueString:
                          match: {}
                          schema:
                            mustSupport: true
                            choices: []
                            index: 43
              unfalltag:
                url: null
                mustSupport: true
                index: 44
                elements:
                  value:
                    mustSupport: true
                    choices: []
                    index: 46
                    slicing:
                      slices:
                        valueDate:
                          match: {}
                          schema:
                            mustSupport: true
                            choices: []
                            _required: true
                            index: 48
                          min: 1
                required: [value]
            elements:
              extension:
                index: 31
                slicing:
                  rules: open
                  discriminator:
                  - {path: url, type: value}
                  min: null
                  slices:
                    unfallkennzeichen:
                      match: {url: null}
                      schema:
                        mustSupport: true
                        index: 32
                        elements:
                          value:
                            mustSupport: true
                            choices: []
                            index: 34
                            slicing:
                              slices:
                                valueCoding:
                                  match: {}
                                  schema:
                                    mustSupport: true
                                    choices: []
                                    index: 36
                          value[x]:
                            elements:
                              system: {mustSupport: true, index: 37}
                              code: {mustSupport: true, index: 38}
                    unfallbetrieb:
                      match: {url: null}
                      schema:
                        mustSupport: true
                        index: 39
                        elements:
                          value:
                            mustSupport: true
                            choices: []
                            index: 41
                            slicing:
                              slices:
                                valueString:
                                  match: {}
                                  schema:
                                    mustSupport: true
                                    choices: []
                                    index: 43
                    unfalltag:
                      match: {url: null}
                      schema:
                        mustSupport: true
                        index: 44
                        elements:
                          value:
                            mustSupport: true
                            choices: []
                            index: 46
                            slicing:
                              slices:
                                valueDate:
                                  match: {}
                                  schema:
                                    mustSupport: true
                                    choices: []
                                    _required: true
                                    index: 48
                                  min: 1
                        required: [value]
        Mehrfachverordnung:
          match: {url: null}
          schema:
            type: Extension
            mustSupport: true
            url: https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Multiple_Prescription
            index: 49
            extensions:
              Kennzeichen:
                url: null
                mustSupport: true
                index: 51
                elements:
                  value:
                    mustSupport: true
                    choices: []
                    index: 53
                    slicing:
                      slices:
                        valueBoolean:
                          match: {}
                          schema:
                            mustSupport: true
                            choices: []
                            index: 55
              Nummerierung:
                url: null
                mustSupport: true
                index: 56
                elements:
                  value:
                    mustSupport: true
                    choices: []
                    index: 58
                    slicing:
                      slices:
                        valueRatio:
                          match: {}
                          schema:
                            mustSupport: true
                            choices: []
                            index: 60
                  value[x]:
                    elements:
                      numerator:
                        mustSupport: true
                        index: 61
                        elements:
                          value: {mustSupport: true, index: 62}
                      denominator:
                        mustSupport: true
                        index: 63
                        elements:
                          value: {mustSupport: true, index: 64}
              Zeitraum:
                url: null
                mustSupport: true
                index: 65
                elements:
                  value:
                    mustSupport: true
                    choices: []
                    index: 67
                    slicing:
                      slices:
                        valuePeriod:
                          match: {}
                          schema:
                            mustSupport: true
                            choices: []
                            index: 69
                  value[x]:
                    elements:
                      start: {mustSupport: true, index: 70}
                      end: {mustSupport: true, index: 71}
            elements:
              extension:
                index: 50
                slicing:
                  rules: open
                  discriminator:
                  - {path: url, type: value}
                  min: null
                  slices:
                    Kennzeichen:
                      match: {url: null}
                      schema:
                        mustSupport: true
                        index: 51
                        elements:
                          value:
                            mustSupport: true
                            choices: []
                            index: 53
                            slicing:
                              slices:
                                valueBoolean:
                                  match: {}
                                  schema:
                                    mustSupport: true
                                    choices: []
                                    index: 55
                    Nummerierung:
                      match: {url: null}
                      schema:
                        mustSupport: true
                        index: 56
                        elements:
                          value:
                            mustSupport: true
                            choices: []
                            index: 58
                            slicing:
                              slices:
                                valueRatio:
                                  match: {}
                                  schema:
                                    mustSupport: true
                                    choices: []
                                    index: 60
                          value[x]:
                            elements:
                              numerator:
                                mustSupport: true
                                index: 61
                                elements:
                                  value: {mustSupport: true, index: 62}
                              denominator:
                                mustSupport: true
                                index: 63
                                elements:
                                  value: {mustSupport: true, index: 64}
                    Zeitraum:
                      match: {url: null}
                      schema:
                        mustSupport: true
                        index: 65
                        elements:
                          value:
                            mustSupport: true
                            choices: []
                            index: 67
                            slicing:
                              slices:
                                valuePeriod:
                                  match: {}
                                  schema:
                                    mustSupport: true
                                    choices: []
                                    index: 69
                          value[x]:
                            elements:
                              start: {mustSupport: true, index: 70}
                              end: {mustSupport: true, index: 71}
  contained: {index: 11}
  requester:
    type: Reference
    mustSupport: true
    refers: ['https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Practitioner|1.0.3']
    index: 99
    elements:
      reference: {mustSupport: true, index: 100}
      type: {index: 101}
      identifier: {index: 102}
      display: {index: 103}
    required: [reference]
  supportingInformation: {index: 97}
  priority: {index: 77}
  status:
    pattern: {type: code, value: active}
    mustSupport: true
    type: code
    index: 73
  language: {index: 9}
  id: {mustSupport: true, index: 0}
  dosageInstruction:
    constraint:
      -erp-angabeDosierung: {human: 'Wenn das Dosierungskennzeichen nicht gesetzt ist, darf auch kein Text vorhanden sein.', source: 'https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Prescription', severity: error, expression: '(extension(''https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_DosageFlag'').empty() or extension(''https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_DosageFlag'').value.as(Boolean)=false) implies text.empty()'}
    mustSupport: true
    index: 124
    extensions:
      dosierungskennzeichen:
        url: https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_DosageFlag
        type: Extension
        mustSupport: true
        index: 126
        elements:
          value:
            mustSupport: true
            choices: []
            index: 128
            slicing:
              slices:
                valueBoolean:
                  match: {}
                  schema:
                    mustSupport: true
                    choices: []
                    index: 130
    elements:
      site: {index: 138}
      asNeeded:
        choices: []
        index: 137
      method: {index: 140}
      patientInstruction: {short: Gebrauchsanweisung einer Rezeptur, maxLength: 60, mustSupport: true, index: 134}
      maxDosePerLifetime: {index: 144}
      maxDosePerAdministration: {index: 143}
      route: {index: 139}
      extension:
        index: 125
        slicing:
          rules: open
          discriminator:
          - {path: url, type: value}
          min: null
          slices:
            dosierungskennzeichen:
              match: {url: null}
              schema:
                type: Extension
                mustSupport: true
                url: https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_DosageFlag
                index: 126
                elements:
                  value:
                    mustSupport: true
                    choices: []
                    index: 128
                    slicing:
                      slices:
                        valueBoolean:
                          match: {}
                          schema:
                            mustSupport: true
                            choices: []
                            index: 130
      timing: {index: 135}
      additionalInstruction: {index: 133}
      sequence: {index: 131}
      maxDosePerPeriod: {index: 142}
      doseAndRate: {index: 141}
      text: {short: Dosieranweisung, maxLength: 60, mustSupport: true, index: 132}
  groupIdentifier: {index: 112}
  recorder: {index: 106}
  identifier: {index: 72}
  doNotPerform: {index: 78}
  intent:
    pattern: {type: code, value: order}
    mustSupport: true
    type: code
    index: 75
  basedOn: {index: 111}
  priorPrescription: {index: 165}
  medicationReference:
    type: Reference
    mustSupport: true
    choiceOf: medication
    refers: ['https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_Compounding|1.0.2', 'https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_FreeText|1.0.2', 'https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_Ingredient|1.0.2', 'https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.0.2']
    index: 86
    slicing:
      slices:
        medicationReference:
          match: {}
          schema:
            type: Reference
            mustSupport: true
            choiceOf: medication
            refers: ['https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_Compounding|1.0.2', 'https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_FreeText|1.0.2', 'https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_Ingredient|1.0.2', 'https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.0.2']
            _required: true
            index: 86
          min: 1
  courseOfTherapyType: {index: 113}
  subject:
    type: Reference
    mustSupport: true
    refers: ['https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Patient|1.0.3']
    index: 91
    elements:
      reference: {mustSupport: true, index: 92}
      type: {index: 93}
      identifier: {index: 94}
      display: {index: 95}
    required: [reference]
  performer: {index: 104}
  medication:
    mustSupport: true
    choices: [medicationReference]
    index: 85
    slicing:
      slices:
        medicationReference:
          match: {}
          schema:
            mustSupport: true
            choices: [medicationReference]
            _required: true
            index: 85
          min: 1
  reasonReference: {index: 108}
  text: {index: 10}
package_version: 1.0.2
extensions:
  Zuzahlungsstatus:
    url: https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_StatusCoPayment
    type: Extension
    mustSupport: true
    index: 13
    elements:
      value:
        mustSupport: true
        choices: []
        index: 15
        slicing:
          slices:
            valueCoding:
              match: {}
              schema:
                mustSupport: true
                choices: []
                index: 17
      value[x]:
        elements:
          system: {mustSupport: true, index: 18}
          code: {mustSupport: true, index: 19}
  Notdienstgebuehr:
    url: https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_EmergencyServicesFee
    type: Extension
    mustSupport: true
    index: 20
    elements:
      value:
        mustSupport: true
        choices: []
        index: 22
        slicing:
          slices:
            valueBoolean:
              match: {}
              schema:
                mustSupport: true
                choices: []
                index: 24
  BVG:
    url: https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_BVG
    type: Extension
    mustSupport: true
    index: 25
    elements:
      value:
        mustSupport: true
        choices: []
        index: 27
        slicing:
          slices:
            valueBoolean:
              match: {}
              schema:
                mustSupport: true
                choices: []
                index: 29
  unfallinformationen:
    url: https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Accident
    type: Extension
    constraint:
      -erp-angabeUnfallbetrieb: {human: 'Unfallbetrieb nicht vorhanden, aber Pflicht bei Arbeitsunfall (code=''2'')', source: 'https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Prescription', severity: error, expression: (extension('unfallkennzeichen').value as Coding).code = '2' implies extension('unfallbetrieb').exists()}
      -erp-angabeUnfalltag: {human: 'Unfalltag nicht vorhanden, aber Pflicht bei Unfall (code=''1'') oder Arbeitsunfall (code=''2'')', source: 'https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Prescription', severity: error, expression: ((extension('unfallkennzeichen').value as Coding).code = '1' or (extension('unfallkennzeichen').value as Coding).code = '2') implies extension('unfalltag').exists()}
    mustSupport: true
    index: 30
    extensions:
      unfallkennzeichen:
        url: null
        mustSupport: true
        index: 32
        elements:
          value:
            mustSupport: true
            choices: []
            index: 34
            slicing:
              slices:
                valueCoding:
                  match: {}
                  schema:
                    mustSupport: true
                    choices: []
                    index: 36
          value[x]:
            elements:
              system: {mustSupport: true, index: 37}
              code: {mustSupport: true, index: 38}
      unfallbetrieb:
        url: null
        mustSupport: true
        index: 39
        elements:
          value:
            mustSupport: true
            choices: []
            index: 41
            slicing:
              slices:
                valueString:
                  match: {}
                  schema:
                    mustSupport: true
                    choices: []
                    index: 43
      unfalltag:
        url: null
        mustSupport: true
        index: 44
        elements:
          value:
            mustSupport: true
            choices: []
            index: 46
            slicing:
              slices:
                valueDate:
                  match: {}
                  schema:
                    mustSupport: true
                    choices: []
                    _required: true
                    index: 48
                  min: 1
        required: [value]
    elements:
      extension:
        index: 31
        slicing:
          rules: open
          discriminator:
          - {path: url, type: value}
          min: null
          slices:
            unfallkennzeichen:
              match: {url: null}
              schema:
                mustSupport: true
                index: 32
                elements:
                  value:
                    mustSupport: true
                    choices: []
                    index: 34
                    slicing:
                      slices:
                        valueCoding:
                          match: {}
                          schema:
                            mustSupport: true
                            choices: []
                            index: 36
                  value[x]:
                    elements:
                      system: {mustSupport: true, index: 37}
                      code: {mustSupport: true, index: 38}
            unfallbetrieb:
              match: {url: null}
              schema:
                mustSupport: true
                index: 39
                elements:
                  value:
                    mustSupport: true
                    choices: []
                    index: 41
                    slicing:
                      slices:
                        valueString:
                          match: {}
                          schema:
                            mustSupport: true
                            choices: []
                            index: 43
            unfalltag:
              match: {url: null}
              schema:
                mustSupport: true
                index: 44
                elements:
                  value:
                    mustSupport: true
                    choices: []
                    index: 46
                    slicing:
                      slices:
                        valueDate:
                          match: {}
                          schema:
                            mustSupport: true
                            choices: []
                            _required: true
                            index: 48
                          min: 1
                required: [value]
  Mehrfachverordnung:
    url: https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Multiple_Prescription
    type: Extension
    mustSupport: true
    index: 49
    extensions:
      Kennzeichen:
        url: null
        mustSupport: true
        index: 51
        elements:
          value:
            mustSupport: true
            choices: []
            index: 53
            slicing:
              slices:
                valueBoolean:
                  match: {}
                  schema:
                    mustSupport: true
                    choices: []
                    index: 55
      Nummerierung:
        url: null
        mustSupport: true
        index: 56
        elements:
          value:
            mustSupport: true
            choices: []
            index: 58
            slicing:
              slices:
                valueRatio:
                  match: {}
                  schema:
                    mustSupport: true
                    choices: []
                    index: 60
          value[x]:
            elements:
              numerator:
                mustSupport: true
                index: 61
                elements:
                  value: {mustSupport: true, index: 62}
              denominator:
                mustSupport: true
                index: 63
                elements:
                  value: {mustSupport: true, index: 64}
      Zeitraum:
        url: null
        mustSupport: true
        index: 65
        elements:
          value:
            mustSupport: true
            choices: []
            index: 67
            slicing:
              slices:
                valuePeriod:
                  match: {}
                  schema:
                    mustSupport: true
                    choices: []
                    index: 69
          value[x]:
            elements:
              start: {mustSupport: true, index: 70}
              end: {mustSupport: true, index: 71}
    elements:
      extension:
        index: 50
        slicing:
          rules: open
          discriminator:
          - {path: url, type: value}
          min: null
          slices:
            Kennzeichen:
              match: {url: null}
              schema:
                mustSupport: true
                index: 51
                elements:
                  value:
                    mustSupport: true
                    choices: []
                    index: 53
                    slicing:
                      slices:
                        valueBoolean:
                          match: {}
                          schema:
                            mustSupport: true
                            choices: []
                            index: 55
            Nummerierung:
              match: {url: null}
              schema:
                mustSupport: true
                index: 56
                elements:
                  value:
                    mustSupport: true
                    choices: []
                    index: 58
                    slicing:
                      slices:
                        valueRatio:
                          match: {}
                          schema:
                            mustSupport: true
                            choices: []
                            index: 60
                  value[x]:
                    elements:
                      numerator:
                        mustSupport: true
                        index: 61
                        elements:
                          value: {mustSupport: true, index: 62}
                      denominator:
                        mustSupport: true
                        index: 63
                        elements:
                          value: {mustSupport: true, index: 64}
            Zeitraum:
              match: {url: null}
              schema:
                mustSupport: true
                index: 65
                elements:
                  value:
                    mustSupport: true
                    choices: []
                    index: 67
                    slicing:
                      slices:
                        valuePeriod:
                          match: {}
                          schema:
                            mustSupport: true
                            choices: []
                            index: 69
                  value[x]:
                    elements:
                      start: {mustSupport: true, index: 70}
                      end: {mustSupport: true, index: 71}
class: profile
kind: resource
url: https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Prescription
base: http://hl7.org/fhir/StructureDefinition/MedicationRequest
version: 1.0.2
required: [authoredOn, dispenseRequest, id, insurance, medication, medicationReference, meta, requester, substitution]