Page Status: draft updated 2025-11-03

Permission - HVOOrganizationInteractionPermission

Page index

General information

Profile

idΣ0..1id
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
textC0..1Narrative
containedC0..*Resource
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
statusS Σ1..1codeBinding
asserterΣ0..1Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson | HealthcareService)
dateΣ0..*dateTime
id0..1id
extensionC0..*Extension
startS Σ C1..1dateTime
endS Σ C0..1dateTime
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
basisΣ0..*CodeableConcept
evidenceΣ0..*Reference(Resource)
combiningS Σ ?!1..1codeBindingFixed Value
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
typeΣ ?!0..1codeBindingFixed Value
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
meaningS Σ1..1codeBindingFixed Value
referenceS Σ1..1Reference(HVOOrganization | HVOOrganizationalUnit)
securityΣ0..*Coding
periodΣ0..*Period
expressionS Σ0..1Expression
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
actorS Σ0..*Reference(HVODevice)
actionS Σ0..*CodeableConceptBinding
purposeΣ0..*CodeableConceptBinding
limitΣ0..*CodeableConcept
Permission
ShortAccess Rules
Definition

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

Cardinality0..*
Constraints
  • dom-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 in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').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()
Mappings
  • rim: Entity, Role, or Act
  • w5: infrastructure.information
Permission.id
ShortLogical id of this artifact
Definition

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

Cardinality0..1
Typeid
SummaryTrue
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 resouce id depends on the given use case.

Permission.meta
ShortMetadata about the resource
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.

Cardinality0..1
TypeMeta
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Permission.implicitRules
ShortA set of rules under which this content was created
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.

Cardinality0..1
Typeuri
ModifierTrue
SummaryTrue
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.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Permission.language
ShortLanguage of the resource content
Definition

The base language in which the resource is written.

Cardinality0..1
Typecode
Binding

IETF language tag for a human language

AllLanguages (required)

Additional bindings
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).

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Permission.text
ShortText summary of the resource, for human interpretation
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.

Cardinality0..1
TypeNarrative
Aliasnarrative, html, xhtml, display
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.

ConditionsThe cardinality or value of this element may be affected by these constraints: dom-6
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: Act.text?
Permission.contained
ShortContained, inline Resources
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.

Cardinality0..*
TypeResource
Aliasinline resources, anonymous resources, contained 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.

ConditionsThe cardinality or value of this element may be affected by these constraints: dom-2, dom-4, dom-3, dom-5
Mappings
  • rim: N/A
Permission.extension
ShortAdditional content defined by implementations
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.

Cardinality0..*
TypeExtension
Aliasextensions, user content
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.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: N/A
Permission.modifierExtension
ShortExtensions that cannot be ignored
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).

Cardinality0..*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content
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.

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.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: N/A
Permission.status
Shortactive | entered-in-error | draft | rejected
Definition

Status.

Cardinality1..1
Typecode
Binding

Codes identifying the lifecycle stage of a product.

PermissionStatus (required)

Must SupportTrue
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • fhirconsent: Consent.status
Permission.asserter
ShortThe person or entity that asserts the permission
Definition

The person or entity that asserts the permission.

Cardinality0..1
TypeReference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson | HealthcareService)
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • fhirconsent: Consent.grantor, Consent.grantee, Consent.manager, Consent.controller
Permission.date
ShortThe date that permission was asserted
Definition

The date that permission was asserted.

Cardinality0..*
TypedateTime
SummaryTrue
Aliasclass
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • fhirconsent: Consent.dateTime
Permission.validity
ShortThe period in which the permission is active
Definition

The period in which the permission is active.

Cardinality1..1
TypePeriod
Must SupportTrue
SummaryTrue
Aliastype
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • fhirconsent: Consent.provision.period
Permission.validity.id
ShortUnique id for inter-element referencing
Definition

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

Cardinality0..1
Typeid
ConditionsThe cardinality or value of this element may be affected by these constraints: ele-1
Mappings
  • rim: n/a
Permission.validity.extension
ShortAdditional content defined by implementations
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.

Cardinality0..*
TypeExtension
Aliasextensions, user content
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.

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
Permission.validity.start
ShortStarting time with inclusive boundary
Definition

The start of the period. The boundary is inclusive.

Cardinality1..1
TypedateTime
Must SupportTrue
SummaryTrue
Comments

If the low element is missing, the meaning is that the low boundary is not known.

ConditionsThe cardinality or value of this element may be affected by these constraints: per-1
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: DR.1
  • rim: ./low
Permission.validity.end
ShortEnd time with inclusive boundary, if not ongoing
Definition

The end of the period. If the end of the period is missing, it means no end was known or planned at the time the instance was created. The start may be in the past, and the end date in the future, which means that period is expected/planned to end at that time.

Cardinality0..1
TypedateTime
Must SupportTrue
SummaryTrue
Comments

The end value includes any matching date/time. i.e. 2012-02-03T10:00:00 is in a period that has an end value of 2012-02-03.

Meaning when missing

If the end of the period is missing, it means that the period is ongoing

ConditionsThe cardinality or value of this element may be affected by these constraints: per-1
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: DR.2
  • rim: ./high
Permission.justification
ShortThe asserted justification for using the data
Definition

The asserted justification for using the data.

Cardinality0..1
TypeBackboneElement
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Permission.justification.id
ShortUnique id for inter-element referencing
Definition

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

Cardinality0..1
Typestring
ConditionsThe cardinality or value of this element may be affected by these constraints: ele-1
Mappings
  • rim: n/a
Permission.justification.extension
ShortAdditional content defined by implementations
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.

Cardinality0..*
TypeExtension
Aliasextensions, user content
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.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
Permission.justification.modifierExtension
ShortExtensions that cannot be ignored even if unrecognized
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).

Cardinality0..*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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.

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.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: N/A
Permission.justification.basis
ShortThe regulatory grounds upon which this Permission builds
Definition

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

Cardinality0..*
TypeCodeableConcept
Binding

Regulatory policy examples

ConsentPolicyRuleCodes (example)

SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • fhirconsent: Consent.regulatoryBasis
Permission.justification.evidence
ShortJustifing rational
Definition

Justifing rational.

Cardinality0..*
TypeReference(Resource)
SummaryTrue
Comments

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

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • fhirconsent: Consent.policyBasis.reference
Permission.combining
Shortdeny-overrides | permit-overrides | ordered-deny-overrides | ordered-permit-overrides | deny-unless-permit | permit-unless-deny
Definition

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

Cardinality1..1
Typecode
Binding

How the rules are to be combined.

PermissionRuleCombining (required)

Must SupportTrue
ModifierTrue
SummaryTrue
Comments
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Fixed Value
permit-unless-deny
Permission.rule
ShortConstraints to the Permission
Definition

A set of rules.

Cardinality0..*
TypeBackboneElement
Must SupportTrue
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Permission.rule.id
ShortUnique id for inter-element referencing
Definition

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

Cardinality0..1
Typestring
ConditionsThe cardinality or value of this element may be affected by these constraints: ele-1
Mappings
  • rim: n/a
Permission.rule.extension
ShortAdditional content defined by implementations
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.

Cardinality0..*
TypeExtension
Aliasextensions, user content
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.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
Permission.rule.modifierExtension
ShortExtensions that cannot be ignored even if unrecognized
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).

Cardinality0..*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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.

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.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: N/A
Permission.rule.type
Shortdeny | permit
Definition

deny | permit.

Cardinality0..1
Typecode
Binding

How a rule statement is applied.

ConsentProvisionType (required)

ModifierTrue
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Fixed Value
permit
Mappings
  • fhirconsent: Consent.provision.type
Permission.rule.data
ShortThe selection criteria to identify data that is within scope of this provision
Definition

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

Cardinality0..*
TypeBackboneElement
Must SupportTrue
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Permission.rule.data.id
ShortUnique id for inter-element referencing
Definition

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

Cardinality0..1
Typestring
ConditionsThe cardinality or value of this element may be affected by these constraints: ele-1
Mappings
  • rim: n/a
Permission.rule.data.extension
ShortAdditional content defined by implementations
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.

Cardinality0..*
TypeExtension
Aliasextensions, user content
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.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
Permission.rule.data.modifierExtension
ShortExtensions that cannot be ignored even if unrecognized
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).

Cardinality0..*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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.

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.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: N/A
Permission.rule.data.resource
ShortExplicit FHIR Resource references
Definition

Explicit FHIR Resource references.

Cardinality0..*
TypeBackboneElement
Must SupportTrue
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • fhirconsent: Consent.provision.data
Permission.rule.data.resource.id
ShortUnique id for inter-element referencing
Definition

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

Cardinality0..1
Typestring
ConditionsThe cardinality or value of this element may be affected by these constraints: ele-1
Mappings
  • rim: n/a
Permission.rule.data.resource.extension
ShortAdditional content defined by implementations
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.

Cardinality0..*
TypeExtension
Aliasextensions, user content
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.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
Permission.rule.data.resource.modifierExtension
ShortExtensions that cannot be ignored even if unrecognized
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).

Cardinality0..*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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.

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.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: N/A
Permission.rule.data.resource.meaning
Shortinstance | related | dependents | authoredby
Definition

How the resource reference is interpreted when testing consent restrictions.

Cardinality1..1
Typecode
Binding

How a resource reference is interpreted when testing consent restrictions.

ConsentDataMeaning (required)

Must SupportTrue
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Fixed Value
instance
Permission.rule.data.resource.reference
ShortThe actual data reference
Definition

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

Cardinality1..1
TypeReference(HVOOrganization | HVOOrganizationalUnit)
Must SupportTrue
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Permission.rule.data.security
ShortSecurity tag code on .meta.security
Definition

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

Cardinality0..*
TypeCoding
SummaryTrue
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.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • fhirconsent: Consent.provision.securityLabel
Permission.rule.data.period
ShortTimeframe encompasing data create/update
Definition

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

Cardinality0..*
TypePeriod
SummaryTrue
Comments

This has a different sense to the .validity.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • fhirconsent: Consent.provision.dataPeriod
Permission.rule.data.expression
ShortExpression identifying the data
Definition

Used when other data selection elements are insufficient.

Cardinality0..1
TypeExpression
Must SupportTrue
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • fhirconsent: Consent.provision.class, Consent.provision.code, Consent.provision.expression
Permission.rule.activity
ShortA description or definition of which activities are allowed to be done on the data
Definition

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

Cardinality0..*
TypeBackboneElement
Must SupportTrue
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Permission.rule.activity.id
ShortUnique id for inter-element referencing
Definition

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

Cardinality0..1
Typestring
ConditionsThe cardinality or value of this element may be affected by these constraints: ele-1
Mappings
  • rim: n/a
Permission.rule.activity.extension
ShortAdditional content defined by implementations
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.

Cardinality0..*
TypeExtension
Aliasextensions, user content
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.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
Permission.rule.activity.modifierExtension
ShortExtensions that cannot be ignored even if unrecognized
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).

Cardinality0..*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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.

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.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: N/A
Permission.rule.activity.actor
ShortAuthorized actor(s)
Definition

The actor(s) authorized for the defined activity.

Cardinality0..*
TypeReference(HVODevice)
Must SupportTrue
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • fhirconsent: Consent.provision.actor
Permission.rule.activity.action
ShortActions controlled by this rule
Definition

Actions controlled by this Rule.

Cardinality0..*
TypeCodeableConcept
Binding

Detailed codes for the action.

TypeRestfulInteraction (required)

Must SupportTrue
SummaryTrue
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'.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • fhirconsent: Consent.provision.action
Permission.rule.activity.purpose
ShortThe purpose for which the permission is given
Definition

The purpose for which the permission is given.

Cardinality0..*
TypeCodeableConcept
Binding

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

PurposeOfUse (preferred)

SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • fhirconsent: Consent.provision.purpose
Permission.rule.limit
ShortWhat limits apply to the use of the data
Definition

What limits apply to the use of the data.

Cardinality0..*
TypeCodeableConcept
Binding

Obligations and Refrains

SecurityLabelEventExamples (example)

SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
<StructureDefinition xmlns="http://hl7.org/fhir">
<id value="HVOOrganizationInteractionPermission" />
<url value="http://electronichealth.se/fhir/hvo/StructureDefinition/HVOOrganizationInteractionPermission" />
<version value="0.1.0" />
<name value="HVOOrganizationInteractionPermission" />
<status value="draft" />
<fhirVersion value="5.0.0" />
<kind value="resource" />
<abstract value="false" />
<type value="Permission" />
<baseDefinition value="http://hl7.org/fhir/StructureDefinition/Permission" />
<derivation value="constraint" />
<element id="Permission.status">
<path value="Permission.status" />
<mustSupport value="true" />
</element>
<element id="Permission.validity">
<path value="Permission.validity" />
<min value="1" />
<mustSupport value="true" />
</element>
<element id="Permission.validity.start">
<path value="Permission.validity.start" />
<min value="1" />
<mustSupport value="true" />
</element>
<element id="Permission.validity.end">
<path value="Permission.validity.end" />
<mustSupport value="true" />
</element>
<element id="Permission.combining">
<path value="Permission.combining" />
<fixedCode value="permit-unless-deny" />
<mustSupport value="true" />
</element>
<element id="Permission.rule">
<path value="Permission.rule" />
<mustSupport value="true" />
</element>
<element id="Permission.rule.type">
<path value="Permission.rule.type" />
<fixedCode value="permit" />
</element>
<element id="Permission.rule.data">
<path value="Permission.rule.data" />
<mustSupport value="true" />
</element>
<element id="Permission.rule.data.resource">
<path value="Permission.rule.data.resource" />
<mustSupport value="true" />
</element>
<element id="Permission.rule.data.resource.meaning">
<path value="Permission.rule.data.resource.meaning" />
<fixedCode value="instance" />
<mustSupport value="true" />
</element>
<element id="Permission.rule.data.resource.reference">
<path value="Permission.rule.data.resource.reference" />
<code value="Reference" />
<targetProfile value="http://electronichealth.se/fhir/hvo/StructureDefinition/HVOOrganization" />
<targetProfile value="http://electronichealth.se/fhir/hvo/StructureDefinition/HVOOrganizationalUnit" />
</type>
<mustSupport value="true" />
</element>
<element id="Permission.rule.data.expression">
<path value="Permission.rule.data.expression" />
<mustSupport value="true" />
</element>
<element id="Permission.rule.activity">
<path value="Permission.rule.activity" />
<mustSupport value="true" />
</element>
<element id="Permission.rule.activity.actor">
<path value="Permission.rule.activity.actor" />
<code value="Reference" />
<targetProfile value="http://electronichealth.se/fhir/hvo/StructureDefinition/HVODevice" />
</type>
<mustSupport value="true" />
</element>
<element id="Permission.rule.activity.action">
<path value="Permission.rule.activity.action" />
<mustSupport value="true" />
<strength value="required" />
<valueSet value="http://hl7.org/fhir/ValueSet/type-restful-interaction" />
</binding>
</element>
</differential>
</StructureDefinition>
{
"resourceType": "StructureDefinition",
"id": "HVOOrganizationInteractionPermission",
"url": "http://electronichealth.se/fhir/hvo/StructureDefinition/HVOOrganizationInteractionPermission",
"version": "0.1.0",
"name": "HVOOrganizationInteractionPermission",
"status": "draft",
"fhirVersion": "5.0.0",
"kind": "resource",
"abstract": false,
"type": "Permission",
"baseDefinition": "http://hl7.org/fhir/StructureDefinition/Permission",
"derivation": "constraint",
"element": [
{
"id": "Permission.status",
"path": "Permission.status",
"mustSupport": true
},
{
"id": "Permission.validity",
"path": "Permission.validity",
"min": 1,
"mustSupport": true
},
{
"id": "Permission.validity.start",
"path": "Permission.validity.start",
"min": 1,
"mustSupport": true
},
{
"id": "Permission.validity.end",
"path": "Permission.validity.end",
"mustSupport": true
},
{
"id": "Permission.combining",
"path": "Permission.combining",
"fixedCode": "permit-unless-deny",
"mustSupport": true
},
{
"id": "Permission.rule",
"path": "Permission.rule",
"mustSupport": true
},
{
"id": "Permission.rule.type",
"path": "Permission.rule.type",
"fixedCode": "permit"
},
{
"id": "Permission.rule.data",
"path": "Permission.rule.data",
"mustSupport": true
},
{
"id": "Permission.rule.data.resource",
"path": "Permission.rule.data.resource",
"mustSupport": true
},
{
"id": "Permission.rule.data.resource.meaning",
"path": "Permission.rule.data.resource.meaning",
"fixedCode": "instance",
"mustSupport": true
},
{
"id": "Permission.rule.data.resource.reference",
"path": "Permission.rule.data.resource.reference",
"type": [
{
"code": "Reference",
"http://electronichealth.se/fhir/hvo/StructureDefinition/HVOOrganization",
"http://electronichealth.se/fhir/hvo/StructureDefinition/HVOOrganizationalUnit"
]
}
],
"mustSupport": true
},
{
"id": "Permission.rule.data.expression",
"path": "Permission.rule.data.expression",
"mustSupport": true
},
{
"id": "Permission.rule.activity",
"path": "Permission.rule.activity",
"mustSupport": true
},
{
"id": "Permission.rule.activity.actor",
"path": "Permission.rule.activity.actor",
"type": [
{
"code": "Reference",
"http://electronichealth.se/fhir/hvo/StructureDefinition/HVODevice"
]
}
],
"mustSupport": true
},
{
"id": "Permission.rule.activity.action",
"path": "Permission.rule.activity.action",
"mustSupport": true,
"binding": {
"strength": "required",
"valueSet": "http://hl7.org/fhir/ValueSet/type-restful-interaction"
}
}
]
}
}

Details

The must-support flag indicates that the element is expected in some use cases, and a missing flag that the element is never used.

To declare what system has permission to do what the permission details, use the rule.activity.actor element to reference a Device with the system ID in the identifier.value field. What action the system is authorized to do is filled in using the rule.activity.action element. What HVOOrganization or HVOOrganizationalUnit the system is allowed to perform the declared action on is expressed using the rule.data.resource element, where the meaning should be set to instance so that the reference is interpreted as an instance of HVOOrganization/HVOOrganizationalUnit.

Supported operations