Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add tags to test definitions and add core tag to mandatory functionality #254

Merged
merged 8 commits into from
Sep 9, 2024
293 changes: 160 additions & 133 deletions README.md

Large diffs are not rendered by default.

17 changes: 7 additions & 10 deletions input/fsh/profiles.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,10 @@ Profile: ShareableViewDefinition
Title: "Shareable View Definition"
Parent: ViewDefinition
Description: """
A profile for View Definitions intended to be shared between multiple systems. This requires there
be a defined URL, name, and version. Also, each column must have specified type so consuming
systems

Shareable View Definitions often also use the TabularViewDefinition profile, requiring
that the view be shareable and contain only tabular values, as is common in many databases
and analytic tools.
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.
"""
* url 1..1
* name 1..1
Expand All @@ -34,8 +31,8 @@ Title: "Tabular View Definition"
Parent: ViewDefinition
Description: """
A profile for View Definitions where each resulting field must contain only a simple scalar value.
This is sometimes referred to as 'CSV Mode', but applies to any system that explicitly constrains its
views or tables to tabluar data.
This is sometimes referred to as 'CSV Mode', but applies to any system that explicitly constrains
its views or tables to tabular data.
"""
* select.column obeys no-collections
* select.column obeys primitives-only
* select.column obeys primitives-only
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
### Required FHIRPath Expressions/Functions

All View Runners claiming conformance to the Shareable View Definition profile must implement these [FHIRPath](https://hl7.org/fhirpath/)
capabilities:

- [Literals](https://hl7.org/fhirpath/#literals) for String, Integer and Decimal
- [where](https://hl7.org/fhirpath/#wherecriteria-expression-collection)function
- [exists](https://hl7.org/fhirpath/#existscriteria-expression-boolean) function
- [empty](https://hl7.org/fhirpath/#empty-boolean) function
- [extension](https://hl7.org/fhir/R4/fhirpath.html#functions) function
- [ofType](https://hl7.org/fhirpath/#oftypetype-type-specifier-collection)
function
- [first](https://hl7.org/fhirpath/#first-collection) function
- Boolean
operators: [and](https://hl7.org/fhirpath/#and), [or](https://hl7.org/fhirpath/#or), [not](https://hl7.org/fhirpath/#not-boolean)
- Math
operators: [addition (+)](https://hl7.org/fhirpath/#addition), [subtraction (-)](https://hl7.org/fhirpath/#subtraction), [multiplication (\*)](https://hl7.org/fhirpath/#multiplication), [division (/)](https://hl7.org/fhirpath/#division)
- Comparison
operators: [equals (=)](https://hl7.org/fhirpath/#equals), [not equals (!=)](https://hl7.org/fhirpath/#not-equals), [greater than (>)](https://hl7.org/fhirpath/#greater-than), [less or equal (<=)](https://hl7.org/fhirpath/#less-or-equal)
- [Indexer expressions](https://hl7.org/fhirpath/#index-integer-collection)

### Experimental FHIRPath Functions
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not quite sure how to do a "big yellow box", but maybe this is good enough for now.


The following functions are intended for eventual inclusion in the required subset, however they are not yet a part of the normative [FHIRPath](https://hl7.org/fhirpath/) release and may still be subject to change:

- [join](https://build.fhir.org/ig/HL7/FHIRPath/#joinseparator-string-string)
function
- [lowBoundary](https://build.fhir.org/ig/HL7/FHIRPath/#lowboundaryprecision-integer-decimal--date--datetime--time)
and [highBoundary](https://build.fhir.org/ig/HL7/FHIRPath/#highboundaryprecision-integer-decimal--date--datetime--time)
functions (including on [Period](https://hl7.org/fhir/datatypes.html#Period))
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ chosen tech stack. See [System Layers](index.html#system-layers) for details.
## Profiling

ViewDefinitions may be profiled to meet specific needs. For instance,
the [ShareableViewDefinition](StructureDefinition-ShareableViewDefinition.html)
the [Shareable View Definition](StructureDefinition-ShareableViewDefinition.html)
profile adds constraints for ViewDefinitions intended to be shared between
systems. Implementers may create their own ViewDefinition profiles for further
specialized needs.
Loading
Loading