NameFlagsCard.TypeDescription & Constraintsdoco
.. ElementDefinitionΣNElementDefinition of an element in a resource or extension
+ Rule: Min <= Max
+ Rule: if the element definition has a contentReference, it cannot have type, defaultValue, fixed, pattern, example, minValue, maxValue, maxLength, or binding
+ Rule: Fixed value may only be specified if there is one type
+ Rule: Pattern may only be specified if there is one type
+ Rule: Pattern and fixed are mutually exclusive
+ Rule: Binding can only be present for coded elements, string, and uri if using FHIR-defined types
+ Rule: Types must be unique by code
+ Rule: Constraints must be unique by key
+ Rule: default value and meaningWhenMissing are mutually exclusive
+ Rule: sliceName must be composed of proper tokens separated by "/"
+ Rule: Must have a modifier reason if isModifier = true
+ Rule: Element path SHALL be expressed as a set of '.'-separated components with each component restricted to a maximum of 64 characters and with some limits on the allowed choice of characters
+ Warning: The first component of the path should be UpperCamelCase. Additional components (following a '.') should be lowerCamelCase. If this syntax is not adhered to, code generation tools may be broken. Logical models may be less concerned about this implication.
+ Rule: sliceIsConstraining can only appear if slicename is present
+ Guideline: pattern[x] should be used rather than fixed[x]
+ Warning: Order has no meaning (and cannot be asserted to have meaning), so enforcing rules on order is improper
+ Warning: Mappings SHOULD be unique by key
+ Rule: Can't have valueAlternatives if mustHaveValue is true

Elements defined in Ancestors: id, extension, modifierExtension
... pathΣC1..1stringPath of the element in the hierarchy of elements
... representationΣ0..*codexmlAttr | xmlText | typeAttr | cdaText | xhtml
Binding: PropertyRepresentation (Required)

... sliceNameΣC0..1stringName for this particular element (in a set of slices)
... sliceIsConstrainingΣCTU0..1booleanIf this slice definition constrains an inherited slice definition (or not)
... labelΣT0..1stringName for element to display with or prompt for element
... codeΣ0..*CodingCorresponding codes in terminologies
Binding: ElementDefinitionCode (Example)

... slicingΣC0..1ElementThis element is sliced - slices follow
.... discriminatorΣ0..*ElementElement values that are used to distinguish the slices

..... typeΣ1..1codevalue | exists | type | profile | position
Binding: DiscriminatorType (Required)
..... pathΣ1..1stringPath to element value
.... descriptionΣT0..1stringText description of how slicing works (or not)
.... orderedΣC0..1booleanIf elements must be in same order as slices
.... rulesΣC1..1codeclosed | open | openAtEnd
Binding: SlicingRules (Required)
... shortΣT0..1stringConcise definition for space-constrained presentation
... definitionΣT0..1markdownFull formal definition as narrative text
... commentΣT0..1markdownComments about the use of this element
... requirementsΣT0..1markdownWhy this resource has been created
... aliasΣT0..*stringOther names

... minΣC0..1unsignedIntMinimum Cardinality
... maxΣC0..1stringMaximum Cardinality (a number or *)
+ Rule: Max SHALL be 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ΣC0..1uriReference to definition of content for the element
... typeΣC0..*ElementData type and Profile for this element
+ Rule: Aggregation may only be specified if one of the allowed types for the element is a reference
+ Rule: targetProfile is only allowed if the type is Reference or canonical

.... codeΣC1..1uriData type or Resource (reference to definition)
Binding: Element Definition Types (Extensible)
.... profileΣ0..*canonical(StructureDefinition | ImplementationGuide)Profiles (StructureDefinition or IG) - one must apply

.... targetProfileΣC0..*canonical(StructureDefinition | ImplementationGuide)Profile (StructureDefinition or IG) on the Reference/canonical target - one must apply

.... aggregationΣC0..*codecontained | referenced | bundled - how aggregated
Binding: AggregationMode (Required)

.... versioningΣ0..1codeeither | independent | specific
Binding: ReferenceVersionRules (Required)
... defaultValue[x]ΣC0..1*Specified value if missing from instance
... meaningWhenMissingΣTC0..1markdownImplicit meaning when this element is missing
... orderMeaningΣC0..1stringWhat the order of the elements means
... fixed[x]ΣC0..1*Value must be exactly this
... pattern[x]ΣC0..1*Value must have at least these property values
... exampleΣC0..*ElementExample value (as defined for type)

.... labelΣT1..1stringDescribes the purpose of this example
.... value[x]Σ1..1*Value of Example (one of allowed types)
... minValue[x]ΣC0..1Minimum Allowed Value (for some types)
.... minValueDatedate
.... minValueDateTimedateTime
.... minValueInstantinstant
.... minValueTimetime
.... minValueDecimaldecimal
.... minValueIntegerinteger
.... minValueInteger64integer64
.... minValuePositiveIntpositiveInt
.... minValueUnsignedIntunsignedInt
.... minValueQuantityQuantity
... maxValue[x]ΣC0..1Maximum Allowed Value (for some types)
.... maxValueDatedate
.... maxValueDateTimedateTime
.... maxValueInstantinstant
.... maxValueTimetime
.... maxValueDecimaldecimal
.... maxValueIntegerinteger
.... maxValueInteger64integer64
.... maxValuePositiveIntpositiveInt
.... maxValueUnsignedIntunsignedInt
.... maxValueQuantityQuantity
... maxLengthΣC0..1integerMax length for string type data
... conditionΣ0..*idReference to invariant about presence

... constraintΣC0..*ElementCondition that must evaluate to true
+ Warning: Constraints should have an expression or else validators will not be able to enforce them
+ Rule: Errors cannot be suppressed

.... keyΣC1..1idTarget of 'condition' reference above
.... requirementsΣ0..1markdownWhy this constraint is necessary or appropriate
.... severityΣC1..1codeerror | warning
Binding: ConstraintSeverity (Required)
.... suppressΣCTU0..1booleanSuppress warning or hint in profile
.... humanΣT1..1stringHuman description of constraint
.... expressionΣC0..1stringFHIRPath expression of constraint
.... sourceΣ0..1canonical(StructureDefinition)Reference to original source of constraint
... mustHaveValueΣCTU0..1booleanFor primitives, that a value must be present - not replaced by an extension
... valueAlternativesΣCTU0..*canonical(StructureDefinition)Extensions that are allowed to replace a primitive value

... mustSupportΣ0..1booleanIf the element must be supported (discouraged - see obligations)
... isModifierΣC0..1booleanIf this modifies the meaning of other elements
... isModifierReasonΣC0..1stringReason that this element is marked as a modifier
... isSummaryΣ0..1booleanInclude when _summary = true?
... bindingΣC0..1ElementValueSet details if this is coded
+ Rule: ValueSet SHALL start with http:// or https:// or urn: or #
+ Rule: binding SHALL have either description or valueSet
.... strengthΣ1..1coderequired | extensible | preferred | example
Binding: BindingStrength (Required)
.... descriptionΣTC0..1markdownIntended use of codes in the bound value set
.... valueSetΣC0..1canonical(ValueSet)Source of value set
.... additionalΣTU0..*ElementAdditional Bindings - more rules about the binding

..... purposeΣ1..1codemaximum | minimum | required | extensible | candidate | current | preferred | ui | starter | component
Binding: Additional Binding Purpose ValueSet (Required)
..... valueSetΣ1..1canonical(ValueSet)The 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ΣC0..*ElementMap element to another set of definitions

.... identityΣC1..1idReference to mapping declaration
.... languageΣ0..1codeComputable language of mapping
Binding: Mime Types (Required)
.... mapΣ1..1stringDetails of the mapping
.... commentΣ0..1markdownComments about the mapping or its use

doco Documentation for this format