HL7 FHIR Implementation Guide: Data Access Policies
1.0.0-current - International flag

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

: Permission Rule Combining

Page standards status: Trial-use Maturity Level: 0

Raw json | Download

{
  "resourceType" : "CodeSystem",
  "id" : "permission-rule-combining",
  "meta" : {
    "lastUpdated" : "2022-08-05T10:01:24.148+11:00",
    "profile" : [
      🔗 "http://hl7.org/fhir/StructureDefinition/shareablecodesystem"
    ]
  },
  "language" : "en",
  "text" : {
    "status" : "generated",
    "div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p class=\"res-header-id\"><b>Generated Narrative: CodeSystem permission-rule-combining</b></p><a name=\"permission-rule-combining\"> </a><a name=\"hcpermission-rule-combining\"> </a><div style=\"display: inline-block; background-color: #d9e0e7; padding: 6px; margin: 4px; border: 1px solid #8da1b4; border-radius: 5px; line-height: 60%\"><p style=\"margin-bottom: 0px\">Last updated: 2022-08-05 10:01:24+1100</p><p style=\"margin-bottom: 0px\">Profile: <a href=\"http://hl7.org/fhir/R5/shareablecodesystem.html\">Shareable CodeSystem</a></p></div><p>This case-sensitive code system <code>http://hl7.org/fhir/permission-rule-combining</code> defines the following codes:</p><table class=\"codes\"><tr><td style=\"white-space:nowrap\"><b>Code</b></td><td><b>Display</b></td><td><b>Definition</b></td></tr><tr><td style=\"white-space:nowrap\">deny-overrides<a name=\"permission-rule-combining-deny-overrides\"> </a></td><td>Deny-overrides</td><td>The deny overrides combining algorithm is intended for those cases where a deny decision should have priority over a permit decision.</td></tr><tr><td style=\"white-space:nowrap\">permit-overrides<a name=\"permission-rule-combining-permit-overrides\"> </a></td><td>Permit-overrides</td><td>The permit overrides combining algorithm is intended for those cases where a permit decision should have priority over a deny decision.</td></tr><tr><td style=\"white-space:nowrap\">ordered-deny-overrides<a name=\"permission-rule-combining-ordered-deny-overrides\"> </a></td><td>Ordered-deny-overrides</td><td>The behavior of this algorithm is identical to that of the “Deny-overrides” rule-combining algorithm with one exception.  The order in which the collection of rules is evaluated SHALL match the order as listed in the permission.</td></tr><tr><td style=\"white-space:nowrap\">ordered-permit-overrides<a name=\"permission-rule-combining-ordered-permit-overrides\"> </a></td><td>Ordered-permit-overrides</td><td>The behavior of this algorithm is identical to that of the “Permit-overrides” rule-combining algorithm with one exception.  The order in which the collection of rules is evaluated SHALL match the order as listed in the permission.</td></tr><tr><td style=\"white-space:nowrap\">deny-unless-permit<a name=\"permission-rule-combining-deny-unless-permit\"> </a></td><td>Deny-unless-permit</td><td>The “Deny-unless-permit” combining algorithm is intended for those cases where a permit decision should have priority over a deny decision, and an “Indeterminate” or “NotApplicable” must never be the result. It is particularly useful at the top level in a policy structure to ensure that a PDP will always return a definite “Permit” or “Deny” result.</td></tr><tr><td style=\"white-space:nowrap\">permit-unless-deny<a name=\"permission-rule-combining-permit-unless-deny\"> </a></td><td>Permit-unless-deny</td><td>The “Permit-unless-deny” combining algorithm is intended for those cases where a deny decision should have priority over a permit decision, and an “Indeterminate” or “NotApplicable” must never be the result. It is particularly useful at the top level in a policy structure to ensure that a PDP will always return a definite “Permit” or “Deny” result. This algorithm has the following behavior.</td></tr></table></div>"
  },
  "extension" : [
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
      "valueCode" : "sec"
    },
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status",
      "valueCode" : "trial-use"
    },
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
      "valueInteger" : 0
    }
  ],
  "url" : "http://hl7.org/fhir/permission-rule-combining",
  "identifier" : [
    {
      "system" : "urn:ietf:rfc:3986",
      "value" : "urn:oid:2.16.840.1.113883.4.642.4.2070"
    }
  ],
  "version" : "1.0.0-current",
  "name" : "PermissionRuleCombining",
  "title" : "Permission Rule Combining",
  "status" : "active",
  "experimental" : false,
  "date" : "2022-08-05T10:01:24+11:00",
  "publisher" : "HL7 International / Security",
  "contact" : [
    {
      "name" : "HL7 International / Security",
      "telecom" : [
        {
          "system" : "url",
          "value" : "http://www.hl7.org/Special/committees/secure"
        },
        {
          "system" : "email",
          "value" : "security-cc@lists.hl7.org"
        }
      ]
    },
    {
      "name" : "John Moehrke",
      "telecom" : [
        {
          "system" : "email",
          "value" : "johnmoehrke@gmail.com",
          "use" : "work"
        }
      ]
    },
    {
      "name" : "HL7 Security Work Group",
      "telecom" : [
        {
          "system" : "url",
          "value" : "http://www.hl7.org/Special/committees/secure/index.cfm"
        }
      ]
    }
  ],
  "description" : "Codes identifying the rule combining. See XACML Combining algorithms  http://docs.oasis-open.org/xacml/3.0/xacml-3.0-core-spec-cos01-en.html",
  "jurisdiction" : [
    {
      "coding" : [
        {
          "system" : "http://unstats.un.org/unsd/methods/m49/m49.htm",
          "code" : "001"
        }
      ]
    }
  ],
  "caseSensitive" : true,
  "content" : "complete",
  "concept" : [
    {
      "code" : "deny-overrides",
      "display" : "Deny-overrides",
      "definition" : "The deny overrides combining algorithm is intended for those cases where a deny decision should have priority over a permit decision."
    },
    {
      "code" : "permit-overrides",
      "display" : "Permit-overrides",
      "definition" : "The permit overrides combining algorithm is intended for those cases where a permit decision should have priority over a deny decision."
    },
    {
      "code" : "ordered-deny-overrides",
      "display" : "Ordered-deny-overrides",
      "definition" : "The behavior of this algorithm is identical to that of the “Deny-overrides” rule-combining algorithm with one exception.  The order in which the collection of rules is evaluated SHALL match the order as listed in the permission."
    },
    {
      "code" : "ordered-permit-overrides",
      "display" : "Ordered-permit-overrides",
      "definition" : "The behavior of this algorithm is identical to that of the “Permit-overrides” rule-combining algorithm with one exception.  The order in which the collection of rules is evaluated SHALL match the order as listed in the permission."
    },
    {
      "code" : "deny-unless-permit",
      "display" : "Deny-unless-permit",
      "definition" : "The “Deny-unless-permit” combining algorithm is intended for those cases where a permit decision should have priority over a deny decision, and an “Indeterminate” or “NotApplicable” must never be the result. It is particularly useful at the top level in a policy structure to ensure that a PDP will always return a definite “Permit” or “Deny” result."
    },
    {
      "code" : "permit-unless-deny",
      "display" : "Permit-unless-deny",
      "definition" : "The “Permit-unless-deny” combining algorithm is intended for those cases where a deny decision should have priority over a permit decision, and an “Indeterminate” or “NotApplicable” must never be the result. It is particularly useful at the top level in a policy structure to ensure that a PDP will always return a definite “Permit” or “Deny” result. This algorithm has the following behavior."
    }
  ]
}