HL7 FHIR Implementation Guide: Data Access Policies
1.0.0-current - 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 1.0.0-current 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

Resource: Permission - Detailed Descriptions

Page standards status: Trial-use Maturity Level: 1

Definitions for the Permission resource

Guidance on how to interpret the contents of this table can be foundhere

0. Permission
Definition

Permission resource holds access rules for a given data and access request context.


A resource that includes narrative, extensions, and contained resources.

ShortAccess RulesA resource with narrative, extensions, and contained resources
Control0..*
Is Modifierfalse
Must Supportfalse
Summaryfalse
Invariantsdom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources (contained.contained.empty())
dom-3: 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: 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: If a resource is contained in another resource, it SHALL NOT have a security label (contained.meta.security.empty())
dom-6: A resource should have narrative for robust management (text.`div`.exists())
2. Permission.id
Definition

The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.

ShortLogical id of this artifact
Comments

Within the context of the FHIR RESTful interactions, the resource has an id except for cases like the create and conditional update. Otherwise, the use of the resource id depends on the given use case.

Control0..1
Typeid
Is Modifierfalse
Must Supportfalse
Summarytrue
4. Permission.meta
Definition

The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.

ShortMetadata about the resource
Control0..1
TypeMeta
Is Modifierfalse
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
6. Permission.implicitRules
Definition

A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc. For DomainResources, if more than one implicitRules policy applies, additional policies may be conveyed using the additionalImplicitRules extension.

ShortA set of rules under which this content was created
Comments

Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of its narrative along with other profiles, value sets, etc.

Control0..1
Typeuri
Is Modifiertrue because This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies its meaning or interpretation
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
8. Permission.language
Definition

The base language in which the resource is written.

ShortLanguage of the resource content
Comments

Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).

Control0..1
BindingThe codes SHALL be taken from AllLanguageshttp://hl7.org/fhir/ValueSet/all-languages|6.0.0-ballot5
(required to http://hl7.org/fhir/ValueSet/all-languages|6.0.0-ballot5)

IETF language tag for a human language

Typecode
Is Modifierfalse
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Must Supportfalse
Summaryfalse
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
10. Permission.text
Definition

A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.

ShortText summary of the resource, for human interpretation
Comments

Contained resources do not have a narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later.

Control0..1
This element is affected by the following invariants: dom-6
TypeNarrative
Is Modifierfalse
Must Supportfalse
Summaryfalse
Alternate Namesnarrative, html, xhtml, display
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
12. Permission.contained
Definition

These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, nor can they have their own independent transaction scope. This is allowed to be a Parameters resource if and only if it is referenced by a resource that provides context/meaning.

ShortContained, inline Resources
Comments

This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags in their meta elements, but SHALL NOT have security labels. Contained resources may be a resource type defined in the FHIR specification, or an additional resource.

Control0..*
This element is affected by the following invariants: dom-2, dom-4, dom-3, dom-5
TypeResource
Is Modifierfalse
Must Supportfalse
Summaryfalse
Alternate Namesinline resources, anonymous resources, contained resources
14. Permission.extension
Definition

May be used to represent additional information that is not part of the basic definition of the resource. 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.

ShortAdditional 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.

Control0..*
TypeExtension
Is Modifierfalse
Must Supportfalse
Summaryfalse
Alternate Namesextensions, user content
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
SlicingThis element introduces a set of slices on Permission.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
  • value @ url
  • 16. Permission.modifierExtension
    Definition

    May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it 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 is allowed to 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).

    ShortExtensions that cannot be ignored
    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.

    Control0..*
    TypeExtension
    Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them
    Must Supportfalse
    Summarytrue
    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 Namesextensions, user content
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    SlicingThis element introduces a set of slices on Permission.modifierExtension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
    • value @ url
    • 18. Permission.identifier
      Definition

      A unique identifier assigned to this permission.

      ShortBusiness Identifier for permission
      NoteThis is a business identifier, not a resource identifier (see discussion)
      Control0..*
      TypeIdentifier
      Summarytrue
      Requirements

      Allows permission to be distinguished and referenced.

      20. Permission.status
      Definition

      Status.

      Shortactive | entered-in-error | draft | rejected
      Control1..1
      BindingThe codes SHALL be taken from PermissionStatusVShttp://hl7.org/fhir/ValueSet/permission-status-vs
      (required to http://hl7.org/fhir/ValueSet/permission-status-vs)

      Codes identifying the lifecycle stage of a product.

      Typecode
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      Summarytrue
      22. Permission.asserter
      Definition

      The person or entity that asserts the permission.

      ShortThe person or entity that asserts the permission
      Control0..1
      TypeReference(Practitioner, PractitionerRole, Organization, CareTeam, Patient, RelatedPerson, HealthcareService)
      Summarytrue
      24. Permission.date
      Definition

      The date that permission was asserted.

      ShortThe date that permission was asserted
      Control0..*
      TypedateTime
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      Summarytrue
      Alternate Namesclass
      26. Permission.validity
      Definition

      The period in which the permission is active.

      ShortThe period in which the permission is active
      Control0..1
      TypePeriod
      Summarytrue
      Alternate Namestype
      28. Permission.justification
      Definition

      The asserted justification for using the data.

      ShortThe asserted justification for using the data
      Control0..1
      TypeBackboneElement
      Summarytrue
      Invariantsele-1: All FHIR elements must have a @value or children or both (hasValue() or (children().count() > id.count()))
      30. Permission.justification.id
      Definition

      Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

      ShortUnique id for inter-element referencing
      Control0..1
      This element is affected by the following invariants: ele-1
      Typestring
      Is Modifierfalse
      XML FormatIn the XML format, this property is represented as an attribute.
      Summaryfalse
      32. Permission.justification.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.

      ShortAdditional 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.

      Control0..*
      TypeExtension
      Is Modifierfalse
      Summaryfalse
      Alternate Namesextensions, user content
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      SlicingThis element introduces a set of slices on Permission.justification.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
      • value @ url
      • 34. Permission.justification.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).

        ShortExtensions 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.

        Control0..*
        TypeExtension
        Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
        Summarytrue
        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 Namesextensions, user content, modifiers
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        SlicingThis element introduces a set of slices on Permission.justification.modifierExtension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
        • value @ url
        • 36. Permission.justification.basis
          Definition

          This would be a codeableconcept, or a coding, for example, the 6 grounds for processing in GDPR.

          ShortThe regulatory grounds upon which this Permission builds
          Control0..*
          BindingFor example codes, see ConsentPolicyRuleCodeshttp://hl7.org/fhir/ValueSet/consent-policy
          (example to http://hl7.org/fhir/ValueSet/consent-policy)

          Regulatory policy examples

          TypeCodeableConcept
          Summarytrue
          38. Permission.justification.evidence
          ShortJustifing rational
          Comments

          While any resource may be used, DocumentReference, Consent, PlanDefinition, and Contract would be most frequent

          Control0..*
          TypeReference(Resource)
          Summarytrue
          40. Permission.combining
          Definition

          Defines a procedure for arriving at an access decision given the set of rules.

          Shortdeny-overrides | permit-overrides | ordered-deny-overrides | ordered-permit-overrides | deny-unless-permit | permit-unless-deny
          Comments

          see XACML Combining Rules

          Control1..1
          BindingThe codes SHALL be taken from PermissionRuleCombiningVShttp://hl7.org/fhir/ValueSet/permission-rule-combining-vs
          (required to http://hl7.org/fhir/ValueSet/permission-rule-combining-vs)

          How the rules are to be combined.

          Typecode
          Is Modifiertrue because Defines how the rules are to be combined.
          Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
          Summarytrue
          42. Permission.rule
          Definition

          A set of rules.

          ShortConstraints to the Permission
          Comments

          Each .rule is evaluated within the combining rule identified in the .combining element.

          Control0..*
          TypeBackboneElement
          Summarytrue
          Invariantsprm-1: If the import element is populated then the type, data, and activity shall not be populated (import.exists() implies type.exists().not() and data.exists().not() and activity.exists().not())
          ele-1: All FHIR elements must have a @value or children or both (hasValue() or (children().count() > id.count()))
          44. Permission.rule.id
          Definition

          Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

          ShortUnique id for inter-element referencing
          Control0..1
          This element is affected by the following invariants: ele-1
          Typestring
          Is Modifierfalse
          XML FormatIn the XML format, this property is represented as an attribute.
          Summaryfalse
          46. Permission.rule.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.

          ShortAdditional 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.

          Control0..*
          TypeExtension
          Is Modifierfalse
          Summaryfalse
          Alternate Namesextensions, user content
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          SlicingThis element introduces a set of slices on Permission.rule.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
          • value @ url
          • 48. Permission.rule.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).

            ShortExtensions 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.

            Control0..*
            TypeExtension
            Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
            Summarytrue
            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 Namesextensions, user content, modifiers
            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            SlicingThis element introduces a set of slices on Permission.rule.modifierExtension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
            • value @ url
            • 50. Permission.rule.import
              Definition

              This rule is expressed in another Permission resource.

              ShortReference to a Permission
              Control0..1
              This element is affected by the following invariants: prm-1
              TypeReference(Permission)
              Is Modifierfalse
              Summarytrue
              52. Permission.rule.type
              Definition

              deny | permit.

              Shortdeny | permit
              Control0..1
              This element is affected by the following invariants: prm-1
              BindingThe codes SHALL be taken from ConsentProvisionTypehttp://hl7.org/fhir/ValueSet/consent-provision-type
              (required to http://hl7.org/fhir/ValueSet/consent-provision-type)

              How a rule statement is applied.

              Typecode
              Is Modifiertrue because Sets the context for the meaning of the rules.
              Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
              Summarytrue
              54. Permission.rule.data
              Definition

              A description or definition of which activities are allowed to be done on the data.

              ShortThe selection criteria to identify data that is within scope of this provision
              Comments

              Within a .rule any repetitions of the .data element are in an OR relationship. That is to say that the data identified by the rule is all the data identified by all repetitions of .data. Thus to identify one rule that applies to data tagged with STD and data that is tagged with HIV, one would repeat this at the .data level. Within the .data element, all elements and all repetitions of elements, are in an AND relationship. Thus to select data that has both STD and HIV one puts both into one .rule. To have different rules for STD from HIV, one would need to have two .rule elements. To have a rule that applies to both, those that have just STD and just HIV, this repetition may also be done at the data level as described above.

              Control0..*
              This element is affected by the following invariants: prm-1
              TypeBackboneElement
              Summarytrue
              Invariantsele-1: All FHIR elements must have a @value or children or both (hasValue() or (children().count() > id.count()))
              56. Permission.rule.data.id
              Definition

              Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

              ShortUnique id for inter-element referencing
              Control0..1
              This element is affected by the following invariants: ele-1
              Typestring
              Is Modifierfalse
              XML FormatIn the XML format, this property is represented as an attribute.
              Summaryfalse
              58. Permission.rule.data.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.

              ShortAdditional 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.

              Control0..*
              TypeExtension
              Is Modifierfalse
              Summaryfalse
              Alternate Namesextensions, user content
              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
              SlicingThis element introduces a set of slices on Permission.rule.data.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
              • value @ url
              • 60. Permission.rule.data.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).

                ShortExtensions 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.

                Control0..*
                TypeExtension
                Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
                Summarytrue
                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 Namesextensions, user content, modifiers
                Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                SlicingThis element introduces a set of slices on Permission.rule.data.modifierExtension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                • value @ url
                • 62. Permission.rule.data.resource
                  ShortExplicit FHIR Resource references
                  Control0..*
                  TypeBackboneElement
                  Summarytrue
                  Invariantsele-1: All FHIR elements must have a @value or children or both (hasValue() or (children().count() > id.count()))
                  64. Permission.rule.data.resource.id
                  Definition

                  Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                  ShortUnique id for inter-element referencing
                  Control0..1
                  This element is affected by the following invariants: ele-1
                  Typestring
                  Is Modifierfalse
                  XML FormatIn the XML format, this property is represented as an attribute.
                  Summaryfalse
                  66. Permission.rule.data.resource.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.

                  ShortAdditional 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.

                  Control0..*
                  TypeExtension
                  Is Modifierfalse
                  Summaryfalse
                  Alternate Namesextensions, user content
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  SlicingThis element introduces a set of slices on Permission.rule.data.resource.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                  • value @ url
                  • 68. Permission.rule.data.resource.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).

                    ShortExtensions 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.

                    Control0..*
                    TypeExtension
                    Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
                    Summarytrue
                    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 Namesextensions, user content, modifiers
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    SlicingThis element introduces a set of slices on Permission.rule.data.resource.modifierExtension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                    • value @ url
                    • 70. Permission.rule.data.resource.meaning
                      Definition

                      How the resource reference is interpreted when testing consent restrictions.

                      Shortinstance | related | dependents | authoredby
                      Control1..1
                      BindingThe codes SHALL be taken from ConsentDataMeaninghttp://hl7.org/fhir/ValueSet/consent-data-meaning
                      (required to http://hl7.org/fhir/ValueSet/consent-data-meaning)

                      How a resource reference is interpreted when testing consent restrictions.

                      Typecode
                      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                      Summarytrue
                      72. Permission.rule.data.resource.reference
                      Definition

                      A reference to a specific resource that defines which resources are covered by this consent.

                      ShortThe actual data reference
                      Control1..1
                      TypeReference(Resource)
                      Summarytrue
                      74. Permission.rule.data.resourceType
                      Definition

                      The resourceType(s) covered by this rule. The type can be a FHIR resource type or a profile on a type that indicates what information the rule applies to.

                      Shorte.g. Resource Type, Profile, etc
                      Comments

                      The intention of the resourceType element is that the codes refer to profiles or document types defined in a standard or an implementation guide somewhere.

                      Control0..*
                      BindingUnless not suitable, these codes SHALL be taken from ResourceTypehttp://hl7.org/fhir/ValueSet/resource-types
                      (extensible to http://hl7.org/fhir/ValueSet/resource-types)

                      The resource types a consent provision covers.

                      TypeCoding
                      Summarytrue
                      76. Permission.rule.data.security
                      Definition

                      The data in scope are those with the given codes present in that data .meta.security element.

                      ShortSecurity tag code on .meta.security
                      Comments

                      Note the ConfidentialityCode vocabulary indicates the highest value, thus a security label of "R" then it applies to all resources that are labeled "R" or lower. E.g. for Confidentiality, it's a high water mark. For other kinds of security labels, subsumption logic applies. When the purpose of use tag is on the data, access request purpose of use shall not conflict.

                      Control0..*
                      TypeCoding
                      Summarytrue
                      78. Permission.rule.data.period
                      Definition

                      Clinical or Operational Relevant period of time that bounds the data controlled by this rule.

                      ShortTimeframe encompasing data create/update
                      Comments

                      This has a different sense to the .validity.

                      Control0..1
                      TypePeriod
                      Summarytrue
                      80. Permission.rule.activity
                      Definition

                      A description or definition of which activities are allowed to be done on the data.

                      ShortA description or definition of which activities are allowed to be done on the data
                      Comments

                      Within a .rule any repetitions of the .activity element are in an OR relationship. That is to say that the rule applies to all the repetitions of .activity. Thus to identify one rule that applies to both TREAT and HOPERAT, one would have one rule with repetitions at the .activity level. Within the .activity element, all elements and all repetitions of elements, are in an AND relationship. Thus to control an actity that is covering purpose of both TREAT and HOPERAT, one rule with an .activity .purpose holding both TREAT and HOPERAT can define that rule. However this will not cover activities covering only TREAT, for that repeat at the .activity with just a .purpose of TREAT.

                      Control0..*
                      This element is affected by the following invariants: prm-1
                      TypeBackboneElement
                      Summarytrue
                      Invariantsele-1: All FHIR elements must have a @value or children or both (hasValue() or (children().count() > id.count()))
                      82. Permission.rule.activity.id
                      Definition

                      Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                      ShortUnique id for inter-element referencing
                      Control0..1
                      This element is affected by the following invariants: ele-1
                      Typestring
                      Is Modifierfalse
                      XML FormatIn the XML format, this property is represented as an attribute.
                      Summaryfalse
                      84. Permission.rule.activity.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.

                      ShortAdditional 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.

                      Control0..*
                      TypeExtension
                      Is Modifierfalse
                      Summaryfalse
                      Alternate Namesextensions, user content
                      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                      SlicingThis element introduces a set of slices on Permission.rule.activity.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                      • value @ url
                      • 86. Permission.rule.activity.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).

                        ShortExtensions 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.

                        Control0..*
                        TypeExtension
                        Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
                        Summarytrue
                        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 Namesextensions, user content, modifiers
                        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                        SlicingThis element introduces a set of slices on Permission.rule.activity.modifierExtension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                        • value @ url
                        • 88. Permission.rule.activity.actor
                          Definition

                          Who or what is controlled by this rule. Use group to identify a set of actors by some property they share (e.g. 'admitting officers').

                          ShortWho|what is controlled by this rule
                          Comments

                          When both reference and role are given the actor is only selected when that reference actor is functionally carrying out that role.

                          Control0..*
                          TypeBackboneElement
                          Meaning if MissingThere is no specific actor associated with the rule
                          Invariantsele-1: All FHIR elements must have a @value or children or both (hasValue() or (children().count() > id.count()))
                          90. Permission.rule.activity.actor.id
                          Definition

                          Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                          ShortUnique id for inter-element referencing
                          Control0..1
                          This element is affected by the following invariants: ele-1
                          Typestring
                          Is Modifierfalse
                          XML FormatIn the XML format, this property is represented as an attribute.
                          Summaryfalse
                          92. Permission.rule.activity.actor.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.

                          ShortAdditional 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.

                          Control0..*
                          TypeExtension
                          Is Modifierfalse
                          Summaryfalse
                          Alternate Namesextensions, user content
                          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                          SlicingThis element introduces a set of slices on Permission.rule.activity.actor.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                          • value @ url
                          • 94. Permission.rule.activity.actor.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).

                            ShortExtensions 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.

                            Control0..*
                            TypeExtension
                            Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
                            Summarytrue
                            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 Namesextensions, user content, modifiers
                            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                            SlicingThis element introduces a set of slices on Permission.rule.activity.actor.modifierExtension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                            • value @ url
                            • 96. Permission.rule.activity.actor.role
                              Definition

                              How the individual is involved in the activity that is described in the rule.

                              ShortHow the actor is involved
                              Control0..1
                              BindingUnless not suitable, these codes SHALL be taken from ParticipationRoleTypehttp://hl7.org/fhir/ValueSet/participation-role-type
                              (extensible to http://hl7.org/fhir/ValueSet/participation-role-type)

                              How an actor is involved in the rule.

                              TypeCodeableConcept
                              98. Permission.rule.activity.actor.reference
                              Definition

                              The actor(s) for the defined activity.

                              Shortactor(s)
                              Control0..1
                              TypeReference(Device, Group, CareTeam, Organization, Patient, Practitioner, RelatedPerson, PractitionerRole, DeviceDefinition, HealthcareService)
                              Summarytrue
                              100. Permission.rule.activity.action
                              Definition

                              Actions controlled by this Rule.

                              ShortActions controlled by this rule
                              Comments

                              Note that this is the direct action (not the grounds for the action covered in the purpose element). At present, the only action in the understood and tested scope of this resource is 'read'.

                              Control0..*
                              BindingThe codes SHOULD be taken from TypeRestfulInteractionhttp://hl7.org/fhir/ValueSet/type-restful-interaction
                              (preferred to http://hl7.org/fhir/ValueSet/type-restful-interaction)

                              Detailed codes for the action.

                              TypeCodeableConcept
                              Summarytrue
                              102. Permission.rule.activity.purpose
                              Definition

                              The purpose for which the permission is given.

                              ShortThe purpose for which the permission is given
                              Control0..*
                              BindingThe codes SHOULD be taken from PurposeOfUse (3.1.0)http://terminology.hl7.org/ValueSet/v3-PurposeOfUse|3.1.0
                              (preferred to http://terminology.hl7.org/ValueSet/v3-PurposeOfUse|3.1.0)

                              What purposes of use are controlled by this exception. If more than one label is specified, operations must have all the specified labels.

                              TypeCodeableConcept
                              Summarytrue
                              104. Permission.rule.activity.location
                              Definition

                              The location of the activity.

                              ShortLocation of the activity
                              Comments

                              The location may be a point, a region, or a jurisdiction.

                              Control0..1
                              TypeReference(Location)
                              Summarytrue
                              106. Permission.rule.limit
                              Definition

                              What restrictions must be applied to the use of the data by the actor.

                              ShortWhat limits apply to the use of the data
                              Comments

                              Within a .rule all repetitions of the .limit all apply to the rule. That is to say if there are multiple limits, and the rule permits the activity, then all the identified limits are applied to that authorized activity.

                              Control0..*
                              TypeBackboneElement
                              Meaning if MissingThere is no limit beyond those specified in the authorized activity to the authorized data.
                              Invariantsele-1: All FHIR elements must have a @value or children or both (hasValue() or (children().count() > id.count()))
                              108. Permission.rule.limit.id
                              Definition

                              Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                              ShortUnique id for inter-element referencing
                              Control0..1
                              This element is affected by the following invariants: ele-1
                              Typestring
                              Is Modifierfalse
                              XML FormatIn the XML format, this property is represented as an attribute.
                              Summaryfalse
                              110. Permission.rule.limit.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.

                              ShortAdditional 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.

                              Control0..*
                              TypeExtension
                              Is Modifierfalse
                              Summaryfalse
                              Alternate Namesextensions, user content
                              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                              SlicingThis element introduces a set of slices on Permission.rule.limit.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                              • value @ url
                              • 112. Permission.rule.limit.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).

                                ShortExtensions 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.

                                Control0..*
                                TypeExtension
                                Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
                                Summarytrue
                                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 Namesextensions, user content, modifiers
                                Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                                SlicingThis element introduces a set of slices on Permission.rule.limit.modifierExtension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                                • value @ url
                                • 114. Permission.rule.limit.control
                                  Definition

                                  One or more coded restriction such as a refrain or obligation.

                                  ShortWhat coded limits apply to the use of the data
                                  Control0..*
                                  BindingThe codes SHOULD be taken from SecurityControlObservationValue (3.0.0)http://terminology.hl7.org/ValueSet/v3-SecurityControlObservationValue|3.0.0
                                  (preferred to http://terminology.hl7.org/ValueSet/v3-SecurityControlObservationValue|3.0.0)

                                  Obligations and Refrains

                                  TypeCodeableConcept
                                  Summarytrue
                                  116. Permission.rule.limit.tag
                                  Definition

                                  When this rule authorizes data use, any data that is tagged with the code here must be redacted from the data provided for that authorized use.

                                  ShortThe sensitivity codes that must be removed from the data
                                  Control0..*
                                  BindingThe codes SHOULD be taken from InformationSensitivityPolicy (3.0.0)http://terminology.hl7.org/ValueSet/v3-InformationSensitivityPolicy|3.0.0
                                  (preferred to http://terminology.hl7.org/ValueSet/v3-InformationSensitivityPolicy|3.0.0)

                                  Sensitivity tags

                                  TypeCoding
                                  Summarytrue
                                  118. Permission.rule.limit.element
                                  Definition

                                  When this rule authorizes data use, the data identified by its element id, must be redacted from the authorized data provided for that authorized use.

                                  ShortWhat data elements, by id, must be removed from the data
                                  Comments

                                  The .element requires that an id be present on the element to be redacted, but does not require the use of FHIRPath. The .element mechanism can target elements in a list.

                                  Control0..*
                                  Typestring
                                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                  Summarytrue
                                  120. Permission.rule.limit.path
                                  Definition

                                  When this rule authorizes data use, the data identified by the FHIRPath expression, must be redacted from the authorized data provided for that authorized use.

                                  ShortWhat data elements, by FHIRPath, must be removed from the data
                                  Comments

                                  The FHIRPath expression is limited to a the simple subset with the additional limitation that .resolve() that is not allowed. This is a more sophisticated mechanism of referring to an element than .element but does require the system resolving the item to be able to use at least FHIRPath. If the author of the limit has the ability to ensure an id will be present then .element might be more widely useable.

                                  Control0..*
                                  Typestring
                                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                  Summarytrue

                                  Guidance on how to interpret the contents of this table can be foundhere

                                  0. Permission
                                  Definition

                                  Permission resource holds access rules for a given data and access request context.

                                  ShortAccess Rules
                                  Control0..*
                                  2. Permission.identifier
                                  Definition

                                  A unique identifier assigned to this permission.

                                  ShortBusiness Identifier for permission
                                  NoteThis is a business identifier, not a resource identifier (see discussion)
                                  Control0..*
                                  TypeIdentifier
                                  Requirements

                                  Allows permission to be distinguished and referenced.

                                  4. Permission.status
                                  Definition

                                  Status.

                                  Shortactive | entered-in-error | draft | rejected
                                  Control1..1
                                  BindingThe codes SHALL be taken from PermissionStatusVS
                                  (required to http://hl7.org/fhir/ValueSet/permission-status-vs)

                                  Codes identifying the lifecycle stage of a product.

                                  Typecode
                                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                  6. Permission.asserter
                                  Definition

                                  The person or entity that asserts the permission.

                                  ShortThe person or entity that asserts the permission
                                  Control0..1
                                  TypeReference(Practitioner, PractitionerRole, Organization, CareTeam, Patient, RelatedPerson, HealthcareService)
                                  8. Permission.date
                                  Definition

                                  The date that permission was asserted.

                                  ShortThe date that permission was asserted
                                  Control0..*
                                  TypedateTime
                                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                  Alternate Namesclass
                                  10. Permission.validity
                                  Definition

                                  The period in which the permission is active.

                                  ShortThe period in which the permission is active
                                  Control0..1
                                  TypePeriod
                                  Alternate Namestype
                                  12. Permission.justification
                                  Definition

                                  The asserted justification for using the data.

                                  ShortThe asserted justification for using the data
                                  Control0..1
                                  TypeBackboneElement
                                  14. Permission.justification.basis
                                  Definition

                                  This would be a codeableconcept, or a coding, for example, the 6 grounds for processing in GDPR.

                                  ShortThe regulatory grounds upon which this Permission builds
                                  Control0..*
                                  BindingFor example codes, see ConsentPolicyRuleCodes
                                  (example to http://hl7.org/fhir/ValueSet/consent-policy)

                                  Regulatory policy examples

                                  TypeCodeableConcept
                                  16. Permission.justification.evidence
                                  ShortJustifing rational
                                  Comments

                                  While any resource may be used, DocumentReference, Consent, PlanDefinition, and Contract would be most frequent

                                  Control0..*
                                  TypeReference(Resource)
                                  18. Permission.combining
                                  Definition

                                  Defines a procedure for arriving at an access decision given the set of rules.

                                  Shortdeny-overrides | permit-overrides | ordered-deny-overrides | ordered-permit-overrides | deny-unless-permit | permit-unless-deny
                                  Comments

                                  see XACML Combining Rules

                                  Control1..1
                                  BindingThe codes SHALL be taken from PermissionRuleCombiningVS
                                  (required to http://hl7.org/fhir/ValueSet/permission-rule-combining-vs)

                                  How the rules are to be combined.

                                  Typecode
                                  Is Modifiertrue because Defines how the rules are to be combined.
                                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                  20. Permission.rule
                                  Definition

                                  A set of rules.

                                  ShortConstraints to the Permission
                                  Comments

                                  Each .rule is evaluated within the combining rule identified in the .combining element.

                                  Control0..*
                                  TypeBackboneElement
                                  Invariantsprm-1: If the import element is populated then the type, data, and activity shall not be populated (import.exists() implies type.exists().not() and data.exists().not() and activity.exists().not())
                                  22. Permission.rule.import
                                  Definition

                                  This rule is expressed in another Permission resource.

                                  ShortReference to a Permission
                                  Control0..1
                                  This element is affected by the following invariants: prm-1
                                  TypeReference(Permission)
                                  Is Modifierfalse
                                  24. Permission.rule.type
                                  Definition

                                  deny | permit.

                                  Shortdeny | permit
                                  Control0..1
                                  This element is affected by the following invariants: prm-1
                                  BindingThe codes SHALL be taken from ConsentProvisionType
                                  (required to http://hl7.org/fhir/ValueSet/consent-provision-type)

                                  How a rule statement is applied.

                                  Typecode
                                  Is Modifiertrue because Sets the context for the meaning of the rules.
                                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                  26. Permission.rule.data
                                  Definition

                                  A description or definition of which activities are allowed to be done on the data.

                                  ShortThe selection criteria to identify data that is within scope of this provision
                                  Comments

                                  Within a .rule any repetitions of the .data element are in an OR relationship. That is to say that the data identified by the rule is all the data identified by all repetitions of .data. Thus to identify one rule that applies to data tagged with STD and data that is tagged with HIV, one would repeat this at the .data level. Within the .data element, all elements and all repetitions of elements, are in an AND relationship. Thus to select data that has both STD and HIV one puts both into one .rule. To have different rules for STD from HIV, one would need to have two .rule elements. To have a rule that applies to both, those that have just STD and just HIV, this repetition may also be done at the data level as described above.

                                  Control0..*
                                  This element is affected by the following invariants: prm-1
                                  TypeBackboneElement
                                  28. Permission.rule.data.resource
                                  ShortExplicit FHIR Resource references
                                  Control0..*
                                  TypeBackboneElement
                                  30. Permission.rule.data.resource.meaning
                                  Definition

                                  How the resource reference is interpreted when testing consent restrictions.

                                  Shortinstance | related | dependents | authoredby
                                  Control1..1
                                  BindingThe codes SHALL be taken from ConsentDataMeaning
                                  (required to http://hl7.org/fhir/ValueSet/consent-data-meaning)

                                  How a resource reference is interpreted when testing consent restrictions.

                                  Typecode
                                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                  32. Permission.rule.data.resource.reference
                                  Definition

                                  A reference to a specific resource that defines which resources are covered by this consent.

                                  ShortThe actual data reference
                                  Control1..1
                                  TypeReference(Resource)
                                  34. Permission.rule.data.resourceType
                                  Definition

                                  The resourceType(s) covered by this rule. The type can be a FHIR resource type or a profile on a type that indicates what information the rule applies to.

                                  Shorte.g. Resource Type, Profile, etc
                                  Comments

                                  The intention of the resourceType element is that the codes refer to profiles or document types defined in a standard or an implementation guide somewhere.

                                  Control0..*
                                  BindingUnless not suitable, these codes SHALL be taken from ResourceType
                                  (extensible to http://hl7.org/fhir/ValueSet/resource-types)

                                  The resource types a consent provision covers.

                                  TypeCoding
                                  36. Permission.rule.data.security
                                  Definition

                                  The data in scope are those with the given codes present in that data .meta.security element.

                                  ShortSecurity tag code on .meta.security
                                  Comments

                                  Note the ConfidentialityCode vocabulary indicates the highest value, thus a security label of "R" then it applies to all resources that are labeled "R" or lower. E.g. for Confidentiality, it's a high water mark. For other kinds of security labels, subsumption logic applies. When the purpose of use tag is on the data, access request purpose of use shall not conflict.

                                  Control0..*
                                  TypeCoding
                                  38. Permission.rule.data.period
                                  Definition

                                  Clinical or Operational Relevant period of time that bounds the data controlled by this rule.

                                  ShortTimeframe encompasing data create/update
                                  Comments

                                  This has a different sense to the .validity.

                                  Control0..1
                                  TypePeriod
                                  40. Permission.rule.activity
                                  Definition

                                  A description or definition of which activities are allowed to be done on the data.

                                  ShortA description or definition of which activities are allowed to be done on the data
                                  Comments

                                  Within a .rule any repetitions of the .activity element are in an OR relationship. That is to say that the rule applies to all the repetitions of .activity. Thus to identify one rule that applies to both TREAT and HOPERAT, one would have one rule with repetitions at the .activity level. Within the .activity element, all elements and all repetitions of elements, are in an AND relationship. Thus to control an actity that is covering purpose of both TREAT and HOPERAT, one rule with an .activity .purpose holding both TREAT and HOPERAT can define that rule. However this will not cover activities covering only TREAT, for that repeat at the .activity with just a .purpose of TREAT.

                                  Control0..*
                                  This element is affected by the following invariants: prm-1
                                  TypeBackboneElement
                                  42. Permission.rule.activity.actor
                                  Definition

                                  Who or what is controlled by this rule. Use group to identify a set of actors by some property they share (e.g. 'admitting officers').

                                  ShortWho|what is controlled by this rule
                                  Comments

                                  When both reference and role are given the actor is only selected when that reference actor is functionally carrying out that role.

                                  Control0..*
                                  TypeBackboneElement
                                  Meaning if MissingThere is no specific actor associated with the rule
                                  44. Permission.rule.activity.actor.role
                                  Definition

                                  How the individual is involved in the activity that is described in the rule.

                                  ShortHow the actor is involved
                                  Control0..1
                                  BindingUnless not suitable, these codes SHALL be taken from ParticipationRoleType
                                  (extensible to http://hl7.org/fhir/ValueSet/participation-role-type)

                                  How an actor is involved in the rule.

                                  TypeCodeableConcept
                                  46. Permission.rule.activity.actor.reference
                                  Definition

                                  The actor(s) for the defined activity.

                                  Shortactor(s)
                                  Control0..1
                                  TypeReference(Device, Group, CareTeam, Organization, Patient, Practitioner, RelatedPerson, PractitionerRole, DeviceDefinition, HealthcareService)
                                  48. Permission.rule.activity.action
                                  Definition

                                  Actions controlled by this Rule.

                                  ShortActions controlled by this rule
                                  Comments

                                  Note that this is the direct action (not the grounds for the action covered in the purpose element). At present, the only action in the understood and tested scope of this resource is 'read'.

                                  Control0..*
                                  BindingThe codes SHOULD be taken from TypeRestfulInteraction
                                  (preferred to http://hl7.org/fhir/ValueSet/type-restful-interaction)

                                  Detailed codes for the action.

                                  TypeCodeableConcept
                                  50. Permission.rule.activity.purpose
                                  Definition

                                  The purpose for which the permission is given.

                                  ShortThe purpose for which the permission is given
                                  Control0..*
                                  BindingThe codes SHOULD be taken from PurposeOfUse (3.1.0)
                                  (preferred to http://terminology.hl7.org/ValueSet/v3-PurposeOfUse|3.1.0)

                                  What purposes of use are controlled by this exception. If more than one label is specified, operations must have all the specified labels.

                                  TypeCodeableConcept
                                  52. Permission.rule.activity.location
                                  Definition

                                  The location of the activity.

                                  ShortLocation of the activity
                                  Comments

                                  The location may be a point, a region, or a jurisdiction.

                                  Control0..1
                                  TypeReference(Location)
                                  54. Permission.rule.limit
                                  Definition

                                  What restrictions must be applied to the use of the data by the actor.

                                  ShortWhat limits apply to the use of the data
                                  Comments

                                  Within a .rule all repetitions of the .limit all apply to the rule. That is to say if there are multiple limits, and the rule permits the activity, then all the identified limits are applied to that authorized activity.

                                  Control0..*
                                  TypeBackboneElement
                                  Meaning if MissingThere is no limit beyond those specified in the authorized activity to the authorized data.
                                  56. Permission.rule.limit.control
                                  Definition

                                  One or more coded restriction such as a refrain or obligation.

                                  ShortWhat coded limits apply to the use of the data
                                  Control0..*
                                  BindingThe codes SHOULD be taken from SecurityControlObservationValue (3.0.0)
                                  (preferred to http://terminology.hl7.org/ValueSet/v3-SecurityControlObservationValue|3.0.0)

                                  Obligations and Refrains

                                  TypeCodeableConcept
                                  58. Permission.rule.limit.tag
                                  Definition

                                  When this rule authorizes data use, any data that is tagged with the code here must be redacted from the data provided for that authorized use.

                                  ShortThe sensitivity codes that must be removed from the data
                                  Control0..*
                                  BindingThe codes SHOULD be taken from InformationSensitivityPolicy (3.0.0)
                                  (preferred to http://terminology.hl7.org/ValueSet/v3-InformationSensitivityPolicy|3.0.0)

                                  Sensitivity tags

                                  TypeCoding
                                  60. Permission.rule.limit.element
                                  Definition

                                  When this rule authorizes data use, the data identified by its element id, must be redacted from the authorized data provided for that authorized use.

                                  ShortWhat data elements, by id, must be removed from the data
                                  Comments

                                  The .element requires that an id be present on the element to be redacted, but does not require the use of FHIRPath. The .element mechanism can target elements in a list.

                                  Control0..*
                                  Typestring
                                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                  62. Permission.rule.limit.path
                                  Definition

                                  When this rule authorizes data use, the data identified by the FHIRPath expression, must be redacted from the authorized data provided for that authorized use.

                                  ShortWhat data elements, by FHIRPath, must be removed from the data
                                  Comments

                                  The FHIRPath expression is limited to a the simple subset with the additional limitation that .resolve() that is not allowed. This is a more sophisticated mechanism of referring to an element than .element but does require the system resolving the item to be able to use at least FHIRPath. If the author of the limit has the ability to ensure an id will be present then .element might be more widely useable.

                                  Control0..*
                                  Typestring
                                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension

                                  Guidance on how to interpret the contents of this table can be foundhere

                                  0. Permission
                                  Definition

                                  Permission resource holds access rules for a given data and access request context.

                                  ShortAccess Rules
                                  Control0..*
                                  Is Modifierfalse
                                  Must Supportfalse
                                  Summaryfalse
                                  Invariantsdom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources (contained.contained.empty())
                                  dom-3: 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: 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: If a resource is contained in another resource, it SHALL NOT have a security label (contained.meta.security.empty())
                                  dom-6: A resource should have narrative for robust management (text.`div`.exists())
                                  2. Permission.id
                                  Definition

                                  The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.

                                  ShortLogical id of this artifact
                                  Comments

                                  Within the context of the FHIR RESTful interactions, the resource has an id except for cases like the create and conditional update. Otherwise, the use of the resource id depends on the given use case.

                                  Control0..1
                                  Typeid
                                  Is Modifierfalse
                                  Must Supportfalse
                                  Summarytrue
                                  4. Permission.meta
                                  Definition

                                  The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.

                                  ShortMetadata about the resource
                                  Control0..1
                                  TypeMeta
                                  Is Modifierfalse
                                  Must Supportfalse
                                  Summarytrue
                                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                                  6. Permission.implicitRules
                                  Definition

                                  A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc. For DomainResources, if more than one implicitRules policy applies, additional policies may be conveyed using the additionalImplicitRules extension.

                                  ShortA set of rules under which this content was created
                                  Comments

                                  Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of its narrative along with other profiles, value sets, etc.

                                  Control0..1
                                  Typeuri
                                  Is Modifiertrue because This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies its meaning or interpretation
                                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                  Must Supportfalse
                                  Summarytrue
                                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                                  8. Permission.language
                                  Definition

                                  The base language in which the resource is written.

                                  ShortLanguage of the resource content
                                  Comments

                                  Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).

                                  Control0..1
                                  BindingThe codes SHALL be taken from AllLanguages
                                  (required to http://hl7.org/fhir/ValueSet/all-languages|6.0.0-ballot5)

                                  IETF language tag for a human language

                                  Typecode
                                  Is Modifierfalse
                                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                  Must Supportfalse
                                  Summaryfalse
                                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                                  10. Permission.text
                                  Definition

                                  A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.

                                  ShortText summary of the resource, for human interpretation
                                  Comments

                                  Contained resources do not have a narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later.

                                  Control0..1
                                  This element is affected by the following invariants: dom-6
                                  TypeNarrative
                                  Is Modifierfalse
                                  Must Supportfalse
                                  Summaryfalse
                                  Alternate Namesnarrative, html, xhtml, display
                                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                                  12. Permission.contained
                                  Definition

                                  These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, nor can they have their own independent transaction scope. This is allowed to be a Parameters resource if and only if it is referenced by a resource that provides context/meaning.

                                  ShortContained, inline Resources
                                  Comments

                                  This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags in their meta elements, but SHALL NOT have security labels. Contained resources may be a resource type defined in the FHIR specification, or an additional resource.

                                  Control0..*
                                  This element is affected by the following invariants: dom-2, dom-4, dom-3, dom-5
                                  TypeResource
                                  Is Modifierfalse
                                  Must Supportfalse
                                  Summaryfalse
                                  Alternate Namesinline resources, anonymous resources, contained resources
                                  14. Permission.extension
                                  Definition

                                  May be used to represent additional information that is not part of the basic definition of the resource. 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.

                                  ShortAdditional 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.

                                  Control0..*
                                  TypeExtension
                                  Is Modifierfalse
                                  Must Supportfalse
                                  Summaryfalse
                                  Alternate Namesextensions, user content
                                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                                  SlicingThis element introduces a set of slices on Permission.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                                  • value @ url
                                  • 16. Permission.modifierExtension
                                    Definition

                                    May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it 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 is allowed to 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).

                                    ShortExtensions that cannot be ignored
                                    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.

                                    Control0..*
                                    TypeExtension
                                    Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them
                                    Must Supportfalse
                                    Summarytrue
                                    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 Namesextensions, user content
                                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                                    SlicingThis element introduces a set of slices on Permission.modifierExtension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                                    • value @ url
                                    • 18. Permission.identifier
                                      Definition

                                      A unique identifier assigned to this permission.

                                      ShortBusiness Identifier for permission
                                      NoteThis is a business identifier, not a resource identifier (see discussion)
                                      Control0..*
                                      TypeIdentifier
                                      Summarytrue
                                      Requirements

                                      Allows permission to be distinguished and referenced.

                                      20. Permission.status
                                      Definition

                                      Status.

                                      Shortactive | entered-in-error | draft | rejected
                                      Control1..1
                                      BindingThe codes SHALL be taken from PermissionStatusVS
                                      (required to http://hl7.org/fhir/ValueSet/permission-status-vs)

                                      Codes identifying the lifecycle stage of a product.

                                      Typecode
                                      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                      Summarytrue
                                      22. Permission.asserter
                                      Definition

                                      The person or entity that asserts the permission.

                                      ShortThe person or entity that asserts the permission
                                      Control0..1
                                      TypeReference(Practitioner, PractitionerRole, Organization, CareTeam, Patient, RelatedPerson, HealthcareService)
                                      Summarytrue
                                      24. Permission.date
                                      Definition

                                      The date that permission was asserted.

                                      ShortThe date that permission was asserted
                                      Control0..*
                                      TypedateTime
                                      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                      Summarytrue
                                      Alternate Namesclass
                                      26. Permission.validity
                                      Definition

                                      The period in which the permission is active.

                                      ShortThe period in which the permission is active
                                      Control0..1
                                      TypePeriod
                                      Summarytrue
                                      Alternate Namestype
                                      28. Permission.justification
                                      Definition

                                      The asserted justification for using the data.

                                      ShortThe asserted justification for using the data
                                      Control0..1
                                      TypeBackboneElement
                                      Summarytrue
                                      Invariantsele-1: All FHIR elements must have a @value or children or both (hasValue() or (children().count() > id.count()))
                                      30. Permission.justification.id
                                      Definition

                                      Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                                      ShortUnique id for inter-element referencing
                                      Control0..1
                                      This element is affected by the following invariants: ele-1
                                      Typestring
                                      Is Modifierfalse
                                      XML FormatIn the XML format, this property is represented as an attribute.
                                      Summaryfalse
                                      32. Permission.justification.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.

                                      ShortAdditional 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.

                                      Control0..*
                                      TypeExtension
                                      Is Modifierfalse
                                      Summaryfalse
                                      Alternate Namesextensions, user content
                                      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                                      SlicingThis element introduces a set of slices on Permission.justification.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                                      • value @ url
                                      • 34. Permission.justification.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).

                                        ShortExtensions 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.

                                        Control0..*
                                        TypeExtension
                                        Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
                                        Summarytrue
                                        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 Namesextensions, user content, modifiers
                                        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                                        SlicingThis element introduces a set of slices on Permission.justification.modifierExtension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                                        • value @ url
                                        • 36. Permission.justification.basis
                                          Definition

                                          This would be a codeableconcept, or a coding, for example, the 6 grounds for processing in GDPR.

                                          ShortThe regulatory grounds upon which this Permission builds
                                          Control0..*
                                          BindingFor example codes, see ConsentPolicyRuleCodes
                                          (example to http://hl7.org/fhir/ValueSet/consent-policy)

                                          Regulatory policy examples

                                          TypeCodeableConcept
                                          Summarytrue
                                          38. Permission.justification.evidence
                                          ShortJustifing rational
                                          Comments

                                          While any resource may be used, DocumentReference, Consent, PlanDefinition, and Contract would be most frequent

                                          Control0..*
                                          TypeReference(Resource)
                                          Summarytrue
                                          40. Permission.combining
                                          Definition

                                          Defines a procedure for arriving at an access decision given the set of rules.

                                          Shortdeny-overrides | permit-overrides | ordered-deny-overrides | ordered-permit-overrides | deny-unless-permit | permit-unless-deny
                                          Comments

                                          see XACML Combining Rules

                                          Control1..1
                                          BindingThe codes SHALL be taken from PermissionRuleCombiningVS
                                          (required to http://hl7.org/fhir/ValueSet/permission-rule-combining-vs)

                                          How the rules are to be combined.

                                          Typecode
                                          Is Modifiertrue because Defines how the rules are to be combined.
                                          Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                          Summarytrue
                                          42. Permission.rule
                                          Definition

                                          A set of rules.

                                          ShortConstraints to the Permission
                                          Comments

                                          Each .rule is evaluated within the combining rule identified in the .combining element.

                                          Control0..*
                                          TypeBackboneElement
                                          Summarytrue
                                          Invariantsprm-1: If the import element is populated then the type, data, and activity shall not be populated (import.exists() implies type.exists().not() and data.exists().not() and activity.exists().not())
                                          ele-1: All FHIR elements must have a @value or children or both (hasValue() or (children().count() > id.count()))
                                          44. Permission.rule.id
                                          Definition

                                          Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                                          ShortUnique id for inter-element referencing
                                          Control0..1
                                          This element is affected by the following invariants: ele-1
                                          Typestring
                                          Is Modifierfalse
                                          XML FormatIn the XML format, this property is represented as an attribute.
                                          Summaryfalse
                                          46. Permission.rule.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.

                                          ShortAdditional 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.

                                          Control0..*
                                          TypeExtension
                                          Is Modifierfalse
                                          Summaryfalse
                                          Alternate Namesextensions, user content
                                          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                                          SlicingThis element introduces a set of slices on Permission.rule.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                                          • value @ url
                                          • 48. Permission.rule.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).

                                            ShortExtensions 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.

                                            Control0..*
                                            TypeExtension
                                            Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
                                            Summarytrue
                                            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 Namesextensions, user content, modifiers
                                            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                                            SlicingThis element introduces a set of slices on Permission.rule.modifierExtension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                                            • value @ url
                                            • 50. Permission.rule.import
                                              Definition

                                              This rule is expressed in another Permission resource.

                                              ShortReference to a Permission
                                              Control0..1
                                              This element is affected by the following invariants: prm-1
                                              TypeReference(Permission)
                                              Is Modifierfalse
                                              Summarytrue
                                              52. Permission.rule.type
                                              Definition

                                              deny | permit.

                                              Shortdeny | permit
                                              Control0..1
                                              This element is affected by the following invariants: prm-1
                                              BindingThe codes SHALL be taken from ConsentProvisionType
                                              (required to http://hl7.org/fhir/ValueSet/consent-provision-type)

                                              How a rule statement is applied.

                                              Typecode
                                              Is Modifiertrue because Sets the context for the meaning of the rules.
                                              Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                              Summarytrue
                                              54. Permission.rule.data
                                              Definition

                                              A description or definition of which activities are allowed to be done on the data.

                                              ShortThe selection criteria to identify data that is within scope of this provision
                                              Comments

                                              Within a .rule any repetitions of the .data element are in an OR relationship. That is to say that the data identified by the rule is all the data identified by all repetitions of .data. Thus to identify one rule that applies to data tagged with STD and data that is tagged with HIV, one would repeat this at the .data level. Within the .data element, all elements and all repetitions of elements, are in an AND relationship. Thus to select data that has both STD and HIV one puts both into one .rule. To have different rules for STD from HIV, one would need to have two .rule elements. To have a rule that applies to both, those that have just STD and just HIV, this repetition may also be done at the data level as described above.

                                              Control0..*
                                              This element is affected by the following invariants: prm-1
                                              TypeBackboneElement
                                              Summarytrue
                                              Invariantsele-1: All FHIR elements must have a @value or children or both (hasValue() or (children().count() > id.count()))
                                              56. Permission.rule.data.id
                                              Definition

                                              Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                                              ShortUnique id for inter-element referencing
                                              Control0..1
                                              This element is affected by the following invariants: ele-1
                                              Typestring
                                              Is Modifierfalse
                                              XML FormatIn the XML format, this property is represented as an attribute.
                                              Summaryfalse
                                              58. Permission.rule.data.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.

                                              ShortAdditional 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.

                                              Control0..*
                                              TypeExtension
                                              Is Modifierfalse
                                              Summaryfalse
                                              Alternate Namesextensions, user content
                                              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                                              SlicingThis element introduces a set of slices on Permission.rule.data.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                                              • value @ url
                                              • 60. Permission.rule.data.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).

                                                ShortExtensions 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.

                                                Control0..*
                                                TypeExtension
                                                Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
                                                Summarytrue
                                                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 Namesextensions, user content, modifiers
                                                Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                                                SlicingThis element introduces a set of slices on Permission.rule.data.modifierExtension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                                                • value @ url
                                                • 62. Permission.rule.data.resource
                                                  ShortExplicit FHIR Resource references
                                                  Control0..*
                                                  TypeBackboneElement
                                                  Summarytrue
                                                  Invariantsele-1: All FHIR elements must have a @value or children or both (hasValue() or (children().count() > id.count()))
                                                  64. Permission.rule.data.resource.id
                                                  Definition

                                                  Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                                                  ShortUnique id for inter-element referencing
                                                  Control0..1
                                                  This element is affected by the following invariants: ele-1
                                                  Typestring
                                                  Is Modifierfalse
                                                  XML FormatIn the XML format, this property is represented as an attribute.
                                                  Summaryfalse
                                                  66. Permission.rule.data.resource.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.

                                                  ShortAdditional 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.

                                                  Control0..*
                                                  TypeExtension
                                                  Is Modifierfalse
                                                  Summaryfalse
                                                  Alternate Namesextensions, user content
                                                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                                                  SlicingThis element introduces a set of slices on Permission.rule.data.resource.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                                                  • value @ url
                                                  • 68. Permission.rule.data.resource.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).

                                                    ShortExtensions 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.

                                                    Control0..*
                                                    TypeExtension
                                                    Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
                                                    Summarytrue
                                                    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 Namesextensions, user content, modifiers
                                                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                                                    SlicingThis element introduces a set of slices on Permission.rule.data.resource.modifierExtension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                                                    • value @ url
                                                    • 70. Permission.rule.data.resource.meaning
                                                      Definition

                                                      How the resource reference is interpreted when testing consent restrictions.

                                                      Shortinstance | related | dependents | authoredby
                                                      Control1..1
                                                      BindingThe codes SHALL be taken from ConsentDataMeaning
                                                      (required to http://hl7.org/fhir/ValueSet/consent-data-meaning)

                                                      How a resource reference is interpreted when testing consent restrictions.

                                                      Typecode
                                                      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                                      Summarytrue
                                                      72. Permission.rule.data.resource.reference
                                                      Definition

                                                      A reference to a specific resource that defines which resources are covered by this consent.

                                                      ShortThe actual data reference
                                                      Control1..1
                                                      TypeReference(Resource)
                                                      Summarytrue
                                                      74. Permission.rule.data.resourceType
                                                      Definition

                                                      The resourceType(s) covered by this rule. The type can be a FHIR resource type or a profile on a type that indicates what information the rule applies to.

                                                      Shorte.g. Resource Type, Profile, etc
                                                      Comments

                                                      The intention of the resourceType element is that the codes refer to profiles or document types defined in a standard or an implementation guide somewhere.

                                                      Control0..*
                                                      BindingUnless not suitable, these codes SHALL be taken from ResourceType
                                                      (extensible to http://hl7.org/fhir/ValueSet/resource-types)

                                                      The resource types a consent provision covers.

                                                      TypeCoding
                                                      Summarytrue
                                                      76. Permission.rule.data.security
                                                      Definition

                                                      The data in scope are those with the given codes present in that data .meta.security element.

                                                      ShortSecurity tag code on .meta.security
                                                      Comments

                                                      Note the ConfidentialityCode vocabulary indicates the highest value, thus a security label of "R" then it applies to all resources that are labeled "R" or lower. E.g. for Confidentiality, it's a high water mark. For other kinds of security labels, subsumption logic applies. When the purpose of use tag is on the data, access request purpose of use shall not conflict.

                                                      Control0..*
                                                      TypeCoding
                                                      Summarytrue
                                                      78. Permission.rule.data.period
                                                      Definition

                                                      Clinical or Operational Relevant period of time that bounds the data controlled by this rule.

                                                      ShortTimeframe encompasing data create/update
                                                      Comments

                                                      This has a different sense to the .validity.

                                                      Control0..1
                                                      TypePeriod
                                                      Summarytrue
                                                      80. Permission.rule.activity
                                                      Definition

                                                      A description or definition of which activities are allowed to be done on the data.

                                                      ShortA description or definition of which activities are allowed to be done on the data
                                                      Comments

                                                      Within a .rule any repetitions of the .activity element are in an OR relationship. That is to say that the rule applies to all the repetitions of .activity. Thus to identify one rule that applies to both TREAT and HOPERAT, one would have one rule with repetitions at the .activity level. Within the .activity element, all elements and all repetitions of elements, are in an AND relationship. Thus to control an actity that is covering purpose of both TREAT and HOPERAT, one rule with an .activity .purpose holding both TREAT and HOPERAT can define that rule. However this will not cover activities covering only TREAT, for that repeat at the .activity with just a .purpose of TREAT.

                                                      Control0..*
                                                      This element is affected by the following invariants: prm-1
                                                      TypeBackboneElement
                                                      Summarytrue
                                                      Invariantsele-1: All FHIR elements must have a @value or children or both (hasValue() or (children().count() > id.count()))
                                                      82. Permission.rule.activity.id
                                                      Definition

                                                      Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                                                      ShortUnique id for inter-element referencing
                                                      Control0..1
                                                      This element is affected by the following invariants: ele-1
                                                      Typestring
                                                      Is Modifierfalse
                                                      XML FormatIn the XML format, this property is represented as an attribute.
                                                      Summaryfalse
                                                      84. Permission.rule.activity.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.

                                                      ShortAdditional 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.

                                                      Control0..*
                                                      TypeExtension
                                                      Is Modifierfalse
                                                      Summaryfalse
                                                      Alternate Namesextensions, user content
                                                      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                                                      SlicingThis element introduces a set of slices on Permission.rule.activity.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                                                      • value @ url
                                                      • 86. Permission.rule.activity.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).

                                                        ShortExtensions 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.

                                                        Control0..*
                                                        TypeExtension
                                                        Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
                                                        Summarytrue
                                                        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 Namesextensions, user content, modifiers
                                                        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                                                        SlicingThis element introduces a set of slices on Permission.rule.activity.modifierExtension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                                                        • value @ url
                                                        • 88. Permission.rule.activity.actor
                                                          Definition

                                                          Who or what is controlled by this rule. Use group to identify a set of actors by some property they share (e.g. 'admitting officers').

                                                          ShortWho|what is controlled by this rule
                                                          Comments

                                                          When both reference and role are given the actor is only selected when that reference actor is functionally carrying out that role.

                                                          Control0..*
                                                          TypeBackboneElement
                                                          Meaning if MissingThere is no specific actor associated with the rule
                                                          Invariantsele-1: All FHIR elements must have a @value or children or both (hasValue() or (children().count() > id.count()))
                                                          90. Permission.rule.activity.actor.id
                                                          Definition

                                                          Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                                                          ShortUnique id for inter-element referencing
                                                          Control0..1
                                                          This element is affected by the following invariants: ele-1
                                                          Typestring
                                                          Is Modifierfalse
                                                          XML FormatIn the XML format, this property is represented as an attribute.
                                                          Summaryfalse
                                                          92. Permission.rule.activity.actor.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.

                                                          ShortAdditional 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.

                                                          Control0..*
                                                          TypeExtension
                                                          Is Modifierfalse
                                                          Summaryfalse
                                                          Alternate Namesextensions, user content
                                                          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                                                          SlicingThis element introduces a set of slices on Permission.rule.activity.actor.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                                                          • value @ url
                                                          • 94. Permission.rule.activity.actor.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).

                                                            ShortExtensions 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.

                                                            Control0..*
                                                            TypeExtension
                                                            Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
                                                            Summarytrue
                                                            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 Namesextensions, user content, modifiers
                                                            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                                                            SlicingThis element introduces a set of slices on Permission.rule.activity.actor.modifierExtension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                                                            • value @ url
                                                            • 96. Permission.rule.activity.actor.role
                                                              Definition

                                                              How the individual is involved in the activity that is described in the rule.

                                                              ShortHow the actor is involved
                                                              Control0..1
                                                              BindingUnless not suitable, these codes SHALL be taken from ParticipationRoleType
                                                              (extensible to http://hl7.org/fhir/ValueSet/participation-role-type)

                                                              How an actor is involved in the rule.

                                                              TypeCodeableConcept
                                                              98. Permission.rule.activity.actor.reference
                                                              Definition

                                                              The actor(s) for the defined activity.

                                                              Shortactor(s)
                                                              Control0..1
                                                              TypeReference(Device, Group, CareTeam, Organization, Patient, Practitioner, RelatedPerson, PractitionerRole, DeviceDefinition, HealthcareService)
                                                              Summarytrue
                                                              100. Permission.rule.activity.action
                                                              Definition

                                                              Actions controlled by this Rule.

                                                              ShortActions controlled by this rule
                                                              Comments

                                                              Note that this is the direct action (not the grounds for the action covered in the purpose element). At present, the only action in the understood and tested scope of this resource is 'read'.

                                                              Control0..*
                                                              BindingThe codes SHOULD be taken from TypeRestfulInteraction
                                                              (preferred to http://hl7.org/fhir/ValueSet/type-restful-interaction)

                                                              Detailed codes for the action.

                                                              TypeCodeableConcept
                                                              Summarytrue
                                                              102. Permission.rule.activity.purpose
                                                              Definition

                                                              The purpose for which the permission is given.

                                                              ShortThe purpose for which the permission is given
                                                              Control0..*
                                                              BindingThe codes SHOULD be taken from PurposeOfUse (3.1.0)
                                                              (preferred to http://terminology.hl7.org/ValueSet/v3-PurposeOfUse|3.1.0)

                                                              What purposes of use are controlled by this exception. If more than one label is specified, operations must have all the specified labels.

                                                              TypeCodeableConcept
                                                              Summarytrue
                                                              104. Permission.rule.activity.location
                                                              Definition

                                                              The location of the activity.

                                                              ShortLocation of the activity
                                                              Comments

                                                              The location may be a point, a region, or a jurisdiction.

                                                              Control0..1
                                                              TypeReference(Location)
                                                              Summarytrue
                                                              106. Permission.rule.limit
                                                              Definition

                                                              What restrictions must be applied to the use of the data by the actor.

                                                              ShortWhat limits apply to the use of the data
                                                              Comments

                                                              Within a .rule all repetitions of the .limit all apply to the rule. That is to say if there are multiple limits, and the rule permits the activity, then all the identified limits are applied to that authorized activity.

                                                              Control0..*
                                                              TypeBackboneElement
                                                              Meaning if MissingThere is no limit beyond those specified in the authorized activity to the authorized data.
                                                              Invariantsele-1: All FHIR elements must have a @value or children or both (hasValue() or (children().count() > id.count()))
                                                              108. Permission.rule.limit.id
                                                              Definition

                                                              Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                                                              ShortUnique id for inter-element referencing
                                                              Control0..1
                                                              This element is affected by the following invariants: ele-1
                                                              Typestring
                                                              Is Modifierfalse
                                                              XML FormatIn the XML format, this property is represented as an attribute.
                                                              Summaryfalse
                                                              110. Permission.rule.limit.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.

                                                              ShortAdditional 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.

                                                              Control0..*
                                                              TypeExtension
                                                              Is Modifierfalse
                                                              Summaryfalse
                                                              Alternate Namesextensions, user content
                                                              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                                                              SlicingThis element introduces a set of slices on Permission.rule.limit.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                                                              • value @ url
                                                              • 112. Permission.rule.limit.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).

                                                                ShortExtensions 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.

                                                                Control0..*
                                                                TypeExtension
                                                                Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
                                                                Summarytrue
                                                                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 Namesextensions, user content, modifiers
                                                                Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                                                                SlicingThis element introduces a set of slices on Permission.rule.limit.modifierExtension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                                                                • value @ url
                                                                • 114. Permission.rule.limit.control
                                                                  Definition

                                                                  One or more coded restriction such as a refrain or obligation.

                                                                  ShortWhat coded limits apply to the use of the data
                                                                  Control0..*
                                                                  BindingThe codes SHOULD be taken from SecurityControlObservationValue (3.0.0)
                                                                  (preferred to http://terminology.hl7.org/ValueSet/v3-SecurityControlObservationValue|3.0.0)

                                                                  Obligations and Refrains

                                                                  TypeCodeableConcept
                                                                  Summarytrue
                                                                  116. Permission.rule.limit.tag
                                                                  Definition

                                                                  When this rule authorizes data use, any data that is tagged with the code here must be redacted from the data provided for that authorized use.

                                                                  ShortThe sensitivity codes that must be removed from the data
                                                                  Control0..*
                                                                  BindingThe codes SHOULD be taken from InformationSensitivityPolicy (3.0.0)
                                                                  (preferred to http://terminology.hl7.org/ValueSet/v3-InformationSensitivityPolicy|3.0.0)

                                                                  Sensitivity tags

                                                                  TypeCoding
                                                                  Summarytrue
                                                                  118. Permission.rule.limit.element
                                                                  Definition

                                                                  When this rule authorizes data use, the data identified by its element id, must be redacted from the authorized data provided for that authorized use.

                                                                  ShortWhat data elements, by id, must be removed from the data
                                                                  Comments

                                                                  The .element requires that an id be present on the element to be redacted, but does not require the use of FHIRPath. The .element mechanism can target elements in a list.

                                                                  Control0..*
                                                                  Typestring
                                                                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                                                  Summarytrue
                                                                  120. Permission.rule.limit.path
                                                                  Definition

                                                                  When this rule authorizes data use, the data identified by the FHIRPath expression, must be redacted from the authorized data provided for that authorized use.

                                                                  ShortWhat data elements, by FHIRPath, must be removed from the data
                                                                  Comments

                                                                  The FHIRPath expression is limited to a the simple subset with the additional limitation that .resolve() that is not allowed. This is a more sophisticated mechanism of referring to an element than .element but does require the system resolving the item to be able to use at least FHIRPath. If the author of the limit has the ability to ensure an id will be present then .element might be more widely useable.

                                                                  Control0..*
                                                                  Typestring
                                                                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                                                  Summarytrue