Resource Profile: ActorDefinition - API Specification

General information

See HL7 ActorDefinition for more information about the base resource ActorDefinition.

Scope and Usage

This profile holds information about a set of capabilities defined in an API specification.

Boundaries and Relationships

An Endpoint can declare to be implementing an API Specification in its payload. An API Specification can be implemented by any number of Endpoints.

The search operation Search Endpoint can be used to query the Endpoints that implement one or more given API Specifications where patient data for a given patient can be found, if there is registered index records of the patient and any healthcare providers (Organizations) that use those Endpoints.

Background and Context

Profile

idΣ0..1id
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
textC0..1Narrative
containedC0..*Resource
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
urlS Σ C1..1uri
identifierΣ C0..*Identifier
versionS Σ1..1string
versionAlgorithmCodingCoding
versionAlgorithmStringstring
nameS Σ C1..1string
titleS Σ1..1string
statusS Σ ?!1..1codeBindingFixed Value
experimentalΣ0..1boolean
dateΣ0..1dateTime
publisherS Σ0..1string
contactΣ0..*ContactDetail
descriptionS0..1markdown
id0..1string
extensionC0..*Extension
id0..1string
extensionC0..*Extension
systemS Σ1..1uriFixed Value
versionΣ0..1string
codeS Σ C1..1codeFixed Value
displayΣ C0..1string
userSelectedΣ0..1boolean
id0..1string
extensionC0..*Extension
id0..1string
extensionC0..*Extension
systemS Σ1..1uri
versionΣ0..1string
codeS Σ C1..1code
displayS Σ C0..1string
userSelectedΣ0..1boolean
textΣ0..1string
jurisdictionΣ0..*CodeableConceptBinding
purpose0..1markdown
copyright0..1markdown
copyrightLabel0..1string
typeS Σ1..1codeBindingFixed Value
documentation0..1markdown
referenceS1..1url
capabilities0..1canonical(CapabilityStatement)
derivedFrom0..*canonical(ActorDefinition)
ActorDefinitionC
ShortAn application that exchanges data
Definition

Describes an actor - a human or an application that plays a role in data exchange, and that may have obligations associated with the role the actor plays.

Cardinality0..*
Constraints
  • dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
    contained.contained.empty()
  • dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
    contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
  • dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
    contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
  • dom-6: A resource should have narrative for robust management
    text.`div`.exists()
  • dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
    contained.meta.security.empty()
  • cnl-0: 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}$')
Mappings
  • rim: n/a
  • rim: Entity. Role, or Act
  • rim: Entity, Role, or Act
  • w5: conformance.content
ActorDefinition.idΣ
ShortLogical id of this artifact
Definition

The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.

Cardinality0..1
Typeid
SummaryTrue
Comments

Within the context of the FHIR RESTful interactions, the resource has an id except for cases like the create and conditional update. Otherwise, the use of the resouce id depends on the given use case.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
ActorDefinition.metaΣ
ShortMetadata about the resource
Definition

The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.

Cardinality0..1
TypeMeta
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: N/A
ActorDefinition.implicitRulesΣ ?!
ShortA set of rules under which this content was created
Definition

A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.

Cardinality0..1
Typeuri
ModifierTrue
SummaryTrue
Comments

Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of its narrative along with other profiles, value sets, etc.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
ActorDefinition.language
ShortLanguage of the resource content
Definition

The base language in which the resource is written.

Cardinality0..1
Typecode
Binding

IETF language tag for a human language

AllLanguages (required)

Additional bindings
Comments

Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
ActorDefinition.textC
ShortText summary of the resource, for human interpretation
Definition

A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.

Cardinality0..1
TypeNarrative
Aliasnarrative, html, xhtml, display
Comments

Contained resources do not have a narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later.

ConditionsThe cardinality or value of this element may be affected by these constraints: dom-6
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: N/A
  • rim: Act.text?
ActorDefinition.containedC
ShortContained, inline Resources
Definition

These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, nor can they have their own independent transaction scope. This is allowed to be a Parameters resource if and only if it is referenced by a resource that provides context/meaning.

Cardinality0..*
TypeResource
Aliasinline resources, anonymous resources, contained resources
Comments

This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags in their meta elements, but SHALL NOT have security labels.

ConditionsThe cardinality or value of this element may be affected by these constraints: dom-2, dom-4, dom-3, dom-5
Mappings
  • rim: n/a
  • rim: Entity. Role, or Act
  • rim: N/A
ActorDefinition.extensionC
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
ActorDefinition.modifierExtensionΣ ?! C
ShortExtensions that cannot be ignored
Definition

May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

Cardinality0..*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
ActorDefinition.urlS Σ C
ShortCanonical identifier for this actor definition, represented as a URI (globally unique)
Definition

An absolute URI that is used to identify this actor 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 actor definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the actor definition is stored on different servers.

Cardinality1..1
Typeuri
Must SupportTrue
SummaryTrue
Requirements

Allows the actor definition to be referenced by a single globally unique identifier.

Comments

Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version.

The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in Technical and Business Versions.

In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the meta.source element to indicate where the current master source of the resource can be found.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • cnl-1: URL should not contain | or # - these characters make processing canonical references problematic
    exists() implies matches('^[^|# ]+$')
Mappings
  • rim: n/a
  • w5: FiveWs.identifier
  • APISpecificationToAPIspecifikationLogicalEr: id
ActorDefinition.identifierΣ C
ShortAdditional identifier for the actor definition (business identifier)
Definition

A formal identifier that is used to identify this actor definition when it is represented in other formats, or referenced in a specification, model, design or an instance.

Cardinality0..*
TypeIdentifier
SummaryTrue
Requirements

Allows externally provided and/or usable business identifiers to be easily associated with the module.

Comments

The rules of the identifier.type determine if a check digit is part of the ID value or sent separately, such as through the checkDigit extension.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ident-1: Identifier with no value has limited utility. If communicating that an identifier value has been suppressed or missing, the value element SHOULD be present with an extension indicating the missing semantic - e.g. data-absent-reason
    value.exists()
Mappings
  • rim: n/a
  • v2: CX / EI (occasionally, more often EI maps to a resource id or a URL)
  • rim: II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]
  • servd: Identifier
  • w5: FiveWs.identifier
ActorDefinition.versionS Σ
ShortBusiness version of the actor definition
Definition

The identifier that is used to identify this version of the actor definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the actor 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.

Cardinality1..1
Typestring
Must SupportTrue
SummaryTrue
Comments

There may be different actor definition instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the actor definition with the format [url]|[version]. The version SHOULD NOT contain a '#' - see Business Version.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • w5: FiveWs.version
  • APISpecificationToAPIspecifikationLogicalEr: version
ActorDefinition.versionAlgorithm[x]Σ
ShortHow to compare versions
Definition

Indicates the mechanism used to compare versions to determine which is more current.

Cardinality0..1
TypeCoding | string
Binding

VersionAlgorithm (extensible)

SummaryTrue
Comments

If set as a string, this is a FHIRPath expression that has two additional context variables passed in - %version1 and %version2 and will return a negative number if version1 is newer, a positive number if version2 and a 0 if the version ordering can't be successfully be determined.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
ActorDefinition.nameS Σ C
ShortName for this actor definition (computer friendly)
Definition

A natural language name identifying the actor definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.

Cardinality1..1
Typestring
Must SupportTrue
SummaryTrue
Requirements

Support human navigation and code generation.

Comments

The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly.

ConditionsThe cardinality or value of this element may be affected by these constraints: cnl-0
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • APISpecificationToAPIspecifikationLogicalEr: maskinlasbartNamn
ActorDefinition.titleS Σ
ShortName for this actor definition (human friendly)
Definition

A short, descriptive, user-friendly title for the actor definition.

Cardinality1..1
Typestring
Must SupportTrue
SummaryTrue
Comments

This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • APISpecificationToAPIspecifikationLogicalEr: titel
ActorDefinition.statusS Σ ?!
Shortactive
Definition

The status of this actor definition. Enables tracking the life-cycle of the content.

Cardinality1..1
Typecode
Binding

The lifecycle status of an artifact.

PublicationStatus (required)

Must SupportTrue
ModifierTrue
SummaryTrue
Comments

Only active API specifications should be persisted

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Fixed Value
active
Mappings
  • rim: n/a
  • w5: FiveWs.status
  • APISpecificationToAPIspecifikationLogicalEr: status
ActorDefinition.experimentalΣ
ShortFor testing purposes, not real usage
Definition

A Boolean value to indicate that this actor definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.

Cardinality0..1
Typeboolean
SummaryTrue
Requirements

Enables experimental content to be developed following the same lifecycle that would be used for a production-level actor definition.

Comments

Allows filtering of actor definitions that are appropriate for use versus not.

Meaning when missing

If absent, this resource is treated as though it is not experimental.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • w5: FiveWs.class
ActorDefinition.dateΣ
ShortDate last changed
Definition

The date (and optionally time) when the actor 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 actor definition changes.

Cardinality0..1
TypedateTime
SummaryTrue
AliasRevision Date
Comments

The date is often not tracked until the resource is published, but may be present on draft content. Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the actor definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.

See guidance around (not) making local changes to elements here.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • w5: FiveWs.recorded
ActorDefinition.publisherS Σ
ShortName of the publisher/steward (organization or individual)
Definition

The name of the organization or individual responsible for the release and ongoing maintenance of the actor definition.

Cardinality0..1
Typestring
Must SupportTrue
SummaryTrue
Requirements

Helps establish the "authority/credibility" of the actor definition. May also allow for contact.

Comments

Usually an organization but may be an individual. The publisher (or steward) of the actor definition is the organization or individual primarily responsible for the maintenance and upkeep of the actor definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the actor definition. This item SHOULD be populated unless the information is available from context.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • w5: FiveWs.witness
  • APISpecificationToAPIspecifikationLogicalEr: ansvarigUtgivare
ActorDefinition.contactΣ
ShortContact details for the publisher
Definition

Contact details to assist a user in finding and communicating with the publisher.

Cardinality0..*
TypeContactDetail
SummaryTrue
Comments

May be a web site, an email address, a telephone number, etc.

See guidance around (not) making local changes to elements here.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
ActorDefinition.descriptionS
ShortNatural language description of the actor
Definition

A free text natural language description of the actor.

Cardinality0..1
Typemarkdown
Must SupportTrue
AliasScope, Purpose
Comments

This description can be used for a general description of the actor, and which covers why it was defined.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • APISpecificationToAPIspecifikationLogicalEr: beskrivning
ActorDefinition.useContextS Σ
ShortThe 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 actor definition instances.

Cardinality1..*
TypeUsageContext
Must SupportTrue
SummaryTrue
Requirements

Assist in searching for appropriate content.

Comments

When multiple useContexts are specified, there is no expectation that all or any of the contexts apply.

Slicing

Unordered, Open, by code(Value)

Slice useContext based on code

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
ActorDefinition.useContext:domainS Σ
ShortThe 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 actor definition instances.

Cardinality1..1
TypeUsageContext
Must SupportTrue
SummaryTrue
Requirements

Assist in searching for appropriate content.

Comments

When multiple useContexts are specified, there is no expectation that all or any of the contexts apply.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • APISpecificationToAPIspecifikationLogicalEr: kategori
ActorDefinition.useContext:domain.id
ShortUnique id for inter-element referencing
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
ConditionsThe cardinality or value of this element may be affected by these constraints: ele-1
Mappings
  • rim: n/a
ActorDefinition.useContext:domain.extensionC
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
ActorDefinition.useContext:domain.codeS Σ C
ShortType of context being specified
Definition

A code that identifies the type of context being specified by this usage context.

Cardinality1..1
TypeCoding
Binding

A code that specifies a type of context being specified by a usage context.

http://terminology.hl7.org/ValueSet/usage-context-type (extensible)

Must SupportTrue
SummaryTrue
Comments

Codes may be defined very casually in enumerations or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • cod-1: A Coding SHOULD NOT have a display unless a code is also present. Computation on Coding.display alone is generally unsafe. Consider using CodeableConcept.text
    code.exists().not() implies display.exists().not()
Fixed Value
{
  "system": "http://terminology.hl7.org/CodeSystem/usage-context-type",
  "code": "topic"
}
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim: CV
  • orim: fhir:Coding rdfs:subClassOf dt:CDCoding
ActorDefinition.useContext:domain.code.id
ShortUnique id for inter-element referencing
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
ConditionsThe cardinality or value of this element may be affected by these constraints: ele-1
Mappings
  • rim: n/a
ActorDefinition.useContext:domain.code.extensionC
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
ActorDefinition.useContext:domain.code.systemS Σ
ShortIdentity of the terminology system
Definition

The identification of the code system that defines the meaning of the symbol in the code.

Cardinality1..1
Typeuri
Must SupportTrue
SummaryTrue
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should be an absolute reference to some definition that establishes the system clearly and unambiguously.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Fixed Value
http://terminology.hl7.org/CodeSystem/usage-context-type
Mappings
  • rim: n/a
  • v2: C*E.3
  • rim: ./codeSystem
  • orim: fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem
ActorDefinition.useContext:domain.code.versionΣ
ShortVersion of the system - if relevant
Definition

The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured, and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.

Cardinality0..1
Typestring
SummaryTrue
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: C*E.7
  • rim: ./codeSystemVersion
  • orim: fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion
ActorDefinition.useContext:domain.code.codeS Σ C
ShortSymbol in syntax defined by the system
Definition

A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).

Cardinality1..1
Typecode
Must SupportTrue
SummaryTrue
Requirements

Need to refer to a particular code in the system.

Comments

Note that FHIR strings SHALL NOT exceed 1,048,576 (1024*1024) characters in size

ConditionsThe cardinality or value of this element may be affected by these constraints: cod-1
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Fixed Value
topic
Mappings
  • rim: n/a
  • v2: C*E.1
  • rim: ./code
  • orim: fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code
ActorDefinition.useContext:domain.code.displayΣ C
ShortRepresentation defined by the system
Definition

A representation of the meaning of the code in the system, following the rules of the system.

Cardinality0..1
Typestring
SummaryTrue
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Comments

Note that FHIR strings SHALL NOT exceed 1,048,576 (1024*1024) characters in size

ConditionsThe cardinality or value of this element may be affected by these constraints: cod-1
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: C*E.2 - but note this is not well followed
  • rim: CV.displayName
  • orim: fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName
ActorDefinition.useContext:domain.code.userSelectedΣ
ShortIf this coding was chosen directly by the user
Definition

Indicates that this coding was chosen by a user directly - e.g. off a pick list of available items (codes or displays).

Cardinality0..1
Typeboolean
SummaryTrue
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: Sometimes implied by being first
  • rim: CD.codingRationale
  • orim: fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [ fhir:source "true"; fhir:target dt:CDCoding.codingRationale\#O ]
ActorDefinition.useContext:domain.value[x]S Σ
ShortValue that defines the context
Definition

A value that defines the context specified in this context of use. The interpretation of the value is defined by the code.

Cardinality1..1
TypeCodeableConcept
Binding

A code that defines the specific value for the context being specified.

er-api-specification-categories (required)

Must SupportTrue
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
ActorDefinition.useContext:domain.value[x].id
ShortUnique id for inter-element referencing
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
ConditionsThe cardinality or value of this element may be affected by these constraints: ele-1
Mappings
  • rim: n/a
ActorDefinition.useContext:domain.value[x].extensionC
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
ActorDefinition.useContext:domain.value[x].codingS Σ C
ShortCode defined by a terminology system
Definition

A reference to a code defined by a terminology system.

Cardinality1..1
TypeCoding
Must SupportTrue
SummaryTrue
Requirements

Allows for alternative encodings within a code system, and translations to other code systems.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • cod-1: A Coding SHOULD NOT have a display unless a code is also present. Computation on Coding.display alone is generally unsafe. Consider using CodeableConcept.text
    code.exists().not() implies display.exists().not()
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim: CV
  • orim: fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2: C*E.1-8, C*E.10-22
  • rim: union(., ./translation)
  • orim: fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
ActorDefinition.useContext:domain.value[x].coding.id
ShortUnique id for inter-element referencing
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
ConditionsThe cardinality or value of this element may be affected by these constraints: ele-1
Mappings
  • rim: n/a
ActorDefinition.useContext:domain.value[x].coding.extensionC
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
ActorDefinition.useContext:domain.value[x].coding.systemS Σ
ShortIdentity of the terminology system
Definition

The identification of the code system that defines the meaning of the symbol in the code.

Cardinality1..1
Typeuri
Must SupportTrue
SummaryTrue
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should be an absolute reference to some definition that establishes the system clearly and unambiguously.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: C*E.3
  • rim: ./codeSystem
  • orim: fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem
ActorDefinition.useContext:domain.value[x].coding.versionΣ
ShortVersion of the system - if relevant
Definition

The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured, and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.

Cardinality0..1
Typestring
SummaryTrue
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: C*E.7
  • rim: ./codeSystemVersion
  • orim: fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion
ActorDefinition.useContext:domain.value[x].coding.codeS Σ C
ShortSymbol in syntax defined by the system
Definition

A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).

Cardinality1..1
Typecode
Must SupportTrue
SummaryTrue
Requirements

Need to refer to a particular code in the system.

Comments

Note that FHIR strings SHALL NOT exceed 1,048,576 (1024*1024) characters in size

ConditionsThe cardinality or value of this element may be affected by these constraints: cod-1
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: C*E.1
  • rim: ./code
  • orim: fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code
ActorDefinition.useContext:domain.value[x].coding.displayS Σ C
ShortRepresentation defined by the system
Definition

A representation of the meaning of the code in the system, following the rules of the system.

Cardinality0..1
Typestring
Must SupportTrue
SummaryTrue
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Comments

Note that FHIR strings SHALL NOT exceed 1,048,576 (1024*1024) characters in size

ConditionsThe cardinality or value of this element may be affected by these constraints: cod-1
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: C*E.2 - but note this is not well followed
  • rim: CV.displayName
  • orim: fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName
ActorDefinition.useContext:domain.value[x].coding.userSelectedΣ
ShortIf this coding was chosen directly by the user
Definition

Indicates that this coding was chosen by a user directly - e.g. off a pick list of available items (codes or displays).

Cardinality0..1
Typeboolean
SummaryTrue
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: Sometimes implied by being first
  • rim: CD.codingRationale
  • orim: fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [ fhir:source "true"; fhir:target dt:CDCoding.codingRationale\#O ]
ActorDefinition.useContext:domain.value[x].textΣ
ShortPlain text representation of the concept
Definition

A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.

Cardinality0..1
Typestring
SummaryTrue
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: C*E.9. But note many systems use C*E.2 for this
  • rim: ./originalText[mediaType/code="text/plain"]/data
  • orim: fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText
ActorDefinition.jurisdictionΣ
ShortIntended jurisdiction for actor definition (if applicable)
Definition

A legal or geographic region in which the actor definition is intended to be used.

Cardinality0..*
TypeCodeableConcept
Binding

Countries and regions within which this artifact is targeted for use.

JurisdictionValueSet (extensible)

SummaryTrue
Comments

It may be possible for the actor definition to be used in jurisdictions other than those for which it was originally designed or intended.

DEPRECATION NOTE: For consistency, implementations are encouraged to migrate to using the new 'jurisdiction' code in the useContext element. (I.e. useContext.code indicating http://terminology.hl7.org/CodeSystem/usage-context-type#jurisdiction and useContext.valueCodeableConcept indicating the jurisdiction.)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
ActorDefinition.purpose
ShortWhy this actor definition is defined
Definition

Explanation of why this actor definition is needed and why it has been designed as it has.

Cardinality0..1
Typemarkdown
Comments

This element does not describe the usage of the actor definition. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this actor definition.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • w5: FiveWs.why[x]
ActorDefinition.copyright
ShortUse and/or publishing restrictions
Definition

A copyright statement relating to the actor definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the actor definition.

Cardinality0..1
Typemarkdown
AliasLicense, Restrictions
Requirements

Consumers must be able to determine any legal restrictions on the use of the actor definition.

Comments

Systems are not required to have markdown support, so the text should be readable without markdown processing. The markdown syntax is GFM - see https://github.github.com/gfm/

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
ActorDefinition.copyrightLabel
ShortCopyright 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').

Cardinality0..1
Typestring
Requirements

Defines the content expected to be rendered in all representations of the artifact.

Comments

The (c) symbol should NOT be included in this string. It will be added by software when rendering the notation. Full details about licensing, restrictions, warrantees, etc. goes in the more general 'copyright' element.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
ActorDefinition.typeS Σ
Shortsystem
Definition

Mandatory in FHIR to specify whether ActorDefinition defines a system or person

Cardinality1..1
Typecode
Binding

The type of actor - system or human.

ExampleScenarioActorType (required)

Must SupportTrue
SummaryTrue
Comments

Note that FHIR strings SHALL NOT exceed 1,048,576 (1024*1024) characters in size

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Fixed Value
system
Mappings
  • rim: n/a
ActorDefinition.documentation
ShortFunctionality associated with the actor
Definition

Documentation about the functionality of the actor.

Cardinality0..1
Typemarkdown
Comments

In general terms, the description desribes what the actor is, and this element describes what the actor does (or is expected to do).

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
ActorDefinition.referenceS
ShortReference to more information about the actor
Definition

A reference to additional documentation about the actor, but description and documentation.

Cardinality1..1
Typeurl
Must SupportTrue
Comments

see http://en.wikipedia.org/wiki/Uniform_resource_identifier

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • APISpecificationToAPIspecifikationLogicalEr: referensTillKalla
ActorDefinition.capabilities
ShortCapabilityStatement for the actor (if applicable)
Definition

The capability statement for the actor (if the concept is applicable).

Cardinality0..1
Typecanonical(CapabilityStatement)
Comments
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
ActorDefinition.derivedFrom
ShortDefinition of this actor in another context / IG
Definition

A url that identifies the definition of this actor in another IG (which IG must be listed in the dependencies). This actor inherits all the obligations etc. as defined in the other IG.

Cardinality0..*
Typecanonical(ActorDefinition)
Comments
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
<StructureDefinition xmlns="http://hl7.org/fhir">
<id value="api-specification-er" />
<extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-implements">
<valueUri value="http://hl7.org/fhir/StructureDefinition/CanonicalResource" />
</extension>
<url value="http://electronichealth.se/fhir/NDI/StructureDefinition/api-specification-er" />
<version value="0.1.0" />
<name value="APISpecificationEr" />
<title value="API Specification (ER)" />
<status value="active" />
<description value="This profile holds information about a set of capabilities defined in an API specification." />
<fhirVersion value="5.0.0" />
<identity value="APISpecificationToAPIspecifikationLogicalEr" />
<uri value="APIspecifikationLogicalEr" />
</mapping>
<kind value="resource" />
<abstract value="false" />
<type value="ActorDefinition" />
<baseDefinition value="http://hl7.org/fhir/StructureDefinition/ActorDefinition" />
<derivation value="constraint" />
<element id="ActorDefinition.url">
<path value="ActorDefinition.url" />
<min value="1" />
<mustSupport value="true" />
<identity value="APISpecificationToAPIspecifikationLogicalEr" />
<map value="id" />
</mapping>
</element>
<element id="ActorDefinition.version">
<path value="ActorDefinition.version" />
<min value="1" />
<mustSupport value="true" />
<identity value="APISpecificationToAPIspecifikationLogicalEr" />
<map value="version" />
</mapping>
</element>
<element id="ActorDefinition.name">
<path value="ActorDefinition.name" />
<min value="1" />
<mustSupport value="true" />
<identity value="APISpecificationToAPIspecifikationLogicalEr" />
<map value="maskinlasbartNamn" />
</mapping>
</element>
<element id="ActorDefinition.title">
<path value="ActorDefinition.title" />
<min value="1" />
<mustSupport value="true" />
<identity value="APISpecificationToAPIspecifikationLogicalEr" />
<map value="titel" />
</mapping>
</element>
<element id="ActorDefinition.status">
<path value="ActorDefinition.status" />
<short value="active" />
<comment value="Only active API specifications should be persisted" />
<fixedCode value="active" />
<mustSupport value="true" />
<identity value="APISpecificationToAPIspecifikationLogicalEr" />
<map value="status" />
</mapping>
</element>
<element id="ActorDefinition.publisher">
<path value="ActorDefinition.publisher" />
<mustSupport value="true" />
<identity value="APISpecificationToAPIspecifikationLogicalEr" />
<map value="ansvarigUtgivare" />
</mapping>
</element>
<element id="ActorDefinition.description">
<path value="ActorDefinition.description" />
<mustSupport value="true" />
<identity value="APISpecificationToAPIspecifikationLogicalEr" />
<map value="beskrivning" />
</mapping>
</element>
<element id="ActorDefinition.useContext">
<path value="ActorDefinition.useContext" />
<type value="value" />
<path value="code" />
</discriminator>
<description value="Slice useContext based on code" />
<ordered value="false" />
<rules value="open" />
</slicing>
<min value="1" />
<mustSupport value="true" />
</element>
<element id="ActorDefinition.useContext:domain">
<path value="ActorDefinition.useContext" />
<sliceName value="domain" />
<min value="1" />
<max value="1" />
<mustSupport value="true" />
<identity value="APISpecificationToAPIspecifikationLogicalEr" />
<map value="kategori" />
</mapping>
</element>
<element id="ActorDefinition.useContext:domain.code">
<path value="ActorDefinition.useContext.code" />
<system value="http://terminology.hl7.org/CodeSystem/usage-context-type" />
<code value="topic" />
</fixedCoding>
<mustSupport value="true" />
</element>
<element id="ActorDefinition.useContext:domain.code.system">
<path value="ActorDefinition.useContext.code.system" />
<min value="1" />
<mustSupport value="true" />
</element>
<element id="ActorDefinition.useContext:domain.code.code">
<path value="ActorDefinition.useContext.code.code" />
<min value="1" />
<mustSupport value="true" />
</element>
<element id="ActorDefinition.useContext:domain.value[x]">
<path value="ActorDefinition.useContext.value[x]" />
<code value="CodeableConcept" />
</type>
<mustSupport value="true" />
<strength value="required" />
<valueSet value="http://electronichealth.se/fhir/NDI/ValueSet/er-api-specification-categories" />
</binding>
</element>
<element id="ActorDefinition.useContext:domain.value[x].coding">
<path value="ActorDefinition.useContext.value[x].coding" />
<min value="1" />
<max value="1" />
<mustSupport value="true" />
</element>
<element id="ActorDefinition.useContext:domain.value[x].coding.system">
<path value="ActorDefinition.useContext.value[x].coding.system" />
<min value="1" />
<mustSupport value="true" />
</element>
<element id="ActorDefinition.useContext:domain.value[x].coding.code">
<path value="ActorDefinition.useContext.value[x].coding.code" />
<min value="1" />
<mustSupport value="true" />
</element>
<element id="ActorDefinition.useContext:domain.value[x].coding.display">
<path value="ActorDefinition.useContext.value[x].coding.display" />
<mustSupport value="true" />
</element>
<element id="ActorDefinition.type">
<path value="ActorDefinition.type" />
<short value="system" />
<definition value="Mandatory in FHIR to specify whether ActorDefinition defines a system or person" />
<fixedCode value="system" />
<mustSupport value="true" />
</element>
<element id="ActorDefinition.reference">
<path value="ActorDefinition.reference" />
<min value="1" />
<max value="1" />
<mustSupport value="true" />
<identity value="APISpecificationToAPIspecifikationLogicalEr" />
<map value="referensTillKalla" />
</mapping>
</element>
</differential>
</StructureDefinition>
{
"resourceType": "StructureDefinition",
"id": "api-specification-er",
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-implements",
"valueUri": "http://hl7.org/fhir/StructureDefinition/CanonicalResource"
}
],
"url": "http://electronichealth.se/fhir/NDI/StructureDefinition/api-specification-er",
"version": "0.1.0",
"name": "APISpecificationEr",
"title": "API Specification (ER)",
"status": "active",
"description": "This profile holds information about a set of capabilities defined in an API specification.",
"fhirVersion": "5.0.0",
"mapping": [
{
"identity": "APISpecificationToAPIspecifikationLogicalEr",
"uri": "APIspecifikationLogicalEr"
}
],
"kind": "resource",
"abstract": false,
"type": "ActorDefinition",
"baseDefinition": "http://hl7.org/fhir/StructureDefinition/ActorDefinition",
"derivation": "constraint",
"element": [
{
"id": "ActorDefinition.url",
"path": "ActorDefinition.url",
"min": 1,
"mustSupport": true,
"mapping": [
{
"identity": "APISpecificationToAPIspecifikationLogicalEr",
"map": "id"
}
]
},
{
"id": "ActorDefinition.version",
"path": "ActorDefinition.version",
"min": 1,
"mustSupport": true,
"mapping": [
{
"identity": "APISpecificationToAPIspecifikationLogicalEr",
"map": "version"
}
]
},
{
"id": "ActorDefinition.name",
"path": "ActorDefinition.name",
"min": 1,
"mustSupport": true,
"mapping": [
{
"identity": "APISpecificationToAPIspecifikationLogicalEr",
"map": "maskinlasbartNamn"
}
]
},
{
"id": "ActorDefinition.title",
"path": "ActorDefinition.title",
"min": 1,
"mustSupport": true,
"mapping": [
{
"identity": "APISpecificationToAPIspecifikationLogicalEr",
"map": "titel"
}
]
},
{
"id": "ActorDefinition.status",
"path": "ActorDefinition.status",
"short": "active",
"comment": "Only active API specifications should be persisted",
"fixedCode": "active",
"mustSupport": true,
"mapping": [
{
"identity": "APISpecificationToAPIspecifikationLogicalEr",
"map": "status"
}
]
},
{
"id": "ActorDefinition.publisher",
"path": "ActorDefinition.publisher",
"mustSupport": true,
"mapping": [
{
"identity": "APISpecificationToAPIspecifikationLogicalEr",
"map": "ansvarigUtgivare"
}
]
},
{
"id": "ActorDefinition.description",
"path": "ActorDefinition.description",
"mustSupport": true,
"mapping": [
{
"identity": "APISpecificationToAPIspecifikationLogicalEr",
"map": "beskrivning"
}
]
},
{
"id": "ActorDefinition.useContext",
"path": "ActorDefinition.useContext",
"slicing": {
{
"type": "value",
"path": "code"
}
],
"description": "Slice useContext based on code",
"ordered": false,
"rules": "open"
},
"min": 1,
"mustSupport": true
},
{
"id": "ActorDefinition.useContext:domain",
"path": "ActorDefinition.useContext",
"sliceName": "domain",
"min": 1,
"max": "1",
"mustSupport": true,
"mapping": [
{
"identity": "APISpecificationToAPIspecifikationLogicalEr",
"map": "kategori"
}
]
},
{
"id": "ActorDefinition.useContext:domain.code",
"path": "ActorDefinition.useContext.code",
"system": "http://terminology.hl7.org/CodeSystem/usage-context-type",
"code": "topic"
},
"mustSupport": true
},
{
"id": "ActorDefinition.useContext:domain.code.system",
"path": "ActorDefinition.useContext.code.system",
"min": 1,
"mustSupport": true
},
{
"id": "ActorDefinition.useContext:domain.code.code",
"path": "ActorDefinition.useContext.code.code",
"min": 1,
"mustSupport": true
},
{
"id": "ActorDefinition.useContext:domain.value[x]",
"path": "ActorDefinition.useContext.value[x]",
"type": [
{
"code": "CodeableConcept"
}
],
"mustSupport": true,
"binding": {
"strength": "required",
"valueSet": "http://electronichealth.se/fhir/NDI/ValueSet/er-api-specification-categories"
}
},
{
"id": "ActorDefinition.useContext:domain.value[x].coding",
"path": "ActorDefinition.useContext.value[x].coding",
"min": 1,
"max": "1",
"mustSupport": true
},
{
"id": "ActorDefinition.useContext:domain.value[x].coding.system",
"path": "ActorDefinition.useContext.value[x].coding.system",
"min": 1,
"mustSupport": true
},
{
"id": "ActorDefinition.useContext:domain.value[x].coding.code",
"path": "ActorDefinition.useContext.value[x].coding.code",
"min": 1,
"mustSupport": true
},
{
"id": "ActorDefinition.useContext:domain.value[x].coding.display",
"path": "ActorDefinition.useContext.value[x].coding.display",
"mustSupport": true
},
{
"id": "ActorDefinition.type",
"path": "ActorDefinition.type",
"short": "system",
"definition": "Mandatory in FHIR to specify whether ActorDefinition defines a system or person",
"fixedCode": "system",
"mustSupport": true
},
{
"id": "ActorDefinition.reference",
"path": "ActorDefinition.reference",
"min": 1,
"max": "1",
"mustSupport": true,
"mapping": [
{
"identity": "APISpecificationToAPIspecifikationLogicalEr",
"map": "referensTillKalla"
}
]
}
]
}
}

Details

The red must-support flag ("S") indicates that the element is expected in some use cases, and a missing flag that the element is never used.

Note that the url element is the canonical identifier of the ActorDefinition and should always be used when referencing to it. It should be created by combining the publisher, name and version elements in the following format: "https://electronichealth.se/ntk/ActorDefinition/[publisher]/[machine readable name]-[version]".

Value set bindings

The following table shows the elements in the profile that should be populated with codes as well as what value sets contain the valid codes for the respective elements. The strength indicates whether it is recommended or required to choose a code from the defined value set.

PathStrengthValueSet
ActorDefinition.useContext.value[x]requiredhttp://electronichealth.se/fhir/NDI/ValueSet/er-api-specification-categories

Mapping

id1..1uri
statusC1..1Coding
maskinlasbartNamn1..1string
version1..1string
referensTillKalla1..1url
kategoriC1..1Coding
titel1..1string
beskrivning1..1string
ansvarigUtgivare1..1string
utgivningsdatum1..1dateTime

Examples

FHIR based specification

The following example shows how a FHIR based specification can be expressed in an API Specification.

ActorDefinition
{
"resourceType": "ActorDefinition",
"id": "ec756ee5-ec3f-42d3-bae3-6d7c43ba2f03",
"meta": {
"profile": [
"http://electronichealth.se/fhir/NDI/StructureDefinition/api-specification-er"
]
},
"url": "http://electronichealth.se/ntk/ActorDefinition/HL7Europe/LabReportRepos-1",
"version": "1",
"name": "LabReportRepos",
"title": "Actor Laboratory Report Repository",
"status": "active",
"publisher": "HL7 Europe",
{
"code": {
"system": "http://terminology.hl7.org/CodeSystem/usage-context-type",
"code": "topic"
},
"coding": [
{
"system": "http://electronichealth.se/CodeSystem/specification-categories",
"code": "ehds-lab"
}
]
}
}
],
"type": "system",
"https://hl7.eu/fhir/laboratory/ActorDefinition-actor-repos-eu-lab.html"
]
}

Rivta based specification

The following example shows how a Rivta based specification can be expressed in an API Specification.

ActorDefinition
{
"resourceType": "ActorDefinition",
"id": "d9fba645-41b6-4431-8311-fac93b314361",
"meta": {
"profile": [
"http://electronichealth.se/fhir/NDI/StructureDefinition/api-specification-er"
]
},
"url": "http://electronichealth.se/ntk/ActorDefinition/IneraAB/GetCareContact-3",
"version": "3",
"name": "GetCareContact",
"title": "Inera Care Contact Repository",
"status": "active",
"publisher": "Inera AB",
"description": "Returnerar vårdkontakter som finns dokumenterade för en patient.",
{
"code": {
"system": "http://terminology.hl7.org/CodeSystem/usage-context-type",
"code": "topic"
},
"coding": [
{
"system": "http://electronichealth.se/CodeSystem/specification-categories",
"code": "rivta"
}
]
}
}
],
"type": "system",
"https://rivta.se/tkview/#/domain/clinicalprocess:logistics:logistics"
]
}