Release 4 5

This page is part of the FHIR Specification (v4.0.1: R4 (v5.0.0: R5 - Mixed Normative and STU ) ). This is the current published version in it's permanent home (it will always be available at this URL). 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.

I I id 0..1 string Unique id for inter-element referencing extension I 0..0 url 1..1 uri "http://hl7.org/fhir/StructureDefinition/elementdefinition-question" value[x] I 1..1 string Value of extension I id 0..1 string Unique id for inter-element referencing extension I 0..0 url 1..1 uri "http://hl7.org/fhir/StructureDefinition/elementdefinition-allowedUnits" value[x] I 1..1 Value of extension Binding: UCUM Codes ( required ) valueCodeableConcept CodeableConcept valueCanonical canonical (valueset.html) I I I I I I
Name Flags Card. Type Description & Constraints doco
. . ElementDefinition I C 0..* ElementDefinition Definition of an element in a resource or extension
. . . id 0..1 string 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 ?! Σ I 0..* Extension Extensions that cannot be ignored even if unrecognized
. . . path Σ I C 1..1 string Path of the element in the hierarchy of elements
. . . sliceName Σ I C 0..1 string Name for this particular element (in a set of slices)
. . . sliceIsConstraining Σ I C TU 0..1 boolean If this slice definition constrains an inherited slice definition (or not)
. . . label Σ I 0..1 string Name for element to display with or prompt for element
. . . code Σ I 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 Σ I 0..1 markdown Full formal definition as narrative text
. . . comment Σ I 0..1 markdown Comments about the use of this element
. . . requirements Σ I 0..1 markdown Why this resource has been created
. . . alias Σ I 0..* string Other names
. . . min Σ I C 0..1 unsignedInt Minimum Cardinality
. . . max Σ I C 0..1 string Maximum Cardinality (a number or *) eld-3: Max SHALL be a number or "*"
. . . base Σ I 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 Σ I 1..1 string Path that identifies the base element
. . . . min Σ I 1..1 unsignedInt Min cardinality of the base element
. . . . max Σ I 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 Σ I C 1..1 uri Data type or Resource (reference to definition)
Binding: FHIRDefinedType Element Definition Types ( extensible ) ): List of all Types for ElementDefinition.type.code.

. . . . targetProfile Σ I C 0..* canonical ( StructureDefinition | ImplementationGuide ) Profile (StructureDefinition or IG) on the Reference/canonical target - one must apply
. . . . versioning Σ I 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 url
. . . . defaultValueUuid uuid
. . . . defaultValueAddress Address
. . . . defaultValueAddress defaultValueAge Address Age
. . . . defaultValueAge defaultValueAnnotation Age Annotation
. . . . defaultValueAnnotation defaultValueAttachment Annotation Attachment
. . . . defaultValueAttachment defaultValueCodeableConcept Attachment CodeableConcept
. . . . defaultValueCodeableConcept defaultValueCodeableReference CodeableConcept CodeableReference
. . . . defaultValueCoding Coding
. . . . defaultValueContactPoint ContactPoint
. . . . defaultValueCount Count
. . . . defaultValueDistance Distance
. . . . defaultValueDuration Duration
. . . . defaultValueHumanName HumanName
. . . . defaultValueIdentifier Identifier
. . . . defaultValueMoney Money
. . . . defaultValuePeriod Period
. . . . defaultValueQuantity Quantity
. . . . defaultValueRange Range
. . . . defaultValueRatio Ratio
. . . defaultValueReference . defaultValueRatioRange Reference RatioRange ()
. . . 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
. . . . defaultValueAvailability Availability
.... defaultValueExtendedContactDetail ExtendedContactDetail
. . . . defaultValueDosage Dosage
. . . . defaultValueMeta Meta
. . . meaningWhenMissing Σ I C 0..1 markdown Implicit meaning when this element is missing
. . . orderMeaning Σ I C 0..1 string What the order of the elements means
. . . example Σ I 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 Σ I 1..1 string Describes the purpose of this example
. . . . value[x] Σ I 1..1 Value of Example (one of allowed types)
. . . . . valueBase64Binary base64Binary
. . . . . valueBoolean boolean
. . . . . valueCanonical canonical () (Any)
. . . . . valueCode code
. . . . . valueDate date
. . . . . valueDateTime dateTime
. . . . . valueDecimal decimal
. . . . . valueId id
. . . . . valueInstant instant
. . . . . valueInteger integer
. . . . . valueMarkdown valueInteger64 markdown integer64
. . . . . valueOid valueMarkdown oid markdown
. . . . . valuePositiveInt valueOid positiveInt oid
. . . . . valueString valuePositiveInt string positiveInt
. . . . . valueTime valueString time string
. . . . . valueUnsignedInt valueTime unsignedInt time
. . . . . valueUri valueUnsignedInt uri unsignedInt
. . . . . valueUrl valueUri url uri
. . . . . valueUuid valueUrl url
. . . . . valueUuid uuid
. . . . . valueAddress Address
. . . . . valueAddress valueAge Address Age
. . . . . valueAge valueAnnotation Age Annotation
. . . . . valueAnnotation valueAttachment Annotation Attachment
. . . . . valueAttachment valueCodeableConcept Attachment CodeableConcept
. . . . . valueCodeableConcept valueCodeableReference CodeableConcept 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
. . . . valueReference . valueRatioRange Reference RatioRange ()
. . . . valueSampledData . valueReference SampledData Reference (Any)
. . . . . valueSignature valueSampledData Signature SampledData
. . . . . valueTiming valueSignature Timing Signature
. . . . . valueContactDetail valueTiming ContactDetail Timing
. . . . . valueContributor valueContactDetail Contributor ContactDetail
. . . . . valueDataRequirement DataRequirement
. . . . . valueExpression Expression
. . . . . valueParameterDefinition ParameterDefinition
. . . . . valueRelatedArtifact RelatedArtifact
. . . . . valueTriggerDefinition TriggerDefinition
. . . . . valueUsageContext UsageContext
. . . . . valueAvailability Availability
..... valueExtendedContactDetail ExtendedContactDetail
. . . . . valueDosage Dosage
. . . . . valueMeta Meta
. . . minValue[x] Σ I 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] Σ I 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 Σ I C 0..1 integer Max length for strings string type data
. . . condition Σ I 0..* id Reference to invariant about presence
. . . constraint Σ I C 0..* Element Condition that must evaluate to true
eld-21: Constraints should have an expression or else validators will not be able to enforce them
. . . . 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 Σ I 0..1 string markdown Why this constraint is necessary or appropriate
. . . . severity Σ I C 1..1 code error | warning
Binding: ConstraintSeverity ( required ) ): SHALL applications comply with this constraint?

. . . . human suppress Σ I C TU 1..1 0..1 string boolean Human description of constraint Suppress warning or hint in profile
. . . . expression human Σ I 0..1 1..1 string FHIRPath expression Human description of constraint
. . . . xpath expression Σ I C 0..1 string XPath FHIRPath expression of constraint
. . . . source Σ I 0..1 canonical ( StructureDefinition ) Reference to original source of constraint
. . . mustSupport mustHaveValue Σ I 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 Σ I 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 eld-12: ValueSet SHALL start with http:// or https:// or urn:
. . . . 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 Σ I 1..1 code required | extensible | preferred | example
Binding: BindingStrength ( required ) ): Indication of the degree of conformance expectations associated with a binding.

. . . . description Σ I 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 Σ I 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
..... purpose Σ 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 Σ 1..1 canonical ( ValueSet ) The value set for the additional binding
..... documentation Σ 0..1 markdown Documentation of the purpose of use of the binding
..... shortDoco Σ 0..1 string Concise documentation - for summary tables
..... usage Σ 0..* UsageContext Qualifies the usage - jurisdiction, gender, workflow status etc.
..... any Σ 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 Σ I C 1..1 id Reference to mapping declaration
. . . . language Σ I 0..1 code Computable language of mapping
Binding: MimeType Mime Types ( required ) ): BCP 13 (RFCs 2045, 2046, 2047, 4288, 4289 and 2049)

. . . . map Σ I 1..1 string Details of the mapping
. . . . comment Σ I 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>
 <
 <
 <
 <

 <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|
   |
   |
   |
   |
   </defaultValue[x]>
 <
 <
 <|
   |
   |
   |
   |
   |
   </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 a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.

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

   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 be exactly this --></fixed[x]>
 <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|
    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">
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "

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


    "

    "
    "
    "
    "
    "
    "
    "
    "
    "

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

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

I I id 0..1 string Unique id for inter-element referencing extension I 0..0 url 1..1 uri "http://hl7.org/fhir/StructureDefinition/elementdefinition-question" value[x] I 1..1 string Value of extension I id 0..1 string Unique id for inter-element referencing extension I 0..0 url 1..1 uri "http://hl7.org/fhir/StructureDefinition/elementdefinition-allowedUnits" value[x] I 1..1 Value of extension Binding: UCUM Codes ( required ) valueCodeableConcept CodeableConcept valueCanonical canonical (valueset.html) I I I I I
Name Flags Card. Type Description & Constraints doco
. . ElementDefinition I C 0..* ElementDefinition Definition of an element in a resource or extension
. . . id 0..1 string 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 ?! Σ I 0..* Extension Extensions that cannot be ignored even if unrecognized
. . . path Σ I C 1..1 string Path of the element in the hierarchy of elements
. . . sliceName Σ I C 0..1 string Name for this particular element (in a set of slices)
. . . sliceIsConstraining Σ I C TU 0..1 boolean If this slice definition constrains an inherited slice definition (or not)
. . . label Σ I 0..1 string Name for element to display with or prompt for element
. . . code Σ I 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 Σ I 0..1 markdown Full formal definition as narrative text
. . . comment Σ I 0..1 markdown Comments about the use of this element
. . . requirements Σ I 0..1 markdown Why this resource has been created
. . . alias Σ I 0..* string Other names
. . . min Σ I C 0..1 unsignedInt Minimum Cardinality
. . . max Σ I C 0..1 string Maximum Cardinality (a number or *) eld-3: Max SHALL be a number or "*"
. . . base Σ I 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 Σ I 1..1 string Path that identifies the base element
. . . . min Σ I 1..1 unsignedInt Min cardinality of the base element
. . . . max Σ I 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 Σ I C 1..1 uri Data type or Resource (reference to definition)
Binding: FHIRDefinedType Element Definition Types ( extensible ) ): List of all Types for ElementDefinition.type.code.

. . . . targetProfile Σ I C 0..* canonical ( StructureDefinition | ImplementationGuide ) Profile (StructureDefinition or IG) on the Reference/canonical target - one must apply
. . . . versioning Σ I 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 url
. . . . defaultValueUuid uuid
. . . . defaultValueAddress Address
. . . . defaultValueAddress defaultValueAge Address Age
. . . . defaultValueAge defaultValueAnnotation Age Annotation
. . . . defaultValueAnnotation defaultValueAttachment Annotation Attachment
. . . . defaultValueAttachment defaultValueCodeableConcept Attachment CodeableConcept
. . . . defaultValueCodeableConcept defaultValueCodeableReference CodeableConcept CodeableReference
. . . . defaultValueCoding Coding
. . . . defaultValueContactPoint ContactPoint
. . . . defaultValueCount Count
. . . . defaultValueDistance Distance
. . . . defaultValueDuration Duration
. . . . defaultValueHumanName HumanName
. . . . defaultValueIdentifier Identifier
. . . . defaultValueMoney Money
. . . . defaultValuePeriod Period
. . . . defaultValueQuantity Quantity
. . . . defaultValueRange Range
. . . . defaultValueRatio Ratio
. . . defaultValueReference . defaultValueRatioRange Reference RatioRange ()
. . . 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
. . . . defaultValueAvailability Availability
.... defaultValueExtendedContactDetail ExtendedContactDetail
. . . . defaultValueDosage Dosage
. . . . defaultValueMeta Meta
. . . meaningWhenMissing Σ I C 0..1 markdown Implicit meaning when this element is missing
. . . orderMeaning Σ I C 0..1 string What the order of the elements means
. . . example Σ I 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 Σ I 1..1 string Describes the purpose of this example
. . . . value[x] Σ I 1..1 Value of Example (one of allowed types)
. . . . . valueBase64Binary base64Binary
. . . . . valueBoolean boolean
. . . . . valueCanonical canonical () (Any)
. . . . . valueCode code
. . . . . valueDate date
. . . . . valueDateTime dateTime
. . . . . valueDecimal decimal
. . . . . valueId id
. . . . . valueInstant instant
. . . . . valueInteger integer
. . . . . valueMarkdown valueInteger64 markdown integer64
. . . . . valueOid valueMarkdown oid markdown
. . . . . valuePositiveInt valueOid positiveInt oid
. . . . . valueString valuePositiveInt string positiveInt
. . . . . valueTime valueString time string
. . . . . valueUnsignedInt valueTime unsignedInt time
. . . . . valueUri valueUnsignedInt uri unsignedInt
. . . . . valueUrl valueUri url uri
. . . . . valueUuid valueUrl url
. . . . . valueUuid uuid
. . . . . valueAddress Address
. . . . . valueAddress valueAge Address Age
. . . . . valueAge valueAnnotation Age Annotation
. . . . . valueAnnotation valueAttachment Annotation Attachment
. . . . . valueAttachment valueCodeableConcept Attachment CodeableConcept
. . . . . valueCodeableConcept valueCodeableReference CodeableConcept 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
. . . . valueReference . valueRatioRange Reference RatioRange ()
. . . . valueSampledData . valueReference SampledData Reference (Any)
. . . . . valueSignature valueSampledData Signature SampledData
. . . . . valueTiming valueSignature Timing Signature
. . . . . valueContactDetail valueTiming ContactDetail Timing
. . . . . valueContributor valueContactDetail Contributor ContactDetail
. . . . . valueDataRequirement DataRequirement
. . . . . valueExpression Expression
. . . . . valueParameterDefinition ParameterDefinition
. . . . . valueRelatedArtifact RelatedArtifact
. . . . . valueTriggerDefinition TriggerDefinition
. . . . . valueUsageContext UsageContext
. . . . . valueAvailability Availability
..... valueExtendedContactDetail ExtendedContactDetail
. . . . . valueDosage Dosage
. . . . . valueMeta Meta
. . . minValue[x] Σ I 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] Σ I 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 Σ I C 0..1 integer Max length for strings string type data
. . . condition Σ I 0..* id Reference to invariant about presence
. . . constraint Σ I C 0..* Element Condition that must evaluate to true
eld-21: Constraints should have an expression or else validators will not be able to enforce them
. . . . 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 Σ I 0..1 string markdown Why this constraint is necessary or appropriate
. . . . severity Σ I C 1..1 code error | warning
Binding: ConstraintSeverity ( required ) ): SHALL applications comply with this constraint?

. . . . human suppress Σ I C TU 1..1 0..1 string boolean Human description of constraint Suppress warning or hint in profile
. . . . expression human Σ I 0..1 1..1 string FHIRPath expression Human description of constraint
. . . . xpath expression Σ I C 0..1 string XPath FHIRPath expression of constraint
. . . . source Σ I 0..1 canonical ( StructureDefinition ) Reference to original source of constraint
. . . mustSupport mustHaveValue Σ I 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 Σ I 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 eld-12: ValueSet SHALL start with http:// or https:// or urn:
. . . . 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 Σ I 1..1 code required | extensible | preferred | example
Binding: BindingStrength ( required ) ): Indication of the degree of conformance expectations associated with a binding.

. . . . description Σ I 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 Σ I 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..* I Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... purpose Σ 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 Σ 1..1 canonical ( ValueSet ) The value set for the additional binding
..... documentation Σ 0..1 markdown Documentation of the purpose of use of the binding
..... shortDoco Σ 0..1 string Concise documentation - for summary tables
..... usage Σ 0..* UsageContext Qualifies the usage - jurisdiction, gender, workflow status etc.
..... any Σ 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 Σ I C 1..1 id Reference to mapping declaration
. . . . language Σ I 0..1 code Computable language of mapping
Binding: MimeType Mime Types ( required ) ): BCP 13 (RFCs 2045, 2046, 2047, 4288, 4289 and 2049)

. . . . map Σ I 1..1 string Details of the mapping
. . . . comment Σ I 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>
 <
 <
 <
 <

 <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|
   |
   |
   |
   |
   </defaultValue[x]>
 <
 <
 <|
   |
   |
   |
   |
   |
   </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 a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.

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

   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 be exactly this --></fixed[x]>
 <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|
    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">
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "
    "

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


    "

    "
    "
    "
    "
    "
    "
    "
    "
    "

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

    "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

Constraints Id
Path Name Conformance ValueSet
ElementDefinition.extension.value[x] UCUM Codes required UCUM Codes 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 FHIRDefinedType Element Definition Types extensible FHIRDefinedType Element Definition Types
ElementDefinition.type.versioning ReferenceVersionRules required ReferenceVersionRules
ElementDefinition.constraint.severity ConstraintSeverity required ConstraintSeverity
ElementDefinition.binding.strength BindingStrength required BindingStrength
ElementDefinition.mapping.language ElementDefinition.binding.additional.purpose MimeType Additional Binding Purpose ValueSet required MimeType Additional Binding Purpose ValueSet
Path Details Requirements Rule eld-3 ElementDefinition.max ElementDefinition.mapping.language Max SHALL be a number or "*" Expression : empty() or ($this = '*') or (toInteger() >= 0) Mime Types Warning required eld-21 ElementDefinition.constraint Constraints should have an expression or else validators will not be able to enforce them Expression : expression.exists() Rule Mime Types eld-12 ElementDefinition.binding ValueSet SHALL start with http:// or https:// or urn: Expression : valueSet.exists() implies (valueSet.startsWith('http:') or valueSet.startsWith('https') or valueSet.startsWith('urn:'))
. .