Release 4B R5 Final QA

This page is part of the FHIR Specification (v4.3.0: R4B (v5.0.0-draft-final: Final QA Preview for R5 - STU see ballot notes ). 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

StructureDefinition: elementdefinition-de

FHIR Infrastructure Work Group   Maturity Level : 1 Trial Use Use Context : Any 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 Σ C 1..1 string Path of the element in the hierarchy of elements
. . . sliceName Σ C 0..1 string Name for this particular element (in a set of slices)
. . . sliceIsConstraining Σ C 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 that indicate the meaning of a data element. ( example ) ): Codes that indicate the meaning of a data element.


. . . 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 Σ C 1..1 uri Data type or Resource (reference to definition)
Binding: Common Tags Element Definition Types ( extensible ) ): List of all Types for ElementDefinition.type.code.

. . . . targetProfile Σ C 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 ) ): Whether a reference needs to be version specific or version independent, or whether either can be used.

. . . 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 Σ C 0..1 string What the order of the elements means
. . . example Σ C 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] Σ C 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] Σ C 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 Σ C 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 Σ C 1..1 code error | warning
Binding: ConstraintSeverity ( required ) ): SHALL applications comply with this constraint?

. . . . human suppress Σ C 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 Σ C 0..1 string XPath FHIRPath expression of constraint
. . . . source Σ 0..1 canonical ( StructureDefinition ) Reference to original source of constraint
. . . mustHaveValue Σ C TU 0..1 boolean For primitives, that a value must be present - not replaced by an extension
... valueAlternatives Σ C 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)
. . . isModifierReason Σ C 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 ) ): Indication of the degree of conformance expectations associated with a binding.

. . . . description Σ C 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 Map element to another set of definitions 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
. . . . . identity purpose Σ TU 1..1 code maximum | minimum | required | extensible | candidate | current | preferred | ui | starter | component
Binding: Additional Binding Purpose ValueSet ( required ): The use of an additional binding.

..... 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 Σ C 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 Σ C 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 -->
 <<a href="elementdefinition-de-definitions.html#ElementDefinition.modifierExtension" title="May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

 <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) -->
 <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
      }
    ],
    "<a href="elementdefinition-de-definitions.html#ElementDefinition.modifierExtension" title="May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

    "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)
    "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 Σ C 1..1 string Path of the element in the hierarchy of elements
. . . sliceName Σ C 0..1 string Name for this particular element (in a set of slices)
. . . sliceIsConstraining Σ C 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 that indicate the meaning of a data element. ( example ) ): Codes that indicate the meaning of a data element.


. . . 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 Σ C 1..1 uri Data type or Resource (reference to definition)
Binding: Common Tags Element Definition Types ( extensible ) ): List of all Types for ElementDefinition.type.code.

. . . . targetProfile Σ C 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 ) ): Whether a reference needs to be version specific or version independent, or whether either can be used.

. . . 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 Σ C 0..1 string What the order of the elements means
. . . example Σ C 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] Σ C 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] Σ C 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 Σ C 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 Σ C 1..1 code error | warning
Binding: ConstraintSeverity ( required ) ): SHALL applications comply with this constraint?

. . . . human suppress Σ C 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 Σ C 0..1 string XPath FHIRPath expression of constraint
. . . . source Σ 0..1 canonical ( StructureDefinition ) Reference to original source of constraint
. . . mustHaveValue Σ C TU 0..1 boolean For primitives, that a value must be present - not replaced by an extension
... valueAlternatives Σ C 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)
. . . isModifierReason Σ C 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 ) ): Indication of the degree of conformance expectations associated with a binding.

. . . . description Σ C 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 Map element to another set of definitions 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
. . . . . identity purpose Σ TU 1..1 code maximum | minimum | required | extensible | candidate | current | preferred | ui | starter | component
Binding: Additional Binding Purpose ValueSet ( required ): The use of an additional binding.

..... 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 Σ C 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 Σ C 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 -->
 <<a href="elementdefinition-de-definitions.html#ElementDefinition.modifierExtension" title="May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

 <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) -->
 <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
      }
    ],
    "<a href="elementdefinition-de-definitions.html#ElementDefinition.modifierExtension" title="May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

    "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)
    "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.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
. .