{
"description": null,
"_filename": "StructureDefinition-AccessPolicy.json",
"package_name": "io.health-samurai.core.r4",
"date": null,
"derivation": "specialization",
"publisher": null,
"fhirVersion": "4.0.1",
"name": "AccessPolicy",
"abstract": false,
"type": "AccessPolicy",
"experimental": null,
"resourceType": "StructureDefinition",
"title": null,
"package_version": "0.2601.0",
"status": "active",
"id": "f9b9124c-997a-4694-b548-7a5901412d8b",
"kind": "resource",
"url": "http://health-samurai.io/fhir/core/StructureDefinition/AccessPolicy",
"version": "0.2601.0",
"differential": {
"element": [ {
"id": "AccessPolicy",
"max": "*",
"min": 0,
"path": "AccessPolicy"
}, {
"id": "AccessPolicy.matcho",
"max": "1",
"min": 0,
"path": "AccessPolicy.matcho",
"short": "Defines rules using the Matcho pattern-matching syntax.",
"extension": [ {
"url": "http://health-samurai.io/fhir/core/StructureDefinition/additional-properties-custom-type",
"valueCode": "any"
} ]
}, {
"id": "AccessPolicy.clj",
"max": "1",
"min": 0,
"path": "AccessPolicy.clj",
"type": [ {
"code": "string"
} ],
"short": "Clojure code that defines access policy rules. DEPRECATED. DO NOT USE IT."
}, {
"id": "AccessPolicy.schema",
"max": "1",
"min": 0,
"path": "AccessPolicy.schema",
"short": "JSON Schema used to validate requests against the policy.",
"extension": [ {
"url": "http://health-samurai.io/fhir/core/StructureDefinition/additional-properties-custom-type",
"valueCode": "any"
} ]
}, {
"id": "AccessPolicy._source",
"max": "1",
"min": 0,
"path": "AccessPolicy._source",
"type": [ {
"code": "string"
} ],
"short": "System Property. DO NOT USE IT."
}, {
"id": "AccessPolicy.module",
"max": "1",
"min": 0,
"path": "AccessPolicy.module",
"type": [ {
"code": "string"
} ],
"short": "Module that this policy belongs to."
}, {
"id": "AccessPolicy.or",
"max": "*",
"min": 0,
"path": "AccessPolicy.or",
"short": "A list of conditions where at least one must be satisfied for the policy to grant access.",
"extension": [ {
"url": "http://health-samurai.io/fhir/core/StructureDefinition/additional-properties-custom-type",
"valueCode": "any"
} ]
}, {
"id": "AccessPolicy.roleName",
"max": "1",
"min": 0,
"path": "AccessPolicy.roleName",
"type": [ {
"code": "string"
} ],
"short": "Symbolic link to Role by name."
}, {
"id": "AccessPolicy.and",
"max": "*",
"min": 0,
"path": "AccessPolicy.and",
"short": "A list of conditions that must all be satisfied for the policy to grant access.",
"extension": [ {
"url": "http://health-samurai.io/fhir/core/StructureDefinition/additional-properties-custom-type",
"valueCode": "any"
} ]
}, {
"id": "AccessPolicy.link",
"max": "*",
"min": 0,
"path": "AccessPolicy.link",
"type": [ {
"code": "Reference",
"targetProfile": [ "http://health-samurai.io/fhir/core/StructureDefinition/Client", "http://health-samurai.io/fhir/core/StructureDefinition/User", "http://health-samurai.io/fhir/core/StructureDefinition/Operation" ]
} ],
"short": "References to resources associated with this policy."
}, {
"id": "AccessPolicy.type",
"max": "1",
"min": 0,
"path": "AccessPolicy.type",
"type": [ {
"code": "string"
} ],
"short": "The type or category of the access policy.",
"constraint": [ {
"key": "enum-174",
"human": "Type must be one of: scope, rest, rpc",
"severity": "error",
"expression": "%context.subsetOf('scope' | 'rest' | 'rpc')"
} ]
}, {
"id": "AccessPolicy.engine",
"max": "1",
"min": 0,
"path": "AccessPolicy.engine",
"type": [ {
"code": "string"
} ],
"short": "Specifies the evaluation engine used for the policy.",
"constraint": [ {
"key": "enum-175",
"human": "Engine must be one of: json-schema, allow, sql, complex, matcho, clj, matcho-rpc, allow-rpc, signed-rpc, smart-on-fhir",
"severity": "error",
"expression": "%context.subsetOf('json-schema' | 'allow' | 'sql' | 'complex' | 'matcho' | 'clj' | 'matcho-rpc' | 'allow-rpc' | 'signed-rpc' | 'smart-on-fhir')"
} ]
}, {
"id": "AccessPolicy.rpc",
"max": "1",
"min": 0,
"path": "AccessPolicy.rpc",
"short": "Defines rules for Remote Procedure Calls (RPCs).",
"extension": [ {
"url": "http://health-samurai.io/fhir/core/StructureDefinition/additional-properties-custom-type",
"valueCode": "any"
} ]
}, {
"id": "AccessPolicy.sql",
"max": "1",
"min": 0,
"path": "AccessPolicy.sql",
"type": [ {
"code": "BackboneElement"
} ],
"short": "SQL-based policy definition."
}, {
"id": "AccessPolicy.sql.query",
"max": "1",
"min": 0,
"path": "AccessPolicy.sql.query",
"type": [ {
"code": "string"
} ],
"short": "SQL query used to evaluate access conditions."
}, {
"id": "AccessPolicy.description",
"max": "1",
"min": 0,
"path": "AccessPolicy.description",
"type": [ {
"code": "string"
} ],
"short": "A textual description of the access policy."
} ]
},
"baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource"
}