Element Definition

$10 / year

The definition of an element in a resource or an extension. The definition includes:

– Path (name), Cardinality, and data type
– Definitions, usage notes, and requirements
– Default or fixed values
– Constraints, Length limits, and other usage rules
– Terminology Binding
– Mappings to other specifications
– Structural Usage Information

Complexity

The Element Definition type is the core of the FHIR metadata layer, and is closely (conceptually) aligned to ISO 11179. All the data elements defined in this specification are published as a collection of data elements (Extensible Markup Language (XML) or JavaScript Object Notation (JSON)).

The path element is the most important property of the element definition. It both names the element, and locates the element within a hierarchy defined within a particular context. Within the FHIR specification, there is only one original definition for each path. This is the master definition to which all the other definitions with the same path must conform.

All elements defined within the FHIR specification itself are defined within a Structure Definition that defines a resource, or a datatype. This defines the identity of the element and provides the context in which the meaning of the element is understood. When Elements are defined, the following rules apply:

– Element names (the parts of a path delineated by the ‘.’ character) SHALL NOT contain whitespace (i.e. Unicode characters marked as whitespace)
– Element names SHALL NOT contain the characters ,:;'”/|?!@#$%^&*()[]{}
– Element names SHOULD not contain non-ASCII characters
– Element names SHALL NOT exceed 64 characters in length
– Element paths cannot imply elements that are not explicitly defined i.e. a.b.c.d cannot be defined unless a.b.c is explicitly defined
– By convention, each path starts with an uppercase letter (type) but all the element names that follow this are lowercase (not type names). All resources and data types (except for Primitive data types) follow this convention, but logical models are not required to do so

Elements may be defined in:

– Structure Definitions of kind = resource, complex-type or primitive-type, where derivation = specialization. These are either Resources or Data Types defined in the specification
– StructureDefinitions of kind = logical
– Data Elements

Date Created

2018-09-20

Last Modified

2019-11-01

Version

4.0.1

Update Frequency

Annual

Temporal Coverage

N/A

Spatial Coverage

United States

Source

John Snow Labs; Health Level Seven International;

Source License URL

Source License Requirements

N/A

Source Citation

N/A

Keywords

FHIR, HL7, Medical Terminology, Processes Data, Processes Information, Processes Documentation, Health Information Exchange, Electronic Health Records, FHIR Smart, Smart on FHIR

Other Titles

FHIR Element Definition Resource, Electronic Health Records Exchange Through FHIR

NameDescriptionTypeConstraints
Concept_NameName of the concept in the FHIR structurestringrequired : 1
Computer_Ready_NameA Computer-ready name (e.g. a token) that identifies the structure - suitable for code generation. Note that this name (and other names relevant for code generation, including element & slice names, codes etc) may collide with reserved words in the relevant target language, and code generators will need to handle this.string-
TypeThe type the structure describes.string-
Dollar_RefThe "$ref" string value contains a Uniform Resource Identifier (URI) which identifies the location of the JSON value being referenced.string-
DescriptionA free text natural language description of the structure and its usestring-
ItemsThe value of the keyword should be an object or an array of objects. If the keyword value is an object, then for the data array to be valid each item of the array should be valid according to the schema in this value.string-
EnumThe value of the keyword should be an array of unique strings. The data object tobe valid should contain all properties with names equal to the elements in the keyword value.string-
RequiredThe value of the keyword should be an array of unique strings. The data object tobe valid should contain all properties with names equal to the elements in the keyword value.string-
ConstThe value of this keyword can be anything. The data is valid if it is deeply equal to the value of the keyword.string-
Concept NameComputer Ready NameTypeDollar RefDescriptionItemsEnumRequiredConst
ElementDefinitionid#/definitions/stringUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
ElementDefinitionextensionarrayMay 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 manageable 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.{'$ref': '#/definitions/Extension'}
ElementDefinitionmodifierExtensionarrayMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained 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 manageable 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. 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).{'$ref': '#/definitions/Extension'}
ElementDefinitionpath#/definitions/stringThe path identifies the element and is expressed as a "."-separated list of ancestor elements beginning with the name of the resource or extension.
ElementDefinition_path#/definitions/ElementExtensions for path
ElementDefinitionrepresentationarrayCodes that define how this element is represented in instances when the deviation varies from the normal case.{'enum': ['xmlAttr' 'xmlText' 'typeAttr' 'cdaText' 'xhtml']}
ElementDefinition_representationarrayExtensions for representation{'$ref': '#/definitions/Element'}
ElementDefinitionsliceName#/definitions/stringThe name of this element definition slice when slicing is working. The name must be a token with no dots or spaces. This is a unique name referring to a specific set of constraints applied to this element used to provide a name to different slices of the same element.
ElementDefinition_sliceName#/definitions/ElementExtensions for sliceName
ElementDefinitionsliceIsConstraining#/definitions/booleanIf true indicates that this slice definition is constraining a slice definition with the same name in an inherited profile. If false the slice is not overriding any slice in an inherited profile. If missing the slice might or might not be overriding a slice in an inherited profile depending on the sliceName.
Related Data Packages