Release 4 4B

This page is part of the FHIR Specification (v4.0.1: R4 (v4.3.0: R4B - Mixed Normative and STU ) 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 R4B R4 R3 R2

StructureDefinition: elementdefinition-de

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

The official 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 .

This structure is derived from ElementDefinition .

Name Flags Card. Type Description & Constraints doco
. . ElementDefinition 0..* ElementDefinition Definition of an element in a resource or extension
. . . elementdefinition-question 0..* string Prompt for element phrased as question
URL: http://hl7.org/fhir/StructureDefinition/elementdefinition-question
. . . elementdefinition-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 , , 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 , , 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
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 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) defaultValueMeta Meta I
Name Flags Card. Type Description & Constraints doco
. . ElementDefinition I 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 I 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
. . . elementdefinition-question I 0..* string Prompt for element phrased as question
URL: http://hl7.org/fhir/StructureDefinition/elementdefinition-question
. . . elementdefinition-allowedUnits I 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 1..1 string Path of the element in the hierarchy of elements
. . . sliceName Σ I 0..1 string Name for this particular element (in a set of slices)
. . . sliceIsConstraining Σ I 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 ( example )
. . . 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 0..1 unsignedInt Minimum Cardinality
. . . max Σ I 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 I 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 0..* Element Data type and Profile for this element
. . . . id 0..1 string Unique id for inter-element referencing
. . . . extension I 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
. . . . code Σ I 1..1 uri Data type or Resource (reference to definition)
Binding: FHIRDefinedType Common Tags ( extensible )
. . . . targetProfile Σ I 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 )
. . . defaultValue[x] Σ I 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 markdown
. . . . defaultValueOid oid
. . . . defaultValuePositiveInt positiveInt
. . . . defaultValueString string
. . . . defaultValueTime time
. . . . defaultValueUnsignedInt unsignedInt
. . . . defaultValueUri uri
. . . . defaultValueUrl url
. . . . defaultValueUuid uuid
. . . . defaultValueAddress Address
. . . . defaultValueAge Age
. . . . defaultValueAnnotation Annotation
. . . . defaultValueAttachment Attachment
. . . . defaultValueCodeableConcept CodeableConcept
. . . . 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 Range
.... defaultValueRatio Ratio
. . . . defaultValueRatioRange RatioRange
. . . . defaultValueReference Reference () (Any)
. . . . defaultValueSampledData SampledData
. . . . defaultValueSignature Signature
. . . . defaultValueTiming Timing
. . . . defaultValueContactDetail ContactDetail
. . . . defaultValueContributor Contributor
. . . . defaultValueDataRequirement DataRequirement
. . . . defaultValueExpression Expression
. . . . defaultValueParameterDefinition ParameterDefinition
. . . . defaultValueRelatedArtifact RelatedArtifact
. . . . defaultValueTriggerDefinition TriggerDefinition
. . . . defaultValueUsageContext UsageContext
. . . . defaultValueDosage Dosage
. . . meaningWhenMissing Σ I 0..1 markdown Implicit meaning when this element is missing
. . . orderMeaning Σ I 0..1 string What the order of the elements means
. . . example Σ I 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)
. . . . valueCanonical . valueCode canonical 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 valueMarkdown integer markdown
. . . . . valueMarkdown valueOid markdown oid
. . . . . valueOid valuePositiveInt oid positiveInt
. . . . . valuePositiveInt valueString positiveInt string
. . . . . valueString valueTime string time
. . . . . valueTime valueUnsignedInt time unsignedInt
. . . . . valueUnsignedInt valueUri unsignedInt uri
. . . . . valueUri valueUrl uri url
. . . . . valueUrl valueUuid url uuid
. . . . valueUuid . valueAddress uuid 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 valueContributor DataRequirement Contributor
. . . . . valueExpression valueDataRequirement Expression DataRequirement
. . . . . valueParameterDefinition valueExpression ParameterDefinition Expression
. . . . . valueRelatedArtifact valueParameterDefinition RelatedArtifact ParameterDefinition
. . . . . valueTriggerDefinition valueRelatedArtifact TriggerDefinition RelatedArtifact
. . . . . valueUsageContext valueTriggerDefinition UsageContext TriggerDefinition
. . . . . valueDosage valueUsageContext Dosage UsageContext
. . . . . valueMeta valueDosage Meta Dosage
. . . minValue[x] Σ I 0..1 Minimum Allowed Value (for some types)
. . . . minValueDate date
. . . . minValueDateTime dateTime
. . . . minValueInstant instant
. . . . minValueTime time
. . . . minValueDecimal decimal
. . . . minValueInteger integer
. . . . minValuePositiveInt positiveInt
. . . . minValueUnsignedInt unsignedInt
. . . . minValueQuantity Quantity
. . . maxValue[x] Σ I 0..1 Maximum Allowed Value (for some types)
. . . . maxValueDate date
. . . . maxValueDateTime dateTime
. . . . maxValueInstant instant
. . . . maxValueTime time
. . . . maxValueDecimal decimal
. . . . maxValueInteger integer
. . . . maxValuePositiveInt positiveInt
. . . . maxValueUnsignedInt unsignedInt
. . . . maxValueQuantity Quantity
. . . maxLength Σ I 0..1 integer Max length for strings
. . . condition Σ I 0..* id Reference to invariant about presence
. . . constraint Σ I 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 I 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
. . . . key Σ I 1..1 id Target of 'condition' reference above
. . . . requirements Σ I 0..1 string Why this constraint is necessary or appropriate
. . . . severity Σ I 1..1 code error | warning
Binding: ConstraintSeverity ( required )
. . . . human Σ I 1..1 string Human description of constraint
. . . . expression Σ I 0..1 string FHIRPath expression of constraint
. . . . xpath Σ I 0..1 string XPath expression of constraint
. . . . source Σ I 0..1 canonical ( StructureDefinition ) Reference to original source of constraint
. . . mustSupport Σ I 0..1 boolean If the element must be supported
. . . isModifierReason Σ I 0..1 string Reason that this element is marked as a modifier
. . . binding Σ I 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 I 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 )
. . . . description Σ I 0..1 string Human explanation of the value set
. . . . valueSet Σ I 0..1 canonical ( ValueSet ) Source of value set
. . . mapping Σ I 0..* Element Map element to another set of definitions
. . . . id 0..1 string Unique id for inter-element referencing
. . . . extension I 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
. . . . identity Σ I 1..1 id Reference to mapping declaration
. . . . language Σ I 0..1 code Computable language of mapping
Binding: MimeType ( 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 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 -->
 <modifierExtension><!-- ?? 0..* Extension  Extensions that cannot be ignored even if unrecognized  --></modifierExtension>
 <path value="[string]"/><!-- ?? 1..1 Path of the element in the hierarchy of elements -->
 <representation value="[code]"/><!-- ?? 0..0 xmlAttr | xmlText | typeAttr | cdaText | xhtml -->
 <sliceName value="[string]"/><!-- ?? 0..1 Name for this particular element (in a set of slices) -->
 <sliceIsConstraining value="[boolean]"/><!-- ?? 0..1 
     If this slice definition constrains an inherited slice definition (or not) -->
 <label value="[string]"/><!-- ?? 0..1 Name for element to display with or prompt for element -->
 <code><!-- ?? 0..* Coding Corresponding codes in terminologies --></code>
 <

 <slicing> ?? 0..0 Element  <!-- ?? 0..0 This element is sliced - slices follow -->

 </slicing>
 <short value="[string]"/><!-- ?? 0..0 Concise definition for space-constrained presentation -->
 <definition value="[markdown]"/><!-- ?? 0..1 Full formal definition as narrative text -->
 <comment value="[markdown]"/><!-- ?? 0..1 Comments about the use of this element -->
 <requirements value="[markdown]"/><!-- ?? 0..1 Why this resource has been created -->
 <alias value="[string]"/><!-- ?? 0..* Other names -->
 <min value="[unsignedInt]"/><!-- ?? 0..1 Minimum Cardinality -->
 <max value="[string]"/><!-- ?? 0..1 Maximum Cardinality (a number or *) -->
 <
  <

 <base> ?? 0..1 Element  <!-- ?? 0..1 Base definition information for tools -->
  <path value="[string]"/><!-- ?? 1..1 Path that identifies the base element -->

  <min value="[unsignedInt]"/><!-- ?? 1..1 Min cardinality of the base element -->
  <max value="[string]"/><!-- ?? 1..1 Max cardinality of the base element -->
 </base>
 <contentReference value="[uri]"/><!-- ?? 0..0 Reference to definition of content for the element -->
 <
  <

 <type> ?? 0..* Element  <!-- ?? 0..* Data type and Profile for this element -->
  <code value="[uri]"/><!-- ?? 1..1 Data type or Resource (reference to definition) -->

  <profile value="[canonical]"/><!-- ?? 0..0 Profiles (StructureDefinition or IG) - one must apply -->
  <targetProfile value="[canonical]"/><!-- ?? 0..* 
      Profile (StructureDefinition or IG) on the Reference/canonical target - one must apply -->
  <aggregation value="[code]"/><!-- ?? 0..0 contained | referenced | bundled - how aggregated -->
  <versioning value="[code]"/><!-- ?? 0..1 either | independent | specific -->
 </type>
 <defaultValue[x]><!-- ?? 0..1 base64Binary|boolean|canonical|
   code|date|dateTime|decimal|id|instant|integer|markdown|oid|positiveInt|string|
   time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|
   |
   |
   |
   |
   </defaultValue[x]>

   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|
   Dosage Specified value if missing from instance --></defaultValue[x]>
 <meaningWhenMissing value="[markdown]"/><!-- ?? 0..1 Implicit meaning when this element is missing -->
 <orderMeaning value="[string]"/><!-- ?? 0..1 What the order of the elements means -->
 <fixed[x]><!-- ?? 0..0 base64Binary|boolean|canonical|code|date|
   dateTime|decimal|id|instant|integer|markdown|oid|positiveInt|string|time|
   unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|
   |
   |
   |
   </fixed[x]>

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

 <pattern[x]><!-- ?? 0..0 base64Binary|boolean|canonical|code|
   date|dateTime|decimal|id|instant|integer|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|Dosage 
     Value must have at least these property values --></pattern[x]>
 <

 <example> ?? 0..* Element  <!-- ?? 0..* Example value (as defined for type) -->

  <label value="[string]"/><!-- ?? 1..1 Describes the purpose of this example -->
  <value[x]><!-- ?? 1..1 base64Binary|boolean|canonical|
    code|date|dateTime|decimal|id|instant|integer|markdown|oid|positiveInt|
    string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|
    |
    |
    |
    |
    </value[x]>

    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|Dosage 
      Value of Example (one of allowed types) --></value[x]>

 </example>
 <minValue[x]><!-- ?? 0..1 date|dateTime|instant|time|decimal|
   integer|positiveInt|unsignedInt|Quantity 
     Minimum Allowed Value (for some types) --></minValue[x]>
 <maxValue[x]><!-- ?? 0..1 date|dateTime|instant|time|decimal|
   integer|positiveInt|unsignedInt|Quantity 
     Maximum Allowed Value (for some types) --></maxValue[x]>
 <maxLength value="[integer]"/><!-- ?? 0..1 Max length for strings -->
 <condition value="[id]"/><!-- ?? 0..* Reference to invariant about presence -->
 <

 <constraint> ?? 0..* Element  <!-- ?? 0..* Condition that must evaluate to true -->

  <key value="[id]"/><!-- ?? 1..1 Target of 'condition' reference above -->
  <requirements value="[string]"/><!-- ?? 0..1 Why this constraint is necessary or appropriate -->
  <severity value="[code]"/><!-- ?? 1..1 error | warning -->
  <human value="[string]"/><!-- ?? 1..1 Human description of constraint -->
  <

  <expression value="[string]"/><!-- ?? 0..1 FHIRPath expression of constraint -->

  <xpath value="[string]"/><!-- ?? 0..1 XPath expression of constraint -->
  <source value="[canonical]"/><!-- ?? 0..1 Reference to original source of constraint -->
 </constraint>
 <mustSupport value="[boolean]"/><!-- ?? 0..1 If the element must be supported -->
 <isModifier value="[boolean]"/><!-- ?? 0..0 If this modifies the meaning of other elements -->
 <isModifierReason value="[string]"/><!-- ?? 0..1 Reason that this element is marked as a modifier -->
 <isSummary value="[boolean]"/><!-- ?? 0..0 Include when _summary = true? -->
 <

 <binding> ?? 0..1 Element  <!-- ?? 0..1 ValueSet details if this is coded -->

  <strength value="[code]"/><!-- ?? 1..1 required | extensible | preferred | example -->
  <description value="[string]"/><!-- ?? 0..1 Human explanation of the value set -->
  <valueSet value="[canonical]"/><!-- ?? 0..1 Source of value set -->
 </binding>
 <

 <mapping> ?? 0..* Element  <!-- ?? 0..* Map element to another set of definitions -->

  <identity value="[id]"/><!-- ?? 1..1 Reference to mapping declaration -->
  <language value="[code]"/><!-- ?? 0..1 Computable language of mapping -->
  <map value="[string]"/><!-- ?? 1..1 Details of the mapping -->
  <comment value="[string]"/><!-- ?? 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 // C?
        // from Element: extension
        " ]
        " 
        "

      },
      { // Units to use for measured value // C?
        // from Element: extension
        " ]
        " 

        "
        "

      }
    ],
    "modifierExtension" : [{ Extension }], // C?Extensions that cannot be ignored even if unrecognized
    "path" : "<string>", // C? R! Path of the element in the hierarchy of elements
    "sliceName" : "<string>", // C?Name for this particular element (in a set of slices)
    "sliceIsConstraining" : <boolean>, // C?If this slice definition constrains an inherited slice definition (or not)
    "label" : "<string>", // C?Name for element to display with or prompt for element
    "code" : [{ Coding }], // C?Corresponding codes in terminologies
    "definition" : "<markdown>", // C?Full formal definition as narrative text
    "comment" : "<markdown>", // C?Comments about the use of this element
    "requirements" : "<markdown>", // C?Why this resource has been created
    "alias" : ["<string>"], // C?Other names
    "min" : "<unsignedInt>", // C?Minimum Cardinality
    "max" : "<string>", // C?Maximum Cardinality (a number or *)
    "
    "


    "base" : { Element }, // C?Base definition information for tools
    "type" : [{ Element }], // C?Data type and Profile for this element
// value[x]: Specified value if missing from instance. One of these 51:
    "defaultValueBase64Binary" : "<base64Binary>", // C?Specified value if missing from instance
    "defaultValueBoolean" : <boolean>, // C?Specified value if missing from instance
    "defaultValueCanonical" : "<canonical>", // C?Specified value if missing from instance
    "defaultValueCode" : "<code>", // C?Specified value if missing from instance
    "defaultValueDate" : "<date>", // C?Specified value if missing from instance
    "defaultValueDateTime" : "<dateTime>", // C?Specified value if missing from instance
    "defaultValueDecimal" : <decimal>, // C?Specified value if missing from instance
    "defaultValueId" : "<id>", // C?Specified value if missing from instance
    "defaultValueInstant" : "<instant>", // C?Specified value if missing from instance
    "defaultValueInteger" : <integer>, // C?Specified value if missing from instance
    "defaultValueMarkdown" : "<markdown>", // C?Specified value if missing from instance
    "defaultValueOid" : "<oid>", // C?Specified value if missing from instance
    "defaultValuePositiveInt" : "<positiveInt>", // C?Specified value if missing from instance
    "defaultValueString" : "<string>", // C?Specified value if missing from instance
    "defaultValueTime" : "<time>", // C?Specified value if missing from instance
    "defaultValueUnsignedInt" : "<unsignedInt>", // C?Specified value if missing from instance
    "defaultValueUri" : "<uri>", // C?Specified value if missing from instance
    "defaultValueUrl" : "<url>", // C?Specified value if missing from instance
    "defaultValueUuid" : "<uuid>" // C?Specified value if missing from instance
    "defaultValueAddress" : { Address }, // C?Specified value if missing from instance
    "defaultValueAge" : { Age }, // C?Specified value if missing from instance
    "defaultValueAnnotation" : { Annotation }, // C?Specified value if missing from instance
    "defaultValueAttachment" : { Attachment }, // C?Specified value if missing from instance
    "defaultValueCodeableConcept" : { CodeableConcept }, // C?Specified value if missing from instance
    "defaultValueCodeableReference" : { CodeableReference }, // C?Specified value if missing from instance

    "defaultValueCoding" : { Coding }, // C?Specified value if missing from instance
    "defaultValueContactPoint" : { ContactPoint }, // C?Specified value if missing from instance
    "defaultValueCount" : { Count }, // C?Specified value if missing from instance
    "defaultValueDistance" : { Distance }, // C?Specified value if missing from instance
    "defaultValueDuration" : { Duration }, // C?Specified value if missing from instance
    "defaultValueHumanName" : { HumanName }, // C?Specified value if missing from instance
    "defaultValueIdentifier" : { Identifier }, // C?Specified value if missing from instance
    "defaultValueMoney" : { Money }, // C?Specified value if missing from instance
    "defaultValuePeriod" : { Period }, // C?Specified value if missing from instance
    "defaultValueQuantity" : { Quantity }, // C?Specified value if missing from instance
    "defaultValueRange" : { Range }, // C?Specified value if missing from instance
    "defaultValueRatio" : { Ratio }, // C?Specified value if missing from instance
    "defaultValueRatioRange" : { RatioRange }, // C?Specified value if missing from instance

    "defaultValueReference" : { Reference }, // C?Specified value if missing from instance
    "defaultValueSampledData" : { SampledData }, // C?Specified value if missing from instance
    "defaultValueSignature" : { Signature }, // C?Specified value if missing from instance
    "defaultValueTiming" : { Timing }, // C?Specified value if missing from instance
    "defaultValueContactDetail" : { ContactDetail }, // C?Specified value if missing from instance
    "defaultValueContributor" : { Contributor }, // C?Specified value if missing from instance
    "defaultValueDataRequirement" : { DataRequirement }, // C?Specified value if missing from instance
    "defaultValueExpression" : { Expression }, // C?Specified value if missing from instance
    "defaultValueParameterDefinition" : { ParameterDefinition }, // C?Specified value if missing from instance
    "defaultValueRelatedArtifact" : { RelatedArtifact }, // C?Specified value if missing from instance
    "defaultValueTriggerDefinition" : { TriggerDefinition }, // C?Specified value if missing from instance
    "defaultValueUsageContext" : { UsageContext }, // C?Specified value if missing from instance
    "defaultValueDosage" : { Dosage }, // C?Specified value if missing from instance
    "

    "meaningWhenMissing" : "<markdown>", // C?Implicit meaning when this element is missing
    "orderMeaning" : "<string>", // C?What the order of the elements means


    "

// value[x]: Value must be exactly this. One of these 51:
// value[x]: Value must have at least these property values. One of these 51:
    "example" : [{ Element }], // C?Example value (as defined for type)

// value[x]: Minimum Allowed Value (for some types). One of these 9:
    "minValueDate" : "<date>", // C?Minimum Allowed Value (for some types)
    "minValueDateTime" : "<dateTime>", // C?Minimum Allowed Value (for some types)
    "minValueInstant" : "<instant>", // C?Minimum Allowed Value (for some types)
    "minValueTime" : "<time>", // C?Minimum Allowed Value (for some types)
    "minValueDecimal" : <decimal>, // C?Minimum Allowed Value (for some types)
    "minValueInteger" : <integer>, // C?Minimum Allowed Value (for some types)
    "minValuePositiveInt" : "<positiveInt>", // C?Minimum Allowed Value (for some types)
    "minValueUnsignedInt" : "<unsignedInt>", // C?Minimum Allowed Value (for some types)
    "minValueQuantity" : { Quantity }, // C?Minimum Allowed Value (for some types)
// value[x]: Maximum Allowed Value (for some types). One of these 9:
    "maxValueDate" : "<date>", // C?Maximum Allowed Value (for some types)
    "maxValueDateTime" : "<dateTime>", // C?Maximum Allowed Value (for some types)
    "maxValueInstant" : "<instant>", // C?Maximum Allowed Value (for some types)
    "maxValueTime" : "<time>", // C?Maximum Allowed Value (for some types)
    "maxValueDecimal" : <decimal>, // C?Maximum Allowed Value (for some types)
    "maxValueInteger" : <integer>, // C?Maximum Allowed Value (for some types)
    "maxValuePositiveInt" : "<positiveInt>", // C?Maximum Allowed Value (for some types)
    "maxValueUnsignedInt" : "<unsignedInt>", // C?Maximum Allowed Value (for some types)
    "maxValueQuantity" : { Quantity }, // C?Maximum Allowed Value (for some types)
    "maxLength" : <integer>, // C?Max length for strings
    "condition" : ["<id>"], // C?Reference to invariant about presence
    "

    "constraint" : [{ Element }], // C?Condition that must evaluate to true

    "mustSupport" : <boolean>, // C?If the element must be supported
    "isModifierReason" : "<string>", // C?Reason that this element is marked as a modifier
    "
    "

    "binding" : { Element }, // C?ValueSet details if this is coded
    "mapping" : [{ Element }], // C?Map element to another set of definitions

  }

This structure is derived from ElementDefinition .

Differential View

This structure is derived from ElementDefinition .

Name Flags Card. Type Description & Constraints doco
. . ElementDefinition 0..* ElementDefinition Definition of an element in a resource or extension
. . . elementdefinition-question 0..* string Prompt for element phrased as question
URL: http://hl7.org/fhir/StructureDefinition/elementdefinition-question
. . . elementdefinition-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 , , 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 , , 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

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 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) defaultValueMeta Meta I
Name Flags Card. Type Description & Constraints doco
. . ElementDefinition I 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 I 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
. . . elementdefinition-question I 0..* string Prompt for element phrased as question
URL: http://hl7.org/fhir/StructureDefinition/elementdefinition-question
. . . elementdefinition-allowedUnits I 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 1..1 string Path of the element in the hierarchy of elements
. . . sliceName Σ I 0..1 string Name for this particular element (in a set of slices)
. . . sliceIsConstraining Σ I 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 ( example )
. . . 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 0..1 unsignedInt Minimum Cardinality
. . . max Σ I 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 I 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 0..* Element Data type and Profile for this element
. . . . id 0..1 string Unique id for inter-element referencing
. . . . extension I 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
. . . . code Σ I 1..1 uri Data type or Resource (reference to definition)
Binding: FHIRDefinedType Common Tags ( extensible )
. . . . targetProfile Σ I 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 )
. . . defaultValue[x] Σ I 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 markdown
. . . . defaultValueOid oid
. . . . defaultValuePositiveInt positiveInt
. . . . defaultValueString string
. . . . defaultValueTime time
. . . . defaultValueUnsignedInt unsignedInt
. . . . defaultValueUri uri
. . . . defaultValueUrl url
. . . . defaultValueUuid uuid
. . . . defaultValueAddress Address
. . . . defaultValueAge Age
. . . . defaultValueAnnotation Annotation
. . . . defaultValueAttachment Attachment
. . . . defaultValueCodeableConcept CodeableConcept
. . . . 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 Range
.... defaultValueRatio Ratio
. . . . defaultValueRatioRange RatioRange
. . . . defaultValueReference Reference () (Any)
. . . . defaultValueSampledData SampledData
. . . . defaultValueSignature Signature
. . . . defaultValueTiming Timing
. . . . defaultValueContactDetail ContactDetail
. . . . defaultValueContributor Contributor
. . . . defaultValueDataRequirement DataRequirement
. . . . defaultValueExpression Expression
. . . . defaultValueParameterDefinition ParameterDefinition
. . . . defaultValueRelatedArtifact RelatedArtifact
. . . . defaultValueTriggerDefinition TriggerDefinition
. . . . defaultValueUsageContext UsageContext
. . . . defaultValueDosage Dosage
. . . meaningWhenMissing Σ I 0..1 markdown Implicit meaning when this element is missing
. . . orderMeaning Σ I 0..1 string What the order of the elements means
. . . example Σ I 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)
. . . . valueCanonical . valueCode canonical 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 valueMarkdown integer markdown
. . . . . valueMarkdown valueOid markdown oid
. . . . . valueOid valuePositiveInt oid positiveInt
. . . . . valuePositiveInt valueString positiveInt string
. . . . . valueString valueTime string time
. . . . . valueTime valueUnsignedInt time unsignedInt
. . . . . valueUnsignedInt valueUri unsignedInt uri
. . . . . valueUri valueUrl uri url
. . . . . valueUrl valueUuid url uuid
. . . . valueUuid . valueAddress uuid 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 valueContributor DataRequirement Contributor
. . . . . valueExpression valueDataRequirement Expression DataRequirement
. . . . . valueParameterDefinition valueExpression ParameterDefinition Expression
. . . . . valueRelatedArtifact valueParameterDefinition RelatedArtifact ParameterDefinition
. . . . . valueTriggerDefinition valueRelatedArtifact TriggerDefinition RelatedArtifact
. . . . . valueUsageContext valueTriggerDefinition UsageContext TriggerDefinition
. . . . . valueDosage valueUsageContext Dosage UsageContext
. . . . . valueMeta valueDosage Meta Dosage
. . . minValue[x] Σ I 0..1 Minimum Allowed Value (for some types)
. . . . minValueDate date
. . . . minValueDateTime dateTime
. . . . minValueInstant instant
. . . . minValueTime time
. . . . minValueDecimal decimal
. . . . minValueInteger integer
. . . . minValuePositiveInt positiveInt
. . . . minValueUnsignedInt unsignedInt
. . . . minValueQuantity Quantity
. . . maxValue[x] Σ I 0..1 Maximum Allowed Value (for some types)
. . . . maxValueDate date
. . . . maxValueDateTime dateTime
. . . . maxValueInstant instant
. . . . maxValueTime time
. . . . maxValueDecimal decimal
. . . . maxValueInteger integer
. . . . maxValuePositiveInt positiveInt
. . . . maxValueUnsignedInt unsignedInt
. . . . maxValueQuantity Quantity
. . . maxLength Σ I 0..1 integer Max length for strings
. . . condition Σ I 0..* id Reference to invariant about presence
. . . constraint Σ I 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 I 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
. . . . key Σ I 1..1 id Target of 'condition' reference above
. . . . requirements Σ I 0..1 string Why this constraint is necessary or appropriate
. . . . severity Σ I 1..1 code error | warning
Binding: ConstraintSeverity ( required )
. . . . human Σ I 1..1 string Human description of constraint
. . . . expression Σ I 0..1 string FHIRPath expression of constraint
. . . . xpath Σ I 0..1 string XPath expression of constraint
. . . . source Σ I 0..1 canonical ( StructureDefinition ) Reference to original source of constraint
. . . mustSupport Σ I 0..1 boolean If the element must be supported
. . . isModifierReason Σ I 0..1 string Reason that this element is marked as a modifier
. . . binding Σ I 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 I 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 )
. . . . description Σ I 0..1 string Human explanation of the value set
. . . . valueSet Σ I 0..1 canonical ( ValueSet ) Source of value set
. . . mapping Σ I 0..* Element Map element to another set of definitions
. . . . id 0..1 string Unique id for inter-element referencing
. . . . extension I 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
. . . . identity Σ I 1..1 id Reference to mapping declaration
. . . . language Σ I 0..1 code Computable language of mapping
Binding: MimeType ( 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 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 -->
 <modifierExtension><!-- ?? 0..* Extension  Extensions that cannot be ignored even if unrecognized  --></modifierExtension>
 <path value="[string]"/><!-- ?? 1..1 Path of the element in the hierarchy of elements -->
 <representation value="[code]"/><!-- ?? 0..0 xmlAttr | xmlText | typeAttr | cdaText | xhtml -->
 <sliceName value="[string]"/><!-- ?? 0..1 Name for this particular element (in a set of slices) -->
 <sliceIsConstraining value="[boolean]"/><!-- ?? 0..1 
     If this slice definition constrains an inherited slice definition (or not) -->
 <label value="[string]"/><!-- ?? 0..1 Name for element to display with or prompt for element -->
 <code><!-- ?? 0..* Coding Corresponding codes in terminologies --></code>
 <

 <slicing> ?? 0..0 Element  <!-- ?? 0..0 This element is sliced - slices follow -->

 </slicing>
 <short value="[string]"/><!-- ?? 0..0 Concise definition for space-constrained presentation -->
 <definition value="[markdown]"/><!-- ?? 0..1 Full formal definition as narrative text -->
 <comment value="[markdown]"/><!-- ?? 0..1 Comments about the use of this element -->
 <requirements value="[markdown]"/><!-- ?? 0..1 Why this resource has been created -->
 <alias value="[string]"/><!-- ?? 0..* Other names -->
 <min value="[unsignedInt]"/><!-- ?? 0..1 Minimum Cardinality -->
 <max value="[string]"/><!-- ?? 0..1 Maximum Cardinality (a number or *) -->
 <
  <

 <base> ?? 0..1 Element  <!-- ?? 0..1 Base definition information for tools -->
  <path value="[string]"/><!-- ?? 1..1 Path that identifies the base element -->

  <min value="[unsignedInt]"/><!-- ?? 1..1 Min cardinality of the base element -->
  <max value="[string]"/><!-- ?? 1..1 Max cardinality of the base element -->
 </base>
 <contentReference value="[uri]"/><!-- ?? 0..0 Reference to definition of content for the element -->
 <
  <

 <type> ?? 0..* Element  <!-- ?? 0..* Data type and Profile for this element -->
  <code value="[uri]"/><!-- ?? 1..1 Data type or Resource (reference to definition) -->

  <profile value="[canonical]"/><!-- ?? 0..0 Profiles (StructureDefinition or IG) - one must apply -->
  <targetProfile value="[canonical]"/><!-- ?? 0..* 
      Profile (StructureDefinition or IG) on the Reference/canonical target - one must apply -->
  <aggregation value="[code]"/><!-- ?? 0..0 contained | referenced | bundled - how aggregated -->
  <versioning value="[code]"/><!-- ?? 0..1 either | independent | specific -->
 </type>
 <defaultValue[x]><!-- ?? 0..1 base64Binary|boolean|canonical|
   code|date|dateTime|decimal|id|instant|integer|markdown|oid|positiveInt|string|
   time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|
   |
   |
   |
   |
   </defaultValue[x]>

   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|
   Dosage Specified value if missing from instance --></defaultValue[x]>
 <meaningWhenMissing value="[markdown]"/><!-- ?? 0..1 Implicit meaning when this element is missing -->
 <orderMeaning value="[string]"/><!-- ?? 0..1 What the order of the elements means -->
 <fixed[x]><!-- ?? 0..0 base64Binary|boolean|canonical|code|date|
   dateTime|decimal|id|instant|integer|markdown|oid|positiveInt|string|time|
   unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|
   |
   |
   |
   </fixed[x]>

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

 <pattern[x]><!-- ?? 0..0 base64Binary|boolean|canonical|code|
   date|dateTime|decimal|id|instant|integer|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|Dosage 
     Value must have at least these property values --></pattern[x]>
 <

 <example> ?? 0..* Element  <!-- ?? 0..* Example value (as defined for type) -->

  <label value="[string]"/><!-- ?? 1..1 Describes the purpose of this example -->
  <value[x]><!-- ?? 1..1 base64Binary|boolean|canonical|
    code|date|dateTime|decimal|id|instant|integer|markdown|oid|positiveInt|
    string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|
    |
    |
    |
    |
    </value[x]>

    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|Dosage 
      Value of Example (one of allowed types) --></value[x]>

 </example>
 <minValue[x]><!-- ?? 0..1 date|dateTime|instant|time|decimal|
   integer|positiveInt|unsignedInt|Quantity 
     Minimum Allowed Value (for some types) --></minValue[x]>
 <maxValue[x]><!-- ?? 0..1 date|dateTime|instant|time|decimal|
   integer|positiveInt|unsignedInt|Quantity 
     Maximum Allowed Value (for some types) --></maxValue[x]>
 <maxLength value="[integer]"/><!-- ?? 0..1 Max length for strings -->
 <condition value="[id]"/><!-- ?? 0..* Reference to invariant about presence -->
 <

 <constraint> ?? 0..* Element  <!-- ?? 0..* Condition that must evaluate to true -->

  <key value="[id]"/><!-- ?? 1..1 Target of 'condition' reference above -->
  <requirements value="[string]"/><!-- ?? 0..1 Why this constraint is necessary or appropriate -->
  <severity value="[code]"/><!-- ?? 1..1 error | warning -->
  <human value="[string]"/><!-- ?? 1..1 Human description of constraint -->
  <

  <expression value="[string]"/><!-- ?? 0..1 FHIRPath expression of constraint -->

  <xpath value="[string]"/><!-- ?? 0..1 XPath expression of constraint -->
  <source value="[canonical]"/><!-- ?? 0..1 Reference to original source of constraint -->
 </constraint>
 <mustSupport value="[boolean]"/><!-- ?? 0..1 If the element must be supported -->
 <isModifier value="[boolean]"/><!-- ?? 0..0 If this modifies the meaning of other elements -->
 <isModifierReason value="[string]"/><!-- ?? 0..1 Reason that this element is marked as a modifier -->
 <isSummary value="[boolean]"/><!-- ?? 0..0 Include when _summary = true? -->
 <

 <binding> ?? 0..1 Element  <!-- ?? 0..1 ValueSet details if this is coded -->

  <strength value="[code]"/><!-- ?? 1..1 required | extensible | preferred | example -->
  <description value="[string]"/><!-- ?? 0..1 Human explanation of the value set -->
  <valueSet value="[canonical]"/><!-- ?? 0..1 Source of value set -->
 </binding>
 <

 <mapping> ?? 0..* Element  <!-- ?? 0..* Map element to another set of definitions -->

  <identity value="[id]"/><!-- ?? 1..1 Reference to mapping declaration -->
  <language value="[code]"/><!-- ?? 0..1 Computable language of mapping -->
  <map value="[string]"/><!-- ?? 1..1 Details of the mapping -->
  <comment value="[string]"/><!-- ?? 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 // C?
        // from Element: extension
        " ]
        " 
        "

      },
      { // Units to use for measured value // C?
        // from Element: extension
        " ]
        " 

        "
        "

      }
    ],
    "modifierExtension" : [{ Extension }], // C?Extensions that cannot be ignored even if unrecognized
    "path" : "<string>", // C? R! Path of the element in the hierarchy of elements
    "sliceName" : "<string>", // C?Name for this particular element (in a set of slices)
    "sliceIsConstraining" : <boolean>, // C?If this slice definition constrains an inherited slice definition (or not)
    "label" : "<string>", // C?Name for element to display with or prompt for element
    "code" : [{ Coding }], // C?Corresponding codes in terminologies
    "definition" : "<markdown>", // C?Full formal definition as narrative text
    "comment" : "<markdown>", // C?Comments about the use of this element
    "requirements" : "<markdown>", // C?Why this resource has been created
    "alias" : ["<string>"], // C?Other names
    "min" : "<unsignedInt>", // C?Minimum Cardinality
    "max" : "<string>", // C?Maximum Cardinality (a number or *)
    "
    "


    "base" : { Element }, // C?Base definition information for tools
    "type" : [{ Element }], // C?Data type and Profile for this element
// value[x]: Specified value if missing from instance. One of these 51:
    "defaultValueBase64Binary" : "<base64Binary>", // C?Specified value if missing from instance
    "defaultValueBoolean" : <boolean>, // C?Specified value if missing from instance
    "defaultValueCanonical" : "<canonical>", // C?Specified value if missing from instance
    "defaultValueCode" : "<code>", // C?Specified value if missing from instance
    "defaultValueDate" : "<date>", // C?Specified value if missing from instance
    "defaultValueDateTime" : "<dateTime>", // C?Specified value if missing from instance
    "defaultValueDecimal" : <decimal>, // C?Specified value if missing from instance
    "defaultValueId" : "<id>", // C?Specified value if missing from instance
    "defaultValueInstant" : "<instant>", // C?Specified value if missing from instance
    "defaultValueInteger" : <integer>, // C?Specified value if missing from instance
    "defaultValueMarkdown" : "<markdown>", // C?Specified value if missing from instance
    "defaultValueOid" : "<oid>", // C?Specified value if missing from instance
    "defaultValuePositiveInt" : "<positiveInt>", // C?Specified value if missing from instance
    "defaultValueString" : "<string>", // C?Specified value if missing from instance
    "defaultValueTime" : "<time>", // C?Specified value if missing from instance
    "defaultValueUnsignedInt" : "<unsignedInt>", // C?Specified value if missing from instance
    "defaultValueUri" : "<uri>", // C?Specified value if missing from instance
    "defaultValueUrl" : "<url>", // C?Specified value if missing from instance
    "defaultValueUuid" : "<uuid>" // C?Specified value if missing from instance
    "defaultValueAddress" : { Address }, // C?Specified value if missing from instance
    "defaultValueAge" : { Age }, // C?Specified value if missing from instance
    "defaultValueAnnotation" : { Annotation }, // C?Specified value if missing from instance
    "defaultValueAttachment" : { Attachment }, // C?Specified value if missing from instance
    "defaultValueCodeableConcept" : { CodeableConcept }, // C?Specified value if missing from instance
    "defaultValueCodeableReference" : { CodeableReference }, // C?Specified value if missing from instance

    "defaultValueCoding" : { Coding }, // C?Specified value if missing from instance
    "defaultValueContactPoint" : { ContactPoint }, // C?Specified value if missing from instance
    "defaultValueCount" : { Count }, // C?Specified value if missing from instance
    "defaultValueDistance" : { Distance }, // C?Specified value if missing from instance
    "defaultValueDuration" : { Duration }, // C?Specified value if missing from instance
    "defaultValueHumanName" : { HumanName }, // C?Specified value if missing from instance
    "defaultValueIdentifier" : { Identifier }, // C?Specified value if missing from instance
    "defaultValueMoney" : { Money }, // C?Specified value if missing from instance
    "defaultValuePeriod" : { Period }, // C?Specified value if missing from instance
    "defaultValueQuantity" : { Quantity }, // C?Specified value if missing from instance
    "defaultValueRange" : { Range }, // C?Specified value if missing from instance
    "defaultValueRatio" : { Ratio }, // C?Specified value if missing from instance
    "defaultValueRatioRange" : { RatioRange }, // C?Specified value if missing from instance

    "defaultValueReference" : { Reference }, // C?Specified value if missing from instance
    "defaultValueSampledData" : { SampledData }, // C?Specified value if missing from instance
    "defaultValueSignature" : { Signature }, // C?Specified value if missing from instance
    "defaultValueTiming" : { Timing }, // C?Specified value if missing from instance
    "defaultValueContactDetail" : { ContactDetail }, // C?Specified value if missing from instance
    "defaultValueContributor" : { Contributor }, // C?Specified value if missing from instance
    "defaultValueDataRequirement" : { DataRequirement }, // C?Specified value if missing from instance
    "defaultValueExpression" : { Expression }, // C?Specified value if missing from instance
    "defaultValueParameterDefinition" : { ParameterDefinition }, // C?Specified value if missing from instance
    "defaultValueRelatedArtifact" : { RelatedArtifact }, // C?Specified value if missing from instance
    "defaultValueTriggerDefinition" : { TriggerDefinition }, // C?Specified value if missing from instance
    "defaultValueUsageContext" : { UsageContext }, // C?Specified value if missing from instance
    "defaultValueDosage" : { Dosage }, // C?Specified value if missing from instance
    "

    "meaningWhenMissing" : "<markdown>", // C?Implicit meaning when this element is missing
    "orderMeaning" : "<string>", // C?What the order of the elements means


    "

// value[x]: Value must be exactly this. One of these 51:
// value[x]: Value must have at least these property values. One of these 51:
    "example" : [{ Element }], // C?Example value (as defined for type)

// value[x]: Minimum Allowed Value (for some types). One of these 9:
    "minValueDate" : "<date>", // C?Minimum Allowed Value (for some types)
    "minValueDateTime" : "<dateTime>", // C?Minimum Allowed Value (for some types)
    "minValueInstant" : "<instant>", // C?Minimum Allowed Value (for some types)
    "minValueTime" : "<time>", // C?Minimum Allowed Value (for some types)
    "minValueDecimal" : <decimal>, // C?Minimum Allowed Value (for some types)
    "minValueInteger" : <integer>, // C?Minimum Allowed Value (for some types)
    "minValuePositiveInt" : "<positiveInt>", // C?Minimum Allowed Value (for some types)
    "minValueUnsignedInt" : "<unsignedInt>", // C?Minimum Allowed Value (for some types)
    "minValueQuantity" : { Quantity }, // C?Minimum Allowed Value (for some types)
// value[x]: Maximum Allowed Value (for some types). One of these 9:
    "maxValueDate" : "<date>", // C?Maximum Allowed Value (for some types)
    "maxValueDateTime" : "<dateTime>", // C?Maximum Allowed Value (for some types)
    "maxValueInstant" : "<instant>", // C?Maximum Allowed Value (for some types)
    "maxValueTime" : "<time>", // C?Maximum Allowed Value (for some types)
    "maxValueDecimal" : <decimal>, // C?Maximum Allowed Value (for some types)
    "maxValueInteger" : <integer>, // C?Maximum Allowed Value (for some types)
    "maxValuePositiveInt" : "<positiveInt>", // C?Maximum Allowed Value (for some types)
    "maxValueUnsignedInt" : "<unsignedInt>", // C?Maximum Allowed Value (for some types)
    "maxValueQuantity" : { Quantity }, // C?Maximum Allowed Value (for some types)
    "maxLength" : <integer>, // C?Max length for strings
    "condition" : ["<id>"], // C?Reference to invariant about presence
    "

    "constraint" : [{ Element }], // C?Condition that must evaluate to true

    "mustSupport" : <boolean>, // C?If the element must be supported
    "isModifierReason" : "<string>", // C?Reason that this element is marked as a modifier
    "
    "

    "binding" : { Element }, // C?ValueSet details if this is coded
    "mapping" : [{ Element }], // C?Map element to another set of definitions

  }

 

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

Terminology Bindings

Path Name Conformance ValueSet
ElementDefinition.extension.value[x] UCUM Codes required UCUM Codes ElementDefinition.code LOINC Codes example LOINC Codes
ElementDefinition.slicing.discriminator.type DiscriminatorType required DiscriminatorType
ElementDefinition.slicing.rules SlicingRules required SlicingRules
ElementDefinition.type.code FHIRDefinedType Common Tags extensible FHIRDefinedType Common Tags
ElementDefinition.type.versioning ReferenceVersionRules required ReferenceVersionRules
ElementDefinition.constraint.severity ConstraintSeverity required ConstraintSeverity
ElementDefinition.binding.strength BindingStrength required BindingStrength
ElementDefinition.mapping.language MimeType required MimeType
Constraints Id Path Details Requirements Rule eld-3 ElementDefinition.max Max SHALL be a number or "*" Expression : empty() or ($this = '*') or (toInteger() >= 0) Warning eld-21 ElementDefinition.constraint Constraints should have an expression or else validators will not be able to enforce them Expression : expression.exists() Rule 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:')) .