PackagesCanonicalsLogsProblems
    Packages
    io.health-samurai.core.r4@0.2601.0
    http://hl7.org/fhir/uv/sql-on-fhir/StructureDefinition/ViewDefinition
description: null
package_name: io.health-samurai.core.r4
derivation: specialization
name: ViewDefinition
type: ViewDefinition
elements:
  description: {type: markdown, short: Natural language description of the view definition, index: 9}
  where:
    type: BackboneElement
    short: A series of zero or more FHIRPath constraints to filter resources for the view.
    array: true
    index: 36
    elements:
      path: {type: string, short: A FHIRPath expression defining a filter condition, index: 37}
      description: {type: string, short: A human-readable description of the above where constraint., index: 38}
    required: [path]
  meta: {type: Meta, short: Metadata about the view definition, index: 4}
  publisher: {type: string, short: Name of the publisher/steward (organization or individual), index: 7}
  fhirVersion:
    type: code
    short: FHIR version(s) of the resource for the ViewDefinition
    binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/FHIR-version'}
    array: true
    index: 13
  name:
    type: string
    short: Name of view definition (computer and database friendly)
    constraint:
      sql-name: {human: 'Name must match ^[A-Za-z][A-Za-z0-9_]*$ (letters, numbers, or underscores; cannot start with underscore).', severity: error, expression: 'empty() or matches(''^[A-Za-z][A-Za-z0-9_]*$'')'}
    index: 2
  constant:
    type: BackboneElement
    short: Constant that can be used in FHIRPath expressions
    array: true
    index: 14
    elements:
      valueBase64Binary: {type: base64Binary, short: Value of constant, choiceOf: value, index: 18}
      valueCode: {type: code, short: Value of constant, choiceOf: value, index: 21}
      valueUri: {type: uri, short: Value of constant, choiceOf: value, index: 33}
      valueTime: {type: time, short: Value of constant, choiceOf: value, index: 31}
      valueDecimal: {type: decimal, short: Value of constant, choiceOf: value, index: 24}
      valueCanonical: {type: canonical, short: Value of constant, choiceOf: value, index: 20}
      name:
        type: string
        short: Name of constant (referred to in FHIRPath as %[name])
        constraint:
          sql-name: {human: 'Name must match ^[A-Za-z][A-Za-z0-9_]*$ (letters, numbers, or underscores; cannot start with underscore).', severity: error, expression: 'empty() or matches(''^[A-Za-z][A-Za-z0-9_]*$'')'}
        index: 15
      value:
        short: Value of constant
        choices: [valueBase64Binary, valueBoolean, valueCanonical, valueCode, valueDate, valueDateTime, valueDecimal, valueId, valueInstant, valueInteger, valueOid, valuePositiveInt, valueString, valueTime, valueUnsignedInt, valueUri, valueUrl, valueUuid]
        index: 17
      valueString: {type: string, short: Value of constant, choiceOf: value, index: 30}
      valueBoolean: {type: boolean, short: Value of constant, choiceOf: value, index: 19}
      valueInstant: {type: instant, short: Value of constant, choiceOf: value, index: 26}
      valueDateTime: {type: dateTime, short: Value of constant, choiceOf: value, index: 23}
      valueDate: {type: date, short: Value of constant, choiceOf: value, index: 22}
      valueUuid: {type: uuid, short: Value of constant, choiceOf: value, index: 35}
      valueInteger: {type: integer, short: Value of constant, choiceOf: value, index: 27}
      valueUnsignedInt: {type: unsignedInt, short: Value of constant, choiceOf: value, index: 32}
      valueOid: {type: oid, short: Value of constant, choiceOf: value, index: 28}
      valuePositiveInt: {type: positiveInt, short: Value of constant, choiceOf: value, index: 29}
      valueId: {type: id, short: Value of constant, choiceOf: value, index: 25}
      valueUrl: {type: url, short: Value of constant, choiceOf: value, index: 34}
    required: [valueBase64Binary, valueUri, valueString, valueCode, valuePositiveInt, valueCanonical, valueDecimal, valueDateTime, name, valueInstant, value, valueBoolean, valueDate, valueUnsignedInt, valueUuid, valueTime, valueId, valueUrl, valueOid, valueInteger]
  useContext: {type: UsageContext, short: The context that the content is intended to support, array: true, index: 10}
  copyright: {type: markdown, short: Use and/or publishing restrictions, index: 11}
  experimental: {type: boolean, short: 'For testing purposes, not real usage', index: 6}
  title: {type: string, short: Name for this view definition (human friendly), index: 3}
  status:
    type: code
    short: draft | active | retired | unknown
    binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/publication-status'}
    index: 5
  resource:
    type: code
    short: FHIR resource for the ViewDefinition
    binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/resource-types'}
    index: 12
  url: {type: uri, short: 'Canonical identifier for this view definition, represented as a URI (globally unique)', index: 0}
  identifier: {type: Identifier, short: Additional identifier for the view definition, index: 1}
  contact: {type: ContactDetail, short: Contact details for the publisher, array: true, index: 8}
  select:
    type: BackboneElement
    short: A collection of columns and nested selects to include in the view.
    constraint:
      sql-expressions: {human: 'Can only have at most one of `forEach`, `forEachOrNull`, or `repeat`.', severity: error, expression: select((forEach.exists().toInteger() + forEachOrNull.exists().toInteger() + repeat.exists().toInteger())) <= 1}
    array: true
    min: 1
    index: 39
    elements:
      column:
        type: BackboneElement
        short: A column to be produced in the resulting table.
        array: true
        index: 40
        elements:
          path: {type: string, short: FHIRPath expression that creates a column and defines its content, index: 41}
          name:
            type: string
            short: Column name produced in the output
            constraint:
              sql-name: {human: 'Name must match ^[A-Za-z][A-Za-z0-9_]*$ (letters, numbers, or underscores; cannot start with underscore).', severity: error, expression: 'empty() or matches(''^[A-Za-z][A-Za-z0-9_]*$'')'}
            index: 42
          type: {type: uri, short: A FHIR StructureDefinition URI for the column's type., index: 43}
          collection: {type: boolean, short: Indicates whether the column may have multiple values., index: 44}
          description: {type: markdown, short: Description of the column, index: 45}
          tag:
            type: BackboneElement
            short: Additional metadata describing the column
            array: true
            index: 46
            elements:
              name: {type: string, short: Name of tag, index: 47}
              value: {type: string, short: Value of tag, index: 48}
            required: [name, value]
        required: [path, name]
      select:
        short: Nested select relative to a parent expression.
        elementReference: ['http://hl7.org/fhir/uv/sql-on-fhir/StructureDefinition/ViewDefinition', elements, select]
        array: true
        index: 49
      forEach: {type: string, short: A FHIRPath expression to retrieve the parent element(s) used in the containing select. The default is effectively `$this`., index: 50}
      forEachOrNull: {type: string, short: 'Same as forEach, but will produce a row with null values if the collection is empty.', index: 51}
      unionAll:
        short: Creates a union of all rows in the given selection structures.
        elementReference: ['http://hl7.org/fhir/uv/sql-on-fhir/StructureDefinition/ViewDefinition', elements, select]
        array: true
        index: 52
      repeat: {type: string, array: true, index: 53}
package_version: 0.2601.0
class: resource
kind: resource
url: http://hl7.org/fhir/uv/sql-on-fhir/StructureDefinition/ViewDefinition
base: http://hl7.org/fhir/StructureDefinition/DomainResource
version: 0.2601.0
required: [resource, select, status]