{
  "resourceType": "StructureDefinition",
  "id": "Permission",
  "meta": {
    "lastUpdated": "2021-01-01T21:58:31.578+00:00"
  },
  "extension": [
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-category",
      "valueString": "Foundation.Security"
    },
    {
      "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/StructureDefinition/structuredefinition-security-category",
      "valueCode": "not-classified"
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
      "valueCode": "sec"
    },
    {
      "url": "http://hl7.org/fhir/build/StructureDefinition/entered-in-error-status",
      "valueCode": ".status = entered-in-error"
    }
  ],
  "url": "http://hl7.org/fhir/StructureDefinition/Permission",
  "version": "4.6.0",
  "name": "Permission",
  "status": "draft",
  "date": "2021-01-01T21:58:31+00:00",
  "publisher": "Health Level Seven International (Security)",
  "contact": [
    {
      "telecom": [
        {
          "system": "url",
          "value": "http://hl7.org/fhir"
        }
      ]
    },
    {
      "telecom": [
        {
          "system": "url",
          "value": "http://www.hl7.org/Special/committees/secure/index.cfm"
        }
      ]
    }
  ],
  "description": "Permission.",
  "fhirVersion": "4.6.0",
  "mapping": [
    {
      "identity": "w5",
      "uri": "http://hl7.org/fhir/fivews",
      "name": "FiveWs Pattern Mapping"
    },
    {
      "identity": "rim",
      "uri": "http://hl7.org/v3",
      "name": "RIM Mapping"
    }
  ],
  "kind": "resource",
  "abstract": false,
  "type": "Permission",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
  "derivation": "specialization",
  "differential": {
    "element": [
      {
        "id": "Permission",
        "path": "Permission",
        "short": "Permission",
        "definition": "Permission.",
        "min": 0,
        "max": "*",
        "mapping": [
          {
            "identity": "w5",
            "map": "infrastructure.information"
          }
        ]
      },
      {
        "id": "Permission.status",
        "path": "Permission.status",
        "short": "active | entered-in-error | draft | rejected",
        "definition": "Status.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "code"
          }
        ],
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "PermissionStatus"
            }
          ],
          "strength": "required",
          "description": "Codes identifying the lifecycle stage of a product.",
          "valueSet": "http://hl7.org/fhir/ValueSet/permission-status"
        }
      },
      {
        "id": "Permission.intent",
        "path": "Permission.intent",
        "short": "grant|refuse",
        "definition": "grant|refuse.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "isSummary": true
      },
      {
        "id": "Permission.asserter",
        "path": "Permission.asserter",
        "short": "The person or entity that asserts the permission",
        "definition": "The person or entity that asserts the permission.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.org/fhir/StructureDefinition/Practitioner",
              "http://hl7.org/fhir/StructureDefinition/PractitionerRole",
              "http://hl7.org/fhir/StructureDefinition/Organization",
              "http://hl7.org/fhir/StructureDefinition/CareTeam",
              "http://hl7.org/fhir/StructureDefinition/Patient",
              "http://hl7.org/fhir/StructureDefinition/Device",
              "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
            ]
          }
        ],
        "isSummary": true
      },
      {
        "id": "Permission.assertionDate",
        "path": "Permission.assertionDate",
        "short": "The date that permission was asserted",
        "definition": "The date that permission was asserted.",
        "alias": [
          "class"
        ],
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "dateTime"
          }
        ],
        "isSummary": true
      },
      {
        "id": "Permission.validity",
        "path": "Permission.validity",
        "short": "The period in which the permission is active",
        "definition": "The period in which the permission is active.",
        "alias": [
          "type"
        ],
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Period"
          }
        ],
        "isSummary": true
      },
      {
        "id": "Permission.purpose",
        "path": "Permission.purpose",
        "short": "The purpose for which the permission is given",
        "definition": "The purpose for which the permission is given.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "isSummary": true
      },
      {
        "id": "Permission.dataScope",
        "path": "Permission.dataScope",
        "short": "This can be 1) the definition of data elements, or 2) a category or label) e.g. “sensitive”. It could also be a c) graph-like definition of a set of data elements",
        "definition": "This can be 1) the definition of data elements, or 2) a category or label) e.g. “sensitive”. It could also be a c) graph-like definition of a set of data elements.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "Expression"
          }
        ],
        "isSummary": true
      },
      {
        "id": "Permission.processingActivity",
        "path": "Permission.processingActivity",
        "short": "A 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.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "BackboneElement"
          }
        ],
        "isSummary": true
      },
      {
        "id": "Permission.processingActivity.partyReference",
        "path": "Permission.processingActivity.partyReference",
        "short": "If the processing is a transfer, we must capture where it the data allowed or expected to be shared - with a party or person",
        "definition": "If the processing is a transfer, we must capture where it the data allowed or expected to be shared - with a party or person.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.org/fhir/StructureDefinition/Organization"
            ]
          }
        ],
        "isSummary": true
      },
      {
        "id": "Permission.processingActivity.partyCodeableConcept",
        "path": "Permission.processingActivity.partyCodeableConcept",
        "short": "If the processing is a transfer, or involves another party, we must capture where it the data allowed or expected to be shared - with a party or person. This can be a party instance or party type\n§ Purpose – a specific purpose of the data",
        "definition": "If the processing is a transfer, or involves another party, we must capture where it the data allowed or expected to be shared - with a party or person. This can be a party instance or party type\n§ Purpose – a specific purpose of the data.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "isSummary": true
      },
      {
        "id": "Permission.processingActivity.purpose",
        "path": "Permission.processingActivity.purpose",
        "short": "The purpose for which the permission is given",
        "definition": "The purpose for which the permission is given.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "isSummary": true
      },
      {
        "id": "Permission.justification",
        "path": "Permission.justification",
        "short": "The asserted justification for using the data",
        "definition": "The asserted justification for using the data.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "BackboneElement"
          }
        ],
        "isSummary": true
      },
      {
        "id": "Permission.justification.evidence",
        "path": "Permission.justification.evidence",
        "short": "Evidence – reference to consent, or a contract, or a policy, or a regulation, or an attachment that contains a screenshot",
        "definition": "Evidence – reference to consent, or a contract, or a policy, or a regulation, or an attachment that contains a screenshot.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.org/fhir/StructureDefinition/Consent"
            ]
          }
        ],
        "isSummary": true
      },
      {
        "id": "Permission.justification.grounds",
        "path": "Permission.justification.grounds",
        "short": "This would be a codeableconcept, or a coding, which can be constrained to , for example, the 6 grounds for processing in GDPR",
        "definition": "This would be a codeableconcept, or a coding, which can be constrained to , for example, the 6 grounds for processing in GDPR.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "isSummary": true
      },
      {
        "id": "Permission.usageLimitations",
        "path": "Permission.usageLimitations",
        "short": "What limits apply to the use of the data",
        "definition": "What limits apply to the use of the data.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "isSummary": true
      }
    ]
  }
}