PackagesCanonicalsLogsProblems
    Packages
    hl7.fhir.uv.cql@2.0.0
    http://hl7.org/fhir/uv/cql/StructureDefinition/cql-modelinfosettings
description: CQL ModelInfo settings expressed using FHIR Parameters
package_name: hl7.fhir.uv.cql
derivation: constraint
name: CQLModelInfoSettings
type: Parameters
elements:
  parameter:
    index: 0
    slicing:
      rules: open
      ordered: false
      discriminator:
      - {path: name, type: value}
      min: null
      slices:
        targetUrl:
          match: {name: targetUrl}
          schema:
            short: Model target url
            index: 36
            elements:
              name:
                pattern: {type: string, value: targetUrl}
                type: string
                index: 37
              value:
                choices: [valueString]
                index: 39
              valueString: {type: string, choiceOf: value, index: 40}
            required: [value, valueString]
        dependency:
          match: {name: dependency}
          schema:
            short: Required model information
            array: true
            index: 61
            elements:
              name:
                pattern: {type: string, value: dependency}
                type: string
                index: 62
              part:
                array: true
                min: 4
                max: 4
                index: 63
                slicing:
                  rules: open
                  ordered: false
                  discriminator:
                  - {path: name, type: value}
                  min: 4
                  max: 4
                  slices:
                    modelNamespace:
                      match: {name: modelNamespace}
                      schema:
                        short: Namespace of the required model (i.e. packageId)
                        _required: true
                        index: 64
                        elements:
                          name:
                            pattern: {type: string, value: modelNamespace}
                            type: string
                            index: 65
                          value:
                            choices: [valueString]
                            index: 67
                          valueString: {type: string, choiceOf: value, index: 68}
                        required: [value, valueString]
                    modelName:
                      match: {name: modelName}
                      schema:
                        short: Name of the required model
                        _required: true
                        index: 69
                        elements:
                          name:
                            pattern: {type: string, value: modelName}
                            type: string
                            index: 70
                          value:
                            choices: [valueString]
                            index: 72
                          valueString: {type: string, choiceOf: value, index: 73}
                        required: [value, valueString]
                    modelVersion:
                      match: {name: modelVersion}
                      schema:
                        short: Version of the required model
                        _required: true
                        index: 74
                        elements:
                          name:
                            pattern: {type: string, value: modelVersion}
                            type: string
                            index: 75
                          value:
                            choices: [valueString]
                            index: 77
                          valueString: {type: string, choiceOf: value, index: 78}
                        required: [value, valueString]
                    modelUrl:
                      match: {name: modelUrl}
                      schema:
                        short: Url of the required model
                        _required: true
                        index: 79
                        elements:
                          name:
                            pattern: {type: string, value: modelUrl}
                            type: string
                            index: 80
                          value:
                            choices: [valueString]
                            index: 82
                          valueString: {type: string, choiceOf: value, index: 83}
                        required: [value, valueString]
        includeMetadata:
          match: {name: includeMetadata}
          schema:
            short: Include definitions, comments, bindings and other metadata?
            index: 46
            elements:
              name:
                pattern: {type: string, value: includeMetadata}
                type: string
                index: 47
              value:
                choices: [valueBoolean]
                index: 49
              valueBoolean: {type: boolean, choiceOf: value, index: 50}
            required: [value, valueBoolean]
        useCqlPrimitives:
          match: {name: useCqlPrimitives}
          schema:
            short: Map to CQL primitives?
            index: 41
            elements:
              name:
                pattern: {type: string, value: useCqlPrimitives}
                type: string
                index: 42
              value:
                choices: [valueBoolean]
                index: 44
              valueBoolean: {type: boolean, choiceOf: value, index: 45}
            required: [value, valueBoolean]
        patientClassName:
          match: {name: patientClassName}
          schema:
            short: Name of the patient class in the model
            index: 21
            elements:
              name:
                pattern: {type: string, value: patientClassName}
                type: string
                index: 22
              value:
                choices: [valueString]
                index: 24
              valueString: {type: string, choiceOf: value, index: 25}
            required: [value, valueString]
        patientBirthDatePropertyName:
          match: {name: patientBirthDatePropertyName}
          schema:
            short: Name of the birthdate property of the Patient class in the model
            index: 26
            elements:
              name:
                pattern: {type: string, value: patientBirthDatePropertyName}
                type: string
                index: 27
              value:
                choices: [valueString]
                index: 29
              valueString: {type: string, choiceOf: value, index: 30}
            required: [value, valueString]
        createSliceElements:
          match: {name: createSliceElements}
          schema:
            short: Create slice and extension elements?
            index: 51
            elements:
              name:
                pattern: {type: string, value: createSliceElements}
                type: string
                index: 52
              value:
                choices: [valueBoolean]
                index: 54
              valueBoolean: {type: boolean, choiceOf: value, index: 55}
            required: [value, valueBoolean]
        modelName:
          match: {name: modelName}
          schema:
            short: What model
            _required: true
            index: 1
            elements:
              name:
                pattern: {type: string, value: modelName}
                type: string
                index: 2
              value:
                choices: [valueString]
                index: 4
              valueString: {type: string, choiceOf: value, index: 5}
            required: [value, valueString]
        flatten:
          match: {name: flatten}
          schema:
            short: Create flattened classes?
            index: 56
            elements:
              name:
                pattern: {type: string, value: flatten}
                type: string
                index: 57
              value:
                choices: [valueBoolean]
                index: 59
              valueBoolean: {type: boolean, choiceOf: value, index: 60}
            required: [value, valueBoolean]
        modelNamespace:
          match: {name: modelNamespace}
          schema:
            short: What namespace
            index: 11
            elements:
              name:
                pattern: {type: string, value: modelNamespace}
                type: string
                index: 12
              value:
                choices: [valueString]
                index: 14
              valueString: {type: string, choiceOf: value, index: 15}
            required: [value, valueString]
        modelUrl:
          match: {name: modelUrl}
          schema:
            short: What url
            _required: true
            index: 16
            elements:
              name:
                pattern: {type: string, value: modelUrl}
                type: string
                index: 17
              value:
                choices: [valueString]
                index: 19
              valueString: {type: string, choiceOf: value, index: 20}
            required: [value, valueString]
        targetQualifier:
          match: {name: targetQualifier}
          schema:
            short: Model target qualifier
            index: 31
            elements:
              name:
                pattern: {type: string, value: targetQualifier}
                type: string
                index: 32
              value:
                choices: [valueString]
                index: 34
              valueString: {type: string, choiceOf: value, index: 35}
            required: [value, valueString]
        modelVersion:
          match: {name: modelVersion}
          schema:
            short: What version
            _required: true
            index: 6
            elements:
              name:
                pattern: {type: string, value: modelVersion}
                type: string
                index: 7
              value:
                choices: [valueString]
                index: 9
              valueString: {type: string, choiceOf: value, index: 10}
            required: [value, valueString]
        profile:
          match: {name: profile}
          schema:
            short: Profile configuration
            array: true
            index: 84
            elements:
              name:
                pattern: {type: string, value: profile}
                type: string
                index: 85
              part:
                array: true
                min: 1
                max: 5
                index: 86
                slicing:
                  rules: open
                  ordered: false
                  discriminator:
                  - {path: name, type: value}
                  min: 1
                  max: 5
                  slices:
                    url:
                      match: {name: url}
                      schema:
                        short: Url of the profile
                        _required: true
                        index: 87
                        elements:
                          name:
                            pattern: {type: string, value: url}
                            type: string
                            index: 88
                          value:
                            choices: [valueUri]
                            index: 90
                          valueUri: {type: uri, choiceOf: value, index: 91}
                        required: [value, valueUri]
                    isIncluded:
                      match: {name: isIncluded}
                      schema:
                        short: Included in the model?
                        index: 92
                        elements:
                          name:
                            pattern: {type: string, value: isIncluded}
                            type: string
                            index: 93
                          value:
                            choices: [valueBoolean]
                            index: 95
                          valueBoolean: {type: boolean, choiceOf: value, index: 96}
                        required: [value, valueBoolean]
                    isRetrievable:
                      match: {name: isRetrievable}
                      schema:
                        short: Can be the target of a retrieve expression?
                        index: 97
                        elements:
                          name:
                            pattern: {type: string, value: isRetrievable}
                            type: string
                            index: 98
                          value:
                            choices: [valueBoolean]
                            index: 100
                          valueBoolean: {type: boolean, choiceOf: value, index: 101}
                        required: [value, valueBoolean]
                    label:
                      match: {name: label}
                      schema:
                        short: Label for the class
                        index: 102
                        elements:
                          name:
                            pattern: {type: string, value: label}
                            type: string
                            index: 103
                          value:
                            choices: [valueString]
                            index: 105
                          valueString: {type: string, choiceOf: value, index: 106}
                        required: [value, valueString]
                    primaryCodePath:
                      match: {name: primaryCodePath}
                      schema:
                        short: Primary code path for the class
                        index: 107
                        elements:
                          name:
                            pattern: {type: string, value: primaryCodePath}
                            type: string
                            index: 108
                          value:
                            choices: [valueString]
                            index: 110
                          valueString: {type: string, choiceOf: value, index: 111}
                        required: [value, valueString]
            required: [part]
package_version: 2.0.0
class: profile
kind: resource
url: http://hl7.org/fhir/uv/cql/StructureDefinition/cql-modelinfosettings
base: http://hl7.org/fhir/StructureDefinition/Parameters
version: 2.0.0