SMART Base
0.3.0 - ci-build

SMART Base, published by WHO. This guide is not an authorized publication; it is the continuous build for version 0.3.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/WorldHealthOrganization/smart-base/ and changes regularly. See the Directory of published versions

Resource Profile: SMART Guidelines Actor

Official URL: http://smart.who.int/base/StructureDefinition/SGActor Version: 0.3.0
Draft as of 2026-10-20 Computable Name: SGActor

Smart Guidelines Actor

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

NameFlagsCard.TypeDescription & Constraints    Filter: doco
ActorDefinition C 0..* ActorDefinition An application that exchanges data
Constraints: cnl-0
ActorDefinition.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
ActorDefinition.contained 0..* Resource Contained, inline Resources
ActorDefinition.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored
ActorDefinition.name This element is included in summaries. C 1..1 string Name for this actor definition (computer friendly)
ActorDefinition.title This element is included in summaries. 1..1 string Name for this actor definition (human friendly)
ActorDefinition.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (5.0.0) (required): The lifecycle status of an artifact.
ActorDefinition.experimental This element is included in summaries. 1..1 boolean For testing purposes, not real usage
ActorDefinition.description 1..1 markdown Natural language description of the actor
ActorDefinition.type This element must be supported. This element is included in summaries. 1..1 code person | system
Binding: ExampleScenarioActorType (5.0.0) (required): The type of actor - system or human.

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
ActorDefinition.status Base required PublicationStatus 📍5.0.0 unknown?
ActorDefinition.type Base required Example Scenario Actor Type 📍5.0.0 unknown?

Constraints

Id Grade Path(s) Description Expression
cnl-0 warning ActorDefinition Name should be usable as an identifier for the module by machine processing applications such as code generation name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$')
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from ActorDefinition

NameFlagsCard.TypeDescription & Constraints    Filter: doco
ActorDefinition 0..* ActorDefinition An application that exchanges data
ActorDefinition.name 1..1 string Name for this actor definition (computer friendly)
ActorDefinition.title 1..1 string Name for this actor definition (human friendly)
ActorDefinition.status This element must be supported. 1..1 code draft | active | retired | unknown
ActorDefinition.description 1..1 markdown Natural language description of the actor
ActorDefinition.type This element must be supported. 1..1 code person | system

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: doco
ActorDefinition C 0..* ActorDefinition An application that exchanges data
Constraints: cnl-0
ActorDefinition.id This element is included in summaries. 0..1 id Logical id of this artifact
ActorDefinition.meta This element is included in summaries. 0..1 Meta Metadata about the resource
ActorDefinition.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
ActorDefinition.language 0..1 code Language of the resource content
Binding: AllLanguages (5.0.0) (required): IETF language tag for a human language
Additional BindingsPurpose
CommonLanguages Starter
ActorDefinition.text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
ActorDefinition.contained 0..* Resource Contained, inline Resources
ActorDefinition.extension 0..* Extension Additional content defined by implementations
ActorDefinition.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored
ActorDefinition.url This element is included in summaries. C 0..1 uri Canonical identifier for this actor definition, represented as a URI (globally unique)
Constraints: cnl-1
ActorDefinition.identifier This element is included in summaries. 0..* Identifier Additional identifier for the actor definition (business identifier)
ActorDefinition.version This element is included in summaries. 0..1 string Business version of the actor definition
ActorDefinition.versionAlgorithm[x] This element is included in summaries. 0..1 How to compare versions
Binding: Version Algorithm (extensible)
ActorDefinition.versionAlgorithm[x].versionAlgorithmString string
ActorDefinition.versionAlgorithm[x].versionAlgorithmCoding Coding
ActorDefinition.name This element is included in summaries. C 1..1 string Name for this actor definition (computer friendly)
ActorDefinition.title This element is included in summaries. 1..1 string Name for this actor definition (human friendly)
ActorDefinition.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (5.0.0) (required): The lifecycle status of an artifact.
ActorDefinition.experimental This element is included in summaries. 1..1 boolean For testing purposes, not real usage
ActorDefinition.date This element is included in summaries. 0..1 dateTime Date last changed
ActorDefinition.publisher This element is included in summaries. 0..1 string Name of the publisher/steward (organization or individual)
ActorDefinition.contact This element is included in summaries. 0..* ContactDetail Contact details for the publisher
ActorDefinition.description 1..1 markdown Natural language description of the actor
ActorDefinition.useContext This element is included in summaries. 0..* UsageContext The context that the content is intended to support
ActorDefinition.jurisdiction This element is included in summaries. 0..* CodeableConcept Intended jurisdiction for actor definition (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.
ActorDefinition.purpose 0..1 markdown Why this actor definition is defined
ActorDefinition.copyright 0..1 markdown Use and/or publishing restrictions
ActorDefinition.copyrightLabel 0..1 string Copyright holder and year(s)
ActorDefinition.type This element must be supported. This element is included in summaries. 1..1 code person | system
Binding: ExampleScenarioActorType (5.0.0) (required): The type of actor - system or human.
ActorDefinition.documentation 0..1 markdown Functionality associated with the actor
ActorDefinition.reference 0..* url Reference to more information about the actor
ActorDefinition.capabilities 0..1 canonical(CapabilityStatement) CapabilityStatement for the actor (if applicable)
ActorDefinition.derivedFrom 0..* canonical(ActorDefinition) Definition of this actor in another context / IG

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
ActorDefinition.language Base required All Languages 📍5.0.0 unknown?
ActorDefinition.versionAlgorithm[x] Base extensible Version Algorithm ⏿5.0.0 unknown?
ActorDefinition.status Base required PublicationStatus 📍5.0.0 unknown?
ActorDefinition.jurisdiction Base extensible Jurisdiction ValueSet ⏿5.0.0 unknown?
ActorDefinition.type Base required Example Scenario Actor Type 📍5.0.0 unknown?

Constraints

Id Grade Path(s) Description Expression
cnl-0 warning ActorDefinition Name should be usable as an identifier for the module by machine processing applications such as code generation name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$')
cnl-1 warning ActorDefinition.url URL should not contain | or # - these characters make processing canonical references problematic exists() implies matches('^[^|# ]+$')
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from ActorDefinition

Summary

Mandatory: 4 elements
Must-Support: 2 elements

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
ActorDefinition C 0..* ActorDefinition An application that exchanges data
Constraints: cnl-0
ActorDefinition.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
ActorDefinition.contained 0..* Resource Contained, inline Resources
ActorDefinition.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored
ActorDefinition.name This element is included in summaries. C 1..1 string Name for this actor definition (computer friendly)
ActorDefinition.title This element is included in summaries. 1..1 string Name for this actor definition (human friendly)
ActorDefinition.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (5.0.0) (required): The lifecycle status of an artifact.
ActorDefinition.experimental This element is included in summaries. 1..1 boolean For testing purposes, not real usage
ActorDefinition.description 1..1 markdown Natural language description of the actor
ActorDefinition.type This element must be supported. This element is included in summaries. 1..1 code person | system
Binding: ExampleScenarioActorType (5.0.0) (required): The type of actor - system or human.

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
ActorDefinition.status Base required PublicationStatus 📍5.0.0 unknown?
ActorDefinition.type Base required Example Scenario Actor Type 📍5.0.0 unknown?

Constraints

Id Grade Path(s) Description Expression
cnl-0 warning ActorDefinition Name should be usable as an identifier for the module by machine processing applications such as code generation name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$')
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

Differential View

This structure is derived from ActorDefinition

NameFlagsCard.TypeDescription & Constraints    Filter: doco
ActorDefinition 0..* ActorDefinition An application that exchanges data
ActorDefinition.name 1..1 string Name for this actor definition (computer friendly)
ActorDefinition.title 1..1 string Name for this actor definition (human friendly)
ActorDefinition.status This element must be supported. 1..1 code draft | active | retired | unknown
ActorDefinition.experimental 1..1 boolean For testing purposes, not real usage
ActorDefinition.description 1..1 markdown Natural language description of the actor
ActorDefinition.type This element must be supported. 1..1 code person | system

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
ActorDefinition C 0..* ActorDefinition An application that exchanges data
Constraints: cnl-0
ActorDefinition.id This element is included in summaries. 0..1 id Logical id of this artifact
ActorDefinition.meta This element is included in summaries. 0..1 Meta Metadata about the resource
ActorDefinition.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
ActorDefinition.language 0..1 code Language of the resource content
Binding: AllLanguages (5.0.0) (required): IETF language tag for a human language
Additional BindingsPurpose
CommonLanguages Starter
ActorDefinition.text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
ActorDefinition.contained 0..* Resource Contained, inline Resources
ActorDefinition.extension 0..* Extension Additional content defined by implementations
ActorDefinition.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored
ActorDefinition.url This element is included in summaries. C 0..1 uri Canonical identifier for this actor definition, represented as a URI (globally unique)
Constraints: cnl-1
ActorDefinition.identifier This element is included in summaries. 0..* Identifier Additional identifier for the actor definition (business identifier)
ActorDefinition.version This element is included in summaries. 0..1 string Business version of the actor definition
ActorDefinition.versionAlgorithm[x] This element is included in summaries. 0..1 How to compare versions
Binding: Version Algorithm (extensible)
ActorDefinition.versionAlgorithm[x].versionAlgorithmString string
ActorDefinition.versionAlgorithm[x].versionAlgorithmCoding Coding
ActorDefinition.name This element is included in summaries. C 1..1 string Name for this actor definition (computer friendly)
ActorDefinition.title This element is included in summaries. 1..1 string Name for this actor definition (human friendly)
ActorDefinition.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (5.0.0) (required): The lifecycle status of an artifact.
ActorDefinition.experimental This element is included in summaries. 1..1 boolean For testing purposes, not real usage
ActorDefinition.date This element is included in summaries. 0..1 dateTime Date last changed
ActorDefinition.publisher This element is included in summaries. 0..1 string Name of the publisher/steward (organization or individual)
ActorDefinition.contact This element is included in summaries. 0..* ContactDetail Contact details for the publisher
ActorDefinition.description 1..1 markdown Natural language description of the actor
ActorDefinition.useContext This element is included in summaries. 0..* UsageContext The context that the content is intended to support
ActorDefinition.jurisdiction This element is included in summaries. 0..* CodeableConcept Intended jurisdiction for actor definition (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.
ActorDefinition.purpose 0..1 markdown Why this actor definition is defined
ActorDefinition.copyright 0..1 markdown Use and/or publishing restrictions
ActorDefinition.copyrightLabel 0..1 string Copyright holder and year(s)
ActorDefinition.type This element must be supported. This element is included in summaries. 1..1 code person | system
Binding: ExampleScenarioActorType (5.0.0) (required): The type of actor - system or human.
ActorDefinition.documentation 0..1 markdown Functionality associated with the actor
ActorDefinition.reference 0..* url Reference to more information about the actor
ActorDefinition.capabilities 0..1 canonical(CapabilityStatement) CapabilityStatement for the actor (if applicable)
ActorDefinition.derivedFrom 0..* canonical(ActorDefinition) Definition of this actor in another context / IG

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
ActorDefinition.language Base required All Languages 📍5.0.0 unknown?
ActorDefinition.versionAlgorithm[x] Base extensible Version Algorithm ⏿5.0.0 unknown?
ActorDefinition.status Base required PublicationStatus 📍5.0.0 unknown?
ActorDefinition.jurisdiction Base extensible Jurisdiction ValueSet ⏿5.0.0 unknown?
ActorDefinition.type Base required Example Scenario Actor Type 📍5.0.0 unknown?

Constraints

Id Grade Path(s) Description Expression
cnl-0 warning ActorDefinition Name should be usable as an identifier for the module by machine processing applications such as code generation name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$')
cnl-1 warning ActorDefinition.url URL should not contain | or # - these characters make processing canonical references problematic exists() implies matches('^[^|# ]+$')
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from ActorDefinition

Summary

Mandatory: 4 elements
Must-Support: 2 elements

 

Other representations of profile: CSV, Excel, Schematron