This page is part of the FHIR Specification (v5.0.0-snapshot3: R5 Snapshot #3, to support Connectathon 32). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3 R2
FHIR Infrastructure ![]() |
Maturity Level: Normative | Standards Status: Normative |
Types Framework Cross Reference: Base Types | Datatypes | Resources | Patterns
The definition of an element in a resource or an extension. The definition includes:
The ElementDefinition 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 (XML or JSON).
ElementDefinition is used in StructureDefinition
Structure
Name ![]() | Flags ![]() | Card. ![]() | Type ![]() | Description & Constraints ![]() ![]() ![]() |
---|---|---|---|---|
![]() ![]() | ΣN | Element | Definition 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 names cannot include some special characters with a max of 64 characters, + Warning: Element names should be simple alphanumerics with a max of 64 characters or code generation tools may be broken + 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 | |
![]() ![]() ![]() | Σ | 1..1 | string | Path of the element in the hierarchy of elements |
![]() ![]() ![]() | Σ | 0..* | code | xmlAttr | xmlText | typeAttr | cdaText | xhtml PropertyRepresentation (Required) |
![]() ![]() ![]() | Σ | 0..1 | string | Name for this particular element (in a set of slices) |
![]() ![]() ![]() | ΣTU | 0..1 | boolean | If this slice definition constrains an inherited slice definition (or not) |
![]() ![]() ![]() | ΣT | 0..1 | string | Name for element to display with or prompt for element |
![]() ![]() ![]() | Σ | 0..* | Coding | Corresponding codes in terminologies ElementDefinitionCode ![]() |
![]() ![]() ![]() | Σ | 0..1 | Element | This element is sliced - slices follow |
![]() ![]() ![]() ![]() | Σ | 0..* | Element | Element values that are used to distinguish the slices |
![]() ![]() ![]() ![]() ![]() | Σ | 1..1 | code | value | exists | type | profile | position DiscriminatorType (Required) |
![]() ![]() ![]() ![]() ![]() | Σ | 1..1 | string | Path to element value |
![]() ![]() ![]() ![]() | ΣT | 0..1 | string | Text description of how slicing works (or not) |
![]() ![]() ![]() ![]() | Σ | 0..1 | boolean | If elements must be in same order as slices |
![]() ![]() ![]() ![]() | Σ | 1..1 | code | closed | open | openAtEnd SlicingRules (Required) |
![]() ![]() ![]() | ΣT | 0..1 | string | Concise definition for space-constrained presentation |
![]() ![]() ![]() | ΣT | 0..1 | markdown | Full formal definition as narrative text |
![]() ![]() ![]() | ΣT | 0..1 | markdown | Comments about the use of this element |
![]() ![]() ![]() | ΣT | 0..1 | markdown | Why this resource has been created |
![]() ![]() ![]() | ΣT | 0..* | string | Other names |
![]() ![]() ![]() | ΣC | 0..1 | unsignedInt | Minimum Cardinality |
![]() ![]() ![]() | ΣC | 0..1 | string | Maximum Cardinality (a number or *) + Rule: Max SHALL be a number or "*" |
![]() ![]() ![]() | Σ | 0..1 | Element | Base definition information for tools |
![]() ![]() ![]() ![]() | Σ | 1..1 | string | Path that identifies the base element |
![]() ![]() ![]() ![]() | Σ | 1..1 | unsignedInt | Min cardinality of the base element |
![]() ![]() ![]() ![]() | Σ | 1..1 | string | Max cardinality of the base element |
![]() ![]() ![]() | ΣC | 0..1 | uri | Reference to definition of content for the element |
![]() ![]() ![]() | ΣC | 0..* | Element | Data 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 |
![]() ![]() ![]() ![]() | Σ | 1..1 | uri | Data type or Resource (reference to definition) Element Definition Types (Extensible) |
![]() ![]() ![]() ![]() | Σ | 0..* | canonical(StructureDefinition | ImplementationGuide) | Profiles (StructureDefinition or IG) - one must apply |
![]() ![]() ![]() ![]() | Σ | 0..* | canonical(StructureDefinition | ImplementationGuide) | Profile (StructureDefinition or IG) on the Reference/canonical target - one must apply |
![]() ![]() ![]() ![]() | ΣC | 0..* | code | contained | referenced | bundled - how aggregated AggregationMode (Required) |
![]() ![]() ![]() ![]() | Σ | 0..1 | code | either | independent | specific ReferenceVersionRules (Required) |
![]() ![]() ![]() | ΣC | 0..1 | * | Specified value if missing from instance |
![]() ![]() ![]() | ΣTC | 0..1 | markdown | Implicit meaning when this element is missing |
![]() ![]() ![]() | Σ | 0..1 | string | What the order of the elements means |
![]() ![]() ![]() | ΣC | 0..1 | * | Value must be exactly this |
![]() ![]() ![]() | ΣC | 0..1 | * | Value must have at least these property values |
![]() ![]() ![]() | Σ | 0..* | Element | Example value (as defined for type) |
![]() ![]() ![]() ![]() | ΣT | 1..1 | string | Describes the purpose of this example |
![]() ![]() ![]() ![]() | Σ | 1..1 | * | Value of Example (one of allowed types) |
![]() ![]() ![]() | Σ | 0..1 | Minimum Allowed Value (for some types) | |
![]() ![]() ![]() ![]() | date | |||
![]() ![]() ![]() ![]() | dateTime | |||
![]() ![]() ![]() ![]() | instant | |||
![]() ![]() ![]() ![]() | time | |||
![]() ![]() ![]() ![]() | decimal | |||
![]() ![]() ![]() ![]() | integer | |||
![]() ![]() ![]() ![]() | integer64 | |||
![]() ![]() ![]() ![]() | positiveInt | |||
![]() ![]() ![]() ![]() | unsignedInt | |||
![]() ![]() ![]() ![]() | Quantity | |||
![]() ![]() ![]() | Σ | 0..1 | Maximum Allowed Value (for some types) | |
![]() ![]() ![]() ![]() | date | |||
![]() ![]() ![]() ![]() | dateTime | |||
![]() ![]() ![]() ![]() | instant | |||
![]() ![]() ![]() ![]() | time | |||
![]() ![]() ![]() ![]() | decimal | |||
![]() ![]() ![]() ![]() | integer | |||
![]() ![]() ![]() ![]() | integer64 | |||
![]() ![]() ![]() ![]() | positiveInt | |||
![]() ![]() ![]() ![]() | unsignedInt | |||
![]() ![]() ![]() ![]() | Quantity | |||
![]() ![]() ![]() | Σ | 0..1 | integer | Max length for string type data |
![]() ![]() ![]() | Σ | 0..* | id | Reference to invariant about presence |
![]() ![]() ![]() | ΣC | 0..* | Element | Condition 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 |
![]() ![]() ![]() ![]() | ΣC | 1..1 | id | Target of 'condition' reference above |
![]() ![]() ![]() ![]() | Σ | 0..1 | markdown | Why this constraint is necessary or appropriate |
![]() ![]() ![]() ![]() | Σ | 1..1 | code | error | warning ConstraintSeverity (Required) |
![]() ![]() ![]() ![]() | Σ | 0..1 | boolean | Suppress warning or hint in profile |
![]() ![]() ![]() ![]() | ΣT | 1..1 | string | Human description of constraint |
![]() ![]() ![]() ![]() | Σ | 0..1 | string | FHIRPath expression of constraint |
![]() ![]() ![]() ![]() | Σ | 0..1 | canonical(StructureDefinition) | Reference to original source of constraint |
![]() ![]() ![]() | ΣTU | 0..1 | boolean | For primitives, that a value must be present - not replaced by an extension |
![]() ![]() ![]() | ΣTU | 0..* | canonical(StructureDefinition) | Extensions that are allowed to replace a primitive value |
![]() ![]() ![]() | Σ | 0..1 | boolean | If the element must be supported (discouraged - see obligations) |
![]() ![]() ![]() | ΣTU | 0..* | Element | Documents obligations for applications making use of this element |
![]() ![]() ![]() ![]() | ΣTU | 1..1 | Coding | Combination code describing the nature of the obligation Obligation Codes ValueSet (Extensible) |
![]() ![]() ![]() ![]() | ΣTU | 0..* | canonical(ActorDefinition) | Actor(s) this obligation applies to (all actors if none) |
![]() ![]() ![]() ![]() | ΣTU | 0..1 | markdown | Documentation of the purpose or application of the obligation |
![]() ![]() ![]() ![]() | ΣTU | 0..* | UsageContext | Qualifies the usage - jurisdiction, gender, workflow status etc |
![]() ![]() ![]() ![]() | ΣTU | 0..1 | string | Limits obligation to some repeats by FHIRPath |
![]() ![]() ![]() ![]() | ΣTU | 0..1 | string | Ddescribes the intent of the filter (short) |
![]() ![]() ![]() ![]() | ΣTU | 0..* | uri | The obligation only applies when perfomring the indicated process |
![]() ![]() ![]() | Σ | 0..1 | boolean | If this modifies the meaning of other elements |
![]() ![]() ![]() | Σ | 0..1 | string | Reason that this element is marked as a modifier |
![]() ![]() ![]() | Σ | 0..1 | boolean | Include when _summary = true? |
![]() ![]() ![]() | ΣC | 0..1 | Element | ValueSet details if this is coded + Rule: ValueSet SHALL start with http:// or https:// or urn: or # + Rule: binding SHALL have either description or valueSet |
![]() ![]() ![]() ![]() | Σ | 1..1 | code | required | extensible | preferred | example BindingStrength (Required) |
![]() ![]() ![]() ![]() | ΣT | 0..1 | markdown | Intended use of codes in the bound value set |
![]() ![]() ![]() ![]() | ΣC | 0..1 | canonical(ValueSet) | Source of value set |
![]() ![]() ![]() ![]() | ΣTU | 0..* | Element | Additional Bindings - more rules about the binding |
![]() ![]() ![]() ![]() ![]() | ΣTU | 1..1 | code | maximum | minimum | required | extensible | candidate | current | preferred | ui | starter | component Additional Binding Purpose ValueSet (Required) |
![]() ![]() ![]() ![]() ![]() | ΣTU | 1..1 | canonical(ValueSet) | The value set for the additional binding |
![]() ![]() ![]() ![]() ![]() | ΣTU | 0..1 | markdown | Documentation of the purpose of use of the binding |
![]() ![]() ![]() ![]() ![]() | ΣTU | 0..1 | string | Concise documentation - for summary tables |
![]() ![]() ![]() ![]() ![]() | ΣTU | 0..* | UsageContext | Qualifies the usage - jurisdiction, gender, workflow status etc |
![]() ![]() ![]() ![]() ![]() | ΣTU | 0..1 | boolean | Whether binding can applies to all repeats, or just one |
![]() ![]() ![]() | Σ | 0..* | Element | Map element to another set of definitions |
![]() ![]() ![]() ![]() | Σ | 1..1 | id | Reference to mapping declaration |
![]() ![]() ![]() ![]() | Σ | 0..1 | code | Computable language of mapping Mime Types (Required) |
![]() ![]() ![]() ![]() | Σ | 1..1 | string | Details of the mapping |
![]() ![]() ![]() ![]() | Σ | 0..1 | markdown | Comments about the mapping or its use |
![]() ![]() |
UML Diagram (Legend)
XML Template
<ElementDefinition xmlns="http://hl7.org/fhir"> <!-- from Element: extension --> <path value="[string]"/><!-- 1..1 Path of the element in the hierarchy of elements --> <representation value="[code]"/><!-- 0..* xmlAttr | xmlText | typeAttr | cdaText | xhtml --> <sliceName value="[string]"/><!-- 0..1 Name for this particular element (in a set of slices) --> <sliceIsConstraining value="[boolean]"/><!-- 0..1 If this slice definition constrains an inherited slice definition (or not) --> <label value="[string]"/><!-- 0..1 Name for element to display with or prompt for element --> <code><!-- 0..* Coding Corresponding codes in terminologies--></code> <slicing> <!-- 0..1 This element is sliced - slices follow --> <discriminator> <!-- 0..* Element values that are used to distinguish the slices --> <type value="[code]"/><!-- 1..1 value | exists | type | profile | position --> <path value="[string]"/><!-- 1..1 Path to element value --> </discriminator> <description value="[string]"/><!-- 0..1 Text description of how slicing works (or not) --> <ordered value="[boolean]"/><!-- 0..1 If elements must be in same order as slices --> <rules value="[code]"/><!-- 1..1 closed | open | openAtEnd --> </slicing> <short value="[string]"/><!-- 0..1 Concise definition for space-constrained presentation --> <definition value="[markdown]"/><!-- 0..1 Full formal definition as narrative text --> <comment value="[markdown]"/><!-- 0..1 Comments about the use of this element --> <requirements value="[markdown]"/><!-- 0..1 Why this resource has been created --> <alias value="[string]"/><!-- 0..* Other names --> <min value="[unsignedInt]"/><!-- I 0..1 Minimum Cardinality --> <max value="[string]"/><!-- I 0..1 Maximum Cardinality (a number or *) --> <base> <!-- 0..1 Base definition information for tools --> <path value="[string]"/><!-- 1..1 Path that identifies the base element --> <min value="[unsignedInt]"/><!-- 1..1 Min cardinality of the base element --> <max value="[string]"/><!-- 1..1 Max cardinality of the base element --> </base> <contentReference value="[uri]"/><!-- I 0..1 Reference to definition of content for the element --> <type> <!-- I 0..* Data type and Profile for this element --> <code value="[uri]"/><!-- 1..1 Data type or Resource (reference to definition) --> <profile><!-- 0..* canonical(ImplementationGuide|StructureDefinition) Profiles (StructureDefinition or IG) - one must apply --></profile> <targetProfile><!-- 0..* canonical(ImplementationGuide|StructureDefinition) Profile (StructureDefinition or IG) on the Reference/canonical target - one must apply --></targetProfile> <aggregation value="[code]"/><!-- I 0..* contained | referenced | bundled - how aggregated --> <versioning value="[code]"/><!-- 0..1 either | independent | specific --> </type> <defaultValue[x]><!-- I 0..1 * Specified value if missing from instance --></defaultValue[x]> <meaningWhenMissing value="[markdown]"/><!-- I 0..1 Implicit meaning when this element is missing --> <orderMeaning value="[string]"/><!-- 0..1 What the order of the elements means --> <fixed[x]><!-- I 0..1 * Value must be exactly this --></fixed[x]> <pattern[x]><!-- I 0..1 * Value must have at least these property values --></pattern[x]> <example> <!-- 0..* Example value (as defined for type) --> <label value="[string]"/><!-- 1..1 Describes the purpose of this example --> <value[x]><!-- 1..1 * Value of Example (one of allowed types) --></value[x]> </example> <minValue[x]><!-- 0..1 date|dateTime|instant|time|decimal|integer|integer64| positiveInt|unsignedInt|Quantity Minimum Allowed Value (for some types) --></minValue[x]> <maxValue[x]><!-- 0..1 date|dateTime|instant|time|decimal|integer|integer64| positiveInt|unsignedInt|Quantity Maximum Allowed Value (for some types) --></maxValue[x]> <maxLength value="[integer]"/><!-- 0..1 Max length for string type data --> <condition value="[id]"/><!-- 0..* Reference to invariant about presence --> <constraint> <!-- 0..* Condition that must evaluate to true --> <key value="[id]"/><!-- I 1..1 Target of 'condition' reference above --> <requirements value="[markdown]"/><!-- 0..1 Why this constraint is necessary or appropriate --> <severity value="[code]"/><!-- 1..1 error | warning --> <suppress value="[boolean]"/><!-- 0..1 Suppress warning or hint in profile --> <human value="[string]"/><!-- 1..1 Human description of constraint --> <expression value="[string]"/><!-- 0..1 FHIRPath expression of constraint --> <source><!-- 0..1 canonical(StructureDefinition) Reference to original source of constraint --></source> </constraint> <mustHaveValue value="[boolean]"/><!-- 0..1 For primitives, that a value must be present - not replaced by an extension --> <valueAlternatives><!-- 0..* canonical(StructureDefinition) Extensions that are allowed to replace a primitive value --></valueAlternatives> <mustSupport value="[boolean]"/><!-- 0..1 If the element must be supported (discouraged - see obligations) --> <obligation> <!-- 0..* Documents obligations for applications making use of this element --> <code><!-- 1..1 Coding Combination code describing the nature of the obligation --></code> <actor><!-- 0..* canonical(ActorDefinition) Actor(s) this obligation applies to (all actors if none) --></actor> <documentation value="[markdown]"/><!-- 0..1 Documentation of the purpose or application of the obligation --> <usage><!-- 0..* UsageContext Qualifies the usage - jurisdiction, gender, workflow status etc --></usage> <filter value="[string]"/><!-- 0..1 Limits obligation to some repeats by FHIRPath --> <filterDocumentation value="[string]"/><!-- 0..1 Ddescribes the intent of the filter (short) --> <process value="[uri]"/><!-- 0..* The obligation only applies when perfomring the indicated process --> </obligation> <isModifier value="[boolean]"/><!-- 0..1 If this modifies the meaning of other elements --> <isModifierReason value="[string]"/><!-- 0..1 Reason that this element is marked as a modifier --> <isSummary value="[boolean]"/><!-- 0..1 Include when _summary = true? --> <binding> <!-- I 0..1 ValueSet details if this is coded --> <strength value="[code]"/><!-- 1..1 required | extensible | preferred | example --> <description value="[markdown]"/><!-- 0..1 Intended use of codes in the bound value set --> <valueSet><!-- I 0..1 canonical(ValueSet) Source of value set --></valueSet> <additional> <!-- 0..* Additional Bindings - more rules about the binding --> <purpose value="[code]"/><!-- 1..1 maximum | minimum | required | extensible | candidate | current | preferred | ui | starter | component --> <valueSet><!-- 1..1 canonical(ValueSet) The value set for the additional binding --></valueSet> <documentation value="[markdown]"/><!-- 0..1 Documentation of the purpose of use of the binding --> <shortDoco value="[string]"/><!-- 0..1 Concise documentation - for summary tables --> <usage><!-- 0..* UsageContext Qualifies the usage - jurisdiction, gender, workflow status etc --></usage> <any value="[boolean]"/><!-- 0..1 Whether binding can applies to all repeats, or just one --> </additional> </binding> <mapping> <!-- 0..* Map element to another set of definitions --> <identity value="[id]"/><!-- 1..1 Reference to mapping declaration --> <language value="[code]"/><!-- 0..1 Computable language of mapping --> <map value="[string]"/><!-- 1..1 Details of the mapping --> <comment value="[markdown]"/><!-- 0..1 Comments about the mapping or its use --> </mapping> </ElementDefinition>
JSON Template
{// from Element: extension "path" : "<string>", // R! Path of the element in the hierarchy of elements "representation" : ["<code>"], // xmlAttr | xmlText | typeAttr | cdaText | xhtml "sliceName" : "<string>", // Name for this particular element (in a set of slices) "sliceIsConstraining" : <boolean>, // If this slice definition constrains an inherited slice definition (or not) "label" : "<string>", // Name for element to display with or prompt for element "code" : [{ Coding }], // Corresponding codes in terminologies
"slicing" : { // This element is sliced - slices follow "discriminator" : [{ // Element values that are used to distinguish the slices "type" : "<code>", // R! value | exists | type | profile | position "path" : "<string>" // R! Path to element value }], "description" : "<string>", // Text description of how slicing works (or not) "ordered" : <boolean>, // If elements must be in same order as slices "rules" : "<code>" // R! closed | open | openAtEnd }, "short" : "<string>", // Concise definition for space-constrained presentation "definition" : "<markdown>", // Full formal definition as narrative text "comment" : "<markdown>", // Comments about the use of this element "requirements" : "<markdown>", // Why this resource has been created "alias" : ["<string>"], // Other names "min" : "<unsignedInt>", // I Minimum Cardinality "max" : "<string>", // I Maximum Cardinality (a number or *) "base" : { // Base definition information for tools "path" : "<string>", // R! Path that identifies the base element "min" : "<unsignedInt>", // R! Min cardinality of the base element "max" : "<string>" // R! Max cardinality of the base element }, "contentReference" : "<uri>", // I Reference to definition of content for the element "type" : [{ // I Data type and Profile for this element "code" : "<uri>", // R! Data type or Resource (reference to definition) "profile" : ["<canonical(StructureDefinition|ImplementationGuide)>"], // Profiles (StructureDefinition or IG) - one must apply "targetProfile" : ["<canonical(StructureDefinition|ImplementationGuide)>"], // Profile (StructureDefinition or IG) on the Reference/canonical target - one must apply "aggregation" : ["<code>"], // I contained | referenced | bundled - how aggregated "versioning" : "<code>" // either | independent | specific }], // defaultValue[x]: Specified value if missing from instance. One of these 54: "defaultValueBase64Binary" : "<base64Binary>", "defaultValueBoolean" : <boolean>, "defaultValueCanonical" : "<canonical>", "defaultValueCode" : "<code>", "defaultValueDate" : "<date>", "defaultValueDateTime" : "<dateTime>", "defaultValueDecimal" : <decimal>, "defaultValueId" : "<id>", "defaultValueInstant" : "<instant>", "defaultValueInteger" : <integer>, "defaultValueInteger64" : "<integer64>", "defaultValueMarkdown" : "<markdown>", "defaultValueOid" : "<oid>", "defaultValuePositiveInt" : "<positiveInt>", "defaultValueString" : "<string>", "defaultValueTime" : "<time>", "defaultValueUnsignedInt" : "<unsignedInt>", "defaultValueUri" : "<uri>", "defaultValueUrl" : "<url>", "defaultValueUuid" : "<uuid>", "defaultValueAddress" : { Address }, "defaultValueAge" : { Age }, "defaultValueAnnotation" : { Annotation }, "defaultValueAttachment" : { Attachment }, "defaultValueCodeableConcept" : { CodeableConcept }, "defaultValueCodeableReference" : { CodeableReference }, "defaultValueCoding" : { Coding }, "defaultValueContactPoint" : { ContactPoint }, "defaultValueCount" : { Count }, "defaultValueDistance" : { Distance }, "defaultValueDuration" : { Duration }, "defaultValueHumanName" : { HumanName }, "defaultValueIdentifier" : { Identifier }, "defaultValueMoney" : { Money }, "defaultValuePeriod" : { Period }, "defaultValueQuantity" : { Quantity }, "defaultValueRange" : { Range }, "defaultValueRatio" : { Ratio }, "defaultValueRatioRange" : { RatioRange }, "defaultValueReference" : { Reference }, "defaultValueSampledData" : { SampledData }, "defaultValueSignature" : { Signature }, "defaultValueTiming" : { Timing }, "defaultValueContactDetail" : { ContactDetail }, "defaultValueDataRequirement" : { DataRequirement }, "defaultValueExpression" : { Expression }, "defaultValueParameterDefinition" : { ParameterDefinition }, "defaultValueRelatedArtifact" : { RelatedArtifact }, "defaultValueTriggerDefinition" : { TriggerDefinition }, "defaultValueUsageContext" : { UsageContext }, "defaultValueAvailability" : { Availability }, "defaultValueExtendedContactDetail" : { ExtendedContactDetail }, "defaultValueDosage" : { Dosage }, "defaultValueMeta" : { Meta }, "meaningWhenMissing" : "<markdown>", // I Implicit meaning when this element is missing "orderMeaning" : "<string>", // What the order of the elements means // fixed[x]: Value must be exactly this. One of these 54: "fixedBase64Binary" : "<base64Binary>", "fixedBoolean" : <boolean>, "fixedCanonical" : "<canonical>", "fixedCode" : "<code>", "fixedDate" : "<date>", "fixedDateTime" : "<dateTime>", "fixedDecimal" : <decimal>, "fixedId" : "<id>", "fixedInstant" : "<instant>", "fixedInteger" : <integer>, "fixedInteger64" : "<integer64>", "fixedMarkdown" : "<markdown>", "fixedOid" : "<oid>", "fixedPositiveInt" : "<positiveInt>", "fixedString" : "<string>", "fixedTime" : "<time>", "fixedUnsignedInt" : "<unsignedInt>", "fixedUri" : "<uri>", "fixedUrl" : "<url>", "fixedUuid" : "<uuid>", "fixedAddress" : { Address }, "fixedAge" : { Age }, "fixedAnnotation" : { Annotation }, "fixedAttachment" : { Attachment }, "fixedCodeableConcept" : { CodeableConcept }, "fixedCodeableReference" : { CodeableReference }, "fixedCoding" : { Coding }, "fixedContactPoint" : { ContactPoint }, "fixedCount" : { Count }, "fixedDistance" : { Distance }, "fixedDuration" : { Duration }, "fixedHumanName" : { HumanName }, "fixedIdentifier" : { Identifier }, "fixedMoney" : { Money }, "fixedPeriod" : { Period }, "fixedQuantity" : { Quantity }, "fixedRange" : { Range }, "fixedRatio" : { Ratio }, "fixedRatioRange" : { RatioRange }, "fixedReference" : { Reference }, "fixedSampledData" : { SampledData }, "fixedSignature" : { Signature }, "fixedTiming" : { Timing }, "fixedContactDetail" : { ContactDetail }, "fixedDataRequirement" : { DataRequirement }, "fixedExpression" : { Expression }, "fixedParameterDefinition" : { ParameterDefinition }, "fixedRelatedArtifact" : { RelatedArtifact }, "fixedTriggerDefinition" : { TriggerDefinition }, "fixedUsageContext" : { UsageContext }, "fixedAvailability" : { Availability }, "fixedExtendedContactDetail" : { ExtendedContactDetail }, "fixedDosage" : { Dosage }, "fixedMeta" : { Meta }, // pattern[x]: Value must have at least these property values. One of these 54: "patternBase64Binary" : "<base64Binary>", "patternBoolean" : <boolean>, "patternCanonical" : "<canonical>", "patternCode" : "<code>", "patternDate" : "<date>", "patternDateTime" : "<dateTime>", "patternDecimal" : <decimal>, "patternId" : "<id>", "patternInstant" : "<instant>", "patternInteger" : <integer>, "patternInteger64" : "<integer64>", "patternMarkdown" : "<markdown>", "patternOid" : "<oid>", "patternPositiveInt" : "<positiveInt>", "patternString" : "<string>", "patternTime" : "<time>", "patternUnsignedInt" : "<unsignedInt>", "patternUri" : "<uri>", "patternUrl" : "<url>", "patternUuid" : "<uuid>", "patternAddress" : { Address }, "patternAge" : { Age }, "patternAnnotation" : { Annotation }, "patternAttachment" : { Attachment }, "patternCodeableConcept" : { CodeableConcept }, "patternCodeableReference" : { CodeableReference }, "patternCoding" : { Coding }, "patternContactPoint" : { ContactPoint }, "patternCount" : { Count }, "patternDistance" : { Distance }, "patternDuration" : { Duration }, "patternHumanName" : { HumanName }, "patternIdentifier" : { Identifier }, "patternMoney" : { Money }, "patternPeriod" : { Period }, "patternQuantity" : { Quantity }, "patternRange" : { Range }, "patternRatio" : { Ratio }, "patternRatioRange" : { RatioRange }, "patternReference" : { Reference }, "patternSampledData" : { SampledData }, "patternSignature" : { Signature }, "patternTiming" : { Timing }, "patternContactDetail" : { ContactDetail }, "patternDataRequirement" : { DataRequirement }, "patternExpression" : { Expression }, "patternParameterDefinition" : { ParameterDefinition }, "patternRelatedArtifact" : { RelatedArtifact }, "patternTriggerDefinition" : { TriggerDefinition }, "patternUsageContext" : { UsageContext }, "patternAvailability" : { Availability }, "patternExtendedContactDetail" : { ExtendedContactDetail }, "patternDosage" : { Dosage }, "patternMeta" : { Meta }, "example" : [{ // Example value (as defined for type) "label" : "<string>", // R! Describes the purpose of this example // value[x]: Value of Example (one of allowed types). One of these 54: "valueBase64Binary" : "<base64Binary>" "valueBoolean" : <boolean>, "valueCanonical" : "<canonical>", "valueCode" : "<code>", "valueDate" : "<date>", "valueDateTime" : "<dateTime>", "valueDecimal" : <decimal>, "valueId" : "<id>", "valueInstant" : "<instant>", "valueInteger" : <integer>, "valueInteger64" : "<integer64>", "valueMarkdown" : "<markdown>", "valueOid" : "<oid>", "valuePositiveInt" : "<positiveInt>", "valueString" : "<string>", "valueTime" : "<time>", "valueUnsignedInt" : "<unsignedInt>", "valueUri" : "<uri>", "valueUrl" : "<url>", "valueUuid" : "<uuid>", "valueAddress" : { Address }, "valueAge" : { Age }, "valueAnnotation" : { Annotation }, "valueAttachment" : { Attachment }, "valueCodeableConcept" : { CodeableConcept }, "valueCodeableReference" : { CodeableReference }, "valueCoding" : { Coding }, "valueContactPoint" : { ContactPoint }, "valueCount" : { Count }, "valueDistance" : { Distance }, "valueDuration" : { Duration }, "valueHumanName" : { HumanName }, "valueIdentifier" : { Identifier }, "valueMoney" : { Money }, "valuePeriod" : { Period }, "valueQuantity" : { Quantity }, "valueRange" : { Range }, "valueRatio" : { Ratio }, "valueRatioRange" : { RatioRange }, "valueReference" : { Reference }, "valueSampledData" : { SampledData }, "valueSignature" : { Signature }, "valueTiming" : { Timing }, "valueContactDetail" : { ContactDetail }, "valueDataRequirement" : { DataRequirement }, "valueExpression" : { Expression }, "valueParameterDefinition" : { ParameterDefinition }, "valueRelatedArtifact" : { RelatedArtifact }, "valueTriggerDefinition" : { TriggerDefinition }, "valueUsageContext" : { UsageContext }, "valueAvailability" : { Availability }, "valueExtendedContactDetail" : { ExtendedContactDetail }, "valueDosage" : { Dosage }, "valueMeta" : { Meta }, }], // minValue[x]: Minimum Allowed Value (for some types). One of these 10: "minValueDate" : "<date>", "minValueDateTime" : "<dateTime>", "minValueInstant" : "<instant>", "minValueTime" : "<time>", "minValueDecimal" : <decimal>, "minValueInteger" : <integer>, "minValueInteger64" : "<integer64>", "minValuePositiveInt" : "<positiveInt>", "minValueUnsignedInt" : "<unsignedInt>", "minValueQuantity" : { Quantity }, // maxValue[x]: Maximum Allowed Value (for some types). One of these 10: "maxValueDate" : "<date>", "maxValueDateTime" : "<dateTime>", "maxValueInstant" : "<instant>", "maxValueTime" : "<time>", "maxValueDecimal" : <decimal>, "maxValueInteger" : <integer>, "maxValueInteger64" : "<integer64>", "maxValuePositiveInt" : "<positiveInt>", "maxValueUnsignedInt" : "<unsignedInt>", "maxValueQuantity" : { Quantity }, "maxLength" : <integer>, // Max length for string type data "condition" : ["<id>"], // Reference to invariant about presence "constraint" : [{ // Condition that must evaluate to true "key" : "<id>", // I R! Target of 'condition' reference above "requirements" : "<markdown>", // Why this constraint is necessary or appropriate "severity" : "<code>", // R! error | warning "suppress" : <boolean>, // Suppress warning or hint in profile "human" : "<string>", // R! Human description of constraint "expression" : "<string>", // FHIRPath expression of constraint "source" : "<canonical(StructureDefinition)>" // Reference to original source of constraint }], "mustHaveValue" : <boolean>, // For primitives, that a value must be present - not replaced by an extension "valueAlternatives" : ["<canonical(StructureDefinition)>"], // Extensions that are allowed to replace a primitive value "mustSupport" : <boolean>, // If the element must be supported (discouraged - see obligations) "obligation" : [{ // Documents obligations for applications making use of this element "code" : { Coding }, // R! Combination code describing the nature of the obligation "actor" : ["<canonical(ActorDefinition)>"], // Actor(s) this obligation applies to (all actors if none) "documentation" : "<markdown>", // Documentation of the purpose or application of the obligation "usage" : [{ UsageContext }], // Qualifies the usage - jurisdiction, gender, workflow status etc "filter" : "<string>", // Limits obligation to some repeats by FHIRPath "filterDocumentation" : "<string>", // Ddescribes the intent of the filter (short) "process" : ["<uri>"] // The obligation only applies when perfomring the indicated process }], "isModifier" : <boolean>, // If this modifies the meaning of other elements "isModifierReason" : "<string>", // Reason that this element is marked as a modifier "isSummary" : <boolean>, // Include when _summary = true? "binding" : { // I ValueSet details if this is coded "strength" : "<code>", // R! required | extensible | preferred | example "description" : "<markdown>", // Intended use of codes in the bound value set "valueSet" : "<canonical(ValueSet)>", // I Source of value set "additional" : [{ // Additional Bindings - more rules about the binding "purpose" : "<code>", // R! maximum | minimum | required | extensible | candidate | current | preferred | ui | starter | component "valueSet" : "<canonical(ValueSet)>", // R! The value set for the additional binding "documentation" : "<markdown>", // Documentation of the purpose of use of the binding "shortDoco" : "<string>", // Concise documentation - for summary tables "usage" : [{ UsageContext }], // Qualifies the usage - jurisdiction, gender, workflow status etc "any" : <boolean> // Whether binding can applies to all repeats, or just one }] }, "mapping" : [{ // Map element to another set of definitions "identity" : "<id>", // R! Reference to mapping declaration "language" : "<code>", // Computable language of mapping "map" : "<string>", // R! Details of the mapping "comment" : "<markdown>" // Comments about the mapping or its use }] }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ # from Element: Element.extension fhir:ElementDefinition.path [ string ]; # 1..1 Path of the element in the hierarchy of elements fhir:ElementDefinition.representation [ code ], ... ; # 0..* xmlAttr | xmlText | typeAttr | cdaText | xhtml fhir:ElementDefinition.sliceName [ string ]; # 0..1 Name for this particular element (in a set of slices) fhir:ElementDefinition.sliceIsConstraining [ boolean ]; # 0..1 If this slice definition constrains an inherited slice definition (or not) fhir:ElementDefinition.label [ string ]; # 0..1 Name for element to display with or prompt for element fhir:ElementDefinition.code [ Coding ], ... ; # 0..* Corresponding codes in terminologies fhir:ElementDefinition.slicing [ # 0..1 This element is sliced - slices follow fhir:ElementDefinition.slicing.discriminator [ # 0..* Element values that are used to distinguish the slices fhir:ElementDefinition.slicing.discriminator.type [ code ]; # 1..1 value | exists | type | profile | position fhir:ElementDefinition.slicing.discriminator.path [ string ]; # 1..1 Path to element value ], ...; fhir:ElementDefinition.slicing.description [ string ]; # 0..1 Text description of how slicing works (or not) fhir:ElementDefinition.slicing.ordered [ boolean ]; # 0..1 If elements must be in same order as slices fhir:ElementDefinition.slicing.rules [ code ]; # 1..1 closed | open | openAtEnd ]; fhir:ElementDefinition.short [ string ]; # 0..1 Concise definition for space-constrained presentation fhir:ElementDefinition.definition [ markdown ]; # 0..1 Full formal definition as narrative text fhir:ElementDefinition.comment [ markdown ]; # 0..1 Comments about the use of this element fhir:ElementDefinition.requirements [ markdown ]; # 0..1 Why this resource has been created fhir:ElementDefinition.alias [ string ], ... ; # 0..* Other names fhir:ElementDefinition.min [ unsignedInt ]; # 0..1 I Minimum Cardinality fhir:ElementDefinition.max [ string ]; # 0..1 I Maximum Cardinality (a number or *) fhir:ElementDefinition.base [ # 0..1 Base definition information for tools fhir:ElementDefinition.base.path [ string ]; # 1..1 Path that identifies the base element fhir:ElementDefinition.base.min [ unsignedInt ]; # 1..1 Min cardinality of the base element fhir:ElementDefinition.base.max [ string ]; # 1..1 Max cardinality of the base element ]; fhir:ElementDefinition.contentReference [ uri ]; # 0..1 I Reference to definition of content for the element fhir:ElementDefinition.type [ # 0..* I Data type and Profile for this element fhir:ElementDefinition.type.code [ uri ]; # 1..1 Data type or Resource (reference to definition) fhir:ElementDefinition.type.profile [ canonical(ImplementationGuide|StructureDefinition) ], ... ; # 0..* Profiles (StructureDefinition or IG) - one must apply fhir:ElementDefinition.type.targetProfile [ canonical(ImplementationGuide|StructureDefinition) ], ... ; # 0..* Profile (StructureDefinition or IG) on the Reference/canonical target - one must apply fhir:ElementDefinition.type.aggregation [ code ], ... ; # 0..* I contained | referenced | bundled - how aggregated fhir:ElementDefinition.type.versioning [ code ]; # 0..1 either | independent | specific ], ...; # ElementDefinition.defaultValue[x] : 0..1 I Specified value if missing from instance. One of these 54 fhir:ElementDefinition.defaultValueBase64Binary [ base64Binary ] fhir:ElementDefinition.defaultValueBoolean [ boolean ] fhir:ElementDefinition.defaultValueCanonical [ canonical ] fhir:ElementDefinition.defaultValueCode [ code ] fhir:ElementDefinition.defaultValueDate [ date ] fhir:ElementDefinition.defaultValueDateTime [ dateTime ] fhir:ElementDefinition.defaultValueDecimal [ decimal ] fhir:ElementDefinition.defaultValueId [ id ] fhir:ElementDefinition.defaultValueInstant [ instant ] fhir:ElementDefinition.defaultValueInteger [ integer ] fhir:ElementDefinition.defaultValueInteger64 [ integer64 ] fhir:ElementDefinition.defaultValueMarkdown [ markdown ] fhir:ElementDefinition.defaultValueOid [ oid ] fhir:ElementDefinition.defaultValuePositiveInt [ positiveInt ] fhir:ElementDefinition.defaultValueString [ string ] fhir:ElementDefinition.defaultValueTime [ time ] fhir:ElementDefinition.defaultValueUnsignedInt [ unsignedInt ] fhir:ElementDefinition.defaultValueUri [ uri ] fhir:ElementDefinition.defaultValueUrl [ url ] fhir:ElementDefinition.defaultValueUuid [ uuid ] fhir:ElementDefinition.defaultValueAddress [ Address ] fhir:ElementDefinition.defaultValueAge [ Age ] fhir:ElementDefinition.defaultValueAnnotation [ Annotation ] fhir:ElementDefinition.defaultValueAttachment [ Attachment ] fhir:ElementDefinition.defaultValueCodeableConcept [ CodeableConcept ] fhir:ElementDefinition.defaultValueCodeableReference [ CodeableReference ] fhir:ElementDefinition.defaultValueCoding [ Coding ] fhir:ElementDefinition.defaultValueContactPoint [ ContactPoint ] fhir:ElementDefinition.defaultValueCount [ Count ] fhir:ElementDefinition.defaultValueDistance [ Distance ] fhir:ElementDefinition.defaultValueDuration [ Duration ] fhir:ElementDefinition.defaultValueHumanName [ HumanName ] fhir:ElementDefinition.defaultValueIdentifier [ Identifier ] fhir:ElementDefinition.defaultValueMoney [ Money ] fhir:ElementDefinition.defaultValuePeriod [ Period ] fhir:ElementDefinition.defaultValueQuantity [ Quantity ] fhir:ElementDefinition.defaultValueRange [ Range ] fhir:ElementDefinition.defaultValueRatio [ Ratio ] fhir:ElementDefinition.defaultValueRatioRange [ RatioRange ] fhir:ElementDefinition.defaultValueReference [ Reference ] fhir:ElementDefinition.defaultValueSampledData [ SampledData ] fhir:ElementDefinition.defaultValueSignature [ Signature ] fhir:ElementDefinition.defaultValueTiming [ Timing ] fhir:ElementDefinition.defaultValueContactDetail [ ContactDetail ] fhir:ElementDefinition.defaultValueDataRequirement [ DataRequirement ] fhir:ElementDefinition.defaultValueExpression [ Expression ] fhir:ElementDefinition.defaultValueParameterDefinition [ ParameterDefinition ] fhir:ElementDefinition.defaultValueRelatedArtifact [ RelatedArtifact ] fhir:ElementDefinition.defaultValueTriggerDefinition [ TriggerDefinition ] fhir:ElementDefinition.defaultValueUsageContext [ UsageContext ] fhir:ElementDefinition.defaultValueAvailability [ Availability ] fhir:ElementDefinition.defaultValueExtendedContactDetail [ ExtendedContactDetail ] fhir:ElementDefinition.defaultValueDosage [ Dosage ] fhir:ElementDefinition.defaultValueMeta [ Meta ] fhir:ElementDefinition.meaningWhenMissing [ markdown ]; # 0..1 I Implicit meaning when this element is missing fhir:ElementDefinition.orderMeaning [ string ]; # 0..1 What the order of the elements means # ElementDefinition.fixed[x] : 0..1 I Value must be exactly this. One of these 54 fhir:ElementDefinition.fixedBase64Binary [ base64Binary ] fhir:ElementDefinition.fixedBoolean [ boolean ] fhir:ElementDefinition.fixedCanonical [ canonical ] fhir:ElementDefinition.fixedCode [ code ] fhir:ElementDefinition.fixedDate [ date ] fhir:ElementDefinition.fixedDateTime [ dateTime ] fhir:ElementDefinition.fixedDecimal [ decimal ] fhir:ElementDefinition.fixedId [ id ] fhir:ElementDefinition.fixedInstant [ instant ] fhir:ElementDefinition.fixedInteger [ integer ] fhir:ElementDefinition.fixedInteger64 [ integer64 ] fhir:ElementDefinition.fixedMarkdown [ markdown ] fhir:ElementDefinition.fixedOid [ oid ] fhir:ElementDefinition.fixedPositiveInt [ positiveInt ] fhir:ElementDefinition.fixedString [ string ] fhir:ElementDefinition.fixedTime [ time ] fhir:ElementDefinition.fixedUnsignedInt [ unsignedInt ] fhir:ElementDefinition.fixedUri [ uri ] fhir:ElementDefinition.fixedUrl [ url ] fhir:ElementDefinition.fixedUuid [ uuid ] fhir:ElementDefinition.fixedAddress [ Address ] fhir:ElementDefinition.fixedAge [ Age ] fhir:ElementDefinition.fixedAnnotation [ Annotation ] fhir:ElementDefinition.fixedAttachment [ Attachment ] fhir:ElementDefinition.fixedCodeableConcept [ CodeableConcept ] fhir:ElementDefinition.fixedCodeableReference [ CodeableReference ] fhir:ElementDefinition.fixedCoding [ Coding ] fhir:ElementDefinition.fixedContactPoint [ ContactPoint ] fhir:ElementDefinition.fixedCount [ Count ] fhir:ElementDefinition.fixedDistance [ Distance ] fhir:ElementDefinition.fixedDuration [ Duration ] fhir:ElementDefinition.fixedHumanName [ HumanName ] fhir:ElementDefinition.fixedIdentifier [ Identifier ] fhir:ElementDefinition.fixedMoney [ Money ] fhir:ElementDefinition.fixedPeriod [ Period ] fhir:ElementDefinition.fixedQuantity [ Quantity ] fhir:ElementDefinition.fixedRange [ Range ] fhir:ElementDefinition.fixedRatio [ Ratio ] fhir:ElementDefinition.fixedRatioRange [ RatioRange ] fhir:ElementDefinition.fixedReference [ Reference ] fhir:ElementDefinition.fixedSampledData [ SampledData ] fhir:ElementDefinition.fixedSignature [ Signature ] fhir:ElementDefinition.fixedTiming [ Timing ] fhir:ElementDefinition.fixedContactDetail [ ContactDetail ] fhir:ElementDefinition.fixedDataRequirement [ DataRequirement ] fhir:ElementDefinition.fixedExpression [ Expression ] fhir:ElementDefinition.fixedParameterDefinition [ ParameterDefinition ] fhir:ElementDefinition.fixedRelatedArtifact [ RelatedArtifact ] fhir:ElementDefinition.fixedTriggerDefinition [ TriggerDefinition ] fhir:ElementDefinition.fixedUsageContext [ UsageContext ] fhir:ElementDefinition.fixedAvailability [ Availability ] fhir:ElementDefinition.fixedExtendedContactDetail [ ExtendedContactDetail ] fhir:ElementDefinition.fixedDosage [ Dosage ] fhir:ElementDefinition.fixedMeta [ Meta ] # ElementDefinition.pattern[x] : 0..1 I Value must have at least these property values. One of these 54 fhir:ElementDefinition.patternBase64Binary [ base64Binary ] fhir:ElementDefinition.patternBoolean [ boolean ] fhir:ElementDefinition.patternCanonical [ canonical ] fhir:ElementDefinition.patternCode [ code ] fhir:ElementDefinition.patternDate [ date ] fhir:ElementDefinition.patternDateTime [ dateTime ] fhir:ElementDefinition.patternDecimal [ decimal ] fhir:ElementDefinition.patternId [ id ] fhir:ElementDefinition.patternInstant [ instant ] fhir:ElementDefinition.patternInteger [ integer ] fhir:ElementDefinition.patternInteger64 [ integer64 ] fhir:ElementDefinition.patternMarkdown [ markdown ] fhir:ElementDefinition.patternOid [ oid ] fhir:ElementDefinition.patternPositiveInt [ positiveInt ] fhir:ElementDefinition.patternString [ string ] fhir:ElementDefinition.patternTime [ time ] fhir:ElementDefinition.patternUnsignedInt [ unsignedInt ] fhir:ElementDefinition.patternUri [ uri ] fhir:ElementDefinition.patternUrl [ url ] fhir:ElementDefinition.patternUuid [ uuid ] fhir:ElementDefinition.patternAddress [ Address ] fhir:ElementDefinition.patternAge [ Age ] fhir:ElementDefinition.patternAnnotation [ Annotation ] fhir:ElementDefinition.patternAttachment [ Attachment ] fhir:ElementDefinition.patternCodeableConcept [ CodeableConcept ] fhir:ElementDefinition.patternCodeableReference [ CodeableReference ] fhir:ElementDefinition.patternCoding [ Coding ] fhir:ElementDefinition.patternContactPoint [ ContactPoint ] fhir:ElementDefinition.patternCount [ Count ] fhir:ElementDefinition.patternDistance [ Distance ] fhir:ElementDefinition.patternDuration [ Duration ] fhir:ElementDefinition.patternHumanName [ HumanName ] fhir:ElementDefinition.patternIdentifier [ Identifier ] fhir:ElementDefinition.patternMoney [ Money ] fhir:ElementDefinition.patternPeriod [ Period ] fhir:ElementDefinition.patternQuantity [ Quantity ] fhir:ElementDefinition.patternRange [ Range ] fhir:ElementDefinition.patternRatio [ Ratio ] fhir:ElementDefinition.patternRatioRange [ RatioRange ] fhir:ElementDefinition.patternReference [ Reference ] fhir:ElementDefinition.patternSampledData [ SampledData ] fhir:ElementDefinition.patternSignature [ Signature ] fhir:ElementDefinition.patternTiming [ Timing ] fhir:ElementDefinition.patternContactDetail [ ContactDetail ] fhir:ElementDefinition.patternDataRequirement [ DataRequirement ] fhir:ElementDefinition.patternExpression [ Expression ] fhir:ElementDefinition.patternParameterDefinition [ ParameterDefinition ] fhir:ElementDefinition.patternRelatedArtifact [ RelatedArtifact ] fhir:ElementDefinition.patternTriggerDefinition [ TriggerDefinition ] fhir:ElementDefinition.patternUsageContext [ UsageContext ] fhir:ElementDefinition.patternAvailability [ Availability ] fhir:ElementDefinition.patternExtendedContactDetail [ ExtendedContactDetail ] fhir:ElementDefinition.patternDosage [ Dosage ] fhir:ElementDefinition.patternMeta [ Meta ] fhir:ElementDefinition.example [ # 0..* Example value (as defined for type) fhir:ElementDefinition.example.label [ string ]; # 1..1 Describes the purpose of this example # ElementDefinition.example.value[x] : 1..1 Value of Example (one of allowed types). One of these 54 fhir:ElementDefinition.example.valueBase64Binary [ base64Binary ] fhir:ElementDefinition.example.valueBoolean [ boolean ] fhir:ElementDefinition.example.valueCanonical [ canonical ] fhir:ElementDefinition.example.valueCode [ code ] fhir:ElementDefinition.example.valueDate [ date ] fhir:ElementDefinition.example.valueDateTime [ dateTime ] fhir:ElementDefinition.example.valueDecimal [ decimal ] fhir:ElementDefinition.example.valueId [ id ] fhir:ElementDefinition.example.valueInstant [ instant ] fhir:ElementDefinition.example.valueInteger [ integer ] fhir:ElementDefinition.example.valueInteger64 [ integer64 ] fhir:ElementDefinition.example.valueMarkdown [ markdown ] fhir:ElementDefinition.example.valueOid [ oid ] fhir:ElementDefinition.example.valuePositiveInt [ positiveInt ] fhir:ElementDefinition.example.valueString [ string ] fhir:ElementDefinition.example.valueTime [ time ] fhir:ElementDefinition.example.valueUnsignedInt [ unsignedInt ] fhir:ElementDefinition.example.valueUri [ uri ] fhir:ElementDefinition.example.valueUrl [ url ] fhir:ElementDefinition.example.valueUuid [ uuid ] fhir:ElementDefinition.example.valueAddress [ Address ] fhir:ElementDefinition.example.valueAge [ Age ] fhir:ElementDefinition.example.valueAnnotation [ Annotation ] fhir:ElementDefinition.example.valueAttachment [ Attachment ] fhir:ElementDefinition.example.valueCodeableConcept [ CodeableConcept ] fhir:ElementDefinition.example.valueCodeableReference [ CodeableReference ] fhir:ElementDefinition.example.valueCoding [ Coding ] fhir:ElementDefinition.example.valueContactPoint [ ContactPoint ] fhir:ElementDefinition.example.valueCount [ Count ] fhir:ElementDefinition.example.valueDistance [ Distance ] fhir:ElementDefinition.example.valueDuration [ Duration ] fhir:ElementDefinition.example.valueHumanName [ HumanName ] fhir:ElementDefinition.example.valueIdentifier [ Identifier ] fhir:ElementDefinition.example.valueMoney [ Money ] fhir:ElementDefinition.example.valuePeriod [ Period ] fhir:ElementDefinition.example.valueQuantity [ Quantity ] fhir:ElementDefinition.example.valueRange [ Range ] fhir:ElementDefinition.example.valueRatio [ Ratio ] fhir:ElementDefinition.example.valueRatioRange [ RatioRange ] fhir:ElementDefinition.example.valueReference [ Reference ] fhir:ElementDefinition.example.valueSampledData [ SampledData ] fhir:ElementDefinition.example.valueSignature [ Signature ] fhir:ElementDefinition.example.valueTiming [ Timing ] fhir:ElementDefinition.example.valueContactDetail [ ContactDetail ] fhir:ElementDefinition.example.valueDataRequirement [ DataRequirement ] fhir:ElementDefinition.example.valueExpression [ Expression ] fhir:ElementDefinition.example.valueParameterDefinition [ ParameterDefinition ] fhir:ElementDefinition.example.valueRelatedArtifact [ RelatedArtifact ] fhir:ElementDefinition.example.valueTriggerDefinition [ TriggerDefinition ] fhir:ElementDefinition.example.valueUsageContext [ UsageContext ] fhir:ElementDefinition.example.valueAvailability [ Availability ] fhir:ElementDefinition.example.valueExtendedContactDetail [ ExtendedContactDetail ] fhir:ElementDefinition.example.valueDosage [ Dosage ] fhir:ElementDefinition.example.valueMeta [ Meta ] ], ...; # ElementDefinition.minValue[x] : 0..1 Minimum Allowed Value (for some types). One of these 10 fhir:ElementDefinition.minValueDate [ date ] fhir:ElementDefinition.minValueDateTime [ dateTime ] fhir:ElementDefinition.minValueInstant [ instant ] fhir:ElementDefinition.minValueTime [ time ] fhir:ElementDefinition.minValueDecimal [ decimal ] fhir:ElementDefinition.minValueInteger [ integer ] fhir:ElementDefinition.minValueInteger64 [ integer64 ] fhir:ElementDefinition.minValuePositiveInt [ positiveInt ] fhir:ElementDefinition.minValueUnsignedInt [ unsignedInt ] fhir:ElementDefinition.minValueQuantity [ Quantity ] # ElementDefinition.maxValue[x] : 0..1 Maximum Allowed Value (for some types). One of these 10 fhir:ElementDefinition.maxValueDate [ date ] fhir:ElementDefinition.maxValueDateTime [ dateTime ] fhir:ElementDefinition.maxValueInstant [ instant ] fhir:ElementDefinition.maxValueTime [ time ] fhir:ElementDefinition.maxValueDecimal [ decimal ] fhir:ElementDefinition.maxValueInteger [ integer ] fhir:ElementDefinition.maxValueInteger64 [ integer64 ] fhir:ElementDefinition.maxValuePositiveInt [ positiveInt ] fhir:ElementDefinition.maxValueUnsignedInt [ unsignedInt ] fhir:ElementDefinition.maxValueQuantity [ Quantity ] fhir:ElementDefinition.maxLength [ integer ]; # 0..1 Max length for string type data fhir:ElementDefinition.condition [ id ], ... ; # 0..* Reference to invariant about presence fhir:ElementDefinition.constraint [ # 0..* Condition that must evaluate to true fhir:ElementDefinition.constraint.key [ id ]; # 1..1 I Target of 'condition' reference above fhir:ElementDefinition.constraint.requirements [ markdown ]; # 0..1 Why this constraint is necessary or appropriate fhir:ElementDefinition.constraint.severity [ code ]; # 1..1 error | warning fhir:ElementDefinition.constraint.suppress [ boolean ]; # 0..1 Suppress warning or hint in profile fhir:ElementDefinition.constraint.human [ string ]; # 1..1 Human description of constraint fhir:ElementDefinition.constraint.expression [ string ]; # 0..1 FHIRPath expression of constraint fhir:ElementDefinition.constraint.source [ canonical(StructureDefinition) ]; # 0..1 Reference to original source of constraint ], ...; fhir:ElementDefinition.mustHaveValue [ boolean ]; # 0..1 For primitives, that a value must be present - not replaced by an extension fhir:ElementDefinition.valueAlternatives [ canonical(StructureDefinition) ], ... ; # 0..* Extensions that are allowed to replace a primitive value fhir:ElementDefinition.mustSupport [ boolean ]; # 0..1 If the element must be supported (discouraged - see obligations) fhir:ElementDefinition.obligation [ # 0..* Documents obligations for applications making use of this element fhir:ElementDefinition.obligation.code [ Coding ]; # 1..1 Combination code describing the nature of the obligation fhir:ElementDefinition.obligation.actor [ canonical(ActorDefinition) ], ... ; # 0..* Actor(s) this obligation applies to (all actors if none) fhir:ElementDefinition.obligation.documentation [ markdown ]; # 0..1 Documentation of the purpose or application of the obligation fhir:ElementDefinition.obligation.usage [ UsageContext ], ... ; # 0..* Qualifies the usage - jurisdiction, gender, workflow status etc fhir:ElementDefinition.obligation.filter [ string ]; # 0..1 Limits obligation to some repeats by FHIRPath fhir:ElementDefinition.obligation.filterDocumentation [ string ]; # 0..1 Ddescribes the intent of the filter (short) fhir:ElementDefinition.obligation.process [ uri ], ... ; # 0..* The obligation only applies when perfomring the indicated process ], ...; fhir:ElementDefinition.isModifier [ boolean ]; # 0..1 If this modifies the meaning of other elements fhir:ElementDefinition.isModifierReason [ string ]; # 0..1 Reason that this element is marked as a modifier fhir:ElementDefinition.isSummary [ boolean ]; # 0..1 Include when _summary = true? fhir:ElementDefinition.binding [ # 0..1 I ValueSet details if this is coded fhir:ElementDefinition.binding.strength [ code ]; # 1..1 required | extensible | preferred | example fhir:ElementDefinition.binding.description [ markdown ]; # 0..1 Intended use of codes in the bound value set fhir:ElementDefinition.binding.valueSet [ canonical(ValueSet) ]; # 0..1 I Source of value set fhir:ElementDefinition.binding.additional [ # 0..* Additional Bindings - more rules about the binding fhir:ElementDefinition.binding.additional.purpose [ code ]; # 1..1 maximum | minimum | required | extensible | candidate | current | preferred | ui | starter | component fhir:ElementDefinition.binding.additional.valueSet [ canonical(ValueSet) ]; # 1..1 The value set for the additional binding fhir:ElementDefinition.binding.additional.documentation [ markdown ]; # 0..1 Documentation of the purpose of use of the binding fhir:ElementDefinition.binding.additional.shortDoco [ string ]; # 0..1 Concise documentation - for summary tables fhir:ElementDefinition.binding.additional.usage [ UsageContext ], ... ; # 0..* Qualifies the usage - jurisdiction, gender, workflow status etc fhir:ElementDefinition.binding.additional.any [ boolean ]; # 0..1 Whether binding can applies to all repeats, or just one ], ...; ]; fhir:ElementDefinition.mapping [ # 0..* Map element to another set of definitions fhir:ElementDefinition.mapping.identity [ id ]; # 1..1 Reference to mapping declaration fhir:ElementDefinition.mapping.language [ code ]; # 0..1 Computable language of mapping fhir:ElementDefinition.mapping.map [ string ]; # 1..1 Details of the mapping fhir:ElementDefinition.mapping.comment [ markdown ]; # 0..1 Comments about the mapping or its use ], ...; ]
Changes since Release 3
ElementDefinition | |
ElementDefinition.type.code |
|
ElementDefinition.defaultValue[x] |
|
ElementDefinition.fixed[x] |
|
ElementDefinition.pattern[x] |
|
ElementDefinition.example.value[x] |
|
ElementDefinition.minValue[x] |
|
ElementDefinition.maxValue[x] |
|
ElementDefinition.constraint.requirements |
|
ElementDefinition.constraint.suppress |
|
ElementDefinition.mustHaveValue |
|
ElementDefinition.valueAlternatives |
|
ElementDefinition.obligation |
|
ElementDefinition.obligation.code |
|
ElementDefinition.obligation.actor |
|
ElementDefinition.obligation.documentation |
|
ElementDefinition.obligation.usage |
|
ElementDefinition.obligation.filter |
|
ElementDefinition.obligation.filterDocumentation |
|
ElementDefinition.obligation.process |
|
ElementDefinition.binding.description |
|
ElementDefinition.binding.additional |
|
ElementDefinition.binding.additional.purpose |
|
ElementDefinition.binding.additional.valueSet |
|
ElementDefinition.binding.additional.documentation |
|
ElementDefinition.binding.additional.shortDoco |
|
ElementDefinition.binding.additional.usage |
|
ElementDefinition.binding.additional.any |
|
ElementDefinition.mapping.comment |
|
ElementDefinition.constraint.xpath |
|
See the Full Difference for further information
Structure
Name ![]() | Flags ![]() | Card. ![]() | Type ![]() | Description & Constraints ![]() ![]() ![]() |
---|---|---|---|---|
![]() ![]() | ΣN | Element | Definition 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 names cannot include some special characters with a max of 64 characters, + Warning: Element names should be simple alphanumerics with a max of 64 characters or code generation tools may be broken + 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 | |
![]() ![]() ![]() | Σ | 1..1 | string | Path of the element in the hierarchy of elements |
![]() ![]() ![]() | Σ | 0..* | code | xmlAttr | xmlText | typeAttr | cdaText | xhtml PropertyRepresentation (Required) |
![]() ![]() ![]() | Σ | 0..1 | string | Name for this particular element (in a set of slices) |
![]() ![]() ![]() | ΣTU | 0..1 | boolean | If this slice definition constrains an inherited slice definition (or not) |
![]() ![]() ![]() | ΣT | 0..1 | string | Name for element to display with or prompt for element |
![]() ![]() ![]() | Σ | 0..* | Coding | Corresponding codes in terminologies ElementDefinitionCode ![]() |
![]() ![]() ![]() | Σ | 0..1 | Element | This element is sliced - slices follow |
![]() ![]() ![]() ![]() | Σ | 0..* | Element | Element values that are used to distinguish the slices |
![]() ![]() ![]() ![]() ![]() | Σ | 1..1 | code | value | exists | type | profile | position DiscriminatorType (Required) |
![]() ![]() ![]() ![]() ![]() | Σ | 1..1 | string | Path to element value |
![]() ![]() ![]() ![]() | ΣT | 0..1 | string | Text description of how slicing works (or not) |
![]() ![]() ![]() ![]() | Σ | 0..1 | boolean | If elements must be in same order as slices |
![]() ![]() ![]() ![]() | Σ | 1..1 | code | closed | open | openAtEnd SlicingRules (Required) |
![]() ![]() ![]() | ΣT | 0..1 | string | Concise definition for space-constrained presentation |
![]() ![]() ![]() | ΣT | 0..1 | markdown | Full formal definition as narrative text |
![]() ![]() ![]() | ΣT | 0..1 | markdown | Comments about the use of this element |
![]() ![]() ![]() | ΣT | 0..1 | markdown | Why this resource has been created |
![]() ![]() ![]() | ΣT | 0..* | string | Other names |
![]() ![]() ![]() | ΣC | 0..1 | unsignedInt | Minimum Cardinality |
![]() ![]() ![]() | ΣC | 0..1 | string | Maximum Cardinality (a number or *) + Rule: Max SHALL be a number or "*" |
![]() ![]() ![]() | Σ | 0..1 | Element | Base definition information for tools |
![]() ![]() ![]() ![]() | Σ | 1..1 | string | Path that identifies the base element |
![]() ![]() ![]() ![]() | Σ | 1..1 | unsignedInt | Min cardinality of the base element |
![]() ![]() ![]() ![]() | Σ | 1..1 | string | Max cardinality of the base element |
![]() ![]() ![]() | ΣC | 0..1 | uri | Reference to definition of content for the element |
![]() ![]() ![]() | ΣC | 0..* | Element | Data 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 |
![]() ![]() ![]() ![]() | Σ | 1..1 | uri | Data type or Resource (reference to definition) Element Definition Types (Extensible) |
![]() ![]() ![]() ![]() | Σ | 0..* | canonical(StructureDefinition | ImplementationGuide) | Profiles (StructureDefinition or IG) - one must apply |
![]() ![]() ![]() ![]() | Σ | 0..* | canonical(StructureDefinition | ImplementationGuide) | Profile (StructureDefinition or IG) on the Reference/canonical target - one must apply |
![]() ![]() ![]() ![]() | ΣC | 0..* | code | contained | referenced | bundled - how aggregated AggregationMode (Required) |
![]() ![]() ![]() ![]() | Σ | 0..1 | code | either | independent | specific ReferenceVersionRules (Required) |
![]() ![]() ![]() | ΣC | 0..1 | * | Specified value if missing from instance |
![]() ![]() ![]() | ΣTC | 0..1 | markdown | Implicit meaning when this element is missing |
![]() ![]() ![]() | Σ | 0..1 | string | What the order of the elements means |
![]() ![]() ![]() | ΣC | 0..1 | * | Value must be exactly this |
![]() ![]() ![]() | ΣC | 0..1 | * | Value must have at least these property values |
![]() ![]() ![]() | Σ | 0..* | Element | Example value (as defined for type) |
![]() ![]() ![]() ![]() | ΣT | 1..1 | string | Describes the purpose of this example |
![]() ![]() ![]() ![]() | Σ | 1..1 | * | Value of Example (one of allowed types) |
![]() ![]() ![]() | Σ | 0..1 | Minimum Allowed Value (for some types) | |
![]() ![]() ![]() ![]() | date | |||
![]() ![]() ![]() ![]() | dateTime | |||
![]() ![]() ![]() ![]() | instant | |||
![]() ![]() ![]() ![]() | time | |||
![]() ![]() ![]() ![]() | decimal | |||
![]() ![]() ![]() ![]() | integer | |||
![]() ![]() ![]() ![]() | integer64 | |||
![]() ![]() ![]() ![]() | positiveInt | |||
![]() ![]() ![]() ![]() | unsignedInt | |||
![]() ![]() ![]() ![]() | Quantity | |||
![]() ![]() ![]() | Σ | 0..1 | Maximum Allowed Value (for some types) | |
![]() ![]() ![]() ![]() | date | |||
![]() ![]() ![]() ![]() | dateTime | |||
![]() ![]() ![]() ![]() | instant | |||
![]() ![]() ![]() ![]() | time | |||
![]() ![]() ![]() ![]() | decimal | |||
![]() ![]() ![]() ![]() | integer | |||
![]() ![]() ![]() ![]() | integer64 | |||
![]() ![]() ![]() ![]() | positiveInt | |||
![]() ![]() ![]() ![]() | unsignedInt | |||
![]() ![]() ![]() ![]() | Quantity | |||
![]() ![]() ![]() | Σ | 0..1 | integer | Max length for string type data |
![]() ![]() ![]() | Σ | 0..* | id | Reference to invariant about presence |
![]() ![]() ![]() | ΣC | 0..* | Element | Condition 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 |
![]() ![]() ![]() ![]() | ΣC | 1..1 | id | Target of 'condition' reference above |
![]() ![]() ![]() ![]() | Σ | 0..1 | markdown | Why this constraint is necessary or appropriate |
![]() ![]() ![]() ![]() | Σ | 1..1 | code | error | warning ConstraintSeverity (Required) |
![]() ![]() ![]() ![]() | Σ | 0..1 | boolean | Suppress warning or hint in profile |
![]() ![]() ![]() ![]() | ΣT | 1..1 | string | Human description of constraint |
![]() ![]() ![]() ![]() | Σ | 0..1 | string | FHIRPath expression of constraint |
![]() ![]() ![]() ![]() | Σ | 0..1 | canonical(StructureDefinition) | Reference to original source of constraint |
![]() ![]() ![]() | ΣTU | 0..1 | boolean | For primitives, that a value must be present - not replaced by an extension |
![]() ![]() ![]() | ΣTU | 0..* | canonical(StructureDefinition) | Extensions that are allowed to replace a primitive value |
![]() ![]() ![]() | Σ | 0..1 | boolean | If the element must be supported (discouraged - see obligations) |
![]() ![]() ![]() | ΣTU | 0..* | Element | Documents obligations for applications making use of this element |
![]() ![]() ![]() ![]() | ΣTU | 1..1 | Coding | Combination code describing the nature of the obligation Obligation Codes ValueSet (Extensible) |
![]() ![]() ![]() ![]() | ΣTU | 0..* | canonical(ActorDefinition) | Actor(s) this obligation applies to (all actors if none) |
![]() ![]() ![]() ![]() | ΣTU | 0..1 | markdown | Documentation of the purpose or application of the obligation |
![]() ![]() ![]() ![]() | ΣTU | 0..* | UsageContext | Qualifies the usage - jurisdiction, gender, workflow status etc |
![]() ![]() ![]() ![]() | ΣTU | 0..1 | string | Limits obligation to some repeats by FHIRPath |
![]() ![]() ![]() ![]() | ΣTU | 0..1 | string | Ddescribes the intent of the filter (short) |
![]() ![]() ![]() ![]() | ΣTU | 0..* | uri | The obligation only applies when perfomring the indicated process |
![]() ![]() ![]() | Σ | 0..1 | boolean | If this modifies the meaning of other elements |
![]() ![]() ![]() | Σ | 0..1 | string | Reason that this element is marked as a modifier |
![]() ![]() ![]() | Σ | 0..1 | boolean | Include when _summary = true? |
![]() ![]() ![]() | ΣC | 0..1 | Element | ValueSet details if this is coded + Rule: ValueSet SHALL start with http:// or https:// or urn: or # + Rule: binding SHALL have either description or valueSet |
![]() ![]() ![]() ![]() | Σ | 1..1 | code | required | extensible | preferred | example BindingStrength (Required) |
![]() ![]() ![]() ![]() | ΣT | 0..1 | markdown | Intended use of codes in the bound value set |
![]() ![]() ![]() ![]() | ΣC | 0..1 | canonical(ValueSet) | Source of value set |
![]() ![]() ![]() ![]() | ΣTU | 0..* | Element | Additional Bindings - more rules about the binding |
![]() ![]() ![]() ![]() ![]() | ΣTU | 1..1 | code | maximum | minimum | required | extensible | candidate | current | preferred | ui | starter | component Additional Binding Purpose ValueSet (Required) |
![]() ![]() ![]() ![]() ![]() | ΣTU | 1..1 | canonical(ValueSet) | The value set for the additional binding |
![]() ![]() ![]() ![]() ![]() | ΣTU | 0..1 | markdown | Documentation of the purpose of use of the binding |
![]() ![]() ![]() ![]() ![]() | ΣTU | 0..1 | string | Concise documentation - for summary tables |
![]() ![]() ![]() ![]() ![]() | ΣTU | 0..* | UsageContext | Qualifies the usage - jurisdiction, gender, workflow status etc |
![]() ![]() ![]() ![]() ![]() | ΣTU | 0..1 | boolean | Whether binding can applies to all repeats, or just one |
![]() ![]() ![]() | Σ | 0..* | Element | Map element to another set of definitions |
![]() ![]() ![]() ![]() | Σ | 1..1 | id | Reference to mapping declaration |
![]() ![]() ![]() ![]() | Σ | 0..1 | code | Computable language of mapping Mime Types (Required) |
![]() ![]() ![]() ![]() | Σ | 1..1 | string | Details of the mapping |
![]() ![]() ![]() ![]() | Σ | 0..1 | markdown | Comments about the mapping or its use |
![]() ![]() |
XML Template
<ElementDefinition xmlns="http://hl7.org/fhir"> <!-- from Element: extension --> <path value="[string]"/><!-- 1..1 Path of the element in the hierarchy of elements --> <representation value="[code]"/><!-- 0..* xmlAttr | xmlText | typeAttr | cdaText | xhtml --> <sliceName value="[string]"/><!-- 0..1 Name for this particular element (in a set of slices) --> <sliceIsConstraining value="[boolean]"/><!-- 0..1 If this slice definition constrains an inherited slice definition (or not) --> <label value="[string]"/><!-- 0..1 Name for element to display with or prompt for element --> <code><!-- 0..* Coding Corresponding codes in terminologies--></code> <slicing> <!-- 0..1 This element is sliced - slices follow --> <discriminator> <!-- 0..* Element values that are used to distinguish the slices --> <type value="[code]"/><!-- 1..1 value | exists | type | profile | position --> <path value="[string]"/><!-- 1..1 Path to element value --> </discriminator> <description value="[string]"/><!-- 0..1 Text description of how slicing works (or not) --> <ordered value="[boolean]"/><!-- 0..1 If elements must be in same order as slices --> <rules value="[code]"/><!-- 1..1 closed | open | openAtEnd --> </slicing> <short value="[string]"/><!-- 0..1 Concise definition for space-constrained presentation --> <definition value="[markdown]"/><!-- 0..1 Full formal definition as narrative text --> <comment value="[markdown]"/><!-- 0..1 Comments about the use of this element --> <requirements value="[markdown]"/><!-- 0..1 Why this resource has been created --> <alias value="[string]"/><!-- 0..* Other names --> <min value="[unsignedInt]"/><!-- I 0..1 Minimum Cardinality --> <max value="[string]"/><!-- I 0..1 Maximum Cardinality (a number or *) --> <base> <!-- 0..1 Base definition information for tools --> <path value="[string]"/><!-- 1..1 Path that identifies the base element --> <min value="[unsignedInt]"/><!-- 1..1 Min cardinality of the base element --> <max value="[string]"/><!-- 1..1 Max cardinality of the base element --> </base> <contentReference value="[uri]"/><!-- I 0..1 Reference to definition of content for the element --> <type> <!-- I 0..* Data type and Profile for this element --> <code value="[uri]"/><!-- 1..1 Data type or Resource (reference to definition) --> <profile><!-- 0..* canonical(ImplementationGuide|StructureDefinition) Profiles (StructureDefinition or IG) - one must apply --></profile> <targetProfile><!-- 0..* canonical(ImplementationGuide|StructureDefinition) Profile (StructureDefinition or IG) on the Reference/canonical target - one must apply --></targetProfile> <aggregation value="[code]"/><!-- I 0..* contained | referenced | bundled - how aggregated --> <versioning value="[code]"/><!-- 0..1 either | independent | specific --> </type> <defaultValue[x]><!-- I 0..1 * Specified value if missing from instance --></defaultValue[x]> <meaningWhenMissing value="[markdown]"/><!-- I 0..1 Implicit meaning when this element is missing --> <orderMeaning value="[string]"/><!-- 0..1 What the order of the elements means --> <fixed[x]><!-- I 0..1 * Value must be exactly this --></fixed[x]> <