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
Contents:
This page provides a list of the FHIR artifacts defined as part of this implementation guide.
These define constraints on FHIR resources for systems conforming to this implementation guide.
Bundle with an imposed Permission |
Bundle includes an imposed Permission |
Permission with K-Anonymity |
Permission with the extension for K-Anonymity |
Permission with support for rule on Resource-Type |
Adds the PermissionResourceType extension to Permission.rule.data |
These define constraints on FHIR data types for systems conforming to this implementation guide.
Permission imposed K-Anonymity value |
When a limit needs to impose a specific K-Anonymity value. |
Permission imposed on a Bundle |
When a Bundle carries a Permissiont that must be enforced |
Permission rule by Resource Type |
When defining a Permission.rule where the data is a type of resource. Note that this might be possible with Expression, but I don't know how. |
Tagged data elements to be excluded on Permit |
When a Permission permits data, some of the elements of that data may need to be excluded. For example when exposing Practitioner resources to a Patient, the patient should not be given access to the Practitioner Home address and Phone. These elements would be tagged with a given security sensitivity tag, and this extension would indicate to exclude that given tagged data. |
These define sets of codes used by systems conforming to this implementation guide.
Current Roles in MyOrg |
MyOrg current security roles |
These define new code systems used by systems conforming to this implementation guide.
MyOrg defined Roles CodeSystem |
The codes for Roles in MyOrg Could possibly use the defined valueSet practitioner-role |
These are example instances that show what data produced and consumed by systems conforming with this implementation guide might look like.
A Permission for admin of the Directory |
This Permission has enables administrative changes to the Directory
|
A Permission with all the Directory rules |
This Permission has all the rules for the Directory. Permission allowing patient requested access to Practitioners, but protects the Practitioner sensitive location elements. Presumes Practitioner resources are tagged at the element level following DS4P Inline Security Labels that indicate the sensitive location elements using the This Permission encodes:
|
A Permission with all the Patient Directory rules |
This Permission has all the rules for the Patient Directory. Permission allowing patient requested access to Practitioners, but protects the Practitioner sensitive location elements. Presumes Practitioner resources are tagged at the element level following DS4P Inline Security Labels that indicate the sensitive location elements using the This Permission encodes:
|
Alt2: Permission allowing data to be used, but don't expose sensitive location elements |
Permission allowing patient requested access to Practitioners, but protects the Practitioner sensitive location elements. Presumes Practitioner resources are tagged at the element level following DS4P Inline Security Labels that indicate the sensitive location elements using the This alternative uses two rules, and leverages the combining algorithm
Using combining alrithm, the second rule applies to any otherwise permitted access. So it does need to be carefully combined with other permits such as permitting doctors full access to doctors. |
Consent Deny for Patient Directory |
Consent by the patient to Deny access to the Patient Directory following the Patient Directory policy.
|
Consent for Patient Directory |
Consent by the patient to allow access to the Patient Directory following the Patient Directory policy.
|
Consent for Patient Directory by Clinican |
Consent by the Clinician on behalf of the patient to allow access to the Patient Directory following the Patient Directory policy.
|
Consent that uses Overriding Permission for base rules |
Where there is a Permssion resource that describes the base policy, then a Consent can point at that Permission rather than a URL alone. |
Consent that uses Permission for rules |
Some would prefer to use the Permission rule encoding, and not the Consent.provision; thus the Consent is used to capture the ceremony, and points at a Permission for the rules. |
Dummy MeasureReport example |
Dummy MeasureReport example for completeness sake. No actual use of this resource other than an example target that is NOT patient specific. |
Dummy Organization example |
Dummy Organization example for completeness sake. No actual use of this resource other than an example target |
Dummy Patient example |
Dummy patient example for completeness sake. No actual use of this resource other than an example target |
Dummy Patient example with Religion |
This patient is the same as ex-patient, with the extension for religious affiliation. |
Dummy Practitioner de-sensitive example |
Dummy Practitioner example. This Practitioner has has been de-sensitized from ex-practitioner-sensitive. Note that because the data has been redacted then .meta.security will have tag |
Dummy Practitioner example |
Dummy Practitioner example for completeness sake. No actual use of this resource other than an example target |
Dummy Practitioner sensitive example |
Dummy Practitioner example. This Practitioner has some phone and address information that is tagged as sensitive location information. Note that because of this the Resource is tagged in .meta.security as having inline tags |
Example of a SearchSet Bundle with Permission |
Permission in a SearchSet Bundle |
Permission allowing data authored by a practitioner |
Permission allowing data authored by There is a Consent that captures the consent ceremony and setting
This Permission encodes
|
Permission allowing data authored by a practitioner |
Permission allowing data authored by There is a Consent that captures the consent ceremony and setting
This Permission encodes
|
Permission allowing data to be used, but don't expose sensitive location elements |
Permission allowing patient requested access to Practitioners, but protects the Practitioner sensitive location elements. Presumes Practitioner resources are tagged at the element level following DS4P Inline Security Labels that indicate the sensitive location elements using the |
Permission allowing data to be used, but with redisclosure condition |
Permission allowing requested use, but restricting redisclosure This Permission encodes
|
Permission allowing most sharing but NOT data authored by a practitioner |
Permission allowing most sharing of data but NOT data authored by a practitioner The Consent that captures the consent ceremony and setting:
This Permission encodes
|
Permission allowing most use but NOT a given practitioner |
Permission allowing most use of data but NOT a given practitioner This Permission encodes
|
Permission allowing most use but expires in a year |
Permission allowing most use of data but expires in a year. Note that this 'year' indication is based on absolute dates of issuing of the Permission, and use of Permission.validity. This Permission encodes
|
Permission expressing an overriding policy using ABAC |
As an overriding policy, this policy needs to express who can READ, who can CREATE, who can UPDATE, who can DELETE. |
Permission expressing an overriding policy using RBAC with Resource first |
As an overriding policy, this policy needs to express who can READ, who can CREATE, who can UPDATE, who can DELETE. |
Permission expressing an overriding policy using RBAC with Role first |
As an overriding policy, this policy needs to express who can READ, who can CREATE, who can UPDATE, who can DELETE. |
Permission require exposure to meet a given k-anonymity value |
Permission allowing use of data but requires exposure meet a given k-anonymity value. This Permission encodes
|
Permission showing how to allow only Doctors to be exposed |
Permission allowing patient requested access to Practitioners, BUT only Practitioners that have a PractitionerRole.code=#doctor |
PractitionerRole defining those that are Admin |
Admin |
PractitionerRole defining those that are Dietician |
Dietician |
PractitionerRole defining those that are Doctors |
Doctors |
PractitionerRole defining those that are Janitor |
Janitor |
PractitionerRole defining those that are Registration |
Registration |
Simple Permission of non-patient data |
Read-Only access to SANER report is authorized for PurposeOfUse of Public-Health compliance, from the Organizations. Access requests authorized shall be recorded. |