{
  "resourceType": "StructureDefinition",
  "id": "AccessPolicyDefinition",
  "meta": {
    "lastUpdated": "2022-12-06T23:00:00+00:00"
  },
  "extension": [
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-implements",
      "valueUri": "http://hl7.org/fhir/StructureDefinition/CanonicalResource"
    },
    {
      "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": "anonymous"
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
      "valueCode": "fhir"
    }
  ],
  "url": "http://fire.ly/fhir/StructureDefinition/AccessPolicyDefinition",
  "version": "1.0.0",
  "name": "AccessPolicyDefinition",
  "status": "active",
  "experimental": false,
  "date": "2022-12-06T23:00:00+00:00",
  "publisher": "Firely",
  "contact": [
    {
      "telecom": [
        {
          "system": "url",
          "value": "htts://fire.ly"
        }
      ]
    }
  ],
  "description": "A definition of an access policy. This resource is used to describe the underlying policies, evaluated by a FHIR server, to determine which resources a user is allowed to access.",
  "fhirVersion": "4.0.1",
  "kind": "resource",
  "abstract": false,
  "type": "AccessPolicyDefinition",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
  "derivation": "specialization",
  "differential": {
    "element": [
      {
        "id": "AccessPolicyDefinition",
        "path": "AccessPolicyDefinition",
        "short": "Definition of an access policy.",
        "definition": "A definition of an access policy. This resource is used to describe the underlying policies, evaluated by a FHIR server, to determine which resources a user is allowed to access.",
        "min": 0,
        "max": "*"
      },
      {
        "id": "AccessPolicyDefinition.url",
        "path": "AccessPolicyDefinition.url",
        "short": "Canonical identifier for this structure definition, represented as a URI (globally unique)",
        "definition": "An absolute URI that is used to identify this structure definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this structure definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the structure definition is stored on different servers.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "uri"
          }
        ]
      },
      {
        "id": "AccessPolicyDefinition.identifier",
        "path": "AccessPolicyDefinition.identifier",
        "short": "Additional identifier for the structure definition",
        "definition": "A formal identifier that is used to identify this structure definition when it is represented in other formats, or referenced in a specification, model, design or an instance.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "Identifier"
          }
        ]
      },
      {
        "id": "AccessPolicyDefinition.version",
        "path": "AccessPolicyDefinition.version",
        "short": "Business version of the structure definition",
        "definition": "The identifier that is used to identify this version of the structure definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the structure definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "AccessPolicyDefinition.versionAlgorithm[x]",
        "path": "AccessPolicyDefinition.versionAlgorithm[x]",
        "short": "How to compare versions",
        "definition": "Indicates the mechanism used to compare versions to determine which is more current.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          },
          {
            "code": "Coding"
          }
        ]
      },
      {
        "id": "AccessPolicyDefinition.name",
        "path": "AccessPolicyDefinition.name",
        "short": "Name for this structure definition (computer friendly)",
        "definition": "A natural language name identifying the structure definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "AccessPolicyDefinition.title",
        "path": "AccessPolicyDefinition.title",
        "short": "Name for this structure definition (human friendly)",
        "definition": "A short, descriptive, user-friendly title for the structure definition.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "AccessPolicyDefinition.status",
        "path": "AccessPolicyDefinition.status",
        "short": "draft | active | retired | unknown",
        "definition": "The status of this structure definition. Enables tracking the life-cycle of the content.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "code"
          }
        ],
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "PublicationStatus"
            },
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
              "valueBoolean": true
            }
          ],
          "strength": "required",
          "description": "The lifecycle status of an artifact.",
          "valueSet": "http://hl7.org/fhir/ValueSet/publication-status"
        }
      },
      {
        "id": "AccessPolicyDefinition.experimental",
        "path": "AccessPolicyDefinition.experimental",
        "short": "For testing purposes, not real usage",
        "definition": "A Boolean value to indicate that this structure definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "boolean"
          }
        ],
        "meaningWhenMissing": "If absent, this resource is treated as though it is not experimental."
      },
      {
        "id": "AccessPolicyDefinition.date",
        "path": "AccessPolicyDefinition.date",
        "short": "Date last changed",
        "definition": "The date  (and optionally time) when the structure definition was last significantly changed. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the structure definition changes.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "dateTime"
          }
        ]
      },
      {
        "id": "AccessPolicyDefinition.publisher",
        "path": "AccessPolicyDefinition.publisher",
        "short": "Name of the publisher/steward (organization or individual)",
        "definition": "The name of the organization or individual responsible for the release and ongoing maintenance of the structure definition.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "AccessPolicyDefinition.contact",
        "path": "AccessPolicyDefinition.contact",
        "short": "Contact details for the publisher",
        "definition": "Contact details to assist a user in finding and communicating with the publisher.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "ContactDetail"
          }
        ]
      },
      {
        "id": "AccessPolicyDefinition.description",
        "path": "AccessPolicyDefinition.description",
        "short": "Natural language description of the structure definition",
        "definition": "A free text natural language description of the structure definition from a consumer's perspective.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "markdown"
          }
        ]
      },
      {
        "id": "AccessPolicyDefinition.useContext",
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status",
            "valueCode": "trial-use"
          }
        ],
        "path": "AccessPolicyDefinition.useContext",
        "short": "The context that the content is intended to support",
        "definition": "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate structure definition instances.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "UsageContext"
          }
        ]
      },
      {
        "id": "AccessPolicyDefinition.jurisdiction",
        "path": "AccessPolicyDefinition.jurisdiction",
        "short": "Intended jurisdiction for structure definition (if applicable)",
        "definition": "A legal or geographic region in which the structure definition is intended to be used.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "Jurisdiction"
            },
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
              "valueBoolean": true
            }
          ],
          "strength": "extensible",
          "description": "Countries and regions within which this artifact is targeted for use.",
          "valueSet": "http://hl7.org/fhir/ValueSet/jurisdiction"
        }
      },
      {
        "id": "AccessPolicyDefinition.purpose",
        "path": "AccessPolicyDefinition.purpose",
        "short": "Why this structure definition is defined",
        "definition": "Explanation of why this structure definition is needed and why it has been designed as it has.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "markdown"
          }
        ]
      },
      {
        "id": "AccessPolicyDefinition.copyright",
        "path": "AccessPolicyDefinition.copyright",
        "short": "Use and/or publishing restrictions",
        "definition": "A copyright statement relating to the structure definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the structure definition.  The short copyright declaration (e.g. (c) '2015+ xyz organization' should be sent in the copyrightLabel element.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "markdown"
          }
        ]
      },
      {
        "id": "AccessPolicyDefinition.copyrightLabel",
        "path": "AccessPolicyDefinition.copyrightLabel",
        "short": "Copyright holder and year(s)",
        "definition": "A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "AccessPolicyDefinition.policy",
        "path": "AccessPolicyDefinition.policy",
        "short": "Policy defining access control rights.",
        "definition": "Policy defining access control rights. All policies apply as a union. The FHIR Server should enforce the policies in combination with access rights applying to the client accessing the FHIR Server (e.g. SMART on FHIR scopes provided in an access token).",
        "min": 1,
        "max": "*",
        "type": [
          {
            "code": "BackboneElement"
          }
        ]
      },
      {
        "id": "AccessPolicyDefinition.policy.type",
        "path": "AccessPolicyDefinition.policy.type",
        "short": "smart-v1 | smart-v2",
        "definition": "Classification of the access policy.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "Coding"
          }
        ],
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "AccessPolicyType"
            },
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
              "valueBoolean": false
            }
          ],
          "strength": "required",
          "description": "Classification of the access policy.",
          "valueSet": "https://fire.ly/fhir/ValueSet/AccessPolicyType"
        }
      },
      {
        "id": "AccessPolicyDefinition.policy.restriction",
        "path": "AccessPolicyDefinition.policy.restriction",
        "short": "List of additional restrictions to apply to the user's access control rights.",
        "definition": "List of additional restrictions to apply to the user's access control rights. Restricions are applied using a syntax defined by AccessPolicyDefinition.policy.type.",
        "min": 1,
        "max": "*",
        "type": [
          {
            "code": "string"
          }
        ]
      }
    ]
  }
}