http://hl7.org/fhir/StructureDefinition/ElementDefinition|5.0.0

ElementDefinition Type: Captures constraints on each element within the resource, profile, or extension.
NameFlagsCardTypeDescription & Constraints
ElementDefinition
0..*Definition of an element in a resource or extension
 
path *
Σ
1..1stringPath of the element in the hierarchy of elements
 
representation
Σ
0..*codexmlAttr | xmlText | typeAttr | cdaText | xhtml PropertyRepresentation (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 ElementDefinitionCode (example)
 
slicing
Σ
0..1ElementThis element is sliced - slices follow
 
 
discriminator
Σ
0..*ElementElement values that are used to distinguish the slices
 
 
 
type *
Σ
1..1codevalue | exists | type | profile | position DiscriminatorType (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 SlicingRules (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
 
 
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
 
 
code *
Σ
1..1uriData type or Resource (reference to definition) ElementDefinitionTypes (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 AggregationMode (required)
 
 
versioning
Σ
0..1codeeither | independent | specific ReferenceVersionRules (required)
 
defaultValue[x]
Σ
0..1Specified value if missing from instance
 
 
defaultValueBase64Binary
Σ
0..1base64Binary
 
 
defaultValueBoolean
Σ
0..1boolean
 
 
defaultValueCanonical
Σ
0..1canonical
 
 
defaultValueCode
Σ
0..1code
 
 
defaultValueDate
Σ
0..1date
 
 
defaultValueDateTime
Σ
0..1dateTime
 
 
defaultValueDecimal
Σ
0..1decimal
 
 
defaultValueId
Σ
0..1id
 
 
defaultValueInstant
Σ
0..1instant
 
 
defaultValueInteger
Σ
0..1integer
 
 
defaultValueInteger64
Σ
0..1integer64
 
 
defaultValueMarkdown
Σ
0..1markdown
 
 
defaultValueOid
Σ
0..1oid
 
 
defaultValuePositiveInt
Σ
0..1positiveInt
 
 
defaultValueString
Σ
0..1string
 
 
defaultValueTime
Σ
0..1time
 
 
defaultValueUnsignedInt
Σ
0..1unsignedInt
 
 
defaultValueUri
Σ
0..1uri
 
 
defaultValueUrl
Σ
0..1url
 
 
defaultValueUuid
Σ
0..1uuid
 
 
defaultValueAddress
Σ
0..1Address
 
 
defaultValueAge
Σ
0..1Age
 
 
defaultValueAnnotation
Σ
0..1Annotation
 
 
defaultValueAttachment
Σ
0..1Attachment
 
 
defaultValueCodeableConcept
Σ
0..1CodeableConcept
 
 
defaultValueCodeableReference
Σ
0..1CodeableReference
 
 
defaultValueCoding
Σ
0..1Coding
 
 
defaultValueContactPoint
Σ
0..1ContactPoint
 
 
defaultValueCount
Σ
0..1Count
 
 
defaultValueDistance
Σ
0..1Distance
 
 
defaultValueDuration
Σ
0..1Duration
 
 
defaultValueHumanName
Σ
0..1HumanName
 
 
defaultValueIdentifier
Σ
0..1Identifier
 
 
defaultValueMoney
Σ
0..1Money
 
 
defaultValuePeriod
Σ
0..1Period
 
 
defaultValueQuantity
Σ
0..1Quantity
 
 
defaultValueRange
Σ
0..1Range
 
 
defaultValueRatio
Σ
0..1Ratio
 
 
defaultValueRatioRange
Σ
0..1RatioRange
 
 
defaultValueReference
Σ
0..1Reference
 
 
defaultValueSampledData
Σ
0..1SampledData
 
 
defaultValueSignature
Σ
0..1Signature
 
 
defaultValueTiming
Σ
0..1Timing
 
 
defaultValueContactDetail
Σ
0..1ContactDetail
 
 
defaultValueDataRequirement
Σ
0..1DataRequirement
 
 
defaultValueExpression
Σ
0..1Expression
 
 
defaultValueParameterDefinition
Σ
0..1ParameterDefinition
 
 
defaultValueRelatedArtifact
Σ
0..1RelatedArtifact
 
 
defaultValueTriggerDefinition
Σ
0..1TriggerDefinition
 
 
defaultValueUsageContext
Σ
0..1UsageContext
 
 
defaultValueAvailability
Σ
0..1Availability
 
 
defaultValueExtendedContactDetail
Σ
0..1ExtendedContactDetail
 
 
defaultValueDosage
Σ
0..1Dosage
 
 
defaultValueMeta
Σ
0..1Meta
 
meaningWhenMissing
Σ
0..1markdownImplicit meaning when this element is missing
 
orderMeaning
Σ
0..1stringWhat the order of the elements means
 
fixed[x]
Σ
0..1Value must be exactly this
 
 
fixedBase64Binary
Σ
0..1base64Binary
 
 
fixedBoolean
Σ
0..1boolean
 
 
fixedCanonical
Σ
0..1canonical
 
 
fixedCode
Σ
0..1code
 
 
fixedDate
Σ
0..1date
 
 
fixedDateTime
Σ
0..1dateTime
 
 
fixedDecimal
Σ
0..1decimal
 
 
fixedId
Σ
0..1id
 
 
fixedInstant
Σ
0..1instant
 
 
fixedInteger
Σ
0..1integer
 
 
fixedInteger64
Σ
0..1integer64
 
 
fixedMarkdown
Σ
0..1markdown
 
 
fixedOid
Σ
0..1oid
 
 
fixedPositiveInt
Σ
0..1positiveInt
 
 
fixedString
Σ
0..1string
 
 
fixedTime
Σ
0..1time
 
 
fixedUnsignedInt
Σ
0..1unsignedInt
 
 
fixedUri
Σ
0..1uri
 
 
fixedUrl
Σ
0..1url
 
 
fixedUuid
Σ
0..1uuid
 
 
fixedAddress
Σ
0..1Address
 
 
fixedAge
Σ
0..1Age
 
 
fixedAnnotation
Σ
0..1Annotation
 
 
fixedAttachment
Σ
0..1Attachment
 
 
fixedCodeableConcept
Σ
0..1CodeableConcept
 
 
fixedCodeableReference
Σ
0..1CodeableReference
 
 
fixedCoding
Σ
0..1Coding
 
 
fixedContactPoint
Σ
0..1ContactPoint
 
 
fixedCount
Σ
0..1Count
 
 
fixedDistance
Σ
0..1Distance
 
 
fixedDuration
Σ
0..1Duration
 
 
fixedHumanName
Σ
0..1HumanName
 
 
fixedIdentifier
Σ
0..1Identifier
 
 
fixedMoney
Σ
0..1Money
 
 
fixedPeriod
Σ
0..1Period
 
 
fixedQuantity
Σ
0..1Quantity
 
 
fixedRange
Σ
0..1Range
 
 
fixedRatio
Σ
0..1Ratio
 
 
fixedRatioRange
Σ
0..1RatioRange
 
 
fixedReference
Σ
0..1Reference
 
 
fixedSampledData
Σ
0..1SampledData
 
 
fixedSignature
Σ
0..1Signature
 
 
fixedTiming
Σ
0..1Timing
 
 
fixedContactDetail
Σ
0..1ContactDetail
 
 
fixedDataRequirement
Σ
0..1DataRequirement
 
 
fixedExpression
Σ
0..1Expression
 
 
fixedParameterDefinition
Σ
0..1ParameterDefinition
 
 
fixedRelatedArtifact
Σ
0..1RelatedArtifact
 
 
fixedTriggerDefinition
Σ
0..1TriggerDefinition
 
 
fixedUsageContext
Σ
0..1UsageContext
 
 
fixedAvailability
Σ
0..1Availability
 
 
fixedExtendedContactDetail
Σ
0..1ExtendedContactDetail
 
 
fixedDosage
Σ
0..1Dosage
 
 
fixedMeta
Σ
0..1Meta
 
pattern[x]
Σ
0..1Value must have at least these property values
 
 
patternBase64Binary
Σ
0..1base64Binary
 
 
patternBoolean
Σ
0..1boolean
 
 
patternCanonical
Σ
0..1canonical
 
 
patternCode
Σ
0..1code
 
 
patternDate
Σ
0..1date
 
 
patternDateTime
Σ
0..1dateTime
 
 
patternDecimal
Σ
0..1decimal
 
 
patternId
Σ
0..1id
 
 
patternInstant
Σ
0..1instant
 
 
patternInteger
Σ
0..1integer
 
 
patternInteger64
Σ
0..1integer64
 
 
patternMarkdown
Σ
0..1markdown
 
 
patternOid
Σ
0..1oid
 
 
patternPositiveInt
Σ
0..1positiveInt
 
 
patternString
Σ
0..1string
 
 
patternTime
Σ
0..1time
 
 
patternUnsignedInt
Σ
0..1unsignedInt
 
 
patternUri
Σ
0..1uri
 
 
patternUrl
Σ
0..1url
 
 
patternUuid
Σ
0..1uuid
 
 
patternAddress
Σ
0..1Address
 
 
patternAge
Σ
0..1Age
 
 
patternAnnotation
Σ
0..1Annotation
 
 
patternAttachment
Σ
0..1Attachment
 
 
patternCodeableConcept
Σ
0..1CodeableConcept
 
 
patternCodeableReference
Σ
0..1CodeableReference
 
 
patternCoding
Σ
0..1Coding
 
 
patternContactPoint
Σ
0..1ContactPoint
 
 
patternCount
Σ
0..1Count
 
 
patternDistance
Σ
0..1Distance
 
 
patternDuration
Σ
0..1Duration
 
 
patternHumanName
Σ
0..1HumanName
 
 
patternIdentifier
Σ
0..1Identifier
 
 
patternMoney
Σ
0..1Money
 
 
patternPeriod
Σ
0..1Period
 
 
patternQuantity
Σ
0..1Quantity
 
 
patternRange
Σ
0..1Range
 
 
patternRatio
Σ
0..1Ratio
 
 
patternRatioRange
Σ
0..1RatioRange
 
 
patternReference
Σ
0..1Reference
 
 
patternSampledData
Σ
0..1SampledData
 
 
patternSignature
Σ
0..1Signature
 
 
patternTiming
Σ
0..1Timing
 
 
patternContactDetail
Σ
0..1ContactDetail
 
 
patternDataRequirement
Σ
0..1DataRequirement
 
 
patternExpression
Σ
0..1Expression
 
 
patternParameterDefinition
Σ
0..1ParameterDefinition
 
 
patternRelatedArtifact
Σ
0..1RelatedArtifact
 
 
patternTriggerDefinition
Σ
0..1TriggerDefinition
 
 
patternUsageContext
Σ
0..1UsageContext
 
 
patternAvailability
Σ
0..1Availability
 
 
patternExtendedContactDetail
Σ
0..1ExtendedContactDetail
 
 
patternDosage
Σ
0..1Dosage
 
 
patternMeta
Σ
0..1Meta
 
example
Σ
0..*ElementExample value (as defined for type)
 
 
label *
Σ
1..1stringDescribes the purpose of this example
 
 
value[x] *
Σ
1..1Value of Example (one of allowed types)
 
 
 
valueBase64Binary *
Σ
1..1base64Binary
 
 
 
valueBoolean *
Σ
1..1boolean
 
 
 
valueCanonical *
Σ
1..1canonical
 
 
 
valueCode *
Σ
1..1code
 
 
 
valueDate *
Σ
1..1date
 
 
 
valueDateTime *
Σ
1..1dateTime
 
 
 
valueDecimal *
Σ
1..1decimal
 
 
 
valueId *
Σ
1..1id
 
 
 
valueInstant *
Σ
1..1instant
 
 
 
valueInteger *
Σ
1..1integer
 
 
 
valueInteger64 *
Σ
1..1integer64
 
 
 
valueMarkdown *
Σ
1..1markdown
 
 
 
valueOid *
Σ
1..1oid
 
 
 
valuePositiveInt *
Σ
1..1positiveInt
 
 
 
valueString *
Σ
1..1string
 
 
 
valueTime *
Σ
1..1time
 
 
 
valueUnsignedInt *
Σ
1..1unsignedInt
 
 
 
valueUri *
Σ
1..1uri
 
 
 
valueUrl *
Σ
1..1url
 
 
 
valueUuid *
Σ
1..1uuid
 
 
 
valueAddress *
Σ
1..1Address
 
 
 
valueAge *
Σ
1..1Age
 
 
 
valueAnnotation *
Σ
1..1Annotation
 
 
 
valueAttachment *
Σ
1..1Attachment
 
 
 
valueCodeableConcept *
Σ
1..1CodeableConcept
 
 
 
valueCodeableReference *
Σ
1..1CodeableReference
 
 
 
valueCoding *
Σ
1..1Coding
 
 
 
valueContactPoint *
Σ
1..1ContactPoint
 
 
 
valueCount *
Σ
1..1Count
 
 
 
valueDistance *
Σ
1..1Distance
 
 
 
valueDuration *
Σ
1..1Duration
 
 
 
valueHumanName *
Σ
1..1HumanName
 
 
 
valueIdentifier *
Σ
1..1Identifier
 
 
 
valueMoney *
Σ
1..1Money
 
 
 
valuePeriod *
Σ
1..1Period
 
 
 
valueQuantity *
Σ
1..1Quantity
 
 
 
valueRange *
Σ
1..1Range
 
 
 
valueRatio *
Σ
1..1Ratio
 
 
 
valueRatioRange *
Σ
1..1RatioRange
 
 
 
valueReference *
Σ
1..1Reference
 
 
 
valueSampledData *
Σ
1..1SampledData
 
 
 
valueSignature *
Σ
1..1Signature
 
 
 
valueTiming *
Σ
1..1Timing
 
 
 
valueContactDetail *
Σ
1..1ContactDetail
 
 
 
valueDataRequirement *
Σ
1..1DataRequirement
 
 
 
valueExpression *
Σ
1..1Expression
 
 
 
valueParameterDefinition *
Σ
1..1ParameterDefinition
 
 
 
valueRelatedArtifact *
Σ
1..1RelatedArtifact
 
 
 
valueTriggerDefinition *
Σ
1..1TriggerDefinition
 
 
 
valueUsageContext *
Σ
1..1UsageContext
 
 
 
valueAvailability *
Σ
1..1Availability
 
 
 
valueExtendedContactDetail *
Σ
1..1ExtendedContactDetail
 
 
 
valueDosage *
Σ
1..1Dosage
 
 
 
valueMeta *
Σ
1..1Meta
 
minValue[x]
Σ
0..1Minimum Allowed Value (for some types)
 
 
minValueDate
Σ
0..1date
 
 
minValueDateTime
Σ
0..1dateTime
 
 
minValueInstant
Σ
0..1instant
 
 
minValueTime
Σ
0..1time
 
 
minValueDecimal
Σ
0..1decimal
 
 
minValueInteger
Σ
0..1integer
 
 
minValueInteger64
Σ
0..1integer64
 
 
minValuePositiveInt
Σ
0..1positiveInt
 
 
minValueUnsignedInt
Σ
0..1unsignedInt
 
 
minValueQuantity
Σ
0..1Quantity
 
maxValue[x]
Σ
0..1Maximum Allowed Value (for some types)
 
 
maxValueDate
Σ
0..1date
 
 
maxValueDateTime
Σ
0..1dateTime
 
 
maxValueInstant
Σ
0..1instant
 
 
maxValueTime
Σ
0..1time
 
 
maxValueDecimal
Σ
0..1decimal
 
 
maxValueInteger
Σ
0..1integer
 
 
maxValueInteger64
Σ
0..1integer64
 
 
maxValuePositiveInt
Σ
0..1positiveInt
 
 
maxValueUnsignedInt
Σ
0..1unsignedInt
 
 
maxValueQuantity
Σ
0..1Quantity
 
maxLength
Σ
0..1integerMax length for string type data
 
condition
Σ
0..*idReference to invariant about presence
 
constraint
Σ
0..*ElementCondition that must evaluate to true
 
 
key *
Σ
1..1idTarget of 'condition' reference above
 
 
requirements
Σ
0..1markdownWhy this constraint is necessary or appropriate
 
 
severity *
Σ
1..1codeerror | warning ConstraintSeverity (required)
 
 
suppress
Σ
0..1booleanSuppress warning or hint in profile
 
 
human *
Σ
1..1stringHuman description of constraint
 
 
expression
Σ
0..1stringFHIRPath expression of constraint
 
 
source
Σ
0..1canonicalReference to original source of constraint
 
mustHaveValue
Σ
0..1booleanFor primitives, that a value must be present - not replaced by an extension
 
valueAlternatives
Σ
0..*canonicalExtensions that are allowed to replace a primitive value
 
mustSupport
Σ
0..1booleanIf the element must be supported (discouraged - see obligations)
 
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
 
 
strength *
Σ
1..1coderequired | extensible | preferred | example BindingStrength (required)
 
 
description
Σ
0..1markdownIntended use of codes in the bound value set
 
 
valueSet
Σ
0..1canonicalSource of value set
 
 
additional
Σ
0..*ElementAdditional Bindings - more rules about the binding
 
 
 
purpose *
Σ
1..1codemaximum | minimum | required | extensible | candidate | current | preferred | ui | starter | component AdditionalBindingPurpose (required)
 
 
 
valueSet *
Σ
1..1canonicalThe value set for the additional binding
 
 
 
documentation
Σ
0..1markdownDocumentation of the purpose of use of the binding
 
 
 
shortDoco
Σ
0..1stringConcise documentation - for summary tables
 
 
 
usage
Σ
0..*UsageContextQualifies the usage - jurisdiction, gender, workflow status etc.
 
 
 
any
Σ
0..1booleanWhether binding can applies to all repeats, or just one
 
mapping
Σ
0..*ElementMap element to another set of definitions
 
 
identity *
Σ
1..1idReference to mapping declaration
 
 
language
Σ
0..1codeComputable language of mapping MimeType (required)
 
 
map *
Σ
1..1stringDetails of the mapping
 
 
comment
Σ
0..1markdownComments about the mapping or its use