--- type: "resource" title: "ActorDefinition" resource: "ActorDefinition" --- # ActorDefinition ## Introduction ## Scope and Usage The ActorDefinition Resource represents an actor that can play the role of a participant in some kind of described process. ActorDefinitions can be referenced in several places: - \[[ExampleScenarios](examplescenario)\] which show how data might flow in different situations. - \[[PlanDefinition](plandefinition)\] which defines how a workflow should/is allowed to occur amongst a set of actors. - \[[Requirements](requirements)\] which defines higher level expectations about system capabilities. - The \[[obligation](obligations)\] extension, which allows system behaviors to be defined on a per-element basis. - \[[CapabilityStatement](capabilitystatement)\] which allows pointing to ActorDefinitions to describe the specific sets of functionality supported by (or that should be supported by) systems (via obligations) Like all canonical resources, ActorDefinitions can be defined, published and managed in ImplementationGuides and used to describe expected capabilities and roles within the IG, but can also be leveraged (via dependencies) by other implementation guides. ## Boundaries and Relationships Both ActorDefinition and [CapabilityStatement](capabilitystatement)\> describe 'systems'. However, ActorDefinition does not presume those systems will have FHIR interfaces and does not directly speak to what the systems do, while CapabilityStatement is focused on describing the FHIR interface of a system in terms of exactly what interactions, operations, messages, etc. it can consume and produce. A CapabilityStatement may point to one or more ActorDefinitions to allow expression of the detailed data behaviors associated with a FHIR system. [Device](device) can also be used to represent a 'system', but the concern there is about the metadata such as manufacturer, software version, etc., not the interoperability capabilities or how it integrates with other systems. [Patient](patient), [Practitioner](practitioner), [PractitionerRole](practitionerrole) and [RelatedPerson](relatedperson) can all represent individual people or animals, which ActorDefinition also does. However ActorDefinition refers to a 'type' of individual, while the others all refer to specific individuals. ActorDefinition is interested in capability, while the other resources are focused on characteristics. ## Background and Context To do ## StructureDefinition ### Elements (Simplified) - **[ActorDefinition](/actordefinition-definitions#ActorDefinition)** [0..*]: - A system or non-system participant involved in an information exchange process - **[ActorDefinition.url](/actordefinition-definitions#ActorDefinition.url)** [0..1]: [uri](/uri) Canonical identifier for this actor definition, represented as a URI (globally unique) - **[ActorDefinition.identifier](/actordefinition-definitions#ActorDefinition.identifier)** [0..*]: [Identifier](/Identifier) Additional identifier for the actor definition (business identifier) - **[ActorDefinition.version](/actordefinition-definitions#ActorDefinition.version)** [0..1]: [string](/string) Business version of the actor definition - **[ActorDefinition.versionAlgorithm[x]](/actordefinition-definitions#ActorDefinition.versionAlgorithm%5Bx%5D)** [0..1]: [string](/string), [Coding](/Coding) extensible:[version-algorithm](/valueset-version-algorithm) How to compare versions - **[ActorDefinition.name](/actordefinition-definitions#ActorDefinition.name)** [0..1]: [string](/string) Name for this actor definition (computer friendly) - **[ActorDefinition.title](/actordefinition-definitions#ActorDefinition.title)** [0..1]: [string](/string) Name for this actor definition (human friendly) - **[ActorDefinition.status](/actordefinition-definitions#ActorDefinition.status)** [1..1]: [code](/code) required:[publication-status](/valueset-publication-status) draft | active | retired | unknown - **[ActorDefinition.experimental](/actordefinition-definitions#ActorDefinition.experimental)** [0..1]: [boolean](/boolean) For testing only - never for real usage - **[ActorDefinition.date](/actordefinition-definitions#ActorDefinition.date)** [0..1]: [dateTime](/dateTime) Date last changed - **[ActorDefinition.publisher](/actordefinition-definitions#ActorDefinition.publisher)** [0..1]: [string](/string) Name of the publisher/steward (organization or individual) - **[ActorDefinition.contact](/actordefinition-definitions#ActorDefinition.contact)** [0..*]: [ContactDetail](/ContactDetail) Contact details for the publisher - **[ActorDefinition.description](/actordefinition-definitions#ActorDefinition.description)** [0..1]: [markdown](/markdown) Natural language description of the actor - **[ActorDefinition.useContext](/actordefinition-definitions#ActorDefinition.useContext)** [0..*]: [UsageContext](/UsageContext) The context that the content is intended to support - **[ActorDefinition.jurisdiction](/actordefinition-definitions#ActorDefinition.jurisdiction)** [0..*]: [CodeableConcept](/CodeableConcept) extensible:[jurisdiction](/valueset-jurisdiction) Jurisdiction of the authority that maintains the actor definition (if applicable) - **[ActorDefinition.purpose](/actordefinition-definitions#ActorDefinition.purpose)** [0..1]: [markdown](/markdown) Why this actor definition is defined - **[ActorDefinition.copyright](/actordefinition-definitions#ActorDefinition.copyright)** [0..1]: [markdown](/markdown) Notice about intellectual property ownership, can include restrictions on use - **[ActorDefinition.copyrightLabel](/actordefinition-definitions#ActorDefinition.copyrightLabel)** [0..1]: [string](/string) Copyright holder and year(s) - **[ActorDefinition.type](/actordefinition-definitions#ActorDefinition.type)** [1..1]: [code](/code) required:[actordefinition-actor-type](/valueset-actordefinition-actor-type) person | system | collective | other - **[ActorDefinition.category](/actordefinition-definitions#ActorDefinition.category)** [0..*]: [CodeableConcept](/CodeableConcept) extensible:[actordefinition-actor-code](/valueset-actordefinition-actor-code) Further details about the type of actor - **[ActorDefinition.documentation](/actordefinition-definitions#ActorDefinition.documentation)** [0..1]: [markdown](/markdown) Explanation and details about the actor - **[ActorDefinition.reference](/actordefinition-definitions#ActorDefinition.reference)** [0..*]: [url](/url) Reference to more information about the actor - **[ActorDefinition.baseDefinition](/actordefinition-definitions#ActorDefinition.baseDefinition)** [0..*]: [canonical](/canonical) Parent actor definition ## Mappings - [ActorDefinition Mappings](/actordefinition-mappings) — 9 mapping entries ## Implementation Guide ### implementationguide-ActorDefinition-core.xml ```xml <status value="draft"/> <date value="2022-01-11T10:00:00+10:00"/> <publisher value="HL7"/> <description value="Defines profiles used with or related to the ActorDefinition resource"/> </ImplementationGuide> ``` ## Resource Packs ### list-ActorDefinition-packs.xml ```xml <?xml version="1.0" encoding="UTF-8"?> <List xmlns="http://hl7.org/fhir"> <id value="ActorDefinition-packs"/> <status value="current"/> <mode value="working"/> <entry> <item> <reference value="ImplementationGuide/ActorDefinition-core"/> </item> </entry> </List> ``` ## Search Parameters - [context](/actordefinition-search#context) — **token** — A use context assigned to the Actor Definition — `(ActorDefinition.useContext.value.ofType(CodeableConcept))` - [context-quantity](/actordefinition-search#context-quantity) — **quantity** — A quantity- or range-valued use context assigned to the Actor Definition — `(ActorDefinition.useContext.value.ofType(Quantity)) | (ActorDefinition.useContext.value.ofType(Range))` - [context-type](/actordefinition-search#context-type) — **token** — A type of use context assigned to the Actor Definition — `ActorDefinition.useContext.code` - [context-type-quantity](/actordefinition-search#context-type-quantity) — **composite** — A use context type and quantity- or range-based value assigned to the Actor Definition — `ActorDefinition.useContext` - [context-type-value](/actordefinition-search#context-type-value) — **composite** — A use context type and value assigned to the Actor Definition — `ActorDefinition.useContext` - [date](/actordefinition-search#date) — **date** — The Actor Definition publication date — `ActorDefinition.date` - [description](/actordefinition-search#description) — **string** — The description of the Actor Definition — `ActorDefinition.description` - [identifier](/actordefinition-search#identifier) — **token** — External identifier for the Actor Definition — `ActorDefinition.identifier` - [jurisdiction](/actordefinition-search#jurisdiction) — **token** — Jurisdiction of the authority that maintains the the Actor Definition — `ActorDefinition.jurisdiction` - [publisher](/actordefinition-search#publisher) — **string** — Name of the publisher of the Actor Definition — `ActorDefinition.publisher` - [status](/actordefinition-search#status) — **token** — The current status of the Actor Definition — `ActorDefinition.status` - [title](/actordefinition-search#title) — **string** — The human-friendly name of the Actor Definition — `ActorDefinition.title` - [url](/actordefinition-search#url) — **uri** — The uri that identifies the Actor Definition — `ActorDefinition.url` - [version](/actordefinition-search#version) — **token** — The business version of the Actor Definition — `ActorDefinition.version` - [type](/actordefinition-search#type) — **token** — The type of actor — `ActorDefinition.type` - [experimental](/actordefinition-search#experimental) — **token** — Whether the ActorDefinition is experimental — `ActorDefinition.experimental` [Full Search Parameters](/actordefinition-search) ## Examples - [actordefinition-examples-header](/actordefinition-example-actordefinition-examples-header) — actordefinition-examples-header - [lab-report-consumer](/actordefinition-example-lab-report-consumer) — actordefinition-lab-report-consumer — Laboratory Report Consumer: a system receiving/querying and using a Laboratory Report. - [lab-report-creator](/actordefinition-example-lab-report-creator) — actordefinition-lab-report-creator — Laboratory Report Creator: a system generating and sending/providing a Laboratory Report to a Consumer or to a Repository for report storage and sharing. [Full Examples](/actordefinition-examples) ## Mapping Exceptions ### actordefinition-fivews-mapping-exceptions.xml ### Unmapped Elements - **FiveWs.what** — Unknown - **FiveWs.author** — Unknown - **FiveWs.actor** — Unknown - **FiveWs.cause** — Unknown - **FiveWs.where** — Unknown - **FiveWs.context** — Unknown - **FiveWs.init** — Unknown - **FiveWs.source** — Unknown - **FiveWs.who** — Unknown - **FiveWs.grade** — Unknown - **FiveWs.planned** — Unknown - **FiveWs.done** — Unknown - **FiveWs.subject** — Unknown