SQL on FHIR, published by HL7 International / FHIR Infrastructure. This guide is not an authorized publication; it is the continuous build for version 3.0.0-ballot built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/sql-on-fhir/ and changes regularly. See the Directory of published versions
| Official URL: http://hl7.org/fhir/uv/sql-on-fhir/StructureDefinition/ShareableViewDefinition | Version: 3.0.0-ballot | ||||
| Standards status: Trial-use | Maturity Level: 2 | Computable Name: ShareableViewDefinition | |||
| Other Identifiers: OID:2.16.840.1.113883.4.642.40.77.42.3 | |||||
A profile for View Definitions intended to be shared between multiple systems. This requires that the View Definition have a defined URL and name. It also requires declaration of the FHIR version that the view is intended to be executed over, and the FHIR type of each column. This ensures consistent interpretation of the view across different view runner implementations.
Usages:
You can also check for usages in the FHIR IG Statistics
Description Differentials, Snapshots, and other representations.
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | ViewDefinition(3.0.0-ballot) | View Definition | |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
0..* | Resource | Contained, inline Resources | |
![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored Slice: Unordered, Open by value:url |
![]() ![]() |
ΣC | 1..1 | uri | Canonical identifier for this view definition, represented as an absolute URI (globally unique) |
![]() ![]() |
ΣC | 1..1 | string | Name for this view definition (computer friendly) Constraints: sql-name |
![]() ![]() |
?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact. |
![]() ![]() |
1..1 | code | FHIR resource for the ViewDefinition Binding: ResourceType (required) | |
![]() ![]() |
1..* | code | FHIR version(s) of the resource for the ViewDefinition Binding: FHIRVersion (required) | |
![]() ![]() |
C | 1..* | BackboneElement | A collection of columns and nested selects to include in the view. Constraints: sql-expressions |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Slice: Unordered, Open by value:url |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| ViewDefinition.status | Base | required | PublicationStatus | 📦6.0.0-ballot5 | FHIR Std. |
| ViewDefinition.resource | Base | required | Resource Types | 📦6.0.0-ballot5 | FHIR Std. |
| ViewDefinition.fhirVersion | Base | required | FHIRVersion | 📦6.0.0-ballot5 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| cnl-1 | warning | ViewDefinition.url | URL should not contain | or # - these characters make processing canonical references problematic |
exists() implies matches('^[^|# ]+$')
|
| dom-2 | error | ViewDefinition | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | ViewDefinition | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource |
contained.where((('#'+id.trace('id') in %resource.descendants().select(reference | as(uri))) or descendants().where(reference='#' | as(uri)='#').exists()).not()).trace('unmatched', id).empty()
|
| dom-4 | error | ViewDefinition | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated |
contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
|
| dom-5 | error | ViewDefinition | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | ViewDefinition | A resource should have narrative for robust management |
text.`div`.exists()
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| sql-expressions | error | ViewDefinition.select | Can only have at most one of `forEach`, `forEachOrNull`, or `repeat`. |
(forEach.exists().toInteger() + forEachOrNull.exists().toInteger() + repeat.exists().toInteger()) <= 1
|
| sql-name | error | ViewDefinition.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_]*$')
|
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | ViewDefinition(3.0.0-ballot) | View Definition | |
![]() ![]() |
1..1 | uri | Canonical identifier for this view definition, represented as an absolute URI (globally unique) | |
![]() ![]() |
1..1 | string | Name for this view definition (computer friendly) | |
![]() ![]() |
1..* | code | FHIR version(s) of the resource for the ViewDefinition | |
![]() ![]() |
||||
![]() ![]() ![]() |
||||
![]() ![]() ![]() ![]() |
1..1 | uri | A FHIR StructureDefinition URI for the column's type. | |
Documentation for this format | ||||
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
0..* | ViewDefinition(3.0.0-ballot) | View Definition | |||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: AllLanguages (required): IETF language tag for a human language
| |||||
![]() ![]() |
0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored Slice: Unordered, Open by value:url | ||||
![]() ![]() |
ΣC | 1..1 | uri | Canonical identifier for this view definition, represented as an absolute URI (globally unique) | ||||
![]() ![]() |
Σ | 0..* | Identifier | Additional identifier for the view definition | ||||
![]() ![]() |
Σ | 0..1 | string | Business version of the view definition | ||||
![]() ![]() |
Σ | 0..1 | How to compare versions Binding: VersionAlgorithm (extensible) | |||||
![]() ![]() ![]() |
string | |||||||
![]() ![]() ![]() |
Coding | |||||||
![]() ![]() |
ΣC | 1..1 | string | Name for this view definition (computer friendly) Constraints: sql-name | ||||
![]() ![]() |
Σ | 0..1 | string | Name for this view definition (human friendly) | ||||
![]() ![]() |
?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact. | ||||
![]() ![]() |
Σ | 0..1 | boolean | For testing purposes, not real usage | ||||
![]() ![]() |
Σ | 0..1 | dateTime | Date last changed | ||||
![]() ![]() |
Σ | 0..1 | string | Name of the publisher/steward (organization or individual) | ||||
![]() ![]() |
Σ | 0..* | ContactDetail | Contact details for the publisher | ||||
![]() ![]() |
0..1 | markdown | Natural language description of the view definition | |||||
![]() ![]() |
Σ | 0..* | UsageContext | The context that the content is intended to support | ||||
![]() ![]() |
Σ | 0..* | CodeableConcept | Intended jurisdiction for view definition (if applicable) Binding: JurisdictionValueSet (extensible): Countries and regions within which this artifact is targeted for use. | ||||
![]() ![]() |
0..1 | markdown | Why this view definition is defined | |||||
![]() ![]() |
0..1 | markdown | Use and/or publishing restrictions | |||||
![]() ![]() |
0..1 | string | Copyright holder and year(s) | |||||
![]() ![]() |
0..1 | date | When the view definition was approved by publisher | |||||
![]() ![]() |
0..1 | date | When the view definition was last reviewed by the publisher | |||||
![]() ![]() |
Σ | 0..1 | Period | When the view definition is expected to be used | ||||
![]() ![]() |
0..* | CodeableConcept | E.g. Education, Treatment, Assessment, etc Binding: DefinitionTopic (example) | |||||
![]() ![]() |
0..* | ContactDetail | Who authored the view definition | |||||
![]() ![]() |
0..* | ContactDetail | Who edited the view definition | |||||
![]() ![]() |
0..* | ContactDetail | Who reviewed the view definition | |||||
![]() ![]() |
0..* | ContactDetail | Who endorsed the view definition | |||||
![]() ![]() |
0..* | RelatedArtifact | Additional documentation, citations, etc | |||||
![]() ![]() |
1..1 | code | FHIR resource for the ViewDefinition Binding: ResourceType (required) | |||||
![]() ![]() |
0..* | canonical(StructureDefinition) | FHIR profiles that this view definition was intended to be executed against | |||||
![]() ![]() |
1..* | code | FHIR version(s) of the resource for the ViewDefinition Binding: FHIRVersion (required) | |||||
![]() ![]() |
0..* | BackboneElement | Constant that can be used in FHIRPath expressions | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Slice: Unordered, Open by value:url | ||||
![]() ![]() ![]() |
C | 1..1 | string | Name of constant (referred to in FHIRPath as %[name]) Constraints: sql-name | ||||
![]() ![]() ![]() |
1..1 | Value of constant | ||||||
![]() ![]() ![]() ![]() |
base64Binary | |||||||
![]() ![]() ![]() ![]() |
boolean | |||||||
![]() ![]() ![]() ![]() |
canonical(Any) | |||||||
![]() ![]() ![]() ![]() |
code | |||||||
![]() ![]() ![]() ![]() |
date | |||||||
![]() ![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() ![]() ![]() |
decimal | |||||||
![]() ![]() ![]() ![]() |
id | |||||||
![]() ![]() ![]() ![]() |
instant | |||||||
![]() ![]() ![]() ![]() |
integer | |||||||
![]() ![]() ![]() ![]() |
integer64 | |||||||
![]() ![]() ![]() ![]() |
oid | |||||||
![]() ![]() ![]() ![]() |
string | |||||||
![]() ![]() ![]() ![]() |
positiveInt | |||||||
![]() ![]() ![]() ![]() |
time | |||||||
![]() ![]() ![]() ![]() |
unsignedInt | |||||||
![]() ![]() ![]() ![]() |
uri | |||||||
![]() ![]() ![]() ![]() |
url | |||||||
![]() ![]() ![]() ![]() |
uuid | |||||||
![]() ![]() |
C | 1..* | BackboneElement | A collection of columns and nested selects to include in the view. Constraints: sql-expressions | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Slice: Unordered, Open by value:url | ||||
![]() ![]() ![]() |
0..* | BackboneElement | A column to be produced in the resulting table. | |||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Slice: Unordered, Open by value:url | ||||
![]() ![]() ![]() ![]() |
1..1 | string | FHIRPath expression that creates a column and defines its content | |||||
![]() ![]() ![]() ![]() |
C | 1..1 | string | Column name produced in the output Constraints: sql-name | ||||
![]() ![]() ![]() ![]() |
0..1 | markdown | Description of the column | |||||
![]() ![]() ![]() ![]() |
0..1 | boolean | Indicates whether the column may have multiple values. | |||||
![]() ![]() ![]() ![]() |
1..1 | uri | A FHIR StructureDefinition URI for the column's type. | |||||
![]() ![]() ![]() ![]() |
0..* | BackboneElement | Additional metadata describing the column | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Slice: Unordered, Open by value:url | ||||
![]() ![]() ![]() ![]() ![]() |
1..1 | string | Name of tag | |||||
![]() ![]() ![]() ![]() ![]() |
1..1 | string | Value of tag | |||||
![]() ![]() ![]() |
0..* | See select (ViewDefinition) | Nested select relative to a parent expression. | |||||
![]() ![]() ![]() |
0..1 | string | A FHIRPath expression to retrieve the parent element(s) used in the containing select. The default is effectively `$this`. | |||||
![]() ![]() ![]() |
0..1 | string | Same as forEach, but will produce a row with null values if the collection is empty. | |||||
![]() ![]() ![]() |
0..* | string | FHIRPath expressions to recursively select from. | |||||
![]() ![]() ![]() |
0..* | See select (ViewDefinition) | Creates a union of all rows in the given selection structures. | |||||
![]() ![]() |
0..* | BackboneElement | A series of zero or more FHIRPath constraints to filter resources for the view. | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Slice: Unordered, Open by value:url | ||||
![]() ![]() ![]() |
1..1 | string | A FHIRPath expression defining a filter condition | |||||
![]() ![]() ![]() |
0..1 | string | A human-readable description of the above where constraint. | |||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| ViewDefinition.language | Base | required | All Languages | 📍6.0.0-ballot5 | FHIR Std. |
| ViewDefinition.versionAlgorithm[x] | Base | extensible | Version Algorithm | 📦6.0.0-ballot5 | FHIR Std. |
| ViewDefinition.status | Base | required | PublicationStatus | 📦6.0.0-ballot5 | FHIR Std. |
| ViewDefinition.jurisdiction | Base | extensible |
Jurisdiction ValueSet
|
⏿5.0.0 | tx.fhir.org |
| ViewDefinition.topic | Base | example | Definition Topic | 📦6.0.0-ballot5 | FHIR Std. |
| ViewDefinition.resource | Base | required | Resource Types | 📦6.0.0-ballot5 | FHIR Std. |
| ViewDefinition.fhirVersion | Base | required | FHIRVersion | 📦6.0.0-ballot5 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| cnl-1 | warning | ViewDefinition.url | URL should not contain | or # - these characters make processing canonical references problematic |
exists() implies matches('^[^|# ]+$')
|
| dom-2 | error | ViewDefinition | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | ViewDefinition | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource |
contained.where((('#'+id.trace('id') in %resource.descendants().select(reference | as(uri))) or descendants().where(reference='#' | as(uri)='#').exists()).not()).trace('unmatched', id).empty()
|
| dom-4 | error | ViewDefinition | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated |
contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
|
| dom-5 | error | ViewDefinition | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | ViewDefinition | A resource should have narrative for robust management |
text.`div`.exists()
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| sql-expressions | error | ViewDefinition.select | Can only have at most one of `forEach`, `forEachOrNull`, or `repeat`. |
(forEach.exists().toInteger() + forEachOrNull.exists().toInteger() + repeat.exists().toInteger()) <= 1
|
| sql-name | error | ViewDefinition.name, ViewDefinition.constant.name, ViewDefinition.select.column.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_]*$')
|
Key Elements View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | ViewDefinition(3.0.0-ballot) | View Definition | |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
0..* | Resource | Contained, inline Resources | |
![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored Slice: Unordered, Open by value:url |
![]() ![]() |
ΣC | 1..1 | uri | Canonical identifier for this view definition, represented as an absolute URI (globally unique) |
![]() ![]() |
ΣC | 1..1 | string | Name for this view definition (computer friendly) Constraints: sql-name |
![]() ![]() |
?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact. |
![]() ![]() |
1..1 | code | FHIR resource for the ViewDefinition Binding: ResourceType (required) | |
![]() ![]() |
1..* | code | FHIR version(s) of the resource for the ViewDefinition Binding: FHIRVersion (required) | |
![]() ![]() |
C | 1..* | BackboneElement | A collection of columns and nested selects to include in the view. Constraints: sql-expressions |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Slice: Unordered, Open by value:url |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| ViewDefinition.status | Base | required | PublicationStatus | 📦6.0.0-ballot5 | FHIR Std. |
| ViewDefinition.resource | Base | required | Resource Types | 📦6.0.0-ballot5 | FHIR Std. |
| ViewDefinition.fhirVersion | Base | required | FHIRVersion | 📦6.0.0-ballot5 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| cnl-1 | warning | ViewDefinition.url | URL should not contain | or # - these characters make processing canonical references problematic |
exists() implies matches('^[^|# ]+$')
|
| dom-2 | error | ViewDefinition | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | ViewDefinition | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource |
contained.where((('#'+id.trace('id') in %resource.descendants().select(reference | as(uri))) or descendants().where(reference='#' | as(uri)='#').exists()).not()).trace('unmatched', id).empty()
|
| dom-4 | error | ViewDefinition | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated |
contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
|
| dom-5 | error | ViewDefinition | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | ViewDefinition | A resource should have narrative for robust management |
text.`div`.exists()
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| sql-expressions | error | ViewDefinition.select | Can only have at most one of `forEach`, `forEachOrNull`, or `repeat`. |
(forEach.exists().toInteger() + forEachOrNull.exists().toInteger() + repeat.exists().toInteger()) <= 1
|
| sql-name | error | ViewDefinition.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_]*$')
|
Differential View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | ViewDefinition(3.0.0-ballot) | View Definition | |
![]() ![]() |
1..1 | uri | Canonical identifier for this view definition, represented as an absolute URI (globally unique) | |
![]() ![]() |
1..1 | string | Name for this view definition (computer friendly) | |
![]() ![]() |
1..* | code | FHIR version(s) of the resource for the ViewDefinition | |
![]() ![]() |
||||
![]() ![]() ![]() |
||||
![]() ![]() ![]() ![]() |
1..1 | uri | A FHIR StructureDefinition URI for the column's type. | |
Documentation for this format | ||||
Snapshot ViewView
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
0..* | ViewDefinition(3.0.0-ballot) | View Definition | |||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: AllLanguages (required): IETF language tag for a human language
| |||||
![]() ![]() |
0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored Slice: Unordered, Open by value:url | ||||
![]() ![]() |
ΣC | 1..1 | uri | Canonical identifier for this view definition, represented as an absolute URI (globally unique) | ||||
![]() ![]() |
Σ | 0..* | Identifier | Additional identifier for the view definition | ||||
![]() ![]() |
Σ | 0..1 | string | Business version of the view definition | ||||
![]() ![]() |
Σ | 0..1 | How to compare versions Binding: VersionAlgorithm (extensible) | |||||
![]() ![]() ![]() |
string | |||||||
![]() ![]() ![]() |
Coding | |||||||
![]() ![]() |
ΣC | 1..1 | string | Name for this view definition (computer friendly) Constraints: sql-name | ||||
![]() ![]() |
Σ | 0..1 | string | Name for this view definition (human friendly) | ||||
![]() ![]() |
?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact. | ||||
![]() ![]() |
Σ | 0..1 | boolean | For testing purposes, not real usage | ||||
![]() ![]() |
Σ | 0..1 | dateTime | Date last changed | ||||
![]() ![]() |
Σ | 0..1 | string | Name of the publisher/steward (organization or individual) | ||||
![]() ![]() |
Σ | 0..* | ContactDetail | Contact details for the publisher | ||||
![]() ![]() |
0..1 | markdown | Natural language description of the view definition | |||||
![]() ![]() |
Σ | 0..* | UsageContext | The context that the content is intended to support | ||||
![]() ![]() |
Σ | 0..* | CodeableConcept | Intended jurisdiction for view definition (if applicable) Binding: JurisdictionValueSet (extensible): Countries and regions within which this artifact is targeted for use. | ||||
![]() ![]() |
0..1 | markdown | Why this view definition is defined | |||||
![]() ![]() |
0..1 | markdown | Use and/or publishing restrictions | |||||
![]() ![]() |
0..1 | string | Copyright holder and year(s) | |||||
![]() ![]() |
0..1 | date | When the view definition was approved by publisher | |||||
![]() ![]() |
0..1 | date | When the view definition was last reviewed by the publisher | |||||
![]() ![]() |
Σ | 0..1 | Period | When the view definition is expected to be used | ||||
![]() ![]() |
0..* | CodeableConcept | E.g. Education, Treatment, Assessment, etc Binding: DefinitionTopic (example) | |||||
![]() ![]() |
0..* | ContactDetail | Who authored the view definition | |||||
![]() ![]() |
0..* | ContactDetail | Who edited the view definition | |||||
![]() ![]() |
0..* | ContactDetail | Who reviewed the view definition | |||||
![]() ![]() |
0..* | ContactDetail | Who endorsed the view definition | |||||
![]() ![]() |
0..* | RelatedArtifact | Additional documentation, citations, etc | |||||
![]() ![]() |
1..1 | code | FHIR resource for the ViewDefinition Binding: ResourceType (required) | |||||
![]() ![]() |
0..* | canonical(StructureDefinition) | FHIR profiles that this view definition was intended to be executed against | |||||
![]() ![]() |
1..* | code | FHIR version(s) of the resource for the ViewDefinition Binding: FHIRVersion (required) | |||||
![]() ![]() |
0..* | BackboneElement | Constant that can be used in FHIRPath expressions | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Slice: Unordered, Open by value:url | ||||
![]() ![]() ![]() |
C | 1..1 | string | Name of constant (referred to in FHIRPath as %[name]) Constraints: sql-name | ||||
![]() ![]() ![]() |
1..1 | Value of constant | ||||||
![]() ![]() ![]() ![]() |
base64Binary | |||||||
![]() ![]() ![]() ![]() |
boolean | |||||||
![]() ![]() ![]() ![]() |
canonical(Any) | |||||||
![]() ![]() ![]() ![]() |
code | |||||||
![]() ![]() ![]() ![]() |
date | |||||||
![]() ![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() ![]() ![]() |
decimal | |||||||
![]() ![]() ![]() ![]() |
id | |||||||
![]() ![]() ![]() ![]() |
instant | |||||||
![]() ![]() ![]() ![]() |
integer | |||||||
![]() ![]() ![]() ![]() |
integer64 | |||||||
![]() ![]() ![]() ![]() |
oid | |||||||
![]() ![]() ![]() ![]() |
string | |||||||
![]() ![]() ![]() ![]() |
positiveInt | |||||||
![]() ![]() ![]() ![]() |
time | |||||||
![]() ![]() ![]() ![]() |
unsignedInt | |||||||
![]() ![]() ![]() ![]() |
uri | |||||||
![]() ![]() ![]() ![]() |
url | |||||||
![]() ![]() ![]() ![]() |
uuid | |||||||
![]() ![]() |
C | 1..* | BackboneElement | A collection of columns and nested selects to include in the view. Constraints: sql-expressions | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Slice: Unordered, Open by value:url | ||||
![]() ![]() ![]() |
0..* | BackboneElement | A column to be produced in the resulting table. | |||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Slice: Unordered, Open by value:url | ||||
![]() ![]() ![]() ![]() |
1..1 | string | FHIRPath expression that creates a column and defines its content | |||||
![]() ![]() ![]() ![]() |
C | 1..1 | string | Column name produced in the output Constraints: sql-name | ||||
![]() ![]() ![]() ![]() |
0..1 | markdown | Description of the column | |||||
![]() ![]() ![]() ![]() |
0..1 | boolean | Indicates whether the column may have multiple values. | |||||
![]() ![]() ![]() ![]() |
1..1 | uri | A FHIR StructureDefinition URI for the column's type. | |||||
![]() ![]() ![]() ![]() |
0..* | BackboneElement | Additional metadata describing the column | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Slice: Unordered, Open by value:url | ||||
![]() ![]() ![]() ![]() ![]() |
1..1 | string | Name of tag | |||||
![]() ![]() ![]() ![]() ![]() |
1..1 | string | Value of tag | |||||
![]() ![]() ![]() |
0..* | See select (ViewDefinition) | Nested select relative to a parent expression. | |||||
![]() ![]() ![]() |
0..1 | string | A FHIRPath expression to retrieve the parent element(s) used in the containing select. The default is effectively `$this`. | |||||
![]() ![]() ![]() |
0..1 | string | Same as forEach, but will produce a row with null values if the collection is empty. | |||||
![]() ![]() ![]() |
0..* | string | FHIRPath expressions to recursively select from. | |||||
![]() ![]() ![]() |
0..* | See select (ViewDefinition) | Creates a union of all rows in the given selection structures. | |||||
![]() ![]() |
0..* | BackboneElement | A series of zero or more FHIRPath constraints to filter resources for the view. | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Slice: Unordered, Open by value:url | ||||
![]() ![]() ![]() |
1..1 | string | A FHIRPath expression defining a filter condition | |||||
![]() ![]() ![]() |
0..1 | string | A human-readable description of the above where constraint. | |||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| ViewDefinition.language | Base | required | All Languages | 📍6.0.0-ballot5 | FHIR Std. |
| ViewDefinition.versionAlgorithm[x] | Base | extensible | Version Algorithm | 📦6.0.0-ballot5 | FHIR Std. |
| ViewDefinition.status | Base | required | PublicationStatus | 📦6.0.0-ballot5 | FHIR Std. |
| ViewDefinition.jurisdiction | Base | extensible |
Jurisdiction ValueSet
|
⏿5.0.0 | tx.fhir.org |
| ViewDefinition.topic | Base | example | Definition Topic | 📦6.0.0-ballot5 | FHIR Std. |
| ViewDefinition.resource | Base | required | Resource Types | 📦6.0.0-ballot5 | FHIR Std. |
| ViewDefinition.fhirVersion | Base | required | FHIRVersion | 📦6.0.0-ballot5 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| cnl-1 | warning | ViewDefinition.url | URL should not contain | or # - these characters make processing canonical references problematic |
exists() implies matches('^[^|# ]+$')
|
| dom-2 | error | ViewDefinition | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | ViewDefinition | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource |
contained.where((('#'+id.trace('id') in %resource.descendants().select(reference | as(uri))) or descendants().where(reference='#' | as(uri)='#').exists()).not()).trace('unmatched', id).empty()
|
| dom-4 | error | ViewDefinition | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated |
contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
|
| dom-5 | error | ViewDefinition | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | ViewDefinition | A resource should have narrative for robust management |
text.`div`.exists()
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| sql-expressions | error | ViewDefinition.select | Can only have at most one of `forEach`, `forEachOrNull`, or `repeat`. |
(forEach.exists().toInteger() + forEachOrNull.exists().toInteger() + repeat.exists().toInteger()) <= 1
|
| sql-name | error | ViewDefinition.name, ViewDefinition.constant.name, ViewDefinition.select.column.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_]*$')
|
Other representations of profile: CSV, Excel, Schematron
The following functions are intended for eventual inclusion in the required subset, however they are not yet a part of the normative FHIRPath release and may still be subject to change: