Validated Healthcare Directory
0.2.0 - CI Build United States of America flag

Validated Healthcare Directory, published by HL7 International - Patient Administration Work Group. This is not an authorized publication; it is the continuous build for version 0.2.0). This version is based on the current content of https://github.com/HL7/VhDir/ and changes regularly. See the Directory of published versions

Resource Profile: VhDir Restriction

Official URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/vhdir-restriction Version: 0.2.0
Active as of 2017-12-15 Computable Name: VhdirRestriction

Copyright/Legal: Used by permission of HL7 International all rights reserved Creative Commons License

Restriction on use/release of exchanged information

This profile sets minimum expectations for searching for and fetching information associated with a restriction. It identifies which core elements, extensions, vocabularies and value sets SHALL be present in the Consent resource when using this profile.

Background and Context

The FHIR specification contains a security meta tag which can be used to inform systems of the sensitivity of resources. The tag can be used by access control mechanisms to ensure content isn’t exposed inappropriately. However, the security meta tag can only indicate sensitivity at the resource level, and provides relatively little context about the restriction.

This implementation guide profiles the Consent resource to provide additional details about the nature of restrictions on content passed from the validated healthcare directory to downstream workflow environments.

The restriction profile consists of the following elements:

  • consent.status indicates whether the restriction is active
  • consent.category describes the type of restriction (e.g. the data may be further disclosed by the downstream workflow environment per the terms of a Data Use Agreement)
  • consent.dateTime indicates when the restriction was last updated
  • consent.policy references a policy or policies defining the restriction
  • consent.provision defines access rights for restricted content

Examples:

The following are example uses for the vhdir-restriction profile:

Mandatory Data Elements

The following data-elements are mandatory (i.e data MUST be present). These are presented below in a simple human-readable explanation. The Formal Profile Definition below provides the formal summary, definitions, and terminology requirements.

Each Consent resource must have:

  1. A coded value representing the status of the restriction in consent.status
  2. At least one coded and/or text value describing the type of restriction in consent.category
  3. At least one actor when describing access rights via consent.provision. Each actor must include a reference to a practitioner, organization, care team, or group. The role of each actor is fixed to code “IRCP” (information recipient) from the code system defined at http://hl7.org/fhir/v3/ParticipationType

Profile specific implementation guidance:

This resource is expected to be a contained resource in the resources whose content is restricted by it. Therefore, there are no restful interactions defined for this resource type.

Terminology

TBD

Usage:

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

This structure is derived from Consent

NameFlagsCard.TypeDescription & Constraintsdoco
.. Consent 0..*ConsentA policy may permit or deny recipients or roles to perform actions for specific purposes and periods of time
... identifier S0..0
... status S1..1codeIndicates the current state of this restriction
... scope S1..1CodeableConceptWhich of the four areas this resource covers (extensible)
Binding: VhDir Consent Value Set (extensible)
... category S1..*CodeableConceptType of restriction
... patient S0..0
... dateTime S0..1dateTimedate/time of last update for this restriction
... performer S0..0
... organization S0..0
... source[x] S0..0
... policy S0..*BackboneElementPolicies covered by this consent
.... authority S0..0
.... uri S0..1uriSpecific policy covered by this restriction
... policyRule S0..0
... verification S0..0
... provision S0..1BackboneElementAccess rights
.... type S0..1codedeny | permit
Fixed Value: permit
.... period S0..0
.... actor S1..*BackboneElementWho|what controlled by this rule (or group, by role)
..... role S1..1CodeableConceptHow the actor is involved
..... reference S1..1Reference(VhDir Organization | VhDir Care Team | VhDir Practitioner)definedUserOrGroup
.... action S0..1CodeableConceptreasonType
.... securityLabel S0..*CodinguserType
.... purpose S0..*CodingreasonName
.... class S0..0
.... code S0..0
.... dataPeriod S0..0
.... data S0..0
.... provision S0..0

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
Consent.scopeextensibleVhDirConsent
NameFlagsCard.TypeDescription & Constraintsdoco
.. Consent C0..*ConsentA policy may permit or deny recipients or roles to perform actions for specific purposes and periods of time
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... status ?!SΣ1..1codeIndicates the current state of this restriction
Binding: ConsentState (required): Indicates the state of the consent.

... scope ?!SΣ1..1CodeableConceptWhich of the four areas this resource covers (extensible)
Binding: VhDir Consent Value Set (extensible)
... category SΣ1..*CodeableConceptType of restriction
Binding: ConsentCategoryCodes (extensible): A classification of the type of consents found in a consent statement.


... dateTime SΣ0..1dateTimedate/time of last update for this restriction
... policy S0..*BackboneElementPolicies covered by this consent
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... uri SC0..1uriSpecific policy covered by this restriction
... provision SΣ0..1BackboneElementAccess rights
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... type SΣ0..1codedeny | permit
Binding: ConsentProvisionType (required): How a rule statement is applied, such as adding additional consent or removing consent.


Fixed Value: permit
.... actor S1..*BackboneElementWho|what controlled by this rule (or group, by role)
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... role S1..1CodeableConceptHow the actor is involved
Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations.

..... reference S1..1Reference(VhDir Organization | VhDir Care Team | VhDir Practitioner)definedUserOrGroup
.... action SΣ0..1CodeableConceptreasonType
Binding: ConsentActionCodes (example): Detailed codes for the consent action.


.... securityLabel SΣ0..*CodinguserType
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.


.... purpose SΣ0..*CodingreasonName
Binding: PurposeOfUse (extensible): What purposes of use are controlled by this exception. If more than one label is specified, operations must have all the specified labels.



doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
Consent.statusrequiredConsentState
Consent.scopeextensibleVhDirConsent
Consent.categoryextensibleConsentCategoryCodes
Consent.provision.typerequiredFixed Value: permit
Consent.provision.actor.roleextensibleSecurityRoleType
Consent.provision.actionexampleConsentActionCodes
Consent.provision.securityLabelextensibleAll Security Labels
Consent.provision.purposeextensiblePurposeOfUse
Consent.provision.data.meaningrequiredConsentDataMeaning
NameFlagsCard.TypeDescription & Constraintsdoco
.. Consent C0..*ConsentA policy may permit or deny recipients or roles to perform actions for specific purposes and periods of time
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... status ?!SΣ1..1codeIndicates the current state of this restriction
Binding: ConsentState (required): Indicates the state of the consent.

... scope ?!SΣ1..1CodeableConceptWhich of the four areas this resource covers (extensible)
Binding: VhDir Consent Value Set (extensible)
... category SΣ1..*CodeableConceptType of restriction
Binding: ConsentCategoryCodes (extensible): A classification of the type of consents found in a consent statement.


... dateTime SΣ0..1dateTimedate/time of last update for this restriction
... policy S0..*BackboneElementPolicies covered by this consent
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... uri SC0..1uriSpecific policy covered by this restriction
... provision SΣ0..1BackboneElementAccess rights
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... type SΣ0..1codedeny | permit
Binding: ConsentProvisionType (required): How a rule statement is applied, such as adding additional consent or removing consent.


Fixed Value: permit
.... actor S1..*BackboneElementWho|what controlled by this rule (or group, by role)
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... role S1..1CodeableConceptHow the actor is involved
Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations.

..... reference S1..1Reference(VhDir Organization | VhDir Care Team | VhDir Practitioner)definedUserOrGroup
.... action SΣ0..1CodeableConceptreasonType
Binding: ConsentActionCodes (example): Detailed codes for the consent action.


.... securityLabel SΣ0..*CodinguserType
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.


.... purpose SΣ0..*CodingreasonName
Binding: PurposeOfUse (extensible): What purposes of use are controlled by this exception. If more than one label is specified, operations must have all the specified labels.



doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
Consent.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
Consent.statusrequiredConsentState
Consent.scopeextensibleVhDirConsent
Consent.categoryextensibleConsentCategoryCodes
Consent.provision.typerequiredFixed Value: permit
Consent.provision.actor.roleextensibleSecurityRoleType
Consent.provision.actionexampleConsentActionCodes
Consent.provision.securityLabelextensibleAll Security Labels
Consent.provision.purposeextensiblePurposeOfUse
Consent.provision.data.meaningrequiredConsentDataMeaning

This structure is derived from Consent

Summary

Mandatory: 0 element (1 nested mandatory element)
Must-Support: 33 elements
Fixed Value: 1 element
Prohibited: 14 elements

Structures

This structure refers to these other structures:

Differential View

This structure is derived from Consent

NameFlagsCard.TypeDescription & Constraintsdoco
.. Consent 0..*ConsentA policy may permit or deny recipients or roles to perform actions for specific purposes and periods of time
... identifier S0..0
... status S1..1codeIndicates the current state of this restriction
... scope S1..1CodeableConceptWhich of the four areas this resource covers (extensible)
Binding: VhDir Consent Value Set (extensible)
... category S1..*CodeableConceptType of restriction
... patient S0..0
... dateTime S0..1dateTimedate/time of last update for this restriction
... performer S0..0
... organization S0..0
... source[x] S0..0
... policy S0..*BackboneElementPolicies covered by this consent
.... authority S0..0
.... uri S0..1uriSpecific policy covered by this restriction
... policyRule S0..0
... verification S0..0
... provision S0..1BackboneElementAccess rights
.... type S0..1codedeny | permit
Fixed Value: permit
.... period S0..0
.... actor S1..*BackboneElementWho|what controlled by this rule (or group, by role)
..... role S1..1CodeableConceptHow the actor is involved
..... reference S1..1Reference(VhDir Organization | VhDir Care Team | VhDir Practitioner)definedUserOrGroup
.... action S0..1CodeableConceptreasonType
.... securityLabel S0..*CodinguserType
.... purpose S0..*CodingreasonName
.... class S0..0
.... code S0..0
.... dataPeriod S0..0
.... data S0..0
.... provision S0..0

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
Consent.scopeextensibleVhDirConsent

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Consent C0..*ConsentA policy may permit or deny recipients or roles to perform actions for specific purposes and periods of time
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... status ?!SΣ1..1codeIndicates the current state of this restriction
Binding: ConsentState (required): Indicates the state of the consent.

... scope ?!SΣ1..1CodeableConceptWhich of the four areas this resource covers (extensible)
Binding: VhDir Consent Value Set (extensible)
... category SΣ1..*CodeableConceptType of restriction
Binding: ConsentCategoryCodes (extensible): A classification of the type of consents found in a consent statement.


... dateTime SΣ0..1dateTimedate/time of last update for this restriction
... policy S0..*BackboneElementPolicies covered by this consent
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... uri SC0..1uriSpecific policy covered by this restriction
... provision SΣ0..1BackboneElementAccess rights
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... type SΣ0..1codedeny | permit
Binding: ConsentProvisionType (required): How a rule statement is applied, such as adding additional consent or removing consent.


Fixed Value: permit
.... actor S1..*BackboneElementWho|what controlled by this rule (or group, by role)
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... role S1..1CodeableConceptHow the actor is involved
Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations.

..... reference S1..1Reference(VhDir Organization | VhDir Care Team | VhDir Practitioner)definedUserOrGroup
.... action SΣ0..1CodeableConceptreasonType
Binding: ConsentActionCodes (example): Detailed codes for the consent action.


.... securityLabel SΣ0..*CodinguserType
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.


.... purpose SΣ0..*CodingreasonName
Binding: PurposeOfUse (extensible): What purposes of use are controlled by this exception. If more than one label is specified, operations must have all the specified labels.



doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
Consent.statusrequiredConsentState
Consent.scopeextensibleVhDirConsent
Consent.categoryextensibleConsentCategoryCodes
Consent.provision.typerequiredFixed Value: permit
Consent.provision.actor.roleextensibleSecurityRoleType
Consent.provision.actionexampleConsentActionCodes
Consent.provision.securityLabelextensibleAll Security Labels
Consent.provision.purposeextensiblePurposeOfUse
Consent.provision.data.meaningrequiredConsentDataMeaning

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Consent C0..*ConsentA policy may permit or deny recipients or roles to perform actions for specific purposes and periods of time
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... status ?!SΣ1..1codeIndicates the current state of this restriction
Binding: ConsentState (required): Indicates the state of the consent.

... scope ?!SΣ1..1CodeableConceptWhich of the four areas this resource covers (extensible)
Binding: VhDir Consent Value Set (extensible)
... category SΣ1..*CodeableConceptType of restriction
Binding: ConsentCategoryCodes (extensible): A classification of the type of consents found in a consent statement.


... dateTime SΣ0..1dateTimedate/time of last update for this restriction
... policy S0..*BackboneElementPolicies covered by this consent
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... uri SC0..1uriSpecific policy covered by this restriction
... provision SΣ0..1BackboneElementAccess rights
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... type SΣ0..1codedeny | permit
Binding: ConsentProvisionType (required): How a rule statement is applied, such as adding additional consent or removing consent.


Fixed Value: permit
.... actor S1..*BackboneElementWho|what controlled by this rule (or group, by role)
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... role S1..1CodeableConceptHow the actor is involved
Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations.

..... reference S1..1Reference(VhDir Organization | VhDir Care Team | VhDir Practitioner)definedUserOrGroup
.... action SΣ0..1CodeableConceptreasonType
Binding: ConsentActionCodes (example): Detailed codes for the consent action.


.... securityLabel SΣ0..*CodinguserType
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.


.... purpose SΣ0..*CodingreasonName
Binding: PurposeOfUse (extensible): What purposes of use are controlled by this exception. If more than one label is specified, operations must have all the specified labels.



doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
Consent.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
Consent.statusrequiredConsentState
Consent.scopeextensibleVhDirConsent
Consent.categoryextensibleConsentCategoryCodes
Consent.provision.typerequiredFixed Value: permit
Consent.provision.actor.roleextensibleSecurityRoleType
Consent.provision.actionexampleConsentActionCodes
Consent.provision.securityLabelextensibleAll Security Labels
Consent.provision.purposeextensiblePurposeOfUse
Consent.provision.data.meaningrequiredConsentDataMeaning

This structure is derived from Consent

Summary

Mandatory: 0 element (1 nested mandatory element)
Must-Support: 33 elements
Fixed Value: 1 element
Prohibited: 14 elements

Structures

This structure refers to these other structures:

 

Other representations of profile: CSV, Excel, Schematron

Notes:

Because this resource is expected to be a contained resource in the resources whose content is restricted, there are no RESTful interactions defined for this profile.