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] which show how data might flow in different situations.
- [PlanDefinition] which defines how a workflow should/is allowed to occur amongst a set of actors.
- [Requirements] which defines higher level expectations about system capabilities.
- The [obligation] extension, which allows system behaviors to be defined on a per-element basis.
- [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> 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 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, Practitioner, PractitionerRole and 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 [0..*]: - A system or non-system participant involved in an information exchange process
- ActorDefinition.url [0..1]: uri Canonical identifier for this actor definition, represented as a URI (globally unique)
- ActorDefinition.identifier [0..*]: Identifier Additional identifier for the actor definition (business identifier)
- ActorDefinition.version [0..1]: string Business version of the actor definition
- ActorDefinition.versionAlgorithm[x] [0..1]: string, Coding extensible:version-algorithm How to compare versions
- ActorDefinition.name [0..1]: string Name for this actor definition (computer friendly)
- ActorDefinition.title [0..1]: string Name for this actor definition (human friendly)
- ActorDefinition.status [1..1]: code required:publication-status draft | active | retired | unknown
- ActorDefinition.experimental [0..1]: boolean For testing only - never for real usage
- ActorDefinition.date [0..1]: dateTime Date last changed
- ActorDefinition.publisher [0..1]: string Name of the publisher/steward (organization or individual)
- ActorDefinition.contact [0..*]: ContactDetail Contact details for the publisher
- ActorDefinition.description [0..1]: markdown Natural language description of the actor
- ActorDefinition.useContext [0..*]: UsageContext The context that the content is intended to support
- ActorDefinition.jurisdiction [0..*]: CodeableConcept extensible:jurisdiction Jurisdiction of the authority that maintains the actor definition (if applicable)
- ActorDefinition.purpose [0..1]: markdown Why this actor definition is defined
- ActorDefinition.copyright [0..1]: markdown Notice about intellectual property ownership, can include restrictions on use
- ActorDefinition.copyrightLabel [0..1]: string Copyright holder and year(s)
- ActorDefinition.type [1..1]: code required:actordefinition-actor-type person | system | collective | other
- ActorDefinition.category [0..*]: CodeableConcept extensible:actordefinition-actor-code Further details about the type of actor
- ActorDefinition.documentation [0..1]: markdown Explanation and details about the actor
- ActorDefinition.reference [0..*]: url Reference to more information about the actor
- ActorDefinition.baseDefinition [0..*]: canonical Parent actor definition
Mappings
- ActorDefinition Mappings — 9 mapping entries
Implementation Guide
implementationguide-ActorDefinition-core.xml
<?xml version="1.0" encoding="UTF-8"?>
<ImplementationGuide xmlns="http://hl7.org/fhir">
<id value="ActorDefinition-core"/>
<version value="0.01"/>
<name value="ActorDefinitionProfilesAndExtensions"/>
<title value="Actor Definition Profiles and Extensions"/>
<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 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 — token — A use context assigned to the Actor Definition —
(ActorDefinition.useContext.value.ofType(CodeableConcept)) - 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 — token — A type of use context assigned to the Actor Definition —
ActorDefinition.useContext.code - context-type-quantity — composite — A use context type and quantity- or range-based value assigned to the Actor Definition —
ActorDefinition.useContext - context-type-value — composite — A use context type and value assigned to the Actor Definition —
ActorDefinition.useContext - date — date — The Actor Definition publication date —
ActorDefinition.date - description — string — The description of the Actor Definition —
ActorDefinition.description - identifier — token — External identifier for the Actor Definition —
ActorDefinition.identifier - jurisdiction — token — Jurisdiction of the authority that maintains the the Actor Definition —
ActorDefinition.jurisdiction - publisher — string — Name of the publisher of the Actor Definition —
ActorDefinition.publisher - status — token — The current status of the Actor Definition —
ActorDefinition.status - title — string — The human-friendly name of the Actor Definition —
ActorDefinition.title - url — uri — The uri that identifies the Actor Definition —
ActorDefinition.url - version — token — The business version of the Actor Definition —
ActorDefinition.version - type — token — The type of actor —
ActorDefinition.type - experimental — token — Whether the ActorDefinition is experimental —
ActorDefinition.experimental
Examples
- actordefinition-examples-header — actordefinition-examples-header
- lab-report-consumer — actordefinition-lab-report-consumer — Laboratory Report Consumer: a system receiving/querying and using a Laboratory Report.
- 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.
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