PackagesCanonicalsLogsProblems
    Packages
    synapxe.nehr@1.0.0
    https://fhir.synapxe.sg/StructureDefinition/profile-get-medications
description: null
package_name: synapxe.nehr
derivation: constraint
name: profile-Parameter-get-medications
type: Parameters
elements:
  id: {index: 0}
  implicitRules: {index: 1}
  language: {index: 2}
  parameter:
    index: 3
    elements:
      id: {index: 4}
      extension: {index: 5}
      modifierExtension: {index: 6}
      value:
        choices: []
        index: 8
      resource: {index: 9}
      part: {index: 10}
    extensions: {}
    required: [value]
    slicing:
      rules: open
      discriminator:
      - {path: name, type: value}
      min: 1
      slices:
        patient:
          match: {name: patient}
          schema:
            _required: true
            index: 11
            elements:
              id: {index: 12}
              extension: {index: 13}
              modifierExtension: {index: 14}
              name:
                pattern: {type: string, value: patient}
                type: string
                index: 15
              value:
                choices: [valueString]
                index: 17
              valueString: {type: string, choiceOf: value, index: 18}
              resource: {index: 19}
              part:
                index: 20
                slicing:
                  rules: open
                  discriminator:
                  - {path: name, type: value}
                  min: 1
                  slices:
                    nric:
                      match: {name: nric}
                      schema:
                        _required: true
                        index: 21
                        elements:
                          value[x]:
                            extensions: {}
                            elements:
                              extension: {index: 29}
                          name:
                            pattern: {type: string, value: nric}
                            type: string
                            index: 25
                          value:
                            choices: [valueString]
                            index: 27
                          part: {index: 31}
                          valueString: {type: string, choiceOf: value, index: 28}
                          extension: {index: 23}
                          id: {index: 22}
                          resource: {index: 30}
                          modifierExtension: {index: 24}
                        extensions: {}
                        required: [value, valueString]
                    dateBirth:
                      match: {name: dateBirth}
                      schema:
                        index: 32
                        elements:
                          value[x]:
                            extensions: {}
                            elements:
                              extension: {index: 40}
                          name:
                            pattern: {type: string, value: dateBirth}
                            type: string
                            index: 36
                          value:
                            choices: [valueDate]
                            index: 38
                          part: {index: 42}
                          valueDate: {type: date, choiceOf: value, index: 39}
                          extension: {index: 34}
                          id: {index: 33}
                          resource: {index: 41}
                          modifierExtension: {index: 35}
                        extensions: {}
                        required: [value, valueDate]
            extensions: {}
            required: [part]
        medicationListType:
          match: {name: medicationName}
          schema:
            index: 43
            elements:
              id: {index: 44}
              extension: {index: 45}
              modifierExtension: {index: 46}
              name:
                pattern: {type: string, value: medicationName}
                type: string
                index: 47
              value:
                choices: [valueString]
                index: 49
              valueString: {type: string, choiceOf: value, index: 50}
              resource: {index: 51}
              part: {index: 52}
            extensions: {}
            required: [value, valueString]
        patientMedicationList:
          match: {name: patientMedicationList}
          schema:
            index: 53
            elements:
              id: {index: 54}
              extension: {index: 55}
              modifierExtension: {index: 56}
              name:
                pattern: {type: string, value: patientMedicationList}
                type: string
                index: 57
              value:
                choices: []
                index: 59
              resource: {index: 60}
              part:
                index: 61
                slicing:
                  rules: open
                  discriminator:
                  - {path: $this, type: value}
                  min: 1
                  slices:
                    startSeq:
                      match: {}
                      schema:
                        index: 62
                        elements:
                          id: {index: 63}
                          extension: {index: 64}
                          modifierExtension: {index: 65}
                          value:
                            choices: [valueString]
                            index: 67
                          valueString: {type: string, choiceOf: value, index: 68}
                          resource: {index: 69}
                          part: {index: 70}
                        extensions: {}
                        required: [value, valueString]
                    endSeq:
                      match: {}
                      schema:
                        index: 71
                        elements:
                          id: {index: 72}
                          extension: {index: 73}
                          modifierExtension: {index: 74}
                          value:
                            choices: [valueString]
                            index: 76
                          valueString: {type: string, choiceOf: value, index: 77}
                          resource: {index: 78}
                          part: {index: 79}
                        extensions: {}
                        required: [value, valueString]
                    fromDate:
                      match: {}
                      schema:
                        index: 80
                        elements:
                          id: {index: 81}
                          extension: {index: 82}
                          modifierExtension: {index: 83}
                          value:
                            choices: [valueDate]
                            index: 85
                          valueDate: {type: date, choiceOf: value, index: 86}
                          resource: {index: 87}
                          part: {index: 88}
                        extensions: {}
                        required: [value, valueDate]
                    toDate:
                      match: {}
                      schema:
                        index: 89
                        elements:
                          id: {index: 90}
                          extension: {index: 91}
                          modifierExtension: {index: 92}
                          value:
                            choices: [valueDate]
                            index: 94
                          valueDate: {type: date, choiceOf: value, index: 95}
                          resource: {index: 96}
                          part: {index: 97}
                        extensions: {}
                        required: [value, valueDate]
                    listStatus:
                      match: {}
                      schema:
                        index: 98
                        elements:
                          id: {index: 99}
                          extension: {index: 100}
                          modifierExtension: {index: 101}
                          value:
                            choices: [valueString]
                            index: 103
                          valueString: {type: string, choiceOf: value, index: 104}
                          resource: {index: 105}
                          part: {index: 106}
                        extensions: {}
                        required: [value, valueString]
                    itemStatus:
                      match: {}
                      schema:
                        index: 107
                        elements:
                          id: {index: 108}
                          extension: {index: 109}
                          modifierExtension: {index: 110}
                          value:
                            choices: [valueString]
                            index: 112
                          valueString: {type: string, choiceOf: value, index: 113}
                          resource: {index: 114}
                          part: {index: 115}
                        extensions: {}
                        required: [value, valueString]
                    requestorType:
                      match: {}
                      schema:
                        index: 116
                        elements:
                          id: {index: 117}
                          extension: {index: 118}
                          modifierExtension: {index: 119}
                          value:
                            choices: [valueString]
                            index: 121
                          valueString: {type: string, choiceOf: value, index: 122}
                          resource: {index: 123}
                          part: {index: 124}
                        extensions: {}
                        required: [value, valueString]
                    orderedDispensedType:
                      match: {}
                      schema:
                        index: 125
                        elements:
                          id: {index: 126}
                          extension: {index: 127}
                          modifierExtension: {index: 128}
                          value:
                            choices: [valueCoding]
                            index: 130
                          valueCoding: {type: Coding, choiceOf: value, index: 131}
                          value[x]:
                            elements:
                              id: {index: 132}
                              extension: {index: 133}
                              system: {index: 134}
                              code: {index: 135}
                              display: {index: 136}
                              userSelected: {index: 137}
                            extensions: {}
                            required: [code, system]
                          resource: {index: 138}
                          part: {index: 139}
                        extensions: {}
                        required: [value, valueCoding]
            extensions: {}
            required: [part]
        orderedDispensedList:
          match: {name: orderedDispensedList}
          schema:
            index: 140
            elements:
              id: {index: 141}
              extension: {index: 142}
              modifierExtension: {index: 143}
              name:
                pattern: {type: string, value: orderedDispensedList}
                type: string
                index: 144
              value:
                choices: []
                index: 146
              resource: {index: 147}
              part:
                index: 148
                extensions: {}
                elements:
                  extension: {index: 149}
                  modifierExtension: {index: 150}
                slicing:
                  rules: open
                  discriminator:
                  - {path: name, type: value}
                  min: 1
                  slices:
                    startSeq:
                      match: {name: null}
                      schema:
                        index: 151
                        elements:
                          id: {index: 152}
                          extension: {index: 153}
                          modifierExtension: {index: 154}
                          value:
                            choices: [valueString]
                            index: 156
                          valueString: {type: string, choiceOf: value, index: 157}
                          resource: {index: 158}
                          part: {index: 159}
                        extensions: {}
                        required: [value, valueString]
                    endSeq:
                      match: {name: null}
                      schema:
                        index: 160
                        elements:
                          id: {index: 161}
                          extension: {index: 162}
                          modifierExtension: {index: 163}
                          value:
                            choices: [valueString]
                            index: 165
                          valueString: {type: string, choiceOf: value, index: 166}
                          resource: {index: 167}
                          part: {index: 168}
                        extensions: {}
                        required: [value, valueString]
                    institution:
                      match: {name: null}
                      schema:
                        index: 169
                        elements:
                          id: {index: 170}
                          extension: {index: 171}
                          modifierExtension: {index: 172}
                          value:
                            choices: [valueString]
                            index: 174
                          valueString: {type: string, choiceOf: value, index: 175}
                          resource: {index: 176}
                          part: {index: 177}
                        extensions: {}
                        required: [value, valueString]
                    orderedByPersonnel:
                      match: {name: null}
                      schema:
                        index: 178
                        elements:
                          id: {index: 179}
                          extension: {index: 180}
                          modifierExtension: {index: 181}
                          value:
                            choices: [valueString]
                            index: 183
                          valueString: {type: string, choiceOf: value, index: 184}
                          resource: {index: 185}
                          part: {index: 186}
                        extensions: {}
                        required: [value, valueString]
                    dispensedByPersonnel:
                      match: {name: null}
                      schema:
                        index: 187
                        elements:
                          id: {index: 188}
                          extension: {index: 189}
                          modifierExtension: {index: 190}
                          value:
                            choices: [valueString]
                            index: 192
                          valueString: {type: string, choiceOf: value, index: 193}
                          resource: {index: 194}
                          part: {index: 195}
                        extensions: {}
                        required: [value, valueString]
                    medicationName:
                      match: {name: null}
                      schema:
                        index: 196
                        elements:
                          id: {index: 197}
                          extension: {index: 198}
                          modifierExtension: {index: 199}
                          value:
                            choices: [valueString]
                            index: 201
                          valueString: {type: string, choiceOf: value, index: 202}
                          resource: {index: 203}
                          part: {index: 204}
                        extensions: {}
                        required: [value, valueString]
                    isSemanticSearch:
                      match: {name: null}
                      schema:
                        index: 205
                        elements:
                          id: {index: 206}
                          extension: {index: 207}
                          modifierExtension: {index: 208}
                          value:
                            choices: [valueBoolean]
                            index: 210
                          valueBoolean: {type: boolean, choiceOf: value, index: 211}
                          resource: {index: 212}
                          part: {index: 213}
                        extensions: {}
                        required: [value, valueBoolean]
                    encounter:
                      match: {name: null}
                      schema:
                        index: 214
                        elements:
                          id: {index: 215}
                          extension: {index: 216}
                          modifierExtension: {index: 217}
                          value:
                            choices: [valueIdentifier]
                            index: 219
                          valueIdentifier: {type: Identifier, choiceOf: value, index: 220}
                          value[x]:
                            elements:
                              id: {index: 221}
                              extension: {index: 222}
                              use: {index: 223}
                              type: {index: 224}
                              system: {index: 225}
                              value: {index: 226}
                              period: {index: 227}
                              assigner: {index: 228}
                            extensions: {}
                            required: [system, value]
                          resource: {index: 229}
                          part: {index: 230}
                        extensions: {}
                        required: [value, valueIdentifier]
            extensions: {}
            required: [part]
        exclusionCriteria:
          match: {name: null}
          schema:
            index: 231
            elements:
              id: {index: 232}
              extension: {index: 233}
              modifierExtension: {index: 234}
              value:
                choices: []
                index: 236
              resource: {index: 237}
              part:
                index: 238
                elements:
                  id: {index: 239}
                  extension: {index: 240}
                  modifierExtension: {index: 241}
                  value:
                    choices: []
                    index: 243
                  resource: {index: 244}
                  part: {index: 245}
                extensions: {}
                slicing:
                  rules: open
                  discriminator:
                  - {path: name, type: value}
                  min: 1
                  slices:
                    parameter:
                      match: {name: null}
                      schema:
                        index: 246
                        elements:
                          id: {index: 247}
                          extension: {index: 248}
                          modifierExtension: {index: 249}
                          value:
                            choices: []
                            index: 251
                          resource: {index: 252}
                          part:
                            index: 253
                            slicing:
                              rules: open
                              discriminator:
                              - {path: name, type: value}
                              min: 1
                              slices:
                                name:
                                  match: {name: null}
                                  schema:
                                    _required: true
                                    index: 254
                                    elements:
                                      id: {index: 255}
                                      extension: {index: 256}
                                      modifierExtension: {index: 257}
                                      value:
                                        choices: [valueString]
                                        index: 259
                                      valueString: {type: string, choiceOf: value, index: 260}
                                      value[x]:
                                        extensions: {}
                                        elements:
                                          extension: {index: 261}
                                      resource: {index: 262}
                                      part: {index: 263}
                                    extensions: {}
                                    required: [value, valueString]
                                value:
                                  match: {name: null}
                                  schema:
                                    _required: true
                                    index: 264
                                    elements:
                                      id: {index: 265}
                                      extension: {index: 266}
                                      modifierExtension: {index: 267}
                                      value:
                                        choices: [valueCoding]
                                        index: 269
                                      valueCoding: {type: Coding, choiceOf: value, index: 270}
                                      value[x]:
                                        elements:
                                          id: {index: 271}
                                          extension: {index: 272}
                                          system: {index: 273}
                                          code: {index: 274}
                                          display: {index: 275}
                                          userSelected: {index: 276}
                                        extensions: {}
                                        required: [code, system]
                                      resource: {index: 277}
                                      part: {index: 278}
                                    extensions: {}
                                    required: [value, valueCoding]
                        extensions: {}
                        required: [part]
                    classification:
                      match: {name: null}
                      schema:
                        index: 279
                        elements:
                          id: {index: 280}
                          extension: {index: 281}
                          modifierExtension: {index: 282}
                          value:
                            choices: []
                            index: 284
                          resource: {index: 285}
                          part:
                            index: 286
                            slicing:
                              rules: open
                              discriminator:
                              - {path: name, type: value}
                              min: 1
                              slices:
                                name:
                                  match: {name: null}
                                  schema:
                                    _required: true
                                    index: 287
                                    elements:
                                      id: {index: 288}
                                      extension: {index: 289}
                                      modifierExtension: {index: 290}
                                      value:
                                        choices: [valueString]
                                        index: 292
                                      valueString: {type: string, choiceOf: value, index: 293}
                                      resource: {index: 294}
                                      part: {index: 295}
                                    extensions: {}
                                    required: [value, valueString]
                                type:
                                  match: {name: null}
                                  schema:
                                    _required: true
                                    index: 296
                                    elements:
                                      id: {index: 297}
                                      extension: {index: 298}
                                      modifierExtension: {index: 299}
                                      value:
                                        choices: [valueString]
                                        index: 301
                                      valueString: {type: string, choiceOf: value, index: 302}
                                      resource: {index: 303}
                                      part: {index: 304}
                                    extensions: {}
                                    required: [value, valueString]
                        extensions: {}
                        required: [part]
            extensions: {}
            required: [part]
package_version: 1.0.0
class: profile
kind: resource
url: https://fhir.synapxe.sg/StructureDefinition/profile-get-medications
base: http://hl7.org/fhir/StructureDefinition/Parameters
version: null
required: [parameter]