2nd DSTU Draft For Comment

This page is part of the FHIR Specification (v0.4.0: DSTU 2 Draft). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions

6.20.6 Resource ExtensionDefinition - Detailed Descriptions

Detailed Descriptions for the elements in the ExtensionDefinition resource.

ExtensionDefinition
Definition

Defines an extension that can be used in resources.

Control1..1
Alternate NamesExtension
InvariantsDefined on this element
exd-2: All element names must start with the extension name (xpath: count(f:element)=count(f:element[(not(preceding-sibling::f:element) and f:path/@value='Extension') or (preceding-sibling::f:element and starts-with(f:path/@value, concat('Extension', '.')))]))
ExtensionDefinition.url
Definition

The URL at which this definition is (or will be) published, and which is used to reference this profile in extension urls in operational FHIR systems.

Control1..1
Typeuri
Requirements

So you can say, in a profile, what the full extensions URL should be. This is required to allow hosting profiles on multiple different servers, and to allow for the editorial process.

Alternate Namesurl; authoritative-url; destination
gForge Tasks3265
ExtensionDefinition.identifier
Definition

Formal identifier that is used to identify this profile when it is represented in other formats (e.g. ISO 11179(, or referenced in a specification, model, design or an instance (should be globally unique OID, UUID, or URI), (if it's not possible to use the literal URI).

Control0..*
TypeIdentifier
Summarytrue
ExtensionDefinition.version
Definition

The identifier that is used to identify this version of the extension definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the author manually.

Control0..1
Typestring
Requirements

There may be multiple resource versions of the extension definition that have this same identifier. The resource version id will change for technical reasons, whereas the stated version number needs to be under the author's control.

Summarytrue
Comments

N/A.

ExtensionDefinition.name
Definition

A free text natural language name identifying the extension.

Control1..1
Typestring
Summarytrue
Comments

Not expected to be globally unique.

ExtensionDefinition.display
Definition

Defined so that applications can use this name when displaying the value of the extension to the user.

Control0..1
Typestring
Comments

Applications don't have to use this name, but can always fall back to it. In the absence of a value for this element, use the name.

ExtensionDefinition.publisher
Definition

The name of the individual or organization that published the extension definition.

Control0..1
Typestring
Requirements

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

Summarytrue
Comments

Usually an organization, but may be an individual. This item SHOULD be populated unless the information is available from context.

ExtensionDefinition.contact
Definition

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

Control0..*
Summarytrue
Comments

May be a web site, an email address, a telephone number (tel:), etc.

ExtensionDefinition.contact.name
Definition

The name of an individual to contact regarding the extension definition.

Control0..1
Typestring
Summarytrue
Comments

If there is no named individual, the telecom is for the organization as a whole.

ExtensionDefinition.contact.telecom
Definition

Contact details for individual (if a name was provided) or the publisher.

Control0..*
TypeContactPoint
Summarytrue
ExtensionDefinition.description
Definition

A free text natural language description of the extension and its use.

Control0..1
Typestring
Summarytrue
Comments

This field can be used for things such as comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the extension definition as conveyed in Profile.text.

ExtensionDefinition.code
Definition

A set of terms from external terminologies that may be used to assist with indexing and searching of extension definitions.

Control0..*
TypeCoding
Requirements

Assist in searching for appropriate extensions.

Summarytrue
ExtensionDefinition.status
Definition

The status of the extension.

Control1..1
BindingResourceProfileStatus: Required: http://hl7.org/fhir/resource-profile-status (The lifecycle status of a Resource Profile)
Typecode
Is Modifiertrue
Requirements

Allows filtering of extnsions that are appropriate for use vs. not.

Summarytrue
ExtensionDefinition.experimental
Definition

This extension definition was authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage.

Control0..1
Typeboolean
Requirements

Allows filtering of extensions that are appropriate for use vs. not.

Summarytrue
ExtensionDefinition.date
Definition

The date that this version of the extension was published.

Control0..1
TypedateTime
Summarytrue
ExtensionDefinition.requirements
Definition

The Scope and Usage that this extension was created to meet.

Control0..1
Typestring
ExtensionDefinition.mapping
Definition

An external specification that the content is mapped to.

Control0..*
InvariantsDefined on this element
exd-1: Must have at a name or a uri (or both) (xpath: exists(f:uri) or exists(f:name))
ExtensionDefinition.mapping.identity
Definition

An Internal id that is used to identify this mapping set when specific mappings are made.

Control1..1
Typeid
Comments

The specification is described once, with general comments, and then specific mappings are made that reference this declaration in the element definition.

ExtensionDefinition.mapping.uri
Definition

A URI that identifies the specification that this mapping is expressed to.

Control0..1
Typeuri
Comments

A formal identity for the specification being mapped to helps with identifying maps consistently.

InvariantsAffect this element
exd-2: All element names must start with the extension name (xpath: count(f:element)=count(f:element[(not(preceding-sibling::f:element) and f:path/@value='Extension') or (preceding-sibling::f:element and starts-with(f:path/@value, concat('Extension', '.')))]))
ExtensionDefinition.mapping.name
Definition

A name for the specification that is being mapped to.

Control0..1
Typestring
InvariantsAffect this element
exd-2: All element names must start with the extension name (xpath: count(f:element)=count(f:element[(not(preceding-sibling::f:element) and f:path/@value='Extension') or (preceding-sibling::f:element and starts-with(f:path/@value, concat('Extension', '.')))]))
ExtensionDefinition.mapping.comments
Definition

Comments about this mapping, including version notes, issues, scope limitations, and other important notes for usage.

Control0..1
Typestring
ExtensionDefinition.contextType
Definition

Identifies the type of context to which the extension applies.

Control1..1
BindingExtensionContext: Required: http://hl7.org/fhir/extension-context (How an extension context is interpreted)
Typecode
ExtensionDefinition.context
Definition

Identifies the types of resource or data type elements to which the extension can be applied.

Control1..*
Typestring
Comments

If the context is an element that can have multiple types, then use (e.g.) value[x] if the extension works on all choice types, or otherwise an enumeration of explicitly named elements if not. Note that a context of "string" doesn't mean that the extension can be used with one of the string patterns such as "id" etc.

ExtensionDefinition.element
Definition

Definition of the elements that are defined to be in the extension.

Control1..*
TypeElementDefinition
InvariantsDefined on this element
exd-3: Path names cannot contain .value (xpath: not(contains(f:path/@value, '.value')))
Affect this element
exd-1: Must have at a name or a uri (or both) (xpath: exists(f:uri) or exists(f:name))