PackagesCanonicalsLogsProblems
    Packages
    ths-greifswald.ttp-fhir-gw@2.2.0-alpha3
    https://ths-greifswald.de/fhir/StructureDefinition/gics/ConsentPolicyReference
description: Referenz auf eine Consent Policy zur Verwendung innerhalb eines Consent Moduls
package_name: ths-greifswald.ttp-fhir-gw
derivation: constraint
name: ConsentPolicyReference
type: Extension
elements:
  valueBase64Binary: {type: base64Binary, choiceOf: value, index: 45}
  valueAge: {type: Age, choiceOf: value, index: 65}
  valueParameterDefinition: {type: ParameterDefinition, choiceOf: value, index: 89}
  valueTiming: {type: Timing, choiceOf: value, index: 84}
  valueCode: {type: code, choiceOf: value, index: 48}
  valueReference: {type: Reference, choiceOf: value, index: 81}
  valueContributor: {type: Contributor, choiceOf: value, index: 86}
  valueContactDetail: {type: ContactDetail, choiceOf: value, index: 85}
  valueUri: {type: uri, choiceOf: value, index: 61}
  valueUsageContext: {type: UsageContext, choiceOf: value, index: 92}
  valueTime: {type: time, choiceOf: value, index: 59}
  valueDecimal: {type: decimal, choiceOf: value, index: 51}
  valueCanonical: {type: canonical, choiceOf: value, index: 47}
  valueMarkdown: {type: markdown, choiceOf: value, index: 55}
  valueIdentifier: {type: Identifier, choiceOf: value, index: 75}
  valueTriggerDefinition: {type: TriggerDefinition, choiceOf: value, index: 91}
  valueQuantity: {type: Quantity, choiceOf: value, index: 78}
  value:
    choices: [valueBase64Binary, valueBoolean, valueCanonical, valueCode, valueDate, valueDateTime, valueDecimal, valueId, valueInstant, valueInteger, valueMarkdown, valueOid, valuePositiveInt, valueString, valueTime, valueUnsignedInt, valueUri, valueUrl, valueUuid, valueAddress, valueAge, valueAnnotation, valueAttachment, valueCodeableConcept, valueCoding, valueContactPoint, valueCount, valueDistance, valueDuration, valueHumanName, valueIdentifier, valueMoney, valuePeriod, valueQuantity, valueRange, valueRatio, valueReference, valueSampledData, valueSignature, valueTiming, valueContactDetail, valueContributor, valueDataRequirement, valueExpression, valueParameterDefinition, valueRelatedArtifact, valueTriggerDefinition, valueUsageContext, valueDosage]
    index: 44
  valueCount: {type: Count, choiceOf: value, index: 71}
  valueString: {type: string, choiceOf: value, index: 58}
  valueRatio: {type: Ratio, choiceOf: value, index: 80}
  valueBoolean: {type: boolean, choiceOf: value, index: 46}
  valueInstant: {type: instant, choiceOf: value, index: 53}
  valueDateTime: {type: dateTime, choiceOf: value, index: 50}
  valueDate: {type: date, choiceOf: value, index: 49}
  valueDuration: {type: Duration, choiceOf: value, index: 73}
  valueDataRequirement: {type: DataRequirement, choiceOf: value, index: 87}
  valueMoney: {type: Money, choiceOf: value, index: 76}
  valueCoding: {type: Coding, choiceOf: value, index: 69}
  valueExpression: {type: Expression, choiceOf: value, index: 88}
  extension:
    index: 0
    slicing:
      rules: open
      discriminator:
      - {path: url, type: value}
      min: null
      slices:
        reference:
          match: {url: reference}
          schema:
            _required: true
            index: 1
            elements:
              url:
                pattern: {type: Uri, value: reference}
                index: 2
              value:
                choices: [valueReference]
                index: 4
              valueReference:
                type: Reference
                choiceOf: value
                refers: ['https://ths-greifswald.de/fhir/StructureDefinition/gics/ActivityDefinition/ConsentPolicy']
                index: 5
              value[x]:
                elements:
                  reference: {index: 6}
                required: [reference]
            required: [valueReference, value]
        comment:
          match: {url: comment}
          schema:
            index: 7
            elements:
              url:
                pattern: {type: Uri, value: comment}
                index: 8
              value:
                choices: [valueString]
                index: 10
              valueString: {type: string, choiceOf: value, index: 11}
            required: [valueString, value]
        externalProperty:
          match: {url: externalProperty}
          schema:
            index: 12
            extensions:
              key:
                url: key
                _required: true
                index: 14
                elements:
                  url:
                    pattern: {type: Uri, value: key}
                    index: 15
                  value:
                    choices: [valueString]
                    index: 17
                  valueString: {type: string, choiceOf: value, index: 18}
                required: [valueString, value]
              value:
                url: value
                _required: true
                index: 19
                elements:
                  url:
                    pattern: {type: Uri, value: value}
                    index: 20
                  value:
                    choices: [valueString]
                    index: 22
                  valueString: {type: string, choiceOf: value, index: 23}
                required: [valueString, value]
            elements:
              extension:
                index: 13
                slicing:
                  rules: open
                  discriminator:
                  - {path: url, type: value}
                  min: null
                  slices:
                    key:
                      match: {url: key}
                      schema:
                        _required: true
                        index: 14
                        elements:
                          url:
                            pattern: {type: Uri, value: key}
                            index: 15
                          value:
                            choices: [valueString]
                            index: 17
                          valueString: {type: string, choiceOf: value, index: 18}
                        required: [valueString, value]
                    value:
                      match: {url: value}
                      schema:
                        _required: true
                        index: 19
                        elements:
                          url:
                            pattern: {type: Uri, value: value}
                            index: 20
                          value:
                            choices: [valueString]
                            index: 22
                          valueString: {type: string, choiceOf: value, index: 23}
                        required: [valueString, value]
              url:
                pattern: {type: Uri, value: externalProperty}
                index: 24
              value:
                choices: []
                index: 26
        expirationProperty:
          match: {url: expirationProperty}
          schema:
            index: 27
            extensions:
              key:
                url: key
                _required: true
                index: 29
                elements:
                  url:
                    pattern: {type: Uri, value: key}
                    index: 30
                  value:
                    choices: [valueString]
                    index: 32
                  valueString: {type: string, choiceOf: value, index: 33}
                required: [valueString, value]
              value:
                url: value
                _required: true
                index: 34
                elements:
                  url:
                    pattern: {type: Uri, value: value}
                    index: 35
                  value:
                    choices: [valueString]
                    index: 37
                  valueString: {type: string, choiceOf: value, index: 38}
                required: [valueString, value]
            elements:
              extension:
                index: 28
                slicing:
                  rules: open
                  discriminator:
                  - {path: url, type: value}
                  min: null
                  slices:
                    key:
                      match: {url: key}
                      schema:
                        _required: true
                        index: 29
                        elements:
                          url:
                            pattern: {type: Uri, value: key}
                            index: 30
                          value:
                            choices: [valueString]
                            index: 32
                          valueString: {type: string, choiceOf: value, index: 33}
                        required: [valueString, value]
                    value:
                      match: {url: value}
                      schema:
                        _required: true
                        index: 34
                        elements:
                          url:
                            pattern: {type: Uri, value: value}
                            index: 35
                          value:
                            choices: [valueString]
                            index: 37
                          valueString: {type: string, choiceOf: value, index: 38}
                        required: [valueString, value]
              url:
                pattern: {type: Uri, value: expirationProperty}
                index: 39
              value:
                choices: []
                index: 41
  valueSampledData: {type: SampledData, choiceOf: value, index: 82}
  valueDosage: {type: Dosage, choiceOf: value, index: 93}
  valueContactPoint: {type: ContactPoint, choiceOf: value, index: 70}
  url:
    pattern: {type: Uri, value: 'https://ths-greifswald.de/fhir/StructureDefinition/gics/ConsentPolicyReference'}
    index: 42
  valueCodeableConcept: {type: CodeableConcept, choiceOf: value, index: 68}
  valueAnnotation: {type: Annotation, choiceOf: value, index: 66}
  valuePeriod: {type: Period, choiceOf: value, index: 77}
  valueDistance: {type: Distance, choiceOf: value, index: 72}
  valueRange: {type: Range, choiceOf: value, index: 79}
  valueSignature: {type: Signature, choiceOf: value, index: 83}
  valueUuid: {type: uuid, choiceOf: value, index: 63}
  valueInteger: {type: integer, choiceOf: value, index: 54}
  valueHumanName: {type: HumanName, choiceOf: value, index: 74}
  valueUnsignedInt: {type: unsignedInt, choiceOf: value, index: 60}
  valueAttachment: {type: Attachment, choiceOf: value, index: 67}
  valueOid: {type: oid, choiceOf: value, index: 56}
  valueAddress: {type: Address, choiceOf: value, index: 64}
  valueRelatedArtifact: {type: RelatedArtifact, choiceOf: value, index: 90}
  valuePositiveInt: {type: positiveInt, choiceOf: value, index: 57}
  valueId: {type: id, choiceOf: value, index: 52}
  valueUrl: {type: url, choiceOf: value, index: 62}
package_version: 2.2.0-alpha3
extensions:
  reference:
    url: reference
    _required: true
    index: 1
    elements:
      url:
        pattern: {type: Uri, value: reference}
        index: 2
      value:
        choices: [valueReference]
        index: 4
      valueReference:
        type: Reference
        choiceOf: value
        refers: ['https://ths-greifswald.de/fhir/StructureDefinition/gics/ActivityDefinition/ConsentPolicy']
        index: 5
      value[x]:
        elements:
          reference: {index: 6}
        required: [reference]
    required: [valueReference, value]
  comment:
    url: comment
    index: 7
    elements:
      url:
        pattern: {type: Uri, value: comment}
        index: 8
      value:
        choices: [valueString]
        index: 10
      valueString: {type: string, choiceOf: value, index: 11}
    required: [valueString, value]
  externalProperty:
    url: externalProperty
    index: 12
    extensions:
      key:
        url: key
        _required: true
        index: 14
        elements:
          url:
            pattern: {type: Uri, value: key}
            index: 15
          value:
            choices: [valueString]
            index: 17
          valueString: {type: string, choiceOf: value, index: 18}
        required: [valueString, value]
      value:
        url: value
        _required: true
        index: 19
        elements:
          url:
            pattern: {type: Uri, value: value}
            index: 20
          value:
            choices: [valueString]
            index: 22
          valueString: {type: string, choiceOf: value, index: 23}
        required: [valueString, value]
    elements:
      extension:
        index: 13
        slicing:
          rules: open
          discriminator:
          - {path: url, type: value}
          min: null
          slices:
            key:
              match: {url: key}
              schema:
                _required: true
                index: 14
                elements:
                  url:
                    pattern: {type: Uri, value: key}
                    index: 15
                  value:
                    choices: [valueString]
                    index: 17
                  valueString: {type: string, choiceOf: value, index: 18}
                required: [valueString, value]
            value:
              match: {url: value}
              schema:
                _required: true
                index: 19
                elements:
                  url:
                    pattern: {type: Uri, value: value}
                    index: 20
                  value:
                    choices: [valueString]
                    index: 22
                  valueString: {type: string, choiceOf: value, index: 23}
                required: [valueString, value]
      url:
        pattern: {type: Uri, value: externalProperty}
        index: 24
      value:
        choices: []
        index: 26
  expirationProperty:
    url: expirationProperty
    index: 27
    extensions:
      key:
        url: key
        _required: true
        index: 29
        elements:
          url:
            pattern: {type: Uri, value: key}
            index: 30
          value:
            choices: [valueString]
            index: 32
          valueString: {type: string, choiceOf: value, index: 33}
        required: [valueString, value]
      value:
        url: value
        _required: true
        index: 34
        elements:
          url:
            pattern: {type: Uri, value: value}
            index: 35
          value:
            choices: [valueString]
            index: 37
          valueString: {type: string, choiceOf: value, index: 38}
        required: [valueString, value]
    elements:
      extension:
        index: 28
        slicing:
          rules: open
          discriminator:
          - {path: url, type: value}
          min: null
          slices:
            key:
              match: {url: key}
              schema:
                _required: true
                index: 29
                elements:
                  url:
                    pattern: {type: Uri, value: key}
                    index: 30
                  value:
                    choices: [valueString]
                    index: 32
                  valueString: {type: string, choiceOf: value, index: 33}
                required: [valueString, value]
            value:
              match: {url: value}
              schema:
                _required: true
                index: 34
                elements:
                  url:
                    pattern: {type: Uri, value: value}
                    index: 35
                  value:
                    choices: [valueString]
                    index: 37
                  valueString: {type: string, choiceOf: value, index: 38}
                required: [valueString, value]
      url:
        pattern: {type: Uri, value: expirationProperty}
        index: 39
      value:
        choices: []
        index: 41
class: extension
kind: complex-type
url: https://ths-greifswald.de/fhir/StructureDefinition/gics/ConsentPolicyReference
base: http://hl7.org/fhir/StructureDefinition/Extension
version: '0.3'