HL7 FHIR Implementation Guide: Data Access Policies
0.1.0 - ci-build Global (Whole world)

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

Extension: A computable expression for what is controlled by the Permission.rule

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

Usage info

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Extension Content

Description Differentials, Snapshots, and other representations.

This structure is derived from Extension

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Extension 0..1 Extension A computable expression to narrow down the scope of the Permission.rule
Extension.extension 0..0 Extension
Extension.url 1..1 uri "http://hl7.org/fhir/StructureDefinition/permission-rule-expression"
Extension.value[x] 1..1 Expression Value of extension

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: doco
Extension 0..1 Extension A computable expression to narrow down the scope of the Permission.rule
Extension.id 0..1 string Unique id for inter-element referencing
Extension.extension 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
Extension.url This element is included in summaries. 1..1 uri "http://hl7.org/fhir/StructureDefinition/permission-rule-expression"
Extension.value[x] This element is included in summaries. 1..1 Expression Value of extension

doco Documentation for this format

Constraints

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

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Extension 0..1 Extension A computable expression to narrow down the scope of the Permission.rule
Extension.extension 0..0 Extension
Extension.url 1..1 uri "http://hl7.org/fhir/StructureDefinition/permission-rule-expression"
Extension.value[x] 1..1 Expression Value of extension

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Extension 0..1 Extension A computable expression to narrow down the scope of the Permission.rule
Extension.id 0..1 string Unique id for inter-element referencing
Extension.extension 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
Extension.url This element is included in summaries. 1..1 uri "http://hl7.org/fhir/StructureDefinition/permission-rule-expression"
Extension.value[x] This element is included in summaries. 1..1 Expression Value of extension

doco Documentation for this format

Constraints

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