PackagesCanonicalsLogsProblems
    Packages
    synapxe.hsar.hsg@4.3.0-v3
    http://ihis.sg/StructureDefinition/Parameters/PutContactConsentParameter
description: null
package_name: synapxe.hsar.hsg
derivation: constraint
name: profile-Parameter-put-contact-consent
type: Parameters
elements:
  id: {index: 0}
  implicitRules: {index: 1}
  language: {index: 2}
  parameter:
    min: 5
    short: n/a
    array: true
    max: 5
    index: 3
    slicing:
      rules: open
      discriminator:
      - {path: name, type: value}
      min: 5
      max: 5
      slices:
        channelSmsParameter:
          match: {name: channel-sms}
          schema:
            short: n/a
            _required: true
            index: 4
            elements:
              id: {index: 5}
              extension: {index: 6}
              modifierExtension: {index: 7}
              name:
                short: n/a
                pattern: {type: String, value: channel-sms}
                index: 8
              value:
                choices: []
                index: 10
              resource: {index: 11}
              part:
                min: 2
                short: n/a
                array: true
                max: 2
                index: 12
                slicing:
                  rules: open
                  discriminator:
                  - {path: name, type: value}
                  min: 2
                  max: 2
                  slices:
                    type:
                      match: {name: type}
                      schema:
                        short: n/a
                        _required: true
                        index: 13
                        elements:
                          id: {index: 14}
                          extension: {index: 15}
                          modifierExtension: {index: 16}
                          name:
                            short: n/a
                            pattern: {type: String, value: type}
                            index: 17
                          value:
                            constraint:
                              type-value-constraint: {human: 'The ''valueCode'' under ''name: type'' must be either ''permit'' or ''deny''', severity: error, expression: $this.toString().matches('^(permit|deny)$')}
                            short: n/a
                            choices: [valueCode]
                            index: 19
                          valueCode:
                            constraint:
                              type-value-constraint: {human: 'The ''valueCode'' under ''name: type'' must be either ''permit'' or ''deny''', severity: error, expression: $this.toString().matches('^(permit|deny)$')}
                            short: n/a
                            type: code
                            choiceOf: value
                            index: 20
                          resource: {index: 21}
                          part: {index: 22}
                        extensions: {}
                        required: [valueCode, value]
                    period:
                      match: {name: period}
                      schema:
                        short: n/a
                        _required: true
                        index: 23
                        elements:
                          value[x]:
                            elements:
                              id: {index: 31}
                              extension: {index: 32}
                              start: {short: n/a, index: 33}
                            extensions: {}
                            required: [start]
                          name:
                            short: n/a
                            pattern: {type: String, value: period}
                            index: 27
                          value:
                            short: n/a
                            choices: [valuePeriod]
                            index: 29
                          part: {index: 35}
                          extension: {index: 25}
                          id: {index: 24}
                          resource: {index: 34}
                          valuePeriod: {short: n/a, type: Period, choiceOf: value, index: 30}
                          modifierExtension: {index: 26}
                        extensions: {}
                        required: [valuePeriod, value]
            extensions: {}
        channelPhoneParameter:
          match: {name: channel-phone}
          schema:
            short: n/a
            _required: true
            index: 36
            elements:
              id: {index: 37}
              extension: {index: 38}
              modifierExtension: {index: 39}
              name:
                short: n/a
                pattern: {type: String, value: channel-phone}
                index: 40
              value:
                choices: []
                index: 42
              resource: {index: 43}
              part:
                min: 2
                short: n/a
                array: true
                max: 2
                index: 44
                slicing:
                  rules: open
                  discriminator:
                  - {path: name, type: value}
                  min: 2
                  max: 2
                  slices:
                    type:
                      match: {name: type}
                      schema:
                        short: n/a
                        _required: true
                        index: 45
                        elements:
                          id: {index: 46}
                          extension: {index: 47}
                          modifierExtension: {index: 48}
                          name:
                            short: n/a
                            pattern: {type: String, value: type}
                            index: 49
                          value:
                            constraint:
                              type-value-constraint: {human: 'The ''valueCode'' under ''name: type'' must be either ''permit'' or ''deny''', severity: error, expression: $this.toString().matches('^(permit|deny)$')}
                            short: n/a
                            choices: [valueCode]
                            index: 51
                          valueCode:
                            constraint:
                              type-value-constraint: {human: 'The ''valueCode'' under ''name: type'' must be either ''permit'' or ''deny''', severity: error, expression: $this.toString().matches('^(permit|deny)$')}
                            short: n/a
                            type: code
                            choiceOf: value
                            index: 52
                          resource: {index: 53}
                          part: {index: 54}
                        extensions: {}
                        required: [valueCode, value]
                    period:
                      match: {name: period}
                      schema:
                        short: n/a
                        _required: true
                        index: 55
                        elements:
                          value[x]:
                            elements:
                              id: {index: 63}
                              extension: {index: 64}
                              start: {short: n/a, index: 65}
                            extensions: {}
                            required: [start]
                          name:
                            short: n/a
                            pattern: {type: String, value: period}
                            index: 59
                          value:
                            short: n/a
                            choices: [valuePeriod]
                            index: 61
                          part: {index: 67}
                          extension: {index: 57}
                          id: {index: 56}
                          resource: {index: 66}
                          valuePeriod: {short: n/a, type: Period, choiceOf: value, index: 62}
                          modifierExtension: {index: 58}
                        extensions: {}
                        required: [valuePeriod, value]
            extensions: {}
        channelEmailParameter:
          match: {name: channel-email}
          schema:
            short: n/a
            _required: true
            index: 68
            elements:
              id: {index: 69}
              extension: {index: 70}
              modifierExtension: {index: 71}
              name:
                short: n/a
                pattern: {type: String, value: channel-email}
                index: 72
              value:
                choices: []
                index: 74
              resource: {index: 75}
              part:
                min: 2
                short: n/a
                array: true
                max: 2
                index: 76
                slicing:
                  rules: open
                  discriminator:
                  - {path: name, type: value}
                  min: 2
                  max: 2
                  slices:
                    type:
                      match: {name: type}
                      schema:
                        short: n/a
                        _required: true
                        index: 77
                        elements:
                          id: {index: 78}
                          extension: {index: 79}
                          modifierExtension: {index: 80}
                          name:
                            short: n/a
                            pattern: {type: String, value: type}
                            index: 81
                          value:
                            constraint:
                              type-value-constraint: {human: 'The ''valueCode'' under ''name: type'' must be either ''permit'' or ''deny''', severity: error, expression: $this.toString().matches('^(permit|deny)$')}
                            short: n/a
                            choices: [valueCode]
                            index: 83
                          valueCode:
                            constraint:
                              type-value-constraint: {human: 'The ''valueCode'' under ''name: type'' must be either ''permit'' or ''deny''', severity: error, expression: $this.toString().matches('^(permit|deny)$')}
                            short: n/a
                            type: code
                            choiceOf: value
                            index: 84
                          resource: {index: 85}
                          part: {index: 86}
                        extensions: {}
                        required: [valueCode, value]
                    period:
                      match: {name: period}
                      schema:
                        short: n/a
                        _required: true
                        index: 87
                        elements:
                          value[x]:
                            elements:
                              id: {index: 95}
                              extension: {index: 96}
                              start: {short: n/a, index: 97}
                            extensions: {}
                            required: [start]
                          name:
                            short: n/a
                            pattern: {type: String, value: period}
                            index: 91
                          value:
                            short: n/a
                            choices: [valuePeriod]
                            index: 93
                          part: {index: 99}
                          extension: {index: 89}
                          id: {index: 88}
                          resource: {index: 98}
                          valuePeriod: {short: n/a, type: Period, choiceOf: value, index: 94}
                          modifierExtension: {index: 90}
                        extensions: {}
                        required: [valuePeriod, value]
            extensions: {}
        channelMailParameter:
          match: {name: channel-mail}
          schema:
            short: n/a
            _required: true
            index: 100
            elements:
              id: {index: 101}
              extension: {index: 102}
              modifierExtension: {index: 103}
              name:
                short: n/a
                pattern: {type: String, value: channel-mail}
                index: 104
              value:
                choices: []
                index: 106
              resource: {index: 107}
              part:
                min: 2
                short: n/a
                array: true
                max: 2
                index: 108
                slicing:
                  rules: open
                  discriminator:
                  - {path: name, type: value}
                  min: 2
                  max: 2
                  slices:
                    type:
                      match: {name: type}
                      schema:
                        short: n/a
                        _required: true
                        index: 109
                        elements:
                          id: {index: 110}
                          extension: {index: 111}
                          modifierExtension: {index: 112}
                          name:
                            short: n/a
                            pattern: {type: String, value: type}
                            index: 113
                          value:
                            constraint:
                              type-value-constraint: {human: 'The ''valueCode'' under ''name: type'' must be either ''permit'' or ''deny''', severity: error, expression: $this.toString().matches('^(permit|deny)$')}
                            short: n/a
                            choices: [valueCode]
                            index: 115
                          valueCode:
                            constraint:
                              type-value-constraint: {human: 'The ''valueCode'' under ''name: type'' must be either ''permit'' or ''deny''', severity: error, expression: $this.toString().matches('^(permit|deny)$')}
                            short: n/a
                            type: code
                            choiceOf: value
                            index: 116
                          resource: {index: 117}
                          part: {index: 118}
                        extensions: {}
                        required: [valueCode, value]
                    period:
                      match: {name: period}
                      schema:
                        short: n/a
                        _required: true
                        index: 119
                        elements:
                          value[x]:
                            elements:
                              id: {index: 127}
                              extension: {index: 128}
                              start: {short: n/a, index: 129}
                            extensions: {}
                            required: [start]
                          name:
                            short: n/a
                            pattern: {type: String, value: period}
                            index: 123
                          value:
                            short: n/a
                            choices: [valuePeriod]
                            index: 125
                          part: {index: 131}
                          extension: {index: 121}
                          id: {index: 120}
                          resource: {index: 130}
                          valuePeriod: {short: n/a, type: Period, choiceOf: value, index: 126}
                          modifierExtension: {index: 122}
                        extensions: {}
                        required: [valuePeriod, value]
            extensions: {}
        contactConsentParameter:
          match: {name: contact-channel-consent}
          schema:
            short: n/a
            _required: true
            index: 132
            elements:
              id: {index: 133}
              extension: {index: 134}
              modifierExtension: {index: 135}
              name:
                short: n/a
                pattern: {type: String, value: contact-channel-consent}
                index: 136
              value:
                choices: []
                index: 138
              resource: {type: Resource, short: n/a, index: 139}
              part: {index: 140}
            extensions: {}
            required: [resource]
package_version: 4.3.0-v3
class: profile
kind: resource
url: http://ihis.sg/StructureDefinition/Parameters/PutContactConsentParameter
base: http://hl7.org/fhir/StructureDefinition/Parameters
version: 4.3.0-v3