ElementDefinition

complex type

Base StructureDefinition for ElementDefinition Type: Captures constraints on each element within the resource, profile, or extension.

Official spec
PathCard.TypeDescription & Constraints
ElementDefinition0..*Definition of an element in a resource or extension
.id0..1StringUnique id for inter-element referencing
.extension0..*ExtensionAdditional content defined by implementations
.modifierExtension?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.pathΣ1..1stringPath of the element in the hierarchy of elements
.representationΣ0..*codexmlAttr | xmlText | typeAttr | cdaText | xhtml
Bindingproperty-representation(required)
.sliceNameΣ0..1stringName for this particular element (in a set of slices)
.sliceIsConstrainingΣ0..1booleanIf this slice definition constrains an inherited slice definition (or not)
.labelΣ0..1stringName for element to display with or prompt for element
.codeΣ0..*CodingCorresponding codes in terminologies
Bindingobservation-codes(example)
.slicingΣ0..1ElementThis element is sliced - slices follow
.id0..1StringUnique id for inter-element referencing
.extension0..*ExtensionAdditional content defined by implementations
.discriminatorΣ0..*ElementElement values that are used to distinguish the slices
.id0..1StringUnique id for inter-element referencing
.extension0..*ExtensionAdditional content defined by implementations
.typeΣ1..1codevalue | exists | pattern | type | profile
Bindingdiscriminator-type(required)
.pathΣ1..1stringPath to element value
.descriptionΣ0..1stringText description of how slicing works (or not)
.orderedΣ0..1booleanIf elements must be in same order as slices
.rulesΣ1..1codeclosed | open | openAtEnd
Bindingresource-slicing-rules(required)
.shortΣ0..1stringConcise definition for space-constrained presentation
.definitionΣ0..1markdownFull formal definition as narrative text
.commentΣ0..1markdownComments about the use of this element
.requirementsΣ0..1markdownWhy this resource has been created
.aliasΣ0..*stringOther names
.minΣ0..1unsignedIntMinimum Cardinality
.maxΣ0..1stringMaximum Cardinality (a number or *)
.baseΣ0..1ElementBase definition information for tools
.id0..1StringUnique id for inter-element referencing
.extension0..*ExtensionAdditional content defined by implementations
.pathΣ1..1stringPath that identifies the base element
.minΣ1..1unsignedIntMin cardinality of the base element
.maxΣ1..1stringMax cardinality of the base element
.contentReferenceΣ0..1uriReference to definition of content for the element
.typeΣ0..*ElementData type and Profile for this element
.id0..1StringUnique id for inter-element referencing
.extension0..*ExtensionAdditional content defined by implementations
.codeΣ1..1uriData type or Resource (reference to definition)
Bindingdefined-types(extensible)
.profileΣ0..*canonicalProfiles (StructureDefinition or IG) - one must apply
.targetProfileΣ0..*canonicalProfile (StructureDefinition or IG) on the Reference/canonical target - one must apply
.aggregationΣ0..*codecontained | referenced | bundled - how aggregated
Bindingresource-aggregation-mode(required)
.versioningΣ0..1codeeither | independent | specific
Bindingreference-version-rules(required)
.defaultValue[x]Σ0..1base64Binary | boolean | canonical | code | date | dateTime | decimal | id | instant | integer | markdown | oid | positiveInt | string | time | unsignedInt | uri | url | uuid | Address | Age | Annotation | Attachment | CodeableConcept | Coding | ContactPoint | Count | Distance | Duration | HumanName | Identifier | Money | Period | Quantity | Range | Ratio | Reference | SampledData | Signature | Timing | ContactDetail | Contributor | DataRequirement | Expression | ParameterDefinition | RelatedArtifact | TriggerDefinition | UsageContext | Dosage | MetaSpecified value if missing from instance
.meaningWhenMissingΣ0..1markdownImplicit meaning when this element is missing
.orderMeaningΣ0..1stringWhat the order of the elements means
.fixed[x]Σ0..1base64Binary | boolean | canonical | code | date | dateTime | decimal | id | instant | integer | markdown | oid | positiveInt | string | time | unsignedInt | uri | url | uuid | Address | Age | Annotation | Attachment | CodeableConcept | Coding | ContactPoint | Count | Distance | Duration | HumanName | Identifier | Money | Period | Quantity | Range | Ratio | Reference | SampledData | Signature | Timing | ContactDetail | Contributor | DataRequirement | Expression | ParameterDefinition | RelatedArtifact | TriggerDefinition | UsageContext | Dosage | MetaValue must be exactly this
.pattern[x]Σ0..1base64Binary | boolean | canonical | code | date | dateTime | decimal | id | instant | integer | markdown | oid | positiveInt | string | time | unsignedInt | uri | url | uuid | Address | Age | Annotation | Attachment | CodeableConcept | Coding | ContactPoint | Count | Distance | Duration | HumanName | Identifier | Money | Period | Quantity | Range | Ratio | Reference | SampledData | Signature | Timing | ContactDetail | Contributor | DataRequirement | Expression | ParameterDefinition | RelatedArtifact | TriggerDefinition | UsageContext | Dosage | MetaValue must have at least these property values
.exampleΣ0..*ElementExample value (as defined for type)
.id0..1StringUnique id for inter-element referencing
.extension0..*ExtensionAdditional content defined by implementations
.labelΣ1..1stringDescribes the purpose of this example
.value[x]Σ1..1base64Binary | boolean | canonical | code | date | dateTime | decimal | id | instant | integer | markdown | oid | positiveInt | string | time | unsignedInt | uri | url | uuid | Address | Age | Annotation | Attachment | CodeableConcept | Coding | ContactPoint | Count | Distance | Duration | HumanName | Identifier | Money | Period | Quantity | Range | Ratio | Reference | SampledData | Signature | Timing | ContactDetail | Contributor | DataRequirement | Expression | ParameterDefinition | RelatedArtifact | TriggerDefinition | UsageContext | Dosage | MetaValue of Example (one of allowed types)
.minValue[x]Σ0..1date | dateTime | instant | time | decimal | integer | positiveInt | unsignedInt | QuantityMinimum Allowed Value (for some types)
.maxValue[x]Σ0..1date | dateTime | instant | time | decimal | integer | positiveInt | unsignedInt | QuantityMaximum Allowed Value (for some types)
.maxLengthΣ0..1integerMax length for strings
.conditionΣ0..*idReference to invariant about presence
.constraintΣ0..*ElementCondition that must evaluate to true
.id0..1StringUnique id for inter-element referencing
.extension0..*ExtensionAdditional content defined by implementations
.keyΣ1..1idTarget of 'condition' reference above
.requirementsΣ0..1stringWhy this constraint is necessary or appropriate
.severityΣ1..1codeerror | warning
Bindingconstraint-severity(required)
.humanΣ1..1stringHuman description of constraint
.expressionΣ0..1stringFHIRPath expression of constraint
.xpathΣ0..1stringXPath expression of constraint
.sourceΣ0..1canonicalReference to original source of constraint
.mustSupportΣ0..1booleanIf the element must be supported
.isModifierΣ0..1booleanIf this modifies the meaning of other elements
.isModifierReasonΣ0..1stringReason that this element is marked as a modifier
.isSummaryΣ0..1booleanInclude when _summary = true?
.bindingΣ0..1ElementValueSet details if this is coded
.id0..1StringUnique id for inter-element referencing
.extension0..*ExtensionAdditional content defined by implementations
.strengthΣ1..1coderequired | extensible | preferred | example
Bindingbinding-strength(required)
.descriptionΣ0..1stringHuman explanation of the value set
.valueSetΣ0..1canonicalSource of value set
.mappingΣ0..*ElementMap element to another set of definitions
.id0..1StringUnique id for inter-element referencing
.extension0..*ExtensionAdditional content defined by implementations
.identityΣ1..1idReference to mapping declaration
.languageΣ0..1codeComputable language of mapping
Bindingmimetypes(required)
.mapΣ1..1stringDetails of the mapping
.commentΣ0..1stringComments about the mapping or its use