Release 4B Snapshot 3: Connectathon 32 Base

This page is part of the Snapshot #3 for FHIR Specification (v4.3.0: R4B - STU ). The current version which supercedes this version is 5.0.0 R5 , released to support Connectathon 32 . For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3 R2

StructureDefinition: elementdefinition-de

FHIR Infrastructure Work Group   Maturity Level : 1 Trial Use Use Context : Any Country: World, Country: World

The official canonical URL for this profile is:

http://hl7.org/fhir/StructureDefinition/elementdefinition-de

Identifies how the ElementDefinition data type is used when it appears within a data element

This profile was published on Sat, Feb 28, 2015 00:00+1100 as a draft by Health Level Seven International (Orders and Observations).

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots, and how the XML and JSON presentations work .

This structure is derived from ElementDefinition .

Summary

Prohibited: 10 elements

Extensions

This structure refers to these extensions:

This structure is derived from indicates the differences between this profile and the base ElementDefinition . structure.

Name Flags Card. Type Description & Constraints doco
. . ElementDefinition 0..* ElementDefinition Definition of an element in a resource or extension
. . . elementdefinition-question Question 0..* string Prompt for element phrased as question
URL: http://hl7.org/fhir/StructureDefinition/elementdefinition-question
. . . elementdefinition-allowedUnits AllowedUnits 0..1 CodeableConcept , canonical ( ValueSet ) Units to use for measured value
URL: http://hl7.org/fhir/StructureDefinition/elementdefinition-allowedUnits
Binding: UCUM Codes ( required )
. . . representation 0 .. 0
. . . short 0 .. 0
. . . contentReference 0 .. 0
. . . type 0 .. * Element Data type and Profile for this element
. . . . profile 0 .. 0
. . . . aggregation 0 .. 0
. . . defaultValue[x] 0 .. 1 base64Binary , boolean , canonical () , code , date , dateTime , decimal , id , instant , integer , integer64 , markdown , oid , positiveInt , string , time , unsignedInt , uri , url , uuid , Address , Age , Annotation , Attachment , CodeableConcept , CodeableReference () , Coding , ContactPoint , Count , Distance , Duration , HumanName , Identifier , Money , Period , Quantity , Range , Ratio , RatioRange , Reference () , SampledData , Signature , Timing , ContactDetail , Contributor , DataRequirement , Expression , ParameterDefinition , RelatedArtifact , TriggerDefinition , UsageContext , Availability , ExtendedContactDetail , Dosage , Meta Specified value if missing from instance
. . . meaningWhenMissing 0 .. 1 markdown Implicit meaning when this element is missing
. . . fixed[x] 0 .. 0
. . . pattern[x] 0 .. 0
. . . isModifier 0 .. 0
. . . isSummary 0 .. 0

doco Documentation for this format

This provides the consolidated view (aka snapshot) of the profile after applying the changes in this profile to the base ElementDefinition structure.

Name Flags Card. Type Description & Constraints doco
. . ElementDefinition I C 0..* ElementDefinition Definition of an element in a resource or extension
. . . id 0..1 id Unique id for inter-element referencing
. . . Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
. . . elementdefinition-question Question 0..* string Prompt for element phrased as question
URL: http://hl7.org/fhir/StructureDefinition/elementdefinition-question
. . . elementdefinition-allowedUnits AllowedUnits 0..1 CodeableConcept , canonical ( ValueSet ) Units to use for measured value
URL: http://hl7.org/fhir/StructureDefinition/elementdefinition-allowedUnits
Binding: UCUM Codes ( required )
. . . modifierExtension ?! Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
. . . path Σ 1..1 string Path of the element in the hierarchy of elements
. . . sliceName Σ 0..1 string Name for this particular element (in a set of slices)
. . . sliceIsConstraining Σ TU 0..1 boolean If this slice definition constrains an inherited slice definition (or not)
. . . label Σ 0..1 string Name for element to display with or prompt for element
. . . code Σ 0..* Coding Corresponding codes in terminologies
Binding: LOINC Codes ???? ( example )
. . . definition Σ 0..1 markdown Full formal definition as narrative text
. . . comment Σ 0..1 markdown Comments about the use of this element
. . . requirements Σ 0..1 markdown Why this resource has been created
. . . alias Σ 0..* string Other names
. . . min Σ I C 0..1 unsignedInt Minimum Cardinality
. . . max Σ I C 0..1 string Maximum Cardinality (a number or *)
. . . base Σ 0..1 Element Base definition information for tools
. . . . id 0..1 string Unique id for inter-element referencing
. . . . extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
. . . . path Σ 1..1 string Path that identifies the base element
. . . . min Σ 1..1 unsignedInt Min cardinality of the base element
. . . . max Σ 1..1 string Max cardinality of the base element
. . . type Σ I C 0..* Element Data type and Profile for this element
. . . . id 0..1 string Unique id for inter-element referencing
. . . . extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
. . . . code Σ 1..1 uri Data type or Resource (reference to definition)
Binding: Common Tags Element Definition Types ( extensible )
. . . . targetProfile Σ 0..* canonical ( StructureDefinition | ImplementationGuide ) Profile (StructureDefinition or IG) on the Reference/canonical target - one must apply
. . . . versioning Σ 0..1 code either | independent | specific
Binding: ReferenceVersionRules ( required )
. . . defaultValue[x] Σ I C 0..1 Specified value if missing from instance
. . . . defaultValueBase64Binary base64Binary
. . . . defaultValueBoolean boolean
. . . . defaultValueCanonical canonical (Any)
. . . . defaultValueCode code
. . . . defaultValueDate date
. . . . defaultValueDateTime dateTime
. . . . defaultValueDecimal decimal
. . . . defaultValueId id
. . . . defaultValueInstant instant
. . . . defaultValueInteger integer
. . . . defaultValueMarkdown defaultValueInteger64 markdown integer64
. . . . defaultValueOid defaultValueMarkdown oid markdown
. . . . defaultValuePositiveInt defaultValueOid positiveInt oid
. . . . defaultValueString defaultValuePositiveInt string positiveInt
. . . . defaultValueTime defaultValueString time string
. . . . defaultValueUnsignedInt defaultValueTime unsignedInt time
. . . . defaultValueUri defaultValueUnsignedInt uri unsignedInt
. . . . defaultValueUrl defaultValueUri url uri
. . . . defaultValueUuid defaultValueUrl uuid url
. . . defaultValueAddress . defaultValueUuid Address uuid
. . . . defaultValueAge defaultValueAddress Age Address
. . . . defaultValueAnnotation defaultValueAge Annotation Age
. . . . defaultValueAttachment defaultValueAnnotation Attachment Annotation
. . . . defaultValueCodeableConcept defaultValueAttachment CodeableConcept Attachment
. . . . defaultValueCodeableReference defaultValueCodeableConcept CodeableReference CodeableConcept
. . . . defaultValueCoding defaultValueCodeableReference Coding CodeableReference
. . . . defaultValueContactPoint defaultValueCoding ContactPoint Coding
. . . . defaultValueCount defaultValueContactPoint Count ContactPoint
. . . . defaultValueDistance defaultValueCount Distance Count
. . . . defaultValueDuration defaultValueDistance Duration Distance
. . . . defaultValueHumanName defaultValueDuration HumanName Duration
. . . . defaultValueIdentifier defaultValueHumanName Identifier HumanName
. . . . defaultValueMoney defaultValueIdentifier Money Identifier
. . . . defaultValuePeriod defaultValueMoney Period Money
. . . . defaultValueQuantity defaultValuePeriod Quantity Period
. . . . defaultValueRange defaultValueQuantity Range Quantity
. . . . defaultValueRatio defaultValueRange Ratio Range
. . . . defaultValueRatioRange defaultValueRatio RatioRange Ratio
. . . defaultValueReference . defaultValueRatioRange Reference RatioRange (Any)
. . . defaultValueSampledData . defaultValueReference SampledData Reference (Any)
. . . . defaultValueSignature defaultValueSampledData Signature SampledData
. . . . defaultValueTiming defaultValueSignature Timing Signature
. . . . defaultValueContactDetail defaultValueTiming ContactDetail Timing
. . . . defaultValueContributor defaultValueContactDetail Contributor ContactDetail
. . . . defaultValueDataRequirement DataRequirement
. . . . defaultValueExpression Expression
. . . . defaultValueParameterDefinition ParameterDefinition
. . . . defaultValueRelatedArtifact RelatedArtifact
. . . . defaultValueTriggerDefinition TriggerDefinition
. . . . defaultValueUsageContext UsageContext
. . . . defaultValueDosage defaultValueAvailability Availability
.... defaultValueExtendedContactDetail ExtendedContactDetail
.... defaultValueDosage Dosage
. . . . defaultValueMeta Meta
. . . meaningWhenMissing Σ I C 0..1 markdown Implicit meaning when this element is missing
. . . orderMeaning Σ 0..1 string What the order of the elements means
. . . example Σ 0..* Element Example value (as defined for type)
. . . . id 0..1 string Unique id for inter-element referencing
. . . . extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
. . . . label Σ 1..1 string Describes the purpose of this example
. . . . value[x] Σ 1..1 Value of Example (one of allowed types)
. . . . . valueBase64Binary base64Binary
. . . . . valueBoolean boolean
. . . . . valueCanonical canonical (Any)
. . . . . valueCode code
. . . . . valueCode valueDate code date
. . . . . valueDate valueDateTime date dateTime
. . . . . valueDateTime valueDecimal dateTime decimal
. . . . . valueDecimal valueId decimal id
. . . . . valueId valueInstant id instant
. . . . . valueInstant valueInteger instant integer
. . . . . valueInteger valueInteger64 integer 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 (Any)
. . . . . valueSampledData SampledData
. . . . . valueSignature Signature
. . . . . valueTiming Timing
. . . . . valueContactDetail ContactDetail
. . . . . valueContributor valueDataRequirement Contributor DataRequirement
. . . . . valueDataRequirement valueExpression DataRequirement Expression
. . . . . valueExpression valueParameterDefinition Expression ParameterDefinition
. . . . . valueParameterDefinition valueRelatedArtifact ParameterDefinition RelatedArtifact
. . . . . valueRelatedArtifact valueTriggerDefinition RelatedArtifact TriggerDefinition
. . . . . valueTriggerDefinition valueUsageContext TriggerDefinition UsageContext
. . . . . valueUsageContext valueAvailability UsageContext Availability
. . . . . valueDosage valueExtendedContactDetail ExtendedContactDetail
. . . . . valueDosage Dosage
. . . . . valueMeta Meta
. . . minValue[x] Σ 0..1 Minimum Allowed Value (for some types)
. . . . minValueDate date
. . . . minValueDateTime dateTime
. . . . minValueInstant instant
. . . . minValueTime time
. . . . minValueDecimal decimal
. . . . minValueInteger integer
. . . . minValuePositiveInt minValueInteger64 positiveInt integer64
. . . . minValueUnsignedInt minValuePositiveInt positiveInt
. . . . minValueUnsignedInt unsignedInt
. . . . minValueQuantity Quantity
. . . maxValue[x] Σ 0..1 Maximum Allowed Value (for some types)
. . . . maxValueDate date
. . . . maxValueDateTime dateTime
. . . . maxValueDateTime maxValueInstant dateTime instant
. . . . maxValueInstant maxValueTime instant time
. . . . maxValueTime maxValueDecimal time decimal
. . . . maxValueDecimal maxValueInteger decimal integer
. . . . maxValueInteger maxValueInteger64 integer integer64
. . . . maxValuePositiveInt positiveInt
. . . . maxValueUnsignedInt unsignedInt
. . . . maxValueQuantity Quantity
. . . maxLength Σ 0..1 integer Max length for strings string type data
. . . condition Σ 0..* id Reference to invariant about presence
. . . constraint Σ I C 0..* Element Condition that must evaluate to true
. . . . id 0..1 string Unique id for inter-element referencing
. . . . extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
. . . . key Σ I C 1..1 id Target of 'condition' reference above
. . . . requirements Σ 0..1 string markdown Why this constraint is necessary or appropriate
. . . . severity Σ 1..1 code error | warning
Binding: ConstraintSeverity ( required )
. . . . human suppress Σ 1..1 0..1 string boolean Human description of constraint Suppress warning or hint in profile
. . . . expression human Σ 0..1 1..1 string FHIRPath expression Human description of constraint
. . . . xpath expression Σ 0..1 string XPath FHIRPath expression of constraint
. . . . source Σ 0..1 canonical ( StructureDefinition ) Reference to original source of constraint
. . . mustHaveValue Σ TU 0..1 boolean For primitives, that a value must be present - not replaced by an extension
... valueAlternatives Σ TU 0..* canonical ( StructureDefinition ) Extensions that are allowed to replace a primitive value
... mustSupport Σ 0..1 boolean If the element must be supported (discouraged - see obligations)
. . . obligation Σ TU 0..* Element Documents obligations for applications making use of this element
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... code Σ TU 1..1 Coding Combination code describing the nature of the obligation
Binding: Obligation Codes ValueSet ( extensible )
.... actor Σ TU 0..* canonical ( ActorDefinition ) Actor(s) this obligation applies to (all actors if none)
.... documentation Σ TU 0..1 markdown Documentation of the purpose or application of the obligation
.... usage Σ TU 0..* UsageContext Qualifies the usage - jurisdiction, gender, workflow status etc
.... filter Σ TU 0..1 string Limits obligation to some repeats by FHIRPath
.... filterDocumentation Σ TU 0..1 string Ddescribes the intent of the filter (short)
.... process Σ TU 0..* uri The obligation only applies when perfomring the indicated process
. . . isModifierReason Σ 0..1 string Reason that this element is marked as a modifier
. . . binding Σ I C 0..1 Element ValueSet details if this is coded
. . . . id 0..1 string Unique id for inter-element referencing
. . . . extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
. . . . strength Σ 1..1 code required | extensible | preferred | example
Binding: BindingStrength ( required )
. . . . description Σ 0..1 string markdown Human explanation Intended use of codes in the bound value set
. . . . valueSet Σ I C 0..1 canonical ( ValueSet ) Source of value set
. . . mapping . additional Σ TU 0..* Element Additional Bindings - more rules about the binding
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... purpose Σ TU 1..1 code maximum | minimum | required | extensible | candidate | current | preferred | ui | starter | component
Binding: Additional Binding Purpose ValueSet ( required )
..... valueSet Σ TU 1..1 canonical ( ValueSet ) The value set for the additional binding
..... documentation Σ TU 0..1 markdown Documentation of the purpose of use of the binding
..... shortDoco Σ TU 0..1 string Concise documentation - for summary tables
..... usage Σ TU 0..* UsageContext Qualifies the usage - jurisdiction, gender, workflow status etc
..... any Σ TU 0..1 boolean Whether binding can applies to all repeats, or just one
... mapping Σ 0..* Element Map element to another set of definitions
. . . . id 0..1 string Unique id for inter-element referencing
. . . . extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
. . . . identity Σ 1..1 id Reference to mapping declaration
. . . . language Σ 0..1 code Computable language of mapping
Binding: MimeType Mime Types ( required ): BCP 13 (RFCs 2045, 2046, 2047, 4288, 4289 and 2049)

. . . . map Σ 1..1 string Details of the mapping
. . . . comment Σ 0..1 string markdown Comments about the mapping or its use

doco Documentation for this format
<!-- DataElement constraint on ElementDefinition data type -->doco

<ElementDefinition xmlns="http://hl7.org/fhir"
>
  <!-- from Element: extension -->
 <Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself) (this element modifies the meaning of other elements)" class="dict"></modifierExtension>
 <
 <
 <
 <

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself) (this element modifies the meaning of other elements)" class="dict">modifierExtension><!-- I 0..* Extension  Extensions that cannot be ignored even if unrecognized  --></modifierExtension>
 <path value="[string]"/><!-- I 1..1 Path of the element in the hierarchy of elements -->
 <representation value="[code]"/><!-- I 0..0 xmlAttr | xmlText | typeAttr | cdaText | xhtml -->
 <sliceName value="[string]"/><!-- I 0..1 Name for this particular element (in a set of slices) -->
 <sliceIsConstraining value="[boolean]"/><!-- I 0..1 

     If this slice definition constrains an inherited slice definition (or not) -->
 <
 <</code>
 <

 <label value="[string]"/><!-- I 0..1 Name for element to display with or prompt for element -->
 <code><!-- I 0..* Coding Corresponding codes in terminologies --></code>
 <slicing> I 0..0 Element  <!-- I 0..0 This element is sliced - slices follow -->

 </slicing>
 <
 <
 <
 <
 <
 <
 <
 <
  <
  <
  <

 <short value="[string]"/><!-- I 0..0 Concise definition for space-constrained presentation -->
 <definition value="[markdown]"/><!-- I 0..1 Full formal definition as narrative text -->
 <comment value="[markdown]"/><!-- I 0..1 Comments about the use of this element -->
 <requirements value="[markdown]"/><!-- I 0..1 Why this resource has been created -->
 <alias value="[string]"/><!-- I 0..* Other names -->
 <min value="[unsignedInt]"/><!-- I 0..1 Minimum Cardinality -->
 <max value="[string]"/><!-- I 0..1 Maximum Cardinality (a number or *) -->
 <base> I 0..1 Element  <!-- I 0..1 Base definition information for tools -->
  <path value="[string]"/><!-- I 1..1 Path that identifies the base element -->
  <min value="[unsignedInt]"/><!-- I 1..1 Min cardinality of the base element -->
  <max value="[string]"/><!-- I 1..1 Max cardinality of the base element -->

 </base>
 <
 <
  <
  <
  <

 <contentReference value="[uri]"/><!-- I 0..0 Reference to definition of content for the element -->
 <type> I 0..* Element  <!-- I 0..* Data type and Profile for this element -->
  <code value="[uri]"/><!-- I 1..1 Data type or Resource (reference to definition) -->
  <profile value="[canonical]"/><!-- I 0..0 Profiles (StructureDefinition or IG) - one must apply -->
  <targetProfile value="[canonical]"/><!-- I 0..* 

      Profile (StructureDefinition or IG) on the Reference/canonical target - one must apply -->
  <
  <

  <aggregation value="[code]"/><!-- I 0..0 contained | referenced | bundled - how aggregated -->
  <versioning value="[code]"/><!-- I 0..1 either | independent | specific -->

 </type>
 <|
   |

 <defaultValue[x]><!-- I 0..1 base64Binary|boolean|canonical|
   code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|
   positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|
   Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|
   Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|
   RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|
   DataRequirement|Expression|ParameterDefinition|RelatedArtifact|
   TriggerDefinition|UsageContext|Availability|ExtendedContactDetail|Dosage|Meta 

     Specified value if missing from instance --></defaultValue[x]>
 <meaningWhenMissing value="[markdown]"/><!-- I 0..1 Implicit meaning when this element is missing -->
 <orderMeaning value="[string]"/><!-- I 0..1 What the order of the elements means -->
 <fixed[x]><!-- I 0..0 base64Binary|boolean|canonical|code|date|
   dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|
   time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|
   CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|
   HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|
   |
   |
   </defaultValue[x]>
 <
 <
 <|
   |
   |
   |
   |
   |
   

   SampledData|Signature|Timing|ContactDetail|DataRequirement|Expression|
   ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|
   Availability|ExtendedContactDetail|Dosage|Meta 
     Value must be exactly this --></fixed[x]>
 <<a href="elementdefinition-de-definitions.html#ElementDefinition.pattern[x]" title="Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example.  

 <When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.

When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.


When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,

1. If primitive: it must match exactly the pattern value
2. If a complex object: it must match (recursively) the pattern value
3. If an array: it must match (recursively) the pattern value." class="dict">|
   |
   |
   |
   |
   |
   

3. If an array: it must match (recursively) the pattern value

If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions.  If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have." class="dict">pattern[x]><!-- I 0..0 base64Binary|boolean|canonical|code|
   date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|
   string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|
   CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|
   HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|
   SampledData|Signature|Timing|ContactDetail|DataRequirement|Expression|
   ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|
   Availability|ExtendedContactDetail|Dosage|Meta 
     Value must have at least these property values --></pattern[x]>
 <
  <
  <|
    |
    |
    |
    |
    |

 <example> I 0..* Element  <!-- I 0..* Example value (as defined for type) -->
  <label value="[string]"/><!-- I 1..1 Describes the purpose of this example -->
  <value[x]><!-- I 1..1 base64Binary|boolean|canonical|
    code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|
    positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|
    Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|
    Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|
    RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|
    DataRequirement|Expression|ParameterDefinition|RelatedArtifact|
    
      Value of Example (one of allowed types)</value[x]>

    TriggerDefinition|UsageContext|Availability|ExtendedContactDetail|Dosage|
    Meta Value of Example (one of allowed types) --></value[x]>
 </example>
 <|
   

 <minValue[x]><!-- I 0..1 date|dateTime|instant|time|decimal|
   integer|integer64|positiveInt|unsignedInt|Quantity 
     Minimum Allowed Value (for some types) --></minValue[x]>
 <|
   

 <maxValue[x]><!-- I 0..1 date|dateTime|instant|time|decimal|
   integer|integer64|positiveInt|unsignedInt|Quantity 
     Maximum Allowed Value (for some types) --></maxValue[x]>
 <
 <
 <
  <
  <
  <
  <
  <
  <
  <

 <maxLength value="[integer]"/><!-- I 0..1 Max length for string type data -->
 <condition value="[id]"/><!-- I 0..* Reference to invariant about presence -->
 <constraint> I 0..* Element  <!-- I 0..* Condition that must evaluate to true -->
  <key value="[id]"/><!-- I 1..1 Target of 'condition' reference above -->
  <requirements value="[markdown]"/><!-- I 0..1 Why this constraint is necessary or appropriate -->
  <severity value="[code]"/><!-- I 1..1 error | warning -->
  <suppress value="[boolean]"/><!-- I 0..1 Suppress warning or hint in profile -->
  <human value="[string]"/><!-- I 1..1 Human description of constraint -->
  <expression value="[string]"/><!-- I 0..1 FHIRPath expression of constraint -->
  <source value="[canonical]"/><!-- I 0..1 Reference to original source of constraint -->

 </constraint>
 <
 <
 <
 <
 <
  <
  <
  <

 <mustHaveValue value="[boolean]"/><!-- I 0..1 
     For primitives, that a value must be present - not replaced by an extension -->
 <valueAlternatives value="[canonical]"/><!-- I 0..* Extensions that are allowed to replace a primitive value -->
 <mustSupport value="[boolean]"/><!-- I 0..1 If the element must be supported (discouraged - see obligations) -->
 <obligation> I 0..* Element  <!-- I 0..* Documents obligations for applications making use of this element -->
  <code><!-- I 1..1 Coding Combination code describing the nature of the obligation --></code>
  <actor value="[canonical]"/><!-- I 0..* Actor(s) this obligation applies to (all actors if none) -->
  <documentation value="[markdown]"/><!-- I 0..1 
      Documentation of the purpose or application of the obligation -->
  <usage><!-- I 0..* UsageContext 
      Qualifies the usage - jurisdiction, gender, workflow status etc --></usage>
  <filter value="[string]"/><!-- I 0..1 Limits obligation to some repeats by FHIRPath -->
  <filterDocumentation value="[string]"/><!-- I 0..1 Ddescribes the intent of the filter (short) -->
  <process value="[uri]"/><!-- I 0..* 
      The obligation only applies when perfomring the indicated process -->
 </obligation>
 <isModifier value="[boolean]"/><!-- I 0..0 If this modifies the meaning of other elements -->
 <isModifierReason value="[string]"/><!-- I 0..1 Reason that this element is marked as a modifier -->
 <isSummary value="[boolean]"/><!-- I 0..0 Include when _summary = true? -->
 <binding> I 0..1 Element  <!-- I 0..1 ValueSet details if this is coded -->
  <strength value="[code]"/><!-- I 1..1 required | extensible | preferred | example -->
  <description value="[markdown]"/><!-- I 0..1 Intended use of codes in the bound value set -->
  <valueSet value="[canonical]"/><!-- I 0..1 Source of value set -->
  <additional> I 0..* Element  <!-- I 0..* Additional Bindings - more rules about the binding -->
   <purpose value="[code]"/><!-- I 1..1 maximum | minimum | required | extensible | candidate | current | preferred | ui | starter | component -->
   <valueSet value="[canonical]"/><!-- I 1..1 The value set for the additional binding -->
   <documentation value="[markdown]"/><!-- I 0..1 
       Documentation of the purpose of use of the binding -->
   <shortDoco value="[string]"/><!-- I 0..1 Concise documentation - for summary tables -->
   <usage><!-- I 0..* UsageContext 
       Qualifies the usage - jurisdiction, gender, workflow status etc --></usage>
   <any value="[boolean]"/><!-- I 0..1 Whether binding can applies to all repeats, or just one -->
  </additional>

 </binding>
 <
  <
  <
  <
  <

 <mapping> I 0..* Element  <!-- I 0..* Map element to another set of definitions -->
  <identity value="[id]"/><!-- I 1..1 Reference to mapping declaration -->
  <language value="[code]"/><!-- I 0..1 Computable language of mapping -->
  <map value="[string]"/><!-- I 1..1 Details of the mapping -->
  <comment value="[markdown]"/><!-- I 0..1 Comments about the mapping or its use -->

 </mapping>
</ElementDefinition>
{ // DataElement constraint on ElementDefinition data type
  // from Element: extension
    "extension" : [ //  sliced by value:url  in the specified order, Open 
      { // 

      { // Prompt for element phrased as question // I

        // from Element: extension
      },
      { // 

      { // Units to use for measured value // I

        // from Element: extension
      }
    ],
    "Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself) (this element modifies the meaning of other elements)" class="dict">
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "

    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "


    "

    "
    "
    "
    "
    "
    "
    "
    "
    "

    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself) (this element modifies the meaning of other elements)" class="dict">modifierExtension" : [{ Extension }], // IExtensions that cannot be ignored even if unrecognized
    "path" : "<string>", // I R! Path of the element in the hierarchy of elements
    "sliceName" : "<string>", // IName for this particular element (in a set of slices)
    "sliceIsConstraining" : <boolean>, // IIf this slice definition constrains an inherited slice definition (or not)
    "label" : "<string>", // IName for element to display with or prompt for element
    "code" : [{ Coding }], // ICorresponding codes in terminologies
    "definition" : "<markdown>", // IFull formal definition as narrative text
    "comment" : "<markdown>", // IComments about the use of this element
    "requirements" : "<markdown>", // IWhy this resource has been created
    "alias" : ["<string>"], // IOther names
    "min" : "<unsignedInt>", // IMinimum Cardinality
    "max" : "<string>", // IMaximum Cardinality (a number or *)
    "base" : { Element }, // IBase definition information for tools
    "type" : [{ Element }], // IData type and Profile for this element
  // value[x]: Specified value if missing from instance. One of these 54:

    "defaultValueBase64Binary" : "<base64Binary>", // ISpecified value if missing from instance
    "defaultValueBoolean" : <boolean>, // ISpecified value if missing from instance
    "defaultValueCanonical" : "<canonical>", // ISpecified value if missing from instance
    "defaultValueCode" : "<code>", // ISpecified value if missing from instance
    "defaultValueDate" : "<date>", // ISpecified value if missing from instance
    "defaultValueDateTime" : "<dateTime>", // ISpecified value if missing from instance
    "defaultValueDecimal" : <decimal>, // ISpecified value if missing from instance
    "defaultValueId" : "<id>", // ISpecified value if missing from instance
    "defaultValueInstant" : "<instant>", // ISpecified value if missing from instance
    "defaultValueInteger" : <integer>, // ISpecified value if missing from instance
    "defaultValueInteger64" : "<integer64>", // ISpecified value if missing from instance
    "defaultValueMarkdown" : "<markdown>", // ISpecified value if missing from instance
    "defaultValueOid" : "<oid>", // ISpecified value if missing from instance
    "defaultValuePositiveInt" : "<positiveInt>", // ISpecified value if missing from instance
    "defaultValueString" : "<string>", // ISpecified value if missing from instance
    "defaultValueTime" : "<time>", // ISpecified value if missing from instance
    "defaultValueUnsignedInt" : "<unsignedInt>", // ISpecified value if missing from instance
    "defaultValueUri" : "<uri>", // ISpecified value if missing from instance
    "defaultValueUrl" : "<url>", // ISpecified value if missing from instance
    "defaultValueUuid" : "<uuid>", // ISpecified value if missing from instance
    "defaultValueAddress" : { Address }, // ISpecified value if missing from instance
    "defaultValueAge" : { Age }, // ISpecified value if missing from instance
    "defaultValueAnnotation" : { Annotation }, // ISpecified value if missing from instance
    "defaultValueAttachment" : { Attachment }, // ISpecified value if missing from instance
    "defaultValueCodeableConcept" : { CodeableConcept }, // ISpecified value if missing from instance
    "defaultValueCodeableReference" : { CodeableReference }, // ISpecified value if missing from instance
    "defaultValueCoding" : { Coding }, // ISpecified value if missing from instance
    "defaultValueContactPoint" : { ContactPoint }, // ISpecified value if missing from instance
    "defaultValueCount" : { Count }, // ISpecified value if missing from instance
    "defaultValueDistance" : { Distance }, // ISpecified value if missing from instance
    "defaultValueDuration" : { Duration }, // ISpecified value if missing from instance
    "defaultValueHumanName" : { HumanName }, // ISpecified value if missing from instance
    "defaultValueIdentifier" : { Identifier }, // ISpecified value if missing from instance
    "defaultValueMoney" : { Money }, // ISpecified value if missing from instance
    "defaultValuePeriod" : { Period }, // ISpecified value if missing from instance
    "defaultValueQuantity" : { Quantity }, // ISpecified value if missing from instance
    "defaultValueRange" : { Range }, // ISpecified value if missing from instance
    "defaultValueRatio" : { Ratio }, // ISpecified value if missing from instance
    "defaultValueRatioRange" : { RatioRange }, // ISpecified value if missing from instance
    "defaultValueReference" : { Reference }, // ISpecified value if missing from instance
    "defaultValueSampledData" : { SampledData }, // ISpecified value if missing from instance
    "defaultValueSignature" : { Signature }, // ISpecified value if missing from instance
    "defaultValueTiming" : { Timing }, // ISpecified value if missing from instance
    "defaultValueContactDetail" : { ContactDetail }, // ISpecified value if missing from instance
    "defaultValueDataRequirement" : { DataRequirement }, // ISpecified value if missing from instance
    "defaultValueExpression" : { Expression }, // ISpecified value if missing from instance
    "defaultValueParameterDefinition" : { ParameterDefinition }, // ISpecified value if missing from instance
    "defaultValueRelatedArtifact" : { RelatedArtifact }, // ISpecified value if missing from instance
    "defaultValueTriggerDefinition" : { TriggerDefinition }, // ISpecified value if missing from instance
    "defaultValueUsageContext" : { UsageContext }, // ISpecified value if missing from instance
    "defaultValueAvailability" : { Availability }, // ISpecified value if missing from instance
    "defaultValueExtendedContactDetail" : { ExtendedContactDetail }, // ISpecified value if missing from instance
    "defaultValueDosage" : { Dosage }, // ISpecified value if missing from instance
    "defaultValueMeta" : { Meta }, // ISpecified value if missing from instance
    "meaningWhenMissing" : "<markdown>", // IImplicit meaning when this element is missing
    "orderMeaning" : "<string>", // IWhat the order of the elements means
  // value[x]: Value must be exactly this. One of these 54:
  // value[x]: Value must have at least these property values. One of these 54:

    "example" : [{ Element }], // IExample value (as defined for type)
  // value[x]: Minimum Allowed Value (for some types). One of these 10:

    "minValueDate" : "<date>", // IMinimum Allowed Value (for some types)
    "minValueDateTime" : "<dateTime>", // IMinimum Allowed Value (for some types)
    "minValueInstant" : "<instant>", // IMinimum Allowed Value (for some types)
    "minValueTime" : "<time>", // IMinimum Allowed Value (for some types)
    "minValueDecimal" : <decimal>, // IMinimum Allowed Value (for some types)
    "minValueInteger" : <integer>, // IMinimum Allowed Value (for some types)
    "minValueInteger64" : "<integer64>", // IMinimum Allowed Value (for some types)
    "minValuePositiveInt" : "<positiveInt>", // IMinimum Allowed Value (for some types)
    "minValueUnsignedInt" : "<unsignedInt>", // IMinimum Allowed Value (for some types)
    "minValueQuantity" : { Quantity }, // IMinimum Allowed Value (for some types)
  // value[x]: Maximum Allowed Value (for some types). One of these 10:

    "maxValueDate" : "<date>", // IMaximum Allowed Value (for some types)
    "maxValueDateTime" : "<dateTime>", // IMaximum Allowed Value (for some types)
    "maxValueInstant" : "<instant>", // IMaximum Allowed Value (for some types)
    "maxValueTime" : "<time>", // IMaximum Allowed Value (for some types)
    "maxValueDecimal" : <decimal>, // IMaximum Allowed Value (for some types)
    "maxValueInteger" : <integer>, // IMaximum Allowed Value (for some types)
    "maxValueInteger64" : "<integer64>", // IMaximum Allowed Value (for some types)
    "maxValuePositiveInt" : "<positiveInt>", // IMaximum Allowed Value (for some types)
    "maxValueUnsignedInt" : "<unsignedInt>", // IMaximum Allowed Value (for some types)
    "maxValueQuantity" : { Quantity }, // IMaximum Allowed Value (for some types)
    "maxLength" : <integer>, // IMax length for string type data
    "condition" : ["<id>"], // IReference to invariant about presence
    "constraint" : [{ Element }], // ICondition that must evaluate to true
    "mustHaveValue" : <boolean>, // IFor primitives, that a value must be present - not replaced by an extension
    "valueAlternatives" : ["<canonical>"], // IExtensions that are allowed to replace a primitive value
    "mustSupport" : <boolean>, // IIf the element must be supported (discouraged - see obligations)
    "obligation" : [{ Element }], // IDocuments obligations for applications making use of this element
    "isModifierReason" : "<string>", // IReason that this element is marked as a modifier
    "binding" : { Element }, // IValueSet details if this is coded
    "mapping" : [{ Element }], // IMap element to another set of definitions

  }

This structure is derived from ElementDefinition .

Differential View

This structure is derived from indicates the differences between this profile and the base ElementDefinition . structure.

Name Flags Card. Type Description & Constraints doco
. . ElementDefinition 0..* ElementDefinition Definition of an element in a resource or extension
. . . elementdefinition-question Question 0..* string Prompt for element phrased as question
URL: http://hl7.org/fhir/StructureDefinition/elementdefinition-question
. . . elementdefinition-allowedUnits AllowedUnits 0..1 CodeableConcept , canonical ( ValueSet ) Units to use for measured value
URL: http://hl7.org/fhir/StructureDefinition/elementdefinition-allowedUnits
Binding: UCUM Codes ( required )
. . . representation 0 .. 0
. . . short 0 .. 0
. . . contentReference 0 .. 0
. . . type 0 .. * Element Data type and Profile for this element
. . . . profile 0 .. 0
. . . . aggregation 0 .. 0
. . . defaultValue[x] 0 .. 1 base64Binary , boolean , canonical () , code , date , dateTime , decimal , id , instant , integer , integer64 , markdown , oid , positiveInt , string , time , unsignedInt , uri , url , uuid , Address , Age , Annotation , Attachment , CodeableConcept , CodeableReference () , Coding , ContactPoint , Count , Distance , Duration , HumanName , Identifier , Money , Period , Quantity , Range , Ratio , RatioRange , Reference () , SampledData , Signature , Timing , ContactDetail , Contributor , DataRequirement , Expression , ParameterDefinition , RelatedArtifact , TriggerDefinition , UsageContext , Availability , ExtendedContactDetail , Dosage , Meta Specified value if missing from instance
. . . meaningWhenMissing 0 .. 1 markdown Implicit meaning when this element is missing
. . . fixed[x] 0 .. 0
. . . pattern[x] 0 .. 0
. . . isModifier 0 .. 0
. . . isSummary 0 .. 0

doco Documentation for this format

Snapshot View

This provides the consolidated view (aka snapshot) of the profile after applying the changes in this profile to the base ElementDefinition structure.

Name Flags Card. Type Description & Constraints doco
. . ElementDefinition I C 0..* ElementDefinition Definition of an element in a resource or extension
. . . id 0..1 id Unique id for inter-element referencing
. . . Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
. . . elementdefinition-question Question 0..* string Prompt for element phrased as question
URL: http://hl7.org/fhir/StructureDefinition/elementdefinition-question
. . . elementdefinition-allowedUnits AllowedUnits 0..1 CodeableConcept , canonical ( ValueSet ) Units to use for measured value
URL: http://hl7.org/fhir/StructureDefinition/elementdefinition-allowedUnits
Binding: UCUM Codes ( required )
. . . modifierExtension ?! Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
. . . path Σ 1..1 string Path of the element in the hierarchy of elements
. . . sliceName Σ 0..1 string Name for this particular element (in a set of slices)
. . . sliceIsConstraining Σ TU 0..1 boolean If this slice definition constrains an inherited slice definition (or not)
. . . label Σ 0..1 string Name for element to display with or prompt for element
. . . code Σ 0..* Coding Corresponding codes in terminologies
Binding: LOINC Codes ???? ( example )
. . . definition Σ 0..1 markdown Full formal definition as narrative text
. . . comment Σ 0..1 markdown Comments about the use of this element
. . . requirements Σ 0..1 markdown Why this resource has been created
. . . alias Σ 0..* string Other names
. . . min Σ I C 0..1 unsignedInt Minimum Cardinality
. . . max Σ I C 0..1 string Maximum Cardinality (a number or *)
. . . base Σ 0..1 Element Base definition information for tools
. . . . id 0..1 string Unique id for inter-element referencing
. . . . extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
. . . . path Σ 1..1 string Path that identifies the base element
. . . . min Σ 1..1 unsignedInt Min cardinality of the base element
. . . . max Σ 1..1 string Max cardinality of the base element
. . . type Σ I C 0..* Element Data type and Profile for this element
. . . . id 0..1 string Unique id for inter-element referencing
. . . . extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
. . . . code Σ 1..1 uri Data type or Resource (reference to definition)
Binding: Common Tags Element Definition Types ( extensible )
. . . . targetProfile Σ 0..* canonical ( StructureDefinition | ImplementationGuide ) Profile (StructureDefinition or IG) on the Reference/canonical target - one must apply
. . . . versioning Σ 0..1 code either | independent | specific
Binding: ReferenceVersionRules ( required )
. . . defaultValue[x] Σ I C 0..1 Specified value if missing from instance
. . . . defaultValueBase64Binary base64Binary
. . . . defaultValueBoolean boolean
. . . . defaultValueCanonical canonical (Any)
. . . . defaultValueCode code
. . . . defaultValueDate date
. . . . defaultValueDateTime dateTime
. . . . defaultValueDecimal decimal
. . . . defaultValueId id
. . . . defaultValueInstant instant
. . . . defaultValueInteger integer
. . . . defaultValueMarkdown defaultValueInteger64 markdown integer64
. . . . defaultValueOid defaultValueMarkdown oid markdown
. . . . defaultValuePositiveInt defaultValueOid positiveInt oid
. . . . defaultValueString defaultValuePositiveInt string positiveInt
. . . . defaultValueTime defaultValueString time string
. . . . defaultValueUnsignedInt defaultValueTime unsignedInt time
. . . . defaultValueUri defaultValueUnsignedInt uri unsignedInt
. . . . defaultValueUrl defaultValueUri url uri
. . . . defaultValueUuid defaultValueUrl uuid url
. . . defaultValueAddress . defaultValueUuid Address uuid
. . . . defaultValueAge defaultValueAddress Age Address
. . . . defaultValueAnnotation defaultValueAge Annotation Age
. . . . defaultValueAttachment defaultValueAnnotation Attachment Annotation
. . . . defaultValueCodeableConcept defaultValueAttachment CodeableConcept Attachment
. . . . defaultValueCodeableReference defaultValueCodeableConcept CodeableReference CodeableConcept
. . . . defaultValueCoding defaultValueCodeableReference Coding CodeableReference
. . . . defaultValueContactPoint defaultValueCoding ContactPoint Coding
. . . . defaultValueCount defaultValueContactPoint Count ContactPoint
. . . . defaultValueDistance defaultValueCount Distance Count
. . . . defaultValueDuration defaultValueDistance Duration Distance
. . . . defaultValueHumanName defaultValueDuration HumanName Duration
. . . . defaultValueIdentifier defaultValueHumanName Identifier HumanName
. . . . defaultValueMoney defaultValueIdentifier Money Identifier
. . . . defaultValuePeriod defaultValueMoney Period Money
. . . . defaultValueQuantity defaultValuePeriod Quantity Period
. . . . defaultValueRange defaultValueQuantity Range Quantity
. . . . defaultValueRatio defaultValueRange Ratio Range
. . . . defaultValueRatioRange defaultValueRatio RatioRange Ratio
. . . defaultValueReference . defaultValueRatioRange Reference RatioRange (Any)
. . . defaultValueSampledData . defaultValueReference SampledData Reference (Any)
. . . . defaultValueSignature defaultValueSampledData Signature SampledData
. . . . defaultValueTiming defaultValueSignature Timing Signature
. . . . defaultValueContactDetail defaultValueTiming ContactDetail Timing
. . . . defaultValueContributor defaultValueContactDetail Contributor ContactDetail
. . . . defaultValueDataRequirement DataRequirement
. . . . defaultValueExpression Expression
. . . . defaultValueParameterDefinition ParameterDefinition
. . . . defaultValueRelatedArtifact RelatedArtifact
. . . . defaultValueTriggerDefinition TriggerDefinition
. . . . defaultValueUsageContext UsageContext
. . . . defaultValueDosage defaultValueAvailability Availability
.... defaultValueExtendedContactDetail ExtendedContactDetail
.... defaultValueDosage Dosage
. . . . defaultValueMeta Meta
. . . meaningWhenMissing Σ I C 0..1 markdown Implicit meaning when this element is missing
. . . orderMeaning Σ 0..1 string What the order of the elements means
. . . example Σ 0..* Element Example value (as defined for type)
. . . . id 0..1 string Unique id for inter-element referencing
. . . . extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
. . . . label Σ 1..1 string Describes the purpose of this example
. . . . value[x] Σ 1..1 Value of Example (one of allowed types)
. . . . . valueBase64Binary base64Binary
. . . . . valueBoolean boolean
. . . . . valueCanonical canonical (Any)
. . . . . valueCode code
. . . . . valueCode valueDate code date
. . . . . valueDate valueDateTime date dateTime
. . . . . valueDateTime valueDecimal dateTime decimal
. . . . . valueDecimal valueId decimal id
. . . . . valueId valueInstant id instant
. . . . . valueInstant valueInteger instant integer
. . . . . valueInteger valueInteger64 integer 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 (Any)
. . . . . valueSampledData SampledData
. . . . . valueSignature Signature
. . . . . valueTiming Timing
. . . . . valueContactDetail ContactDetail
. . . . . valueContributor valueDataRequirement Contributor DataRequirement
. . . . . valueDataRequirement valueExpression DataRequirement Expression
. . . . . valueExpression valueParameterDefinition Expression ParameterDefinition
. . . . . valueParameterDefinition valueRelatedArtifact ParameterDefinition RelatedArtifact
. . . . . valueRelatedArtifact valueTriggerDefinition RelatedArtifact TriggerDefinition
. . . . . valueTriggerDefinition valueUsageContext TriggerDefinition UsageContext
. . . . . valueUsageContext valueAvailability UsageContext Availability
. . . . . valueDosage valueExtendedContactDetail ExtendedContactDetail
. . . . . valueDosage Dosage
. . . . . valueMeta Meta
. . . minValue[x] Σ 0..1 Minimum Allowed Value (for some types)
. . . . minValueDate date
. . . . minValueDateTime dateTime
. . . . minValueInstant instant
. . . . minValueTime time
. . . . minValueDecimal decimal
. . . . minValueInteger integer
. . . . minValuePositiveInt minValueInteger64 positiveInt integer64
. . . . minValueUnsignedInt minValuePositiveInt positiveInt
. . . . minValueUnsignedInt unsignedInt
. . . . minValueQuantity Quantity
. . . maxValue[x] Σ 0..1 Maximum Allowed Value (for some types)
. . . . maxValueDate date
. . . . maxValueDateTime dateTime
. . . . maxValueDateTime maxValueInstant dateTime instant
. . . . maxValueInstant maxValueTime instant time
. . . . maxValueTime maxValueDecimal time decimal
. . . . maxValueDecimal maxValueInteger decimal integer
. . . . maxValueInteger maxValueInteger64 integer integer64
. . . . maxValuePositiveInt positiveInt
. . . . maxValueUnsignedInt unsignedInt
. . . . maxValueQuantity Quantity
. . . maxLength Σ 0..1 integer Max length for strings string type data
. . . condition Σ 0..* id Reference to invariant about presence
. . . constraint Σ I C 0..* Element Condition that must evaluate to true
. . . . id 0..1 string Unique id for inter-element referencing
. . . . extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
. . . . key Σ I C 1..1 id Target of 'condition' reference above
. . . . requirements Σ 0..1 string markdown Why this constraint is necessary or appropriate
. . . . severity Σ 1..1 code error | warning
Binding: ConstraintSeverity ( required )
. . . . human suppress Σ 1..1 0..1 string boolean Human description of constraint Suppress warning or hint in profile
. . . . expression human Σ 0..1 1..1 string FHIRPath expression Human description of constraint
. . . . xpath expression Σ 0..1 string XPath FHIRPath expression of constraint
. . . . source Σ 0..1 canonical ( StructureDefinition ) Reference to original source of constraint
. . . mustHaveValue Σ TU 0..1 boolean For primitives, that a value must be present - not replaced by an extension
... valueAlternatives Σ TU 0..* canonical ( StructureDefinition ) Extensions that are allowed to replace a primitive value
... mustSupport Σ 0..1 boolean If the element must be supported (discouraged - see obligations)
. . . obligation Σ TU 0..* Element Documents obligations for applications making use of this element
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... code Σ TU 1..1 Coding Combination code describing the nature of the obligation
Binding: Obligation Codes ValueSet ( extensible )
.... actor Σ TU 0..* canonical ( ActorDefinition ) Actor(s) this obligation applies to (all actors if none)
.... documentation Σ TU 0..1 markdown Documentation of the purpose or application of the obligation
.... usage Σ TU 0..* UsageContext Qualifies the usage - jurisdiction, gender, workflow status etc
.... filter Σ TU 0..1 string Limits obligation to some repeats by FHIRPath
.... filterDocumentation Σ TU 0..1 string Ddescribes the intent of the filter (short)
.... process Σ TU 0..* uri The obligation only applies when perfomring the indicated process
. . . isModifierReason Σ 0..1 string Reason that this element is marked as a modifier
. . . binding Σ I C 0..1 Element ValueSet details if this is coded
. . . . id 0..1 string Unique id for inter-element referencing
. . . . extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
. . . . strength Σ 1..1 code required | extensible | preferred | example
Binding: BindingStrength ( required )
. . . . description Σ 0..1 string markdown Human explanation Intended use of codes in the bound value set
. . . . valueSet Σ I C 0..1 canonical ( ValueSet ) Source of value set
. . . mapping . additional Σ TU 0..* Element Additional Bindings - more rules about the binding
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... purpose Σ TU 1..1 code maximum | minimum | required | extensible | candidate | current | preferred | ui | starter | component
Binding: Additional Binding Purpose ValueSet ( required )
..... valueSet Σ TU 1..1 canonical ( ValueSet ) The value set for the additional binding
..... documentation Σ TU 0..1 markdown Documentation of the purpose of use of the binding
..... shortDoco Σ TU 0..1 string Concise documentation - for summary tables
..... usage Σ TU 0..* UsageContext Qualifies the usage - jurisdiction, gender, workflow status etc
..... any Σ TU 0..1 boolean Whether binding can applies to all repeats, or just one
... mapping Σ 0..* Element Map element to another set of definitions
. . . . id 0..1 string Unique id for inter-element referencing
. . . . extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
. . . . identity Σ 1..1 id Reference to mapping declaration
. . . . language Σ 0..1 code Computable language of mapping
Binding: MimeType Mime Types ( required ): BCP 13 (RFCs 2045, 2046, 2047, 4288, 4289 and 2049)

. . . . map Σ 1..1 string Details of the mapping
. . . . comment Σ 0..1 string markdown Comments about the mapping or its use

doco Documentation for this format

XML Template

<!-- DataElement constraint on ElementDefinition data type -->doco

<ElementDefinition xmlns="http://hl7.org/fhir"
>
  <!-- from Element: extension -->
 <Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself) (this element modifies the meaning of other elements)" class="dict"></modifierExtension>
 <
 <
 <
 <

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself) (this element modifies the meaning of other elements)" class="dict">modifierExtension><!-- I 0..* Extension  Extensions that cannot be ignored even if unrecognized  --></modifierExtension>
 <path value="[string]"/><!-- I 1..1 Path of the element in the hierarchy of elements -->
 <representation value="[code]"/><!-- I 0..0 xmlAttr | xmlText | typeAttr | cdaText | xhtml -->
 <sliceName value="[string]"/><!-- I 0..1 Name for this particular element (in a set of slices) -->
 <sliceIsConstraining value="[boolean]"/><!-- I 0..1 

     If this slice definition constrains an inherited slice definition (or not) -->
 <
 <</code>
 <

 <label value="[string]"/><!-- I 0..1 Name for element to display with or prompt for element -->
 <code><!-- I 0..* Coding Corresponding codes in terminologies --></code>
 <slicing> I 0..0 Element  <!-- I 0..0 This element is sliced - slices follow -->

 </slicing>
 <
 <
 <
 <
 <
 <
 <
 <
  <
  <
  <

 <short value="[string]"/><!-- I 0..0 Concise definition for space-constrained presentation -->
 <definition value="[markdown]"/><!-- I 0..1 Full formal definition as narrative text -->
 <comment value="[markdown]"/><!-- I 0..1 Comments about the use of this element -->
 <requirements value="[markdown]"/><!-- I 0..1 Why this resource has been created -->
 <alias value="[string]"/><!-- I 0..* Other names -->
 <min value="[unsignedInt]"/><!-- I 0..1 Minimum Cardinality -->
 <max value="[string]"/><!-- I 0..1 Maximum Cardinality (a number or *) -->
 <base> I 0..1 Element  <!-- I 0..1 Base definition information for tools -->
  <path value="[string]"/><!-- I 1..1 Path that identifies the base element -->
  <min value="[unsignedInt]"/><!-- I 1..1 Min cardinality of the base element -->
  <max value="[string]"/><!-- I 1..1 Max cardinality of the base element -->

 </base>
 <
 <
  <
  <
  <

 <contentReference value="[uri]"/><!-- I 0..0 Reference to definition of content for the element -->
 <type> I 0..* Element  <!-- I 0..* Data type and Profile for this element -->
  <code value="[uri]"/><!-- I 1..1 Data type or Resource (reference to definition) -->
  <profile value="[canonical]"/><!-- I 0..0 Profiles (StructureDefinition or IG) - one must apply -->
  <targetProfile value="[canonical]"/><!-- I 0..* 

      Profile (StructureDefinition or IG) on the Reference/canonical target - one must apply -->
  <
  <

  <aggregation value="[code]"/><!-- I 0..0 contained | referenced | bundled - how aggregated -->
  <versioning value="[code]"/><!-- I 0..1 either | independent | specific -->

 </type>
 <|
   |

 <defaultValue[x]><!-- I 0..1 base64Binary|boolean|canonical|
   code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|
   positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|
   Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|
   Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|
   RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|
   DataRequirement|Expression|ParameterDefinition|RelatedArtifact|
   TriggerDefinition|UsageContext|Availability|ExtendedContactDetail|Dosage|Meta 

     Specified value if missing from instance --></defaultValue[x]>
 <meaningWhenMissing value="[markdown]"/><!-- I 0..1 Implicit meaning when this element is missing -->
 <orderMeaning value="[string]"/><!-- I 0..1 What the order of the elements means -->
 <fixed[x]><!-- I 0..0 base64Binary|boolean|canonical|code|date|
   dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|
   time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|
   CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|
   HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|
   |
   |
   </defaultValue[x]>
 <
 <
 <|
   |
   |
   |
   |
   |
   

   SampledData|Signature|Timing|ContactDetail|DataRequirement|Expression|
   ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|
   Availability|ExtendedContactDetail|Dosage|Meta 
     Value must be exactly this --></fixed[x]>
 <<a href="elementdefinition-de-definitions.html#ElementDefinition.pattern[x]" title="Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example.  

 <When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.

When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.


When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,

1. If primitive: it must match exactly the pattern value
2. If a complex object: it must match (recursively) the pattern value
3. If an array: it must match (recursively) the pattern value." class="dict">|
   |
   |
   |
   |
   |
   

3. If an array: it must match (recursively) the pattern value

If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions.  If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have." class="dict">pattern[x]><!-- I 0..0 base64Binary|boolean|canonical|code|
   date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|
   string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|
   CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|
   HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|
   SampledData|Signature|Timing|ContactDetail|DataRequirement|Expression|
   ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|
   Availability|ExtendedContactDetail|Dosage|Meta 
     Value must have at least these property values --></pattern[x]>
 <
  <
  <|
    |
    |
    |
    |
    |

 <example> I 0..* Element  <!-- I 0..* Example value (as defined for type) -->
  <label value="[string]"/><!-- I 1..1 Describes the purpose of this example -->
  <value[x]><!-- I 1..1 base64Binary|boolean|canonical|
    code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|
    positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|
    Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|
    Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|
    RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|
    DataRequirement|Expression|ParameterDefinition|RelatedArtifact|
    
      Value of Example (one of allowed types)</value[x]>

    TriggerDefinition|UsageContext|Availability|ExtendedContactDetail|Dosage|
    Meta Value of Example (one of allowed types) --></value[x]>
 </example>
 <|
   

 <minValue[x]><!-- I 0..1 date|dateTime|instant|time|decimal|
   integer|integer64|positiveInt|unsignedInt|Quantity 
     Minimum Allowed Value (for some types) --></minValue[x]>
 <|
   

 <maxValue[x]><!-- I 0..1 date|dateTime|instant|time|decimal|
   integer|integer64|positiveInt|unsignedInt|Quantity 
     Maximum Allowed Value (for some types) --></maxValue[x]>
 <
 <
 <
  <
  <
  <
  <
  <
  <
  <

 <maxLength value="[integer]"/><!-- I 0..1 Max length for string type data -->
 <condition value="[id]"/><!-- I 0..* Reference to invariant about presence -->
 <constraint> I 0..* Element  <!-- I 0..* Condition that must evaluate to true -->
  <key value="[id]"/><!-- I 1..1 Target of 'condition' reference above -->
  <requirements value="[markdown]"/><!-- I 0..1 Why this constraint is necessary or appropriate -->
  <severity value="[code]"/><!-- I 1..1 error | warning -->
  <suppress value="[boolean]"/><!-- I 0..1 Suppress warning or hint in profile -->
  <human value="[string]"/><!-- I 1..1 Human description of constraint -->
  <expression value="[string]"/><!-- I 0..1 FHIRPath expression of constraint -->
  <source value="[canonical]"/><!-- I 0..1 Reference to original source of constraint -->

 </constraint>
 <
 <
 <
 <
 <
  <
  <
  <

 <mustHaveValue value="[boolean]"/><!-- I 0..1 
     For primitives, that a value must be present - not replaced by an extension -->
 <valueAlternatives value="[canonical]"/><!-- I 0..* Extensions that are allowed to replace a primitive value -->
 <mustSupport value="[boolean]"/><!-- I 0..1 If the element must be supported (discouraged - see obligations) -->
 <obligation> I 0..* Element  <!-- I 0..* Documents obligations for applications making use of this element -->
  <code><!-- I 1..1 Coding Combination code describing the nature of the obligation --></code>
  <actor value="[canonical]"/><!-- I 0..* Actor(s) this obligation applies to (all actors if none) -->
  <documentation value="[markdown]"/><!-- I 0..1 
      Documentation of the purpose or application of the obligation -->
  <usage><!-- I 0..* UsageContext 
      Qualifies the usage - jurisdiction, gender, workflow status etc --></usage>
  <filter value="[string]"/><!-- I 0..1 Limits obligation to some repeats by FHIRPath -->
  <filterDocumentation value="[string]"/><!-- I 0..1 Ddescribes the intent of the filter (short) -->
  <process value="[uri]"/><!-- I 0..* 
      The obligation only applies when perfomring the indicated process -->
 </obligation>
 <isModifier value="[boolean]"/><!-- I 0..0 If this modifies the meaning of other elements -->
 <isModifierReason value="[string]"/><!-- I 0..1 Reason that this element is marked as a modifier -->
 <isSummary value="[boolean]"/><!-- I 0..0 Include when _summary = true? -->
 <binding> I 0..1 Element  <!-- I 0..1 ValueSet details if this is coded -->
  <strength value="[code]"/><!-- I 1..1 required | extensible | preferred | example -->
  <description value="[markdown]"/><!-- I 0..1 Intended use of codes in the bound value set -->
  <valueSet value="[canonical]"/><!-- I 0..1 Source of value set -->
  <additional> I 0..* Element  <!-- I 0..* Additional Bindings - more rules about the binding -->
   <purpose value="[code]"/><!-- I 1..1 maximum | minimum | required | extensible | candidate | current | preferred | ui | starter | component -->
   <valueSet value="[canonical]"/><!-- I 1..1 The value set for the additional binding -->
   <documentation value="[markdown]"/><!-- I 0..1 
       Documentation of the purpose of use of the binding -->
   <shortDoco value="[string]"/><!-- I 0..1 Concise documentation - for summary tables -->
   <usage><!-- I 0..* UsageContext 
       Qualifies the usage - jurisdiction, gender, workflow status etc --></usage>
   <any value="[boolean]"/><!-- I 0..1 Whether binding can applies to all repeats, or just one -->
  </additional>

 </binding>
 <
  <
  <
  <
  <

 <mapping> I 0..* Element  <!-- I 0..* Map element to another set of definitions -->
  <identity value="[id]"/><!-- I 1..1 Reference to mapping declaration -->
  <language value="[code]"/><!-- I 0..1 Computable language of mapping -->
  <map value="[string]"/><!-- I 1..1 Details of the mapping -->
  <comment value="[markdown]"/><!-- I 0..1 Comments about the mapping or its use -->

 </mapping>
</ElementDefinition>

JSON Template

{ // DataElement constraint on ElementDefinition data type
  // from Element: extension
    "extension" : [ //  sliced by value:url  in the specified order, Open 
      { // 

      { // Prompt for element phrased as question // I

        // from Element: extension
      },
      { // 

      { // Units to use for measured value // I

        // from Element: extension
      }
    ],
    "Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself) (this element modifies the meaning of other elements)" class="dict">
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "

    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "


    "

    "
    "
    "
    "
    "
    "
    "
    "
    "

    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself) (this element modifies the meaning of other elements)" class="dict">modifierExtension" : [{ Extension }], // IExtensions that cannot be ignored even if unrecognized
    "path" : "<string>", // I R! Path of the element in the hierarchy of elements
    "sliceName" : "<string>", // IName for this particular element (in a set of slices)
    "sliceIsConstraining" : <boolean>, // IIf this slice definition constrains an inherited slice definition (or not)
    "label" : "<string>", // IName for element to display with or prompt for element
    "code" : [{ Coding }], // ICorresponding codes in terminologies
    "definition" : "<markdown>", // IFull formal definition as narrative text
    "comment" : "<markdown>", // IComments about the use of this element
    "requirements" : "<markdown>", // IWhy this resource has been created
    "alias" : ["<string>"], // IOther names
    "min" : "<unsignedInt>", // IMinimum Cardinality
    "max" : "<string>", // IMaximum Cardinality (a number or *)
    "base" : { Element }, // IBase definition information for tools
    "type" : [{ Element }], // IData type and Profile for this element
  // value[x]: Specified value if missing from instance. One of these 54:

    "defaultValueBase64Binary" : "<base64Binary>", // ISpecified value if missing from instance
    "defaultValueBoolean" : <boolean>, // ISpecified value if missing from instance
    "defaultValueCanonical" : "<canonical>", // ISpecified value if missing from instance
    "defaultValueCode" : "<code>", // ISpecified value if missing from instance
    "defaultValueDate" : "<date>", // ISpecified value if missing from instance
    "defaultValueDateTime" : "<dateTime>", // ISpecified value if missing from instance
    "defaultValueDecimal" : <decimal>, // ISpecified value if missing from instance
    "defaultValueId" : "<id>", // ISpecified value if missing from instance
    "defaultValueInstant" : "<instant>", // ISpecified value if missing from instance
    "defaultValueInteger" : <integer>, // ISpecified value if missing from instance
    "defaultValueInteger64" : "<integer64>", // ISpecified value if missing from instance
    "defaultValueMarkdown" : "<markdown>", // ISpecified value if missing from instance
    "defaultValueOid" : "<oid>", // ISpecified value if missing from instance
    "defaultValuePositiveInt" : "<positiveInt>", // ISpecified value if missing from instance
    "defaultValueString" : "<string>", // ISpecified value if missing from instance
    "defaultValueTime" : "<time>", // ISpecified value if missing from instance
    "defaultValueUnsignedInt" : "<unsignedInt>", // ISpecified value if missing from instance
    "defaultValueUri" : "<uri>", // ISpecified value if missing from instance
    "defaultValueUrl" : "<url>", // ISpecified value if missing from instance
    "defaultValueUuid" : "<uuid>", // ISpecified value if missing from instance
    "defaultValueAddress" : { Address }, // ISpecified value if missing from instance
    "defaultValueAge" : { Age }, // ISpecified value if missing from instance
    "defaultValueAnnotation" : { Annotation }, // ISpecified value if missing from instance
    "defaultValueAttachment" : { Attachment }, // ISpecified value if missing from instance
    "defaultValueCodeableConcept" : { CodeableConcept }, // ISpecified value if missing from instance
    "defaultValueCodeableReference" : { CodeableReference }, // ISpecified value if missing from instance
    "defaultValueCoding" : { Coding }, // ISpecified value if missing from instance
    "defaultValueContactPoint" : { ContactPoint }, // ISpecified value if missing from instance
    "defaultValueCount" : { Count }, // ISpecified value if missing from instance
    "defaultValueDistance" : { Distance }, // ISpecified value if missing from instance
    "defaultValueDuration" : { Duration }, // ISpecified value if missing from instance
    "defaultValueHumanName" : { HumanName }, // ISpecified value if missing from instance
    "defaultValueIdentifier" : { Identifier }, // ISpecified value if missing from instance
    "defaultValueMoney" : { Money }, // ISpecified value if missing from instance
    "defaultValuePeriod" : { Period }, // ISpecified value if missing from instance
    "defaultValueQuantity" : { Quantity }, // ISpecified value if missing from instance
    "defaultValueRange" : { Range }, // ISpecified value if missing from instance
    "defaultValueRatio" : { Ratio }, // ISpecified value if missing from instance
    "defaultValueRatioRange" : { RatioRange }, // ISpecified value if missing from instance
    "defaultValueReference" : { Reference }, // ISpecified value if missing from instance
    "defaultValueSampledData" : { SampledData }, // ISpecified value if missing from instance
    "defaultValueSignature" : { Signature }, // ISpecified value if missing from instance
    "defaultValueTiming" : { Timing }, // ISpecified value if missing from instance
    "defaultValueContactDetail" : { ContactDetail }, // ISpecified value if missing from instance
    "defaultValueDataRequirement" : { DataRequirement }, // ISpecified value if missing from instance
    "defaultValueExpression" : { Expression }, // ISpecified value if missing from instance
    "defaultValueParameterDefinition" : { ParameterDefinition }, // ISpecified value if missing from instance
    "defaultValueRelatedArtifact" : { RelatedArtifact }, // ISpecified value if missing from instance
    "defaultValueTriggerDefinition" : { TriggerDefinition }, // ISpecified value if missing from instance
    "defaultValueUsageContext" : { UsageContext }, // ISpecified value if missing from instance
    "defaultValueAvailability" : { Availability }, // ISpecified value if missing from instance
    "defaultValueExtendedContactDetail" : { ExtendedContactDetail }, // ISpecified value if missing from instance
    "defaultValueDosage" : { Dosage }, // ISpecified value if missing from instance
    "defaultValueMeta" : { Meta }, // ISpecified value if missing from instance
    "meaningWhenMissing" : "<markdown>", // IImplicit meaning when this element is missing
    "orderMeaning" : "<string>", // IWhat the order of the elements means
  // value[x]: Value must be exactly this. One of these 54:
  // value[x]: Value must have at least these property values. One of these 54:

    "example" : [{ Element }], // IExample value (as defined for type)
  // value[x]: Minimum Allowed Value (for some types). One of these 10:

    "minValueDate" : "<date>", // IMinimum Allowed Value (for some types)
    "minValueDateTime" : "<dateTime>", // IMinimum Allowed Value (for some types)
    "minValueInstant" : "<instant>", // IMinimum Allowed Value (for some types)
    "minValueTime" : "<time>", // IMinimum Allowed Value (for some types)
    "minValueDecimal" : <decimal>, // IMinimum Allowed Value (for some types)
    "minValueInteger" : <integer>, // IMinimum Allowed Value (for some types)
    "minValueInteger64" : "<integer64>", // IMinimum Allowed Value (for some types)
    "minValuePositiveInt" : "<positiveInt>", // IMinimum Allowed Value (for some types)
    "minValueUnsignedInt" : "<unsignedInt>", // IMinimum Allowed Value (for some types)
    "minValueQuantity" : { Quantity }, // IMinimum Allowed Value (for some types)
  // value[x]: Maximum Allowed Value (for some types). One of these 10:

    "maxValueDate" : "<date>", // IMaximum Allowed Value (for some types)
    "maxValueDateTime" : "<dateTime>", // IMaximum Allowed Value (for some types)
    "maxValueInstant" : "<instant>", // IMaximum Allowed Value (for some types)
    "maxValueTime" : "<time>", // IMaximum Allowed Value (for some types)
    "maxValueDecimal" : <decimal>, // IMaximum Allowed Value (for some types)
    "maxValueInteger" : <integer>, // IMaximum Allowed Value (for some types)
    "maxValueInteger64" : "<integer64>", // IMaximum Allowed Value (for some types)
    "maxValuePositiveInt" : "<positiveInt>", // IMaximum Allowed Value (for some types)
    "maxValueUnsignedInt" : "<unsignedInt>", // IMaximum Allowed Value (for some types)
    "maxValueQuantity" : { Quantity }, // IMaximum Allowed Value (for some types)
    "maxLength" : <integer>, // IMax length for string type data
    "condition" : ["<id>"], // IReference to invariant about presence
    "constraint" : [{ Element }], // ICondition that must evaluate to true
    "mustHaveValue" : <boolean>, // IFor primitives, that a value must be present - not replaced by an extension
    "valueAlternatives" : ["<canonical>"], // IExtensions that are allowed to replace a primitive value
    "mustSupport" : <boolean>, // IIf the element must be supported (discouraged - see obligations)
    "obligation" : [{ Element }], // IDocuments obligations for applications making use of this element
    "isModifierReason" : "<string>", // IReason that this element is marked as a modifier
    "binding" : { Element }, // IValueSet details if this is coded
    "mapping" : [{ Element }], // IMap element to another set of definitions

  }

 

Alternate definitions: Master Definition ( XML , JSON ), Schematron

Terminology Bindings

Path Name Conformance ValueSet
ElementDefinition.code LOINC Codes ?ext example LOINC Codes http://loinc.org/vs
ElementDefinition.slicing.discriminator.type DiscriminatorType required DiscriminatorType
ElementDefinition.slicing.rules SlicingRules required SlicingRules
ElementDefinition.type.code Common Tags Element Definition Types extensible Common Tags Element Definition Types
ElementDefinition.type.versioning ReferenceVersionRules required ReferenceVersionRules
ElementDefinition.constraint.severity ConstraintSeverity required ConstraintSeverity
ElementDefinition.obligation.code Obligation Codes ValueSet extensible Obligation Codes ValueSet
ElementDefinition.binding.strength BindingStrength required BindingStrength
ElementDefinition.binding.additional.purpose Additional Binding Purpose ValueSet required Additional Binding Purpose ValueSet
ElementDefinition.mapping.language MimeType Mime Types required MimeType Mime Types
.