PackagesCanonicalsLogsProblems
    Packages
    fhir.trustedhealthapps.org@1.1.0
    https://fhir.trustedhealthapps.org/StructureDefinition/HealthAppMedicalDevice
description: null
package_name: fhir.trustedhealthapps.org
derivation: constraint
name: HealthAppMedicalDevice
type: Extension
elements:
  extension:
    index: 0
    slicing:
      rules: open
      discriminator:
      - {path: url, type: value}
      min: null
      slices:
        ce:
          match: {url: ce}
          schema:
            short: CE-Kennzeichnung
            mustSupport: true
            index: 1
            extensions:
              attachment:
                url: attachment
                short: Anhang
                mustSupport: true
                index: 3
                elements:
                  url:
                    pattern: {type: uri, value: attachment}
                    type: uri
                    index: 4
                  value:
                    mustSupport: true
                    choices: [valueAttachment]
                    index: 6
                  valueAttachment: {type: Attachment, mustSupport: true, choiceOf: value, index: 7}
                required: [value, valueAttachment]
              url:
                url: url
                short: URL
                mustSupport: true
                index: 8
                elements:
                  url:
                    pattern: {type: uri, value: url}
                    type: uri
                    index: 9
                  value:
                    mustSupport: true
                    choices: [valueUrl]
                    index: 11
                  valueUrl: {type: url, mustSupport: true, choiceOf: value, index: 12}
                required: [value, valueUrl]
              status:
                url: status
                short: Status der CE-Kennzeichnung
                mustSupport: true
                index: 13
                elements:
                  url:
                    pattern: {type: uri, value: status}
                    type: uri
                    index: 14
                  value:
                    mustSupport: true
                    choices: [valueCode]
                    index: 16
                  valueCode: {type: code, mustSupport: true, choiceOf: value, index: 17}
                required: [value, valueCode]
            elements:
              extension:
                index: 2
                slicing:
                  rules: open
                  discriminator:
                  - {path: url, type: value}
                  min: null
                  slices:
                    attachment:
                      match: {url: attachment}
                      schema:
                        short: Anhang
                        mustSupport: true
                        index: 3
                        elements:
                          url:
                            pattern: {type: uri, value: attachment}
                            type: uri
                            index: 4
                          value:
                            mustSupport: true
                            choices: [valueAttachment]
                            index: 6
                          valueAttachment: {type: Attachment, mustSupport: true, choiceOf: value, index: 7}
                        required: [value, valueAttachment]
                    url:
                      match: {url: url}
                      schema:
                        short: URL
                        mustSupport: true
                        index: 8
                        elements:
                          url:
                            pattern: {type: uri, value: url}
                            type: uri
                            index: 9
                          value:
                            mustSupport: true
                            choices: [valueUrl]
                            index: 11
                          valueUrl: {type: url, mustSupport: true, choiceOf: value, index: 12}
                        required: [value, valueUrl]
                    status:
                      match: {url: status}
                      schema:
                        short: Status der CE-Kennzeichnung
                        mustSupport: true
                        index: 13
                        elements:
                          url:
                            pattern: {type: uri, value: status}
                            type: uri
                            index: 14
                          value:
                            mustSupport: true
                            choices: [valueCode]
                            index: 16
                          valueCode: {type: code, mustSupport: true, choiceOf: value, index: 17}
                        required: [value, valueCode]
              url:
                pattern: {type: uri, value: ce}
                type: uri
                index: 18
              value:
                choices: []
                index: 20
        intendedPurpose:
          match: {url: intendedPurpose}
          schema:
            short: Medizinische Zweckbestimmung
            mustSupport: true
            index: 21
            elements:
              url:
                pattern: {type: uri, value: intendedPurpose}
                type: uri
                index: 22
              value:
                mustSupport: true
                choices: [valueString]
                index: 24
              valueString: {type: string, mustSupport: true, choiceOf: value, index: 25}
            required: [value, valueString]
        notifiedBody:
          match: {url: notifiedBody}
          schema:
            short: Benannte Stelle
            mustSupport: true
            index: 26
            extensions:
              code:
                url: code
                short: Kennnummer
                mustSupport: true
                index: 28
                elements:
                  url:
                    pattern: {type: uri, value: code}
                    type: uri
                    index: 29
                  value:
                    mustSupport: true
                    choices: [valueString]
                    index: 31
                  valueString: {type: string, mustSupport: true, choiceOf: value, index: 32}
                required: [value, valueString]
              name:
                url: name
                short: Name
                mustSupport: true
                index: 33
                elements:
                  url:
                    pattern: {type: uri, value: name}
                    type: uri
                    index: 34
                  value:
                    mustSupport: true
                    choices: [valueString]
                    index: 36
                  valueString: {type: string, mustSupport: true, choiceOf: value, index: 37}
                required: [value, valueString]
            elements:
              extension:
                index: 27
                slicing:
                  rules: open
                  discriminator:
                  - {path: url, type: value}
                  min: null
                  slices:
                    code:
                      match: {url: code}
                      schema:
                        short: Kennnummer
                        mustSupport: true
                        index: 28
                        elements:
                          url:
                            pattern: {type: uri, value: code}
                            type: uri
                            index: 29
                          value:
                            mustSupport: true
                            choices: [valueString]
                            index: 31
                          valueString: {type: string, mustSupport: true, choiceOf: value, index: 32}
                        required: [value, valueString]
                    name:
                      match: {url: name}
                      schema:
                        short: Name
                        mustSupport: true
                        index: 33
                        elements:
                          url:
                            pattern: {type: uri, value: name}
                            type: uri
                            index: 34
                          value:
                            mustSupport: true
                            choices: [valueString]
                            index: 36
                          valueString: {type: string, mustSupport: true, choiceOf: value, index: 37}
                        required: [value, valueString]
              url:
                pattern: {type: uri, value: notifiedBody}
                type: uri
                index: 38
              value:
                choices: []
                index: 40
        regulatoryBasis:
          match: {url: regulatoryBasis}
          schema:
            short: Regulatorische Grundlage
            mustSupport: true
            index: 41
            elements:
              url:
                pattern: {type: uri, value: regulatoryBasis}
                type: uri
                index: 42
              value:
                mustSupport: true
                choices: [valueCode]
                index: 44
              valueCode: {type: code, mustSupport: true, choiceOf: value, index: 45}
            required: [value, valueCode]
        riskClass:
          match: {url: riskClass}
          schema:
            short: Risikoklasse
            mustSupport: true
            index: 46
            elements:
              url:
                pattern: {type: uri, value: riskClass}
                type: uri
                index: 47
              value:
                mustSupport: true
                choices: [valueCode]
                index: 49
              valueCode: {type: code, mustSupport: true, choiceOf: value, index: 50}
            required: [value, valueCode]
  url:
    pattern: {type: uri, value: 'https://fhir.trustedhealthapps.org/StructureDefinition/HealthAppMedicalDevice'}
    type: uri
    index: 51
  value:
    choices: []
    index: 53
package_version: 1.1.0
extensions:
  ce:
    url: ce
    short: CE-Kennzeichnung
    mustSupport: true
    index: 1
    extensions:
      attachment:
        url: attachment
        short: Anhang
        mustSupport: true
        index: 3
        elements:
          url:
            pattern: {type: uri, value: attachment}
            type: uri
            index: 4
          value:
            mustSupport: true
            choices: [valueAttachment]
            index: 6
          valueAttachment: {type: Attachment, mustSupport: true, choiceOf: value, index: 7}
        required: [value, valueAttachment]
      url:
        url: url
        short: URL
        mustSupport: true
        index: 8
        elements:
          url:
            pattern: {type: uri, value: url}
            type: uri
            index: 9
          value:
            mustSupport: true
            choices: [valueUrl]
            index: 11
          valueUrl: {type: url, mustSupport: true, choiceOf: value, index: 12}
        required: [value, valueUrl]
      status:
        url: status
        short: Status der CE-Kennzeichnung
        mustSupport: true
        index: 13
        elements:
          url:
            pattern: {type: uri, value: status}
            type: uri
            index: 14
          value:
            mustSupport: true
            choices: [valueCode]
            index: 16
          valueCode: {type: code, mustSupport: true, choiceOf: value, index: 17}
        required: [value, valueCode]
    elements:
      extension:
        index: 2
        slicing:
          rules: open
          discriminator:
          - {path: url, type: value}
          min: null
          slices:
            attachment:
              match: {url: attachment}
              schema:
                short: Anhang
                mustSupport: true
                index: 3
                elements:
                  url:
                    pattern: {type: uri, value: attachment}
                    type: uri
                    index: 4
                  value:
                    mustSupport: true
                    choices: [valueAttachment]
                    index: 6
                  valueAttachment: {type: Attachment, mustSupport: true, choiceOf: value, index: 7}
                required: [value, valueAttachment]
            url:
              match: {url: url}
              schema:
                short: URL
                mustSupport: true
                index: 8
                elements:
                  url:
                    pattern: {type: uri, value: url}
                    type: uri
                    index: 9
                  value:
                    mustSupport: true
                    choices: [valueUrl]
                    index: 11
                  valueUrl: {type: url, mustSupport: true, choiceOf: value, index: 12}
                required: [value, valueUrl]
            status:
              match: {url: status}
              schema:
                short: Status der CE-Kennzeichnung
                mustSupport: true
                index: 13
                elements:
                  url:
                    pattern: {type: uri, value: status}
                    type: uri
                    index: 14
                  value:
                    mustSupport: true
                    choices: [valueCode]
                    index: 16
                  valueCode: {type: code, mustSupport: true, choiceOf: value, index: 17}
                required: [value, valueCode]
      url:
        pattern: {type: uri, value: ce}
        type: uri
        index: 18
      value:
        choices: []
        index: 20
  intendedPurpose:
    url: intendedPurpose
    short: Medizinische Zweckbestimmung
    mustSupport: true
    index: 21
    elements:
      url:
        pattern: {type: uri, value: intendedPurpose}
        type: uri
        index: 22
      value:
        mustSupport: true
        choices: [valueString]
        index: 24
      valueString: {type: string, mustSupport: true, choiceOf: value, index: 25}
    required: [value, valueString]
  notifiedBody:
    url: notifiedBody
    short: Benannte Stelle
    mustSupport: true
    index: 26
    extensions:
      code:
        url: code
        short: Kennnummer
        mustSupport: true
        index: 28
        elements:
          url:
            pattern: {type: uri, value: code}
            type: uri
            index: 29
          value:
            mustSupport: true
            choices: [valueString]
            index: 31
          valueString: {type: string, mustSupport: true, choiceOf: value, index: 32}
        required: [value, valueString]
      name:
        url: name
        short: Name
        mustSupport: true
        index: 33
        elements:
          url:
            pattern: {type: uri, value: name}
            type: uri
            index: 34
          value:
            mustSupport: true
            choices: [valueString]
            index: 36
          valueString: {type: string, mustSupport: true, choiceOf: value, index: 37}
        required: [value, valueString]
    elements:
      extension:
        index: 27
        slicing:
          rules: open
          discriminator:
          - {path: url, type: value}
          min: null
          slices:
            code:
              match: {url: code}
              schema:
                short: Kennnummer
                mustSupport: true
                index: 28
                elements:
                  url:
                    pattern: {type: uri, value: code}
                    type: uri
                    index: 29
                  value:
                    mustSupport: true
                    choices: [valueString]
                    index: 31
                  valueString: {type: string, mustSupport: true, choiceOf: value, index: 32}
                required: [value, valueString]
            name:
              match: {url: name}
              schema:
                short: Name
                mustSupport: true
                index: 33
                elements:
                  url:
                    pattern: {type: uri, value: name}
                    type: uri
                    index: 34
                  value:
                    mustSupport: true
                    choices: [valueString]
                    index: 36
                  valueString: {type: string, mustSupport: true, choiceOf: value, index: 37}
                required: [value, valueString]
      url:
        pattern: {type: uri, value: notifiedBody}
        type: uri
        index: 38
      value:
        choices: []
        index: 40
  regulatoryBasis:
    url: regulatoryBasis
    short: Regulatorische Grundlage
    mustSupport: true
    index: 41
    elements:
      url:
        pattern: {type: uri, value: regulatoryBasis}
        type: uri
        index: 42
      value:
        mustSupport: true
        choices: [valueCode]
        index: 44
      valueCode: {type: code, mustSupport: true, choiceOf: value, index: 45}
    required: [value, valueCode]
  riskClass:
    url: riskClass
    short: Risikoklasse
    mustSupport: true
    index: 46
    elements:
      url:
        pattern: {type: uri, value: riskClass}
        type: uri
        index: 47
      value:
        mustSupport: true
        choices: [valueCode]
        index: 49
      valueCode: {type: code, mustSupport: true, choiceOf: value, index: 50}
    required: [value, valueCode]
class: extension
kind: complex-type
url: https://fhir.trustedhealthapps.org/StructureDefinition/HealthAppMedicalDevice
base: http://hl7.org/fhir/StructureDefinition/Extension
version: 1.1.0