{
  "resourceType": "StructureDefinition",
  "id": "AccessPolicy",
  "url": "http://hl7.org/fhir/StructureDefinition/AccessPolicy",
  "version": "1.0.0",
  "name": "AccessPolicy",
  "status": "active",
  "experimental": false,
  "date": "2022-12-07T00:00:00Z",
  "publisher": "Firely",
  "contact": [
    {
      "telecom": [
        {
          "system": "url",
          "value": "htts://fire.ly"
        }
      ]
    }
  ],
  "description": "A concrete representation of an access policy for a specific user. This resource is used to describe for which user a set of access policies shall be applied when evaluating a request against the FHIR server.",
  "fhirVersion": "3.0.2",
  "kind": "resource",
  "abstract": false,
  "type": "AccessPolicy",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
  "derivation": "specialization",
  "differential": {
    "element": [
      {
        "id": "AccessPolicy",
        "path": "AccessPolicy",
        "short": "A concrete representation of an access policy for a specific user.",
        "definition": "A concrete representation of an access policy for a specific user. This resource is used to describe for which user a set of access policies shall be applied when evaluating a request against the FHIR server.",
        "min": 0,
        "max": "*"
      },
      {
        "id": "AccessPolicy.instantiatesUri",
        "path": "AccessPolicy.instantiatesUri",
        "short": "Formal definition of policy.",
        "definition": "Formal definition of policy. Should be a versioned canonical.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "uri",
            "targetProfile": "http://fire.ly/fhir/StructureDefinition/AccessPolicyDefinition"
          }
        ]
      },
      {
        "id": "AccessPolicy.subject",
        "path": "AccessPolicy.subject",
        "min": 1,
        "max": "*",
        "type": [
          {
            "code": "Reference",
            "targetProfile": "Patient"
          },
          {
            "code": "Reference",
            "targetProfile": "Group"
          },
          {
            "code": "Reference",
            "targetProfile": "Practitioner"
          },
          {
            "code": "Reference",
            "targetProfile": "PractitionerRole"
          },
          {
            "code": "Reference",
            "targetProfile": "Person"
          },
          {
            "code": "Reference",
            "targetProfile": "RelatedPerson"
          },
          {
            "code": "Reference",
            "targetProfile": "Device"
          }
        ]
      }
    ]
  }
}