HL7 FHIR Implementation Guide: Data Access Policies, published by HL7 International / Security. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/data-access-policies/ and changes regularly. See the Directory of published versions
| Official URL: http://hl7.org/fhir/StructureDefinition/permission-rule-expression | Version: 0.1.0 | ||||
| Standards status: Trial-use | Maturity Level: 1 | Computable Name: PermissionRuleExpression | |||
| Other Identifiers: OID:2.16.840.1.113883.4.642.40.100.42.6 | |||||
Restricts this Permission.rule to only apply when the expression evaluates to true. This enables narrowing down the scope of the Permission.rule based on nuanced and fine-grained criteria expressed through a FHIRPath or CQL expression. This extension should not be used where native elements exist in Permission.rule; as execution of an expression is expensive. When the extension is used in Permission.rule.data, it specifies the conditions under which the data is subject to the rule (e.g. Observations of a certain type with a value in a specific range). If on a given Permission.rule iteration, this extension and other .data elements are present, then the other .data elements are understood to make the same statement as the expression. When the extension is used in Permission.rule.activity.actor, it specifies the conditions under which the actor is subject to the rule (e.g. Practitioners with a PractitionerRole code of XYZ). If on a given Permission.rule iteration, this extension and other .activity.actor elements are present, then the other .activity.actor elements are understood to make the same statement as the expression.
Context of Use
This extension may be used on the following element(s)
Permission.rule.data
(FHIR versions
R5
and after)
Permission.rule.activity.actor
(FHIR versions
R5
and after)
Usage info
Usages:
You can also check for usages in the FHIR IG Statistics
Description Differentials, Snapshots, and other representations.
This structure is derived from Extension
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() |
|---|---|---|---|---|
![]() |
0..1 | Extension | A computable expression to narrow down the scope of the Permission.rule | |
![]() ![]() |
0..0 | Extension | ||
![]() ![]() |
1..1 | uri | "http://hl7.org/fhir/StructureDefinition/permission-rule-expression" | |
![]() ![]() |
1..1 | Expression | Value of extension | |
Documentation for this format | ||||
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() |
|---|---|---|---|---|
![]() |
0..1 | Extension | A computable expression to narrow down the scope of the Permission.rule | |
![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |
![]() ![]() |
0..0 | Extension Slice: Unordered, Open by value:url Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them | ||
![]() ![]() |
1..1 | uri | "http://hl7.org/fhir/StructureDefinition/permission-rule-expression" | |
![]() ![]() |
1..1 | Expression | Value of extension | |
Documentation for this format | ||||
| Id | Grade | Path(s) | Description | Expression |
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
This structure is derived from Extension
Summary
Simple Extension with the type Expression: Restricts this Permission.rule to only apply when the expression evaluates to true. This enables narrowing down the scope of the Permission.rule based on nuanced and fine-grained criteria expressed through a FHIRPath or CQL expression. This extension should not be used where native elements exist in Permission.rule; as execution of an expression is expensive. When the extension is used in Permission.rule.data, it specifies the conditions under which the data is subject to the rule (e.g. Observations of a certain type with a value in a specific range). If on a given Permission.rule iteration, this extension and other .data elements are present, then the other .data elements are understood to make the same statement as the expression. When the extension is used in Permission.rule.activity.actor, it specifies the conditions under which the actor is subject to the rule (e.g. Practitioners with a PractitionerRole code of XYZ). If on a given Permission.rule iteration, this extension and other .activity.actor elements are present, then the other .activity.actor elements are understood to make the same statement as the expression.
Maturity: 1
Differential View
This structure is derived from Extension
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() |
|---|---|---|---|---|
![]() |
0..1 | Extension | A computable expression to narrow down the scope of the Permission.rule | |
![]() ![]() |
0..0 | Extension | ||
![]() ![]() |
1..1 | uri | "http://hl7.org/fhir/StructureDefinition/permission-rule-expression" | |
![]() ![]() |
1..1 | Expression | Value of extension | |
Documentation for this format | ||||
Snapshot View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() |
|---|---|---|---|---|
![]() |
0..1 | Extension | A computable expression to narrow down the scope of the Permission.rule | |
![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |
![]() ![]() |
0..0 | Extension Slice: Unordered, Open by value:url Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them | ||
![]() ![]() |
1..1 | uri | "http://hl7.org/fhir/StructureDefinition/permission-rule-expression" | |
![]() ![]() |
1..1 | Expression | Value of extension | |
Documentation for this format | ||||
| Id | Grade | Path(s) | Description | Expression |
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
This structure is derived from Extension
Summary
Simple Extension with the type Expression: Restricts this Permission.rule to only apply when the expression evaluates to true. This enables narrowing down the scope of the Permission.rule based on nuanced and fine-grained criteria expressed through a FHIRPath or CQL expression. This extension should not be used where native elements exist in Permission.rule; as execution of an expression is expensive. When the extension is used in Permission.rule.data, it specifies the conditions under which the data is subject to the rule (e.g. Observations of a certain type with a value in a specific range). If on a given Permission.rule iteration, this extension and other .data elements are present, then the other .data elements are understood to make the same statement as the expression. When the extension is used in Permission.rule.activity.actor, it specifies the conditions under which the actor is subject to the rule (e.g. Practitioners with a PractitionerRole code of XYZ). If on a given Permission.rule iteration, this extension and other .activity.actor elements are present, then the other .activity.actor elements are understood to make the same statement as the expression.
Maturity: 1
Other representations of profile: CSV, Excel, Schematron