SQL on FHIR
2.0.0-pre - ci-build
SQL on FHIR, published by HL7. This guide is not an authorized publication; it is the continuous build for version 2.0.0-pre built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/FHIR/sql-on-fhir-v2/ and changes regularly. See the Directory of published versions
Draft as of 2024-10-03 |
Definitions for the TabularViewDefinition logical model.
Guidance on how to interpret the contents of this table can be found here
Guidance on how to interpret the contents of this table can be found here
0. ViewDefinition | |
Definition | A ViewDefinition represents a tabular projection of a FHIR resource, where the columns and inclusion criteria are defined by FHIRPath expressions. Base definition for all types defined in FHIR type system. |
Short | View DefinitionBase for all types and resources |
Control | 0..* |
Is Modifier | false |
Logical Model | Instances of this logical model are not marked to be the target of a Reference |
2. ViewDefinition.status | |
Definition | draft | active | retired | unknown |
Short | draft | active | retired | unknown |
Control | 1..1 |
Binding | The codes SHALL be taken from PublicationStatus (required to http://hl7.org/fhir/ValueSet/publication-status ) |
Type | code |
Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
4. ViewDefinition.resource | |
Definition | The FHIR resource that the view is based upon, e.g. 'Patient' or 'Observation'. |
Short | FHIR resource for the ViewDefinition |
Control | 1..1 |
Binding | The codes SHALL be taken from ResourceType (required to http://hl7.org/fhir/ValueSet/resource-types ) |
Type | code |
Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
6. ViewDefinition.select | |
Definition | The select structure defines the columns to be used in the resulting view. These are expressed
in the |
Short | A collection of columns and nested selects to include in the view. |
Control | 1..* |
Type | BackboneElement |
Invariants | sql-expressions: Can only have at most one of `forEach` or `forEachOrNull`. ((forEach | forEachOrNull).count() <= 1 )ele-1: All FHIR elements must have a @value or children ( hasValue() or (children().count() > id.count()) ) |
8. ViewDefinition.select.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Short | Extensions that cannot be ignored even if unrecognized |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Control | 0..* |
Type | Extension |
Is Modifier | true because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them |
Summary | true |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Alternate Names | extensions, user content, modifiers |
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists()) |
10. ViewDefinition.select.column | |
Definition | A column to be produced in the resulting table. The column is relative to the select structure that contains it. |
Short | A column to be produced in the resulting table. |
Control | 0..* |
Type | BackboneElement |
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()) )no-collections: Tabular view columns must not be collections. ( collection.empty() or collection = false )primitives-only: Tabular view columns only contain primitive values. ( type in ('base64Binary' | 'boolean' | 'canonical' | 'code' | 'dateTime' | 'decimal' | 'id' | 'instant' | 'integer' | 'integer64' | 'markdown' | 'oid' | 'string' | 'positiveInt' | 'time' | 'unsignedInt' | 'url' | 'uuid') ) |
12. ViewDefinition.select.column.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Short | Extensions that cannot be ignored even if unrecognized |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Control | 0..* |
Type | Extension |
Is Modifier | true because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them |
Summary | true |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Alternate Names | extensions, user content, modifiers |
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists()) |
14. ViewDefinition.select.column.path | |
Definition | A FHIRPath expression that evaluates to the value that will be output in the column for each resource. The input context is the collection of resources of the type specified in the resource element. Constants defined in Reference({constant}) can be referenced as %[name]. |
Short | FHIRPath expression that creates a column and defines its content |
Control | 1..1 |
Type | string |
Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
16. ViewDefinition.select.column.name | |
Definition | Name of the column produced in the output, must be in a database-friendly format. The column names in the output must not have any duplicates. |
Short | Column name produced in the output |
Control | 1..1 |
Type | string |
Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
Invariants | sql-name: Name is limited to letters, numbers, or underscores and cannot start with an
underscore -- i.e. with a regular expression of: ^[A-Za-z][A-Za-z0-9_]*$
This makes it usable as table names in a wide variety of databases. (empty() or matches('^[A-Za-z][A-Za-z0-9_]*$') ) |
Guidance on how to interpret the contents of this table can be found here
0. ViewDefinition | |
Definition | A ViewDefinition represents a tabular projection of a FHIR resource, where the columns and inclusion criteria are defined by FHIRPath expressions. |
Short | View Definition |
Control | 0..* |
Is Modifier | false |
Logical Model | Instances of this logical model are not marked to be the target of a Reference |
2. ViewDefinition.url | |
Definition | Canonical identifier for this view definition, represented as a URI (globally unique) |
Short | Canonical identifier for this view definition, represented as a URI (globally unique) |
Control | 0..1 |
Type | uri |
Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
4. ViewDefinition.identifier | |
Definition | Additional identifier for the view definition |
Short | Additional identifier for the view definition |
Note | This is a business identifier, not a resource identifier (see discussion) |
Control | 0..1 |
Type | Identifier |
6. ViewDefinition.name | |
Definition | Name of the view definition, must be in a database-friendly format. |
Short | Name of view definition (computer and database friendly) |
Control | 0..1 |
Type | string |
Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
Invariants | sql-name: Name is limited to letters, numbers, or underscores and cannot start with an
underscore -- i.e. with a regular expression of: ^[A-Za-z][A-Za-z0-9_]*$
This makes it usable as table names in a wide variety of databases. (empty() or matches('^[A-Za-z][A-Za-z0-9_]*$') ) |
8. ViewDefinition.title | |
Definition | A optional human-readable description of the view. |
Short | Name for this view definition (human friendly) |
Control | 0..1 |
Type | string |
Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
10. ViewDefinition.meta | |
Definition | Metadata about the view definition |
Short | Metadata about the view definition |
Control | 0..1 |
Type | Meta |
12. ViewDefinition.status | |
Definition | draft | active | retired | unknown |
Short | draft | active | retired | unknown |
Control | 1..1 |
Binding | The codes SHALL be taken from PublicationStatus (required to http://hl7.org/fhir/ValueSet/publication-status ) |
Type | code |
Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
14. ViewDefinition.experimental | |
Definition | For testing purposes, not real usage |
Short | For testing purposes, not real usage |
Control | 0..1 |
Type | boolean |
Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
16. ViewDefinition.publisher | |
Definition | Name of the publisher/steward (organization or individual) |
Short | Name of the publisher/steward (organization or individual) |
Control | 0..1 |
Type | string |
Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
18. ViewDefinition.contact | |
Definition | Contact details for the publisher |
Short | Contact details for the publisher |
Control | 0..* |
Type | ContactDetail |
20. ViewDefinition.description | |
Definition | Natural language description of the view definition |
Short | Natural language description of the view definition |
Control | 0..1 |
Type | markdown |
Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
22. ViewDefinition.useContext | |
Definition | The context that the content is intended to support |
Short | The context that the content is intended to support |
Control | 0..* |
Type | UsageContext |
24. ViewDefinition.copyright | |
Definition | Use and/or publishing restrictions |
Short | Use and/or publishing restrictions |
Control | 0..1 |
Type | markdown |
Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
26. ViewDefinition.resource | |
Definition | The FHIR resource that the view is based upon, e.g. 'Patient' or 'Observation'. |
Short | FHIR resource for the ViewDefinition |
Control | 1..1 |
Binding | The codes SHALL be taken from ResourceType (required to http://hl7.org/fhir/ValueSet/resource-types ) |
Type | code |
Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
28. ViewDefinition.fhirVersion | |
Definition | The FHIR version(s) for the FHIR resource. The value of this element is the formal version of the specification, without the revision number, e.g. [publication].[major].[minor]. |
Short | FHIR version(s) of the resource for the ViewDefinition |
Control | 0..* |
Binding | The codes SHALL be taken from FHIRVersion (required to http://hl7.org/fhir/ValueSet/FHIR-version ) |
Type | code |
Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
30. ViewDefinition.constant | |
Definition | A constant is a value that is injected into a FHIRPath expression through the use of a FHIRPath external constant with the same name. |
Short | Constant that can be used in FHIRPath expressions |
Control | 0..* |
Type | BackboneElement |
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()) ) |
32. ViewDefinition.constant.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Short | Unique id for inter-element referencing |
Control | 0..1 This element is affected by the following invariants: ele-1 |
Type | id |
Is Modifier | false |
XML Format | In the XML format, this property is represented as an attribute. |
Summary | false |
34. ViewDefinition.constant.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Short | Additional content defined by implementations |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Control | 0..* |
Type | Extension |
Is Modifier | false |
Summary | false |
Alternate Names | extensions, user content |
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()) )ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists() ) |
Slicing | This element introduces a set of slices on ViewDefinition.constant.extension . The slices areUnordered and Open, and can be differentiated using the following discriminators: |
36. ViewDefinition.constant.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Short | Extensions that cannot be ignored even if unrecognized |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Control | 0..* |
Type | Extension |
Is Modifier | true because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them |
Summary | true |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Alternate Names | extensions, user content, modifiers |
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()) )ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists() ) |
38. ViewDefinition.constant.name | |
Definition | Name of constant (referred to in FHIRPath as %[name]) |
Short | Name of constant (referred to in FHIRPath as %[name]) |
Control | 1..1 |
Type | string |
Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
Invariants | sql-name: Name is limited to letters, numbers, or underscores and cannot start with an
underscore -- i.e. with a regular expression of: ^[A-Za-z][A-Za-z0-9_]*$
This makes it usable as table names in a wide variety of databases. (empty() or matches('^[A-Za-z][A-Za-z0-9_]*$') ) |
40. ViewDefinition.constant.value[x] | |
Definition | The value that will be substituted in place of the constant reference. This
is done by including Support for additional types may be added in the future. |
Short | Value of constant |
Control | 1..1 |
Type | Choice of: base64Binary, boolean, canonical, code, date, dateTime, decimal, id, instant, integer, integer64, oid, string, positiveInt, time, unsignedInt, uri, url, uuid |
[x] Note | SeeChoice of Data Typesfor further information about how to use [x] |
Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
42. ViewDefinition.select | |
Definition | The select structure defines the columns to be used in the resulting view. These are expressed
in the |
Short | A collection of columns and nested selects to include in the view. |
Control | 1..* |
Type | BackboneElement |
Invariants | sql-expressions: Can only have at most one of `forEach` or `forEachOrNull`. ((forEach | forEachOrNull).count() <= 1 )ele-1: All FHIR elements must have a @value or children ( hasValue() or (children().count() > id.count()) ) |
44. ViewDefinition.select.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Short | Unique id for inter-element referencing |
Control | 0..1 This element is affected by the following invariants: ele-1 |
Type | id |
Is Modifier | false |
XML Format | In the XML format, this property is represented as an attribute. |
Summary | false |
46. ViewDefinition.select.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Short | Additional content defined by implementations |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Control | 0..* |
Type | Extension |
Is Modifier | false |
Summary | false |
Alternate Names | extensions, user content |
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()) )ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists() ) |
Slicing | This element introduces a set of slices on ViewDefinition.select.extension . The slices areUnordered and Open, and can be differentiated using the following discriminators: |
48. ViewDefinition.select.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Short | Extensions that cannot be ignored even if unrecognized |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Control | 0..* |
Type | Extension |
Is Modifier | true because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them |
Summary | true |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Alternate Names | extensions, user content, modifiers |
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()) )ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists() ) |
50. ViewDefinition.select.column | |
Definition | A column to be produced in the resulting table. The column is relative to the select structure that contains it. |
Short | A column to be produced in the resulting table. |
Control | 0..* |
Type | BackboneElement |
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()) )no-collections: Tabular view columns must not be collections. ( collection.empty() or collection = false )primitives-only: Tabular view columns only contain primitive values. ( type in ('base64Binary' | 'boolean' | 'canonical' | 'code' | 'dateTime' | 'decimal' | 'id' | 'instant' | 'integer' | 'integer64' | 'markdown' | 'oid' | 'string' | 'positiveInt' | 'time' | 'unsignedInt' | 'url' | 'uuid') ) |
52. ViewDefinition.select.column.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Short | Unique id for inter-element referencing |
Control | 0..1 This element is affected by the following invariants: ele-1 |
Type | id |
Is Modifier | false |
XML Format | In the XML format, this property is represented as an attribute. |
Summary | false |
54. ViewDefinition.select.column.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Short | Additional content defined by implementations |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Control | 0..* |
Type | Extension |
Is Modifier | false |
Summary | false |
Alternate Names | extensions, user content |
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()) )ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists() ) |
Slicing | This element introduces a set of slices on ViewDefinition.select.column.extension . The slices areUnordered and Open, and can be differentiated using the following discriminators: |
56. ViewDefinition.select.column.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Short | Extensions that cannot be ignored even if unrecognized |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Control | 0..* |
Type | Extension |
Is Modifier | true because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them |
Summary | true |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Alternate Names | extensions, user content, modifiers |
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()) )ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists() ) |
58. ViewDefinition.select.column.path | |
Definition | A FHIRPath expression that evaluates to the value that will be output in the column for each resource. The input context is the collection of resources of the type specified in the resource element. Constants defined in Reference({constant}) can be referenced as %[name]. |
Short | FHIRPath expression that creates a column and defines its content |
Control | 1..1 |
Type | string |
Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
60. ViewDefinition.select.column.name | |
Definition | Name of the column produced in the output, must be in a database-friendly format. The column names in the output must not have any duplicates. |
Short | Column name produced in the output |
Control | 1..1 |
Type | string |
Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
Invariants | sql-name: Name is limited to letters, numbers, or underscores and cannot start with an
underscore -- i.e. with a regular expression of: ^[A-Za-z][A-Za-z0-9_]*$
This makes it usable as table names in a wide variety of databases. (empty() or matches('^[A-Za-z][A-Za-z0-9_]*$') ) |
62. ViewDefinition.select.column.description | |
Definition | A human-readable description of the column. |
Short | Description of the column |
Control | 0..1 |
Type | markdown |
Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
64. ViewDefinition.select.column.collection | |
Definition | Indicates whether the column may have multiple values. Defaults to ViewDefinitions must have this set to |
Short | Indicates whether the column may have multiple values. |
Control | 0..1 |
Type | boolean |
Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
66. ViewDefinition.select.column.type | |
Definition | A FHIR StructureDefinition URI for the column's type. Relative URIs are implicitly given
the 'http://hl7.org/fhir/StructureDefinition/' prefix. The URI may also use FHIR element ID notation to indicate
a backbone element within a structure. For instance, This field must be provided if a ViewDefinition returns a non-primitive type. Implementations should report an error if the returned type does not match the type set here, or if a non-primitive type is returned but this field is unset. |
Short | A FHIR StructureDefinition URI for the column's type. |
Control | 0..1 |
Type | uri |
Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
68. ViewDefinition.select.column.tag | |
Definition | Tags can be used to attach additional metadata to columns, such as implementation-specific directives or database-specific type hints. |
Short | Additional metadata describing the column |
Control | 0..* |
Type | BackboneElement |
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()) ) |
70. ViewDefinition.select.column.tag.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Short | Unique id for inter-element referencing |
Control | 0..1 This element is affected by the following invariants: ele-1 |
Type | id |
Is Modifier | false |
XML Format | In the XML format, this property is represented as an attribute. |
Summary | false |
72. ViewDefinition.select.column.tag.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Short | Additional content defined by implementations |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Control | 0..* |
Type | Extension |
Is Modifier | false |
Summary | false |
Alternate Names | extensions, user content |
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()) )ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists() ) |
Slicing | This element introduces a set of slices on ViewDefinition.select.column.tag.extension . The slices areUnordered and Open, and can be differentiated using the following discriminators: |
74. ViewDefinition.select.column.tag.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Short | Extensions that cannot be ignored even if unrecognized |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Control | 0..* |
Type | Extension |
Is Modifier | true because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them |
Summary | true |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Alternate Names | extensions, user content, modifiers |
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()) )ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists() ) |
76. ViewDefinition.select.column.tag.name | |
Definition | A name that identifies the meaning of the tag. A namespace should be used to scope the tag to a particular context. For example, 'ansi/type' could be used to indicate the type that should be used to represent the value within an ANSI SQL database. |
Short | Name of tag |
Control | 1..1 |
Type | string |
Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
78. ViewDefinition.select.column.tag.value | |
Definition | Value of tag |
Short | Value of tag |
Control | 1..1 |
Type | string |
Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
80. ViewDefinition.select.select | |
Definition | Nested select relative to a parent expression. If the parent |
Short | Nested select relative to a parent expression. |
Control | 0..* |
Type | Seettp://hl7.org/fhir/uv/sql-on-fhir/StructureDefinition/ViewDefinition#ViewDefinition.select |
82. ViewDefinition.select.forEach | |
Definition | A FHIRPath expression to retrieve the parent element(s) used in the containing select, relative to the root resource or parent |
Short | A FHIRPath expression to retrieve the parent element(s) used in the containing select. The default is effectively `$this`. |
Control | 0..1 |
Type | string |
Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
84. ViewDefinition.select.forEachOrNull | |
Definition | Same as forEach, but produces a single row with null values in the nested expression if the collection is empty. For example,
with a Patient resource, a |
Short | Same as forEach, but will produce a row with null values if the collection is empty. |
Control | 0..1 |
Type | string |
Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
86. ViewDefinition.select.unionAll | |
Definition | A |
Short | Creates a union of all rows in the given selection structures. |
Control | 0..* |
Type | Seettp://hl7.org/fhir/uv/sql-on-fhir/StructureDefinition/ViewDefinition#ViewDefinition.select |
88. ViewDefinition.where | |
Definition | A series of zero or more FHIRPath constraints to filter resources for the view. Every constraint must evaluate to true for the resource to be included in the view. |
Short | A series of zero or more FHIRPath constraints to filter resources for the view. |
Control | 0..* |
Type | BackboneElement |
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()) ) |
90. ViewDefinition.where.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Short | Unique id for inter-element referencing |
Control | 0..1 This element is affected by the following invariants: ele-1 |
Type | id |
Is Modifier | false |
XML Format | In the XML format, this property is represented as an attribute. |
Summary | false |
92. ViewDefinition.where.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Short | Additional content defined by implementations |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Control | 0..* |
Type | Extension |
Is Modifier | false |
Summary | false |
Alternate Names | extensions, user content |
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()) )ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists() ) |
Slicing | This element introduces a set of slices on ViewDefinition.where.extension . The slices areUnordered and Open, and can be differentiated using the following discriminators: |
94. ViewDefinition.where.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Short | Extensions that cannot be ignored even if unrecognized |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Control | 0..* |
Type | Extension |
Is Modifier | true because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them |
Summary | true |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Alternate Names | extensions, user content, modifiers |
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()) )ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists() ) |
96. ViewDefinition.where.path | |
Definition | A FHIRPath expression that defines a filter that must evaluate to true for a resource to be included in the output. The input context is the collection of resources of the type specified in the resource element. Constants defined in Reference({constant}) can be referenced as %[name]. |
Short | A FHIRPath expression defining a filter condition |
Control | 1..1 |
Type | string |
Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
98. ViewDefinition.where.description | |
Definition | A human-readable description of the above where constraint. |
Short | A human-readable description of the above where constraint. |
Control | 0..1 |
Type | string |
Primitive Value | This primitive element may be present, or absent, or replaced by an extension |