This page is part of the FHIR Specification (v4.0.1: R4 - 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 R3 R2
FHIR Infrastructure ![]() |
Maturity Level: Normative | Standards Status: Normative |
![]() |
This page has been approved as part of an ANSI ![]() |
The definition of an element in a resource or an extension. The definition includes:
The ElementDefinition type is the core of the FHIR metadata layer, and is closely (conceptually) aligned to ISO 11179. All the data elements defined in this specification are published as a collection of data elements (XML or JSON).
ElementDefinition is used in StructureDefinition
Structure
Name | Flags | Card. | Type | Description & Constraints![]() |
---|---|---|---|---|
![]() ![]() | ΣIN | BackBoneElement | Definition of an element in a resource or extension + Rule: Min <= Max + Rule: if the element definition has a contentReference, it cannot have type, defaultValue, fixed, pattern, example, minValue, maxValue, maxLength, or binding + Rule: Fixed value may only be specified if there is one type + Rule: Pattern may only be specified if there is one type + Rule: Pattern and fixed are mutually exclusive + Rule: Binding can only be present for coded elements, string, and uri + Rule: Types must be unique by code + Rule: Constraints must be unique by key + Rule: default value and meaningWhenMissing are mutually exclusive + Rule: sliceName must be composed of proper tokens separated by "/" + Rule: Must have a modifier reason if isModifier = true + Rule: Element names cannot include some special characters + Warning: Element names should be simple alphanumerics with a max of 64 characters, or code generation tools may be broken + Rule: sliceIsConstraining can only appear if slicename is present Elements defined in Ancestors: id, extension, modifierExtension | |
![]() ![]() ![]() | Σ | 1..1 | string | Path of the element in the hierarchy of elements |
![]() ![]() ![]() | Σ | 0..* | code | xmlAttr | xmlText | typeAttr | cdaText | xhtml PropertyRepresentation (Required) |
![]() ![]() ![]() | Σ | 0..1 | string | Name for this particular element (in a set of slices) |
![]() ![]() ![]() | ΣTU | 0..1 | boolean | If this slice definition constrains an inherited slice definition (or not) |
![]() ![]() ![]() | Σ | 0..1 | string | Name for element to display with or prompt for element |
![]() ![]() ![]() | Σ | 0..* | Coding | Corresponding codes in terminologies LOINC Codes (Example) |
![]() ![]() ![]() | ΣI | 0..1 | Element | This element is sliced - slices follow + Rule: If there are no discriminators, there must be a definition |
![]() ![]() ![]() ![]() | Σ | 0..* | Element | Element values that are used to distinguish the slices |
![]() ![]() ![]() ![]() ![]() | Σ | 1..1 | code | value | exists | pattern | type | profile DiscriminatorType (Required) |
![]() ![]() ![]() ![]() ![]() | Σ | 1..1 | string | Path to element value |
![]() ![]() ![]() ![]() | ΣI | 0..1 | string | Text description of how slicing works (or not) |
![]() ![]() ![]() ![]() | Σ | 0..1 | boolean | If elements must be in same order as slices |
![]() ![]() ![]() ![]() | Σ | 1..1 | code | closed | open | openAtEnd SlicingRules (Required) |
![]() ![]() ![]() | Σ | 0..1 | string | Concise definition for space-constrained presentation |
![]() ![]() ![]() | Σ | 0..1 | markdown | Full formal definition as narrative text |
![]() ![]() ![]() | Σ | 0..1 | markdown | Comments about the use of this element |
![]() ![]() ![]() | Σ | 0..1 | markdown | Why this resource has been created |
![]() ![]() ![]() | Σ | 0..* | string | Other names |
![]() ![]() ![]() | ΣI | 0..1 | unsignedInt | Minimum Cardinality |
![]() ![]() ![]() | ΣI | 0..1 | string | Maximum Cardinality (a number or *) + Rule: Max SHALL be a number or "*" |
![]() ![]() ![]() | Σ | 0..1 | Element | Base definition information for tools |
![]() ![]() ![]() ![]() | Σ | 1..1 | string | Path that identifies the base element |
![]() ![]() ![]() ![]() | Σ | 1..1 | unsignedInt | Min cardinality of the base element |
![]() ![]() ![]() ![]() | Σ | 1..1 | string | Max cardinality of the base element |
![]() ![]() ![]() | ΣI | 0..1 | uri | Reference to definition of content for the element |
![]() ![]() ![]() | ΣI | 0..* | Element | Data type and Profile for this element + Rule: Aggregation may only be specified if one of the allowed types for the element is a reference + Rule: targetProfile is only allowed if the type is Reference or canonical |
![]() ![]() ![]() ![]() | Σ | 1..1 | uri | Data type or Resource (reference to definition) FHIRDefinedType (Extensible) |
![]() ![]() ![]() ![]() | Σ | 0..* | canonical(StructureDefinition | ImplementationGuide) | Profiles (StructureDefinition or IG) - one must apply |
![]() ![]() ![]() ![]() | Σ | 0..* | canonical(StructureDefinition | ImplementationGuide) | Profile (StructureDefinition or IG) on the Reference/canonical target - one must apply |
![]() ![]() ![]() ![]() | ΣI | 0..* | code | contained | referenced | bundled - how aggregated AggregationMode (Required) |
![]() ![]() ![]() ![]() | Σ | 0..1 | code | either | independent | specific ReferenceVersionRules (Required) |
![]() ![]() ![]() | ΣI | 0..1 | * | Specified value if missing from instance |
![]() ![]() ![]() | ΣI | 0..1 | markdown | Implicit meaning when this element is missing |
![]() ![]() ![]() | Σ | 0..1 | string | What the order of the elements means |
![]() ![]() ![]() | ΣI | 0..1 | * | Value must be exactly this |
![]() ![]() ![]() | ΣI | 0..1 | * | Value must have at least these property values |
![]() ![]() ![]() | Σ | 0..* | Element | Example value (as defined for type) |
![]() ![]() ![]() ![]() | Σ | 1..1 | string | Describes the purpose of this example |
![]() ![]() ![]() ![]() | Σ | 1..1 | * | Value of Example (one of allowed types) |
![]() ![]() ![]() | Σ | 0..1 | Minimum Allowed Value (for some types) | |
![]() ![]() ![]() ![]() | date | |||
![]() ![]() ![]() ![]() | dateTime | |||
![]() ![]() ![]() ![]() | instant | |||
![]() ![]() ![]() ![]() | time | |||
![]() ![]() ![]() ![]() | decimal | |||
![]() ![]() ![]() ![]() | integer | |||
![]() ![]() ![]() ![]() | positiveInt | |||
![]() ![]() ![]() ![]() | unsignedInt | |||
![]() ![]() ![]() ![]() | Quantity | |||
![]() ![]() ![]() | Σ | 0..1 | Maximum Allowed Value (for some types) | |
![]() ![]() ![]() ![]() | date | |||
![]() ![]() ![]() ![]() | dateTime | |||
![]() ![]() ![]() ![]() | instant | |||
![]() ![]() ![]() ![]() | time | |||
![]() ![]() ![]() ![]() | decimal | |||
![]() ![]() ![]() ![]() | integer | |||
![]() ![]() ![]() ![]() | positiveInt | |||
![]() ![]() ![]() ![]() | unsignedInt | |||
![]() ![]() ![]() ![]() | Quantity | |||
![]() ![]() ![]() | Σ | 0..1 | integer | Max length for strings |
![]() ![]() ![]() | Σ | 0..* | id | Reference to invariant about presence |
![]() ![]() ![]() | ΣI | 0..* | Element | Condition that must evaluate to true + Warning: Constraints should have an expression or else validators will not be able to enforce them |
![]() ![]() ![]() ![]() | ΣI | 1..1 | id | Target of 'condition' reference above |
![]() ![]() ![]() ![]() | Σ | 0..1 | string | Why this constraint is necessary or appropriate |
![]() ![]() ![]() ![]() | Σ | 1..1 | code | error | warning ConstraintSeverity (Required) |
![]() ![]() ![]() ![]() | Σ | 1..1 | string | Human description of constraint |
![]() ![]() ![]() ![]() | Σ | 0..1 | string | FHIRPath expression of constraint |
![]() ![]() ![]() ![]() | ΣTU | 0..1 | string | XPath expression of constraint |
![]() ![]() ![]() ![]() | Σ | 0..1 | canonical(StructureDefinition) | Reference to original source of constraint |
![]() ![]() ![]() | Σ | 0..1 | boolean | If the element must be supported |
![]() ![]() ![]() | Σ | 0..1 | boolean | If this modifies the meaning of other elements |
![]() ![]() ![]() | Σ | 0..1 | string | Reason that this element is marked as a modifier |
![]() ![]() ![]() | Σ | 0..1 | boolean | Include when _summary = true? |
![]() ![]() ![]() | ΣI | 0..1 | Element | ValueSet details if this is coded + Rule: ValueSet SHALL start with http:// or https:// or urn: |
![]() ![]() ![]() ![]() | Σ | 1..1 | code | required | extensible | preferred | example BindingStrength (Required) |
![]() ![]() ![]() ![]() | Σ | 0..1 | string | Human explanation of the value set |
![]() ![]() ![]() ![]() | ΣI | 0..1 | canonical(ValueSet) | Source of value set |
![]() ![]() ![]() | Σ | 0..* | Element | Map element to another set of definitions |
![]() ![]() ![]() ![]() | Σ | 1..1 | id | Reference to mapping declaration |
![]() ![]() ![]() ![]() | Σ | 0..1 | code | Computable language of mapping MimeType (Required) |
![]() ![]() ![]() ![]() | Σ | 1..1 | string | Details of the mapping |
![]() ![]() ![]() ![]() | Σ | 0..1 | string | Comments about the mapping or its use |
![]() |
UML Diagram (Legend)
XML Template
<ElementDefinition xmlns="http://hl7.org/fhir"> <!-- from BackboneElement: extension, modifierExtension --> <path value="[string]"/><!-- 1..1 Path of the element in the hierarchy of elements --> <representation value="[code]"/><!-- 0..* xmlAttr | xmlText | typeAttr | cdaText | xhtml --> <sliceName value="[string]"/><!-- 0..1 Name for this particular element (in a set of slices) --> <sliceIsConstraining value="[boolean]"/><!-- 0..1 If this slice definition constrains an inherited slice definition (or not) --> <label value="[string]"/><!-- 0..1 Name for element to display with or prompt for element --> <code><!-- 0..* Coding Corresponding codes in terminologies --></code> <slicing> <!-- 0..1 This element is sliced - slices follow --> <discriminator> <!-- 0..* Element values that are used to distinguish the slices --> <type value="[code]"/><!-- 1..1 value | exists | pattern | type | profile --> <path value="[string]"/><!-- 1..1 Path to element value --> </discriminator> <description value="[string]"/><!--0..1 Text description of how slicing works (or not) --> <ordered value="[boolean]"/><!-- 0..1 If elements must be in same order as slices --> <rules value="[code]"/><!-- 1..1 closed | open | openAtEnd --> </slicing> <short value="[string]"/><!-- 0..1 Concise definition for space-constrained presentation --> <definition value="[markdown]"/><!-- 0..1 Full formal definition as narrative text --> <comment value="[markdown]"/><!-- 0..1 Comments about the use of this element --> <requirements value="[markdown]"/><!-- 0..1 Why this resource has been created --> <alias value="[string]"/><!-- 0..* Other names --> <min value="[unsignedInt]"/><!--
0..1 Minimum Cardinality --> <max value="[string]"/><!--
0..1 Maximum Cardinality (a number or *) --> <base> <!-- 0..1 Base definition information for tools --> <path value="[string]"/><!-- 1..1 Path that identifies the base element --> <min value="[unsignedInt]"/><!-- 1..1 Min cardinality of the base element --> <max value="[string]"/><!-- 1..1 Max cardinality of the base element --> </base> <contentReference value="[uri]"/><!--
0..1 Reference to definition of content for the element --> <type> <!--
0..* Data type and Profile for this element --> <code value="[uri]"/><!-- 1..1 Data type or Resource (reference to definition) --> <profile><!-- 0..* canonical(StructureDefinition|ImplementationGuide) Profiles (StructureDefinition or IG) - one must apply --></profile> <targetProfile><!-- 0..* canonical(StructureDefinition|ImplementationGuide) Profile (StructureDefinition or IG) on the Reference/canonical target - one must apply --></targetProfile> <aggregation value="[code]"/><!--
0..* contained | referenced | bundled - how aggregated --> <versioning value="[code]"/><!-- 0..1 either | independent | specific --> </type> <defaultValue[x]><!--
0..1 * 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..1 * Value must be exactly this --></fixed[x]> <pattern[x]><!--
0..1 * Value must have at least these property values --></pattern[x]> <example> <!-- 0..* Example value (as defined for type) --> <label value="[string]"/><!-- 1..1 Describes the purpose of this example --> <value[x]><!-- 1..1 * Value of Example (one of allowed types) --></value[x]> </example> <minValue[x]><!-- 0..1 date|dateTime|instant|time|decimal|integer|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..* 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><!-- 0..1 canonical(StructureDefinition) Reference to original source of constraint --></source> </constraint> <mustSupport value="[boolean]"/><!-- 0..1 If the element must be supported --> <isModifier value="[boolean]"/><!-- 0..1 If this modifies the meaning of other elements --> <isModifierReason value="[string]"/><!-- 0..1 Reason that this element is marked as a modifier --> <isSummary value="[boolean]"/><!-- 0..1 Include when _summary = true? --> <binding> <!--
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><!--
0..1 canonical(ValueSet) Source of value set --></valueSet> </binding> <mapping> <!-- 0..* Map element to another set of definitions --> <identity value="[id]"/><!-- 1..1 Reference to mapping declaration --> <language value="[code]"/><!-- 0..1 Computable language of mapping --> <map value="[string]"/><!-- 1..1 Details of the mapping --> <comment value="[string]"/><!-- 0..1 Comments about the mapping or its use --> </mapping> </ElementDefinition>
JSON Template
{// from BackboneElement: extension, modifierExtension "path" : "<string>", // R! Path of the element in the hierarchy of elements "representation" : ["<code>"], // xmlAttr | xmlText | typeAttr | cdaText | xhtml "sliceName" : "<string>", // Name for this particular element (in a set of slices) "sliceIsConstraining" : <boolean>, // If this slice definition constrains an inherited slice definition (or not) "label" : "<string>", // Name for element to display with or prompt for element "code" : [{ Coding }], // Corresponding codes in terminologies "slicing" : { // This element is sliced - slices follow "discriminator" : [{ // Element values that are used to distinguish the slices "type" : "<code>", // R! value | exists | pattern | type | profile "path" : "<string>" // R! Path to element value }], "description" : "<string>", // C? Text description of how slicing works (or not) "ordered" : <boolean>, // If elements must be in same order as slices "rules" : "<code>" // R! closed | open | openAtEnd }, "short" : "<string>", // Concise definition for space-constrained presentation "definition" : "<markdown>", // Full formal definition as narrative text "comment" : "<markdown>", // Comments about the use of this element "requirements" : "<markdown>", // Why this resource has been created "alias" : ["<string>"], // Other names "min" : "<unsignedInt>", // C? Minimum Cardinality "max" : "<string>", // C? Maximum Cardinality (a number or *) "base" : { // Base definition information for tools "path" : "<string>", // R! Path that identifies the base element "min" : "<unsignedInt>", // R! Min cardinality of the base element "max" : "<string>" // R! Max cardinality of the base element }, "contentReference" : "<uri>", // C? Reference to definition of content for the element "type" : [{ // C? Data type and Profile for this element "code" : "<uri>", // R! Data type or Resource (reference to definition) "profile" : [{ canonical(StructureDefinition|ImplementationGuide) }], // Profiles (StructureDefinition or IG) - one must apply "targetProfile" : [{ canonical(StructureDefinition|ImplementationGuide) }], // Profile (StructureDefinition or IG) on the Reference/canonical target - one must apply "aggregation" : ["<code>"], // C? contained | referenced | bundled - how aggregated "versioning" : "<code>" // either | independent | specific }], // defaultValue[x]: Specified value if missing from instance. One of these 50: "defaultValueBase64Binary" : "<base64Binary>", "defaultValueBoolean" : <boolean>, "defaultValueCanonical" : "<canonical>", "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" : { Coding }, "defaultValueContactPoint" : { ContactPoint }, "defaultValueCount" : { Count }, "defaultValueDistance" : { Distance }, "defaultValueDuration" : { Duration }, "defaultValueHumanName" : { HumanName }, "defaultValueIdentifier" : { Identifier }, "defaultValueMoney" : { Money }, "defaultValuePeriod" : { Period }, "defaultValueQuantity" : { Quantity }, "defaultValueRange" : { Range }, "defaultValueRatio" : { Ratio }, "defaultValueReference" : { Reference }, "defaultValueSampledData" : { SampledData }, "defaultValueSignature" : { Signature }, "defaultValueTiming" : { Timing }, "defaultValueContactDetail" : { ContactDetail }, "defaultValueContributor" : { Contributor }, "defaultValueDataRequirement" : { DataRequirement }, "defaultValueExpression" : { Expression }, "defaultValueParameterDefinition" : { ParameterDefinition }, "defaultValueRelatedArtifact" : { RelatedArtifact }, "defaultValueTriggerDefinition" : { TriggerDefinition }, "defaultValueUsageContext" : { UsageContext }, "defaultValueDosage" : { Dosage }, "defaultValueMeta" : { Meta }, "meaningWhenMissing" : "<markdown>", // C? Implicit meaning when this element is missing "orderMeaning" : "<string>", // What the order of the elements means // fixed[x]: Value must be exactly this. One of these 50: "fixedBase64Binary" : "<base64Binary>", "fixedBoolean" : <boolean>, "fixedCanonical" : "<canonical>", "fixedCode" : "<code>", "fixedDate" : "<date>", "fixedDateTime" : "<dateTime>", "fixedDecimal" : <decimal>, "fixedId" : "<id>", "fixedInstant" : "<instant>", "fixedInteger" : <integer>, "fixedMarkdown" : "<markdown>", "fixedOid" : "<oid>", "fixedPositiveInt" : "<positiveInt>", "fixedString" : "<string>", "fixedTime" : "<time>", "fixedUnsignedInt" : "<unsignedInt>", "fixedUri" : "<uri>", "fixedUrl" : "<url>", "fixedUuid" : "<uuid>", "fixedAddress" : { Address }, "fixedAge" : { Age }, "fixedAnnotation" : { Annotation }, "fixedAttachment" : { Attachment }, "fixedCodeableConcept" : { CodeableConcept }, "fixedCoding" : { Coding }, "fixedContactPoint" : { ContactPoint }, "fixedCount" : { Count }, "fixedDistance" : { Distance }, "fixedDuration" : { Duration }, "fixedHumanName" : { HumanName }, "fixedIdentifier" : { Identifier }, "fixedMoney" : { Money }, "fixedPeriod" : { Period }, "fixedQuantity" : { Quantity }, "fixedRange" : { Range }, "fixedRatio" : { Ratio }, "fixedReference" : { Reference }, "fixedSampledData" : { SampledData }, "fixedSignature" : { Signature }, "fixedTiming" : { Timing }, "fixedContactDetail" : { ContactDetail }, "fixedContributor" : { Contributor }, "fixedDataRequirement" : { DataRequirement }, "fixedExpression" : { Expression }, "fixedParameterDefinition" : { ParameterDefinition }, "fixedRelatedArtifact" : { RelatedArtifact }, "fixedTriggerDefinition" : { TriggerDefinition }, "fixedUsageContext" : { UsageContext }, "fixedDosage" : { Dosage }, "fixedMeta" : { Meta }, // pattern[x]: Value must have at least these property values. One of these 50: "patternBase64Binary" : "<base64Binary>", "patternBoolean" : <boolean>, "patternCanonical" : "<canonical>", "patternCode" : "<code>", "patternDate" : "<date>", "patternDateTime" : "<dateTime>", "patternDecimal" : <decimal>, "patternId" : "<id>", "patternInstant" : "<instant>", "patternInteger" : <integer>, "patternMarkdown" : "<markdown>", "patternOid" : "<oid>", "patternPositiveInt" : "<positiveInt>", "patternString" : "<string>", "patternTime" : "<time>", "patternUnsignedInt" : "<unsignedInt>", "patternUri" : "<uri>", "patternUrl" : "<url>", "patternUuid" : "<uuid>", "patternAddress" : { Address }, "patternAge" : { Age }, "patternAnnotation" : { Annotation }, "patternAttachment" : { Attachment }, "patternCodeableConcept" : { CodeableConcept }, "patternCoding" : { Coding }, "patternContactPoint" : { ContactPoint }, "patternCount" : { Count }, "patternDistance" : { Distance }, "patternDuration" : { Duration }, "patternHumanName" : { HumanName }, "patternIdentifier" : { Identifier }, "patternMoney" : { Money }, "patternPeriod" : { Period }, "patternQuantity" : { Quantity }, "patternRange" : { Range }, "patternRatio" : { Ratio }, "patternReference" : { Reference }, "patternSampledData" : { SampledData }, "patternSignature" : { Signature }, "patternTiming" : { Timing }, "patternContactDetail" : { ContactDetail }, "patternContributor" : { Contributor }, "patternDataRequirement" : { DataRequirement }, "patternExpression" : { Expression }, "patternParameterDefinition" : { ParameterDefinition }, "patternRelatedArtifact" : { RelatedArtifact }, "patternTriggerDefinition" : { TriggerDefinition }, "patternUsageContext" : { UsageContext }, "patternDosage" : { Dosage }, "patternMeta" : { Meta }, "example" : [{ // Example value (as defined for type) "label" : "<string>", // R! Describes the purpose of this example // value[x]: Value of Example (one of allowed types). One of these 50: "valueBase64Binary" : "<base64Binary>" "valueBoolean" : <boolean> "valueCanonical" : "<canonical>" "valueCode" : "<code>" "valueDate" : "<date>" "valueDateTime" : "<dateTime>" "valueDecimal" : <decimal> "valueId" : "<id>" "valueInstant" : "<instant>" "valueInteger" : <integer> "valueMarkdown" : "<markdown>" "valueOid" : "<oid>" "valuePositiveInt" : "<positiveInt>" "valueString" : "<string>" "valueTime" : "<time>" "valueUnsignedInt" : "<unsignedInt>" "valueUri" : "<uri>" "valueUrl" : "<url>" "valueUuid" : "<uuid>" "valueAddress" : { Address } "valueAge" : { Age } "valueAnnotation" : { Annotation } "valueAttachment" : { Attachment } "valueCodeableConcept" : { CodeableConcept } "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" : { Reference } "valueSampledData" : { SampledData } "valueSignature" : { Signature } "valueTiming" : { Timing } "valueContactDetail" : { ContactDetail } "valueContributor" : { Contributor } "valueDataRequirement" : { DataRequirement } "valueExpression" : { Expression } "valueParameterDefinition" : { ParameterDefinition } "valueRelatedArtifact" : { RelatedArtifact } "valueTriggerDefinition" : { TriggerDefinition } "valueUsageContext" : { UsageContext } "valueDosage" : { Dosage } "valueMeta" : { Meta } }], // minValue[x]: Minimum Allowed Value (for some types). One of these 9: "minValueDate" : "<date>", "minValueDateTime" : "<dateTime>", "minValueInstant" : "<instant>", "minValueTime" : "<time>", "minValueDecimal" : <decimal>, "minValueInteger" : <integer>, "minValuePositiveInt" : "<positiveInt>", "minValueUnsignedInt" : "<unsignedInt>", "minValueQuantity" : { Quantity }, // maxValue[x]: Maximum Allowed Value (for some types). One of these 9: "maxValueDate" : "<date>", "maxValueDateTime" : "<dateTime>", "maxValueInstant" : "<instant>", "maxValueTime" : "<time>", "maxValueDecimal" : <decimal>, "maxValueInteger" : <integer>, "maxValuePositiveInt" : "<positiveInt>", "maxValueUnsignedInt" : "<unsignedInt>", "maxValueQuantity" : { Quantity }, "maxLength" : <integer>, // Max length for strings "condition" : ["<id>"], // Reference to invariant about presence "constraint" : [{ // Condition that must evaluate to true "key" : "<id>", // C? R! Target of 'condition' reference above "requirements" : "<string>", // Why this constraint is necessary or appropriate "severity" : "<code>", // R! error | warning "human" : "<string>", // R! Human description of constraint "expression" : "<string>", // FHIRPath expression of constraint "xpath" : "<string>", // XPath expression of constraint "source" : { canonical(StructureDefinition) } // Reference to original source of constraint }], "mustSupport" : <boolean>, // If the element must be supported "isModifier" : <boolean>, // If this modifies the meaning of other elements "isModifierReason" : "<string>", // Reason that this element is marked as a modifier "isSummary" : <boolean>, // Include when _summary = true? "binding" : { // C? ValueSet details if this is coded "strength" : "<code>", // R! required | extensible | preferred | example "description" : "<string>", // Human explanation of the value set "valueSet" : { canonical(ValueSet) } // C? Source of value set }, "mapping" : [{ // Map element to another set of definitions "identity" : "<id>", // R! Reference to mapping declaration "language" : "<code>", // Computable language of mapping "map" : "<string>", // R! Details of the mapping "comment" : "<string>" // Comments about the mapping or its use }] }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ # from BackboneElement: Element.extension, BackboneElement.modifierextension fhir:ElementDefinition.path [ string ]; # 1..1 Path of the element in the hierarchy of elements fhir:ElementDefinition.representation [ code ], ... ; # 0..* xmlAttr | xmlText | typeAttr | cdaText | xhtml fhir:ElementDefinition.sliceName [ string ]; # 0..1 Name for this particular element (in a set of slices) fhir:ElementDefinition.sliceIsConstraining [ boolean ]; # 0..1 If this slice definition constrains an inherited slice definition (or not) fhir:ElementDefinition.label [ string ]; # 0..1 Name for element to display with or prompt for element fhir:ElementDefinition.code [ Coding ], ... ; # 0..* Corresponding codes in terminologies fhir:ElementDefinition.slicing [ # 0..1 This element is sliced - slices follow fhir:ElementDefinition.slicing.discriminator [ # 0..* Element values that are used to distinguish the slices fhir:ElementDefinition.slicing.discriminator.type [ code ]; # 1..1 value | exists | pattern | type | profile fhir:ElementDefinition.slicing.discriminator.path [ string ]; # 1..1 Path to element value ], ...; fhir:ElementDefinition.slicing.description [ string ]; # 0..1 Text description of how slicing works (or not) fhir:ElementDefinition.slicing.ordered [ boolean ]; # 0..1 If elements must be in same order as slices fhir:ElementDefinition.slicing.rules [ code ]; # 1..1 closed | open | openAtEnd ]; fhir:ElementDefinition.short [ string ]; # 0..1 Concise definition for space-constrained presentation fhir:ElementDefinition.definition [ markdown ]; # 0..1 Full formal definition as narrative text fhir:ElementDefinition.comment [ markdown ]; # 0..1 Comments about the use of this element fhir:ElementDefinition.requirements [ markdown ]; # 0..1 Why this resource has been created fhir:ElementDefinition.alias [ string ], ... ; # 0..* Other names fhir:ElementDefinition.min [ unsignedInt ]; # 0..1 Minimum Cardinality fhir:ElementDefinition.max [ string ]; # 0..1 Maximum Cardinality (a number or *) fhir:ElementDefinition.base [ # 0..1 Base definition information for tools fhir:ElementDefinition.base.path [ string ]; # 1..1 Path that identifies the base element fhir:ElementDefinition.base.min [ unsignedInt ]; # 1..1 Min cardinality of the base element fhir:ElementDefinition.base.max [ string ]; # 1..1 Max cardinality of the base element ]; fhir:ElementDefinition.contentReference [ uri ]; # 0..1 Reference to definition of content for the element fhir:ElementDefinition.type [ # 0..* Data type and Profile for this element fhir:ElementDefinition.type.code [ uri ]; # 1..1 Data type or Resource (reference to definition) fhir:ElementDefinition.type.profile [ canonical(StructureDefinition|ImplementationGuide) ], ... ; # 0..* Profiles (StructureDefinition or IG) - one must apply fhir:ElementDefinition.type.targetProfile [ canonical(StructureDefinition|ImplementationGuide) ], ... ; # 0..* Profile (StructureDefinition or IG) on the Reference/canonical target - one must apply fhir:ElementDefinition.type.aggregation [ code ], ... ; # 0..* contained | referenced | bundled - how aggregated fhir:ElementDefinition.type.versioning [ code ]; # 0..1 either | independent | specific ], ...; # ElementDefinition.defaultValue[x] : 0..1 Specified value if missing from instance. One of these 50 fhir:ElementDefinition.defaultValueBase64Binary [ base64Binary ] fhir:ElementDefinition.defaultValueBoolean [ boolean ] fhir:ElementDefinition.defaultValueCanonical [ canonical ] fhir:ElementDefinition.defaultValueCode [ code ] fhir:ElementDefinition.defaultValueDate [ date ] fhir:ElementDefinition.defaultValueDateTime [ dateTime ] fhir:ElementDefinition.defaultValueDecimal [ decimal ] fhir:ElementDefinition.defaultValueId [ id ] fhir:ElementDefinition.defaultValueInstant [ instant ] fhir:ElementDefinition.defaultValueInteger [ integer ] fhir:ElementDefinition.defaultValueMarkdown [ markdown ] fhir:ElementDefinition.defaultValueOid [ oid ] fhir:ElementDefinition.defaultValuePositiveInt [ positiveInt ] fhir:ElementDefinition.defaultValueString [ string ] fhir:ElementDefinition.defaultValueTime [ time ] fhir:ElementDefinition.defaultValueUnsignedInt [ unsignedInt ] fhir:ElementDefinition.defaultValueUri [ uri ] fhir:ElementDefinition.defaultValueUrl [ url ] fhir:ElementDefinition.defaultValueUuid [ uuid ] fhir:ElementDefinition.defaultValueAddress [ Address ] fhir:ElementDefinition.defaultValueAge [ Age ] fhir:ElementDefinition.defaultValueAnnotation [ Annotation ] fhir:ElementDefinition.defaultValueAttachment [ Attachment ] fhir:ElementDefinition.defaultValueCodeableConcept [ CodeableConcept ] fhir:ElementDefinition.defaultValueCoding [ Coding ] fhir:ElementDefinition.defaultValueContactPoint [ ContactPoint ] fhir:ElementDefinition.defaultValueCount [ Count ] fhir:ElementDefinition.defaultValueDistance [ Distance ] fhir:ElementDefinition.defaultValueDuration [ Duration ] fhir:ElementDefinition.defaultValueHumanName [ HumanName ] fhir:ElementDefinition.defaultValueIdentifier [ Identifier ] fhir:ElementDefinition.defaultValueMoney [ Money ] fhir:ElementDefinition.defaultValuePeriod [ Period ] fhir:ElementDefinition.defaultValueQuantity [ Quantity ] fhir:ElementDefinition.defaultValueRange [ Range ] fhir:ElementDefinition.defaultValueRatio [ Ratio ] fhir:ElementDefinition.defaultValueReference [ Reference ] fhir:ElementDefinition.defaultValueSampledData [ SampledData ] fhir:ElementDefinition.defaultValueSignature [ Signature ] fhir:ElementDefinition.defaultValueTiming [ Timing ] fhir:ElementDefinition.defaultValueContactDetail [ ContactDetail ] fhir:ElementDefinition.defaultValueContributor [ Contributor ] fhir:ElementDefinition.defaultValueDataRequirement [ DataRequirement ] fhir:ElementDefinition.defaultValueExpression [ Expression ] fhir:ElementDefinition.defaultValueParameterDefinition [ ParameterDefinition ] fhir:ElementDefinition.defaultValueRelatedArtifact [ RelatedArtifact ] fhir:ElementDefinition.defaultValueTriggerDefinition [ TriggerDefinition ] fhir:ElementDefinition.defaultValueUsageContext [ UsageContext ] fhir:ElementDefinition.defaultValueDosage [ Dosage ] fhir:ElementDefinition.defaultValueMeta [ Meta ] fhir:ElementDefinition.meaningWhenMissing [ markdown ]; # 0..1 Implicit meaning when this element is missing fhir:ElementDefinition.orderMeaning [ string ]; # 0..1 What the order of the elements means # ElementDefinition.fixed[x] : 0..1 Value must be exactly this. One of these 50 fhir:ElementDefinition.fixedBase64Binary [ base64Binary ] fhir:ElementDefinition.fixedBoolean [ boolean ] fhir:ElementDefinition.fixedCanonical [ canonical ] fhir:ElementDefinition.fixedCode [ code ] fhir:ElementDefinition.fixedDate [ date ] fhir:ElementDefinition.fixedDateTime [ dateTime ] fhir:ElementDefinition.fixedDecimal [ decimal ] fhir:ElementDefinition.fixedId [ id ] fhir:ElementDefinition.fixedInstant [ instant ] fhir:ElementDefinition.fixedInteger [ integer ] fhir:ElementDefinition.fixedMarkdown [ markdown ] fhir:ElementDefinition.fixedOid [ oid ] fhir:ElementDefinition.fixedPositiveInt [ positiveInt ] fhir:ElementDefinition.fixedString [ string ] fhir:ElementDefinition.fixedTime [ time ] fhir:ElementDefinition.fixedUnsignedInt [ unsignedInt ] fhir:ElementDefinition.fixedUri [ uri ] fhir:ElementDefinition.fixedUrl [ url ] fhir:ElementDefinition.fixedUuid [ uuid ] fhir:ElementDefinition.fixedAddress [ Address ] fhir:ElementDefinition.fixedAge [ Age ] fhir:ElementDefinition.fixedAnnotation [ Annotation ] fhir:ElementDefinition.fixedAttachment [ Attachment ] fhir:ElementDefinition.fixedCodeableConcept [ CodeableConcept ] fhir:ElementDefinition.fixedCoding [ Coding ] fhir:ElementDefinition.fixedContactPoint [ ContactPoint ] fhir:ElementDefinition.fixedCount [ Count ] fhir:ElementDefinition.fixedDistance [ Distance ] fhir:ElementDefinition.fixedDuration [ Duration ] fhir:ElementDefinition.fixedHumanName [ HumanName ] fhir:ElementDefinition.fixedIdentifier [ Identifier ] fhir:ElementDefinition.fixedMoney [ Money ] fhir:ElementDefinition.fixedPeriod [ Period ] fhir:ElementDefinition.fixedQuantity [ Quantity ] fhir:ElementDefinition.fixedRange [ Range ] fhir:ElementDefinition.fixedRatio [ Ratio ] fhir:ElementDefinition.fixedReference [ Reference ] fhir:ElementDefinition.fixedSampledData [ SampledData ] fhir:ElementDefinition.fixedSignature [ Signature ] fhir:ElementDefinition.fixedTiming [ Timing ] fhir:ElementDefinition.fixedContactDetail [ ContactDetail ] fhir:ElementDefinition.fixedContributor [ Contributor ] fhir:ElementDefinition.fixedDataRequirement [ DataRequirement ] fhir:ElementDefinition.fixedExpression [ Expression ] fhir:ElementDefinition.fixedParameterDefinition [ ParameterDefinition ] fhir:ElementDefinition.fixedRelatedArtifact [ RelatedArtifact ] fhir:ElementDefinition.fixedTriggerDefinition [ TriggerDefinition ] fhir:ElementDefinition.fixedUsageContext [ UsageContext ] fhir:ElementDefinition.fixedDosage [ Dosage ] fhir:ElementDefinition.fixedMeta [ Meta ] # ElementDefinition.pattern[x] : 0..1 Value must have at least these property values. One of these 50 fhir:ElementDefinition.patternBase64Binary [ base64Binary ] fhir:ElementDefinition.patternBoolean [ boolean ] fhir:ElementDefinition.patternCanonical [ canonical ] fhir:ElementDefinition.patternCode [ code ] fhir:ElementDefinition.patternDate [ date ] fhir:ElementDefinition.patternDateTime [ dateTime ] fhir:ElementDefinition.patternDecimal [ decimal ] fhir:ElementDefinition.patternId [ id ] fhir:ElementDefinition.patternInstant [ instant ] fhir:ElementDefinition.patternInteger [ integer ] fhir:ElementDefinition.patternMarkdown [ markdown ] fhir:ElementDefinition.patternOid [ oid ] fhir:ElementDefinition.patternPositiveInt [ positiveInt ] fhir:ElementDefinition.patternString [ string ] fhir:ElementDefinition.patternTime [ time ] fhir:ElementDefinition.patternUnsignedInt [ unsignedInt ] fhir:ElementDefinition.patternUri [ uri ] fhir:ElementDefinition.patternUrl [ url ] fhir:ElementDefinition.patternUuid [ uuid ] fhir:ElementDefinition.patternAddress [ Address ] fhir:ElementDefinition.patternAge [ Age ] fhir:ElementDefinition.patternAnnotation [ Annotation ] fhir:ElementDefinition.patternAttachment [ Attachment ] fhir:ElementDefinition.patternCodeableConcept [ CodeableConcept ] fhir:ElementDefinition.patternCoding [ Coding ] fhir:ElementDefinition.patternContactPoint [ ContactPoint ] fhir:ElementDefinition.patternCount [ Count ] fhir:ElementDefinition.patternDistance [ Distance ] fhir:ElementDefinition.patternDuration [ Duration ] fhir:ElementDefinition.patternHumanName [ HumanName ] fhir:ElementDefinition.patternIdentifier [ Identifier ] fhir:ElementDefinition.patternMoney [ Money ] fhir:ElementDefinition.patternPeriod [ Period ] fhir:ElementDefinition.patternQuantity [ Quantity ] fhir:ElementDefinition.patternRange [ Range ] fhir:ElementDefinition.patternRatio [ Ratio ] fhir:ElementDefinition.patternReference [ Reference ] fhir:ElementDefinition.patternSampledData [ SampledData ] fhir:ElementDefinition.patternSignature [ Signature ] fhir:ElementDefinition.patternTiming [ Timing ] fhir:ElementDefinition.patternContactDetail [ ContactDetail ] fhir:ElementDefinition.patternContributor [ Contributor ] fhir:ElementDefinition.patternDataRequirement [ DataRequirement ] fhir:ElementDefinition.patternExpression [ Expression ] fhir:ElementDefinition.patternParameterDefinition [ ParameterDefinition ] fhir:ElementDefinition.patternRelatedArtifact [ RelatedArtifact ] fhir:ElementDefinition.patternTriggerDefinition [ TriggerDefinition ] fhir:ElementDefinition.patternUsageContext [ UsageContext ] fhir:ElementDefinition.patternDosage [ Dosage ] fhir:ElementDefinition.patternMeta [ Meta ] fhir:ElementDefinition.example [ # 0..* Example value (as defined for type) fhir:ElementDefinition.example.label [ string ]; # 1..1 Describes the purpose of this example # ElementDefinition.example.value[x] : 1..1 Value of Example (one of allowed types). One of these 50 fhir:ElementDefinition.example.valueBase64Binary [ base64Binary ] fhir:ElementDefinition.example.valueBoolean [ boolean ] fhir:ElementDefinition.example.valueCanonical [ canonical ] fhir:ElementDefinition.example.valueCode [ code ] fhir:ElementDefinition.example.valueDate [ date ] fhir:ElementDefinition.example.valueDateTime [ dateTime ] fhir:ElementDefinition.example.valueDecimal [ decimal ] fhir:ElementDefinition.example.valueId [ id ] fhir:ElementDefinition.example.valueInstant [ instant ] fhir:ElementDefinition.example.valueInteger [ integer ] fhir:ElementDefinition.example.valueMarkdown [ markdown ] fhir:ElementDefinition.example.valueOid [ oid ] fhir:ElementDefinition.example.valuePositiveInt [ positiveInt ] fhir:ElementDefinition.example.valueString [ string ] fhir:ElementDefinition.example.valueTime [ time ] fhir:ElementDefinition.example.valueUnsignedInt [ unsignedInt ] fhir:ElementDefinition.example.valueUri [ uri ] fhir:ElementDefinition.example.valueUrl [ url ] fhir:ElementDefinition.example.valueUuid [ uuid ] fhir:ElementDefinition.example.valueAddress [ Address ] fhir:ElementDefinition.example.valueAge [ Age ] fhir:ElementDefinition.example.valueAnnotation [ Annotation ] fhir:ElementDefinition.example.valueAttachment [ Attachment ] fhir:ElementDefinition.example.valueCodeableConcept [ CodeableConcept ] fhir:ElementDefinition.example.valueCoding [ Coding ] fhir:ElementDefinition.example.valueContactPoint [ ContactPoint ] fhir:ElementDefinition.example.valueCount [ Count ] fhir:ElementDefinition.example.valueDistance [ Distance ] fhir:ElementDefinition.example.valueDuration [ Duration ] fhir:ElementDefinition.example.valueHumanName [ HumanName ] fhir:ElementDefinition.example.valueIdentifier [ Identifier ] fhir:ElementDefinition.example.valueMoney [ Money ] fhir:ElementDefinition.example.valuePeriod [ Period ] fhir:ElementDefinition.example.valueQuantity [ Quantity ] fhir:ElementDefinition.example.valueRange [ Range ] fhir:ElementDefinition.example.valueRatio [ Ratio ] fhir:ElementDefinition.example.valueReference [ Reference ] fhir:ElementDefinition.example.valueSampledData [ SampledData ] fhir:ElementDefinition.example.valueSignature [ Signature ] fhir:ElementDefinition.example.valueTiming [ Timing ] fhir:ElementDefinition.example.valueContactDetail [ ContactDetail ] fhir:ElementDefinition.example.valueContributor [ Contributor ] fhir:ElementDefinition.example.valueDataRequirement [ DataRequirement ] fhir:ElementDefinition.example.valueExpression [ Expression ] fhir:ElementDefinition.example.valueParameterDefinition [ ParameterDefinition ] fhir:ElementDefinition.example.valueRelatedArtifact [ RelatedArtifact ] fhir:ElementDefinition.example.valueTriggerDefinition [ TriggerDefinition ] fhir:ElementDefinition.example.valueUsageContext [ UsageContext ] fhir:ElementDefinition.example.valueDosage [ Dosage ] fhir:ElementDefinition.example.valueMeta [ Meta ] ], ...; # ElementDefinition.minValue[x] : 0..1 Minimum Allowed Value (for some types). One of these 9 fhir:ElementDefinition.minValueDate [ date ] fhir:ElementDefinition.minValueDateTime [ dateTime ] fhir:ElementDefinition.minValueInstant [ instant ] fhir:ElementDefinition.minValueTime [ time ] fhir:ElementDefinition.minValueDecimal [ decimal ] fhir:ElementDefinition.minValueInteger [ integer ] fhir:ElementDefinition.minValuePositiveInt [ positiveInt ] fhir:ElementDefinition.minValueUnsignedInt [ unsignedInt ] fhir:ElementDefinition.minValueQuantity [ Quantity ] # ElementDefinition.maxValue[x] : 0..1 Maximum Allowed Value (for some types). One of these 9 fhir:ElementDefinition.maxValueDate [ date ] fhir:ElementDefinition.maxValueDateTime [ dateTime ] fhir:ElementDefinition.maxValueInstant [ instant ] fhir:ElementDefinition.maxValueTime [ time ] fhir:ElementDefinition.maxValueDecimal [ decimal ] fhir:ElementDefinition.maxValueInteger [ integer ] fhir:ElementDefinition.maxValuePositiveInt [ positiveInt ] fhir:ElementDefinition.maxValueUnsignedInt [ unsignedInt ] fhir:ElementDefinition.maxValueQuantity [ Quantity ] fhir:ElementDefinition.maxLength [ integer ]; # 0..1 Max length for strings fhir:ElementDefinition.condition [ id ], ... ; # 0..* Reference to invariant about presence fhir:ElementDefinition.constraint [ # 0..* Condition that must evaluate to true fhir:ElementDefinition.constraint.key [ id ]; # 1..1 Target of 'condition' reference above fhir:ElementDefinition.constraint.requirements [ string ]; # 0..1 Why this constraint is necessary or appropriate fhir:ElementDefinition.constraint.severity [ code ]; # 1..1 error | warning fhir:ElementDefinition.constraint.human [ string ]; # 1..1 Human description of constraint fhir:ElementDefinition.constraint.expression [ string ]; # 0..1 FHIRPath expression of constraint fhir:ElementDefinition.constraint.xpath [ string ]; # 0..1 XPath expression of constraint fhir:ElementDefinition.constraint.source [ canonical(StructureDefinition) ]; # 0..1 Reference to original source of constraint ], ...; fhir:ElementDefinition.mustSupport [ boolean ]; # 0..1 If the element must be supported fhir:ElementDefinition.isModifier [ boolean ]; # 0..1 If this modifies the meaning of other elements fhir:ElementDefinition.isModifierReason [ string ]; # 0..1 Reason that this element is marked as a modifier fhir:ElementDefinition.isSummary [ boolean ]; # 0..1 Include when _summary = true? fhir:ElementDefinition.binding [ # 0..1 ValueSet details if this is coded fhir:ElementDefinition.binding.strength [ code ]; # 1..1 required | extensible | preferred | example fhir:ElementDefinition.binding.description [ string ]; # 0..1 Human explanation of the value set fhir:ElementDefinition.binding.valueSet [ canonical(ValueSet) ]; # 0..1 Source of value set ]; fhir:ElementDefinition.mapping [ # 0..* Map element to another set of definitions fhir:ElementDefinition.mapping.identity [ id ]; # 1..1 Reference to mapping declaration fhir:ElementDefinition.mapping.language [ code ]; # 0..1 Computable language of mapping fhir:ElementDefinition.mapping.map [ string ]; # 1..1 Details of the mapping fhir:ElementDefinition.mapping.comment [ string ]; # 0..1 Comments about the mapping or its use ], ...; ]
Changes since Release 3
ElementDefinition | |
ElementDefinition.representation |
|
ElementDefinition.sliceIsConstraining |
|
ElementDefinition.slicing.discriminator.type |
|
ElementDefinition.slicing.ordered |
|
ElementDefinition.slicing.rules |
|
ElementDefinition.type.profile |
|
ElementDefinition.type.targetProfile |
|
ElementDefinition.type.aggregation |
|
ElementDefinition.type.versioning |
|
ElementDefinition.defaultValue[x] |
|
ElementDefinition.fixed[x] |
|
ElementDefinition.pattern[x] |
|
ElementDefinition.example.value[x] |
|
ElementDefinition.constraint.severity |
|
ElementDefinition.constraint.expression |
|
ElementDefinition.constraint.source |
|
ElementDefinition.mustSupport |
|
ElementDefinition.isModifier |
|
ElementDefinition.isModifierReason |
|
ElementDefinition.isSummary |
|
ElementDefinition.binding.strength |
|
ElementDefinition.binding.valueSet |
|
ElementDefinition.mapping.language |
|
See the Full Difference for further information
Structure
Name | Flags | Card. | Type | Description & Constraints![]() |
---|---|---|---|---|
![]() ![]() | ΣIN | BackBoneElement | Definition of an element in a resource or extension + Rule: Min <= Max + Rule: if the element definition has a contentReference, it cannot have type, defaultValue, fixed, pattern, example, minValue, maxValue, maxLength, or binding + Rule: Fixed value may only be specified if there is one type + Rule: Pattern may only be specified if there is one type + Rule: Pattern and fixed are mutually exclusive + Rule: Binding can only be present for coded elements, string, and uri + Rule: Types must be unique by code + Rule: Constraints must be unique by key + Rule: default value and meaningWhenMissing are mutually exclusive + Rule: sliceName must be composed of proper tokens separated by "/" + Rule: Must have a modifier reason if isModifier = true + Rule: Element names cannot include some special characters + Warning: Element names should be simple alphanumerics with a max of 64 characters, or code generation tools may be broken + Rule: sliceIsConstraining can only appear if slicename is present Elements defined in Ancestors: id, extension, modifierExtension | |
![]() ![]() ![]() | Σ | 1..1 | string | Path of the element in the hierarchy of elements |
![]() ![]() ![]() | Σ | 0..* | code | xmlAttr | xmlText | typeAttr | cdaText | xhtml PropertyRepresentation (Required) |
![]() ![]() ![]() | Σ | 0..1 | string | Name for this particular element (in a set of slices) |
![]() ![]() ![]() | ΣTU | 0..1 | boolean | If this slice definition constrains an inherited slice definition (or not) |
![]() ![]() ![]() | Σ | 0..1 | string | Name for element to display with or prompt for element |
![]() ![]() ![]() | Σ | 0..* | Coding | Corresponding codes in terminologies LOINC Codes (Example) |
![]() ![]() ![]() | ΣI | 0..1 | Element | This element is sliced - slices follow + Rule: If there are no discriminators, there must be a definition |
![]() ![]() ![]() ![]() | Σ | 0..* | Element | Element values that are used to distinguish the slices |
![]() ![]() ![]() ![]() ![]() | Σ | 1..1 | code | value | exists | pattern | type | profile DiscriminatorType (Required) |
![]() ![]() ![]() ![]() ![]() | Σ | 1..1 | string | Path to element value |
![]() ![]() ![]() ![]() | ΣI | 0..1 | string | Text description of how slicing works (or not) |
![]() ![]() ![]() ![]() | Σ | 0..1 | boolean | If elements must be in same order as slices |
![]() ![]() ![]() ![]() | Σ | 1..1 | code | closed | open | openAtEnd SlicingRules (Required) |
![]() ![]() ![]() | Σ | 0..1 | string | Concise definition for space-constrained presentation |
![]() ![]() ![]() | Σ | 0..1 | markdown | Full formal definition as narrative text |
![]() ![]() ![]() | Σ | 0..1 | markdown | Comments about the use of this element |
![]() ![]() ![]() | Σ | 0..1 | markdown | Why this resource has been created |
![]() ![]() ![]() | Σ | 0..* | string | Other names |
![]() ![]() ![]() | ΣI | 0..1 | unsignedInt | Minimum Cardinality |
![]() ![]() ![]() | ΣI | 0..1 | string | Maximum Cardinality (a number or *) + Rule: Max SHALL be a number or "*" |
![]() ![]() ![]() | Σ | 0..1 | Element | Base definition information for tools |
![]() ![]() ![]() ![]() | Σ | 1..1 | string | Path that identifies the base element |
![]() ![]() ![]() ![]() | Σ | 1..1 | unsignedInt | Min cardinality of the base element |
![]() ![]() ![]() ![]() | Σ | 1..1 | string | Max cardinality of the base element |
![]() ![]() ![]() | ΣI | 0..1 | uri | Reference to definition of content for the element |
![]() ![]() ![]() | ΣI | 0..* | Element | Data type and Profile for this element + Rule: Aggregation may only be specified if one of the allowed types for the element is a reference + Rule: targetProfile is only allowed if the type is Reference or canonical |
![]() ![]() ![]() ![]() | Σ | 1..1 | uri | Data type or Resource (reference to definition) FHIRDefinedType (Extensible) |
![]() ![]() ![]() ![]() | Σ | 0..* | canonical(StructureDefinition | ImplementationGuide) | Profiles (StructureDefinition or IG) - one must apply |
![]() ![]() ![]() ![]() | Σ | 0..* | canonical(StructureDefinition | ImplementationGuide) | Profile (StructureDefinition or IG) on the Reference/canonical target - one must apply |
![]() ![]() ![]() ![]() | ΣI | 0..* | code | contained | referenced | bundled - how aggregated AggregationMode (Required) |
![]() ![]() ![]() ![]() | Σ | 0..1 | code | either | independent | specific ReferenceVersionRules (Required) |
![]() ![]() ![]() | ΣI | 0..1 | * | Specified value if missing from instance |
![]() ![]() ![]() | ΣI | 0..1 | markdown | Implicit meaning when this element is missing |
![]() ![]() ![]() | Σ | 0..1 | string | What the order of the elements means |
![]() ![]() ![]() | ΣI | 0..1 | * | Value must be exactly this |
![]() ![]() ![]() | ΣI | 0..1 | * | Value must have at least these property values |
![]() ![]() ![]() | Σ | 0..* | Element | Example value (as defined for type) |
![]() ![]() ![]() ![]() | Σ | 1..1 | string | Describes the purpose of this example |
![]() ![]() ![]() ![]() | Σ | 1..1 | * | Value of Example (one of allowed types) |
![]() ![]() ![]() | Σ | 0..1 | Minimum Allowed Value (for some types) | |
![]() ![]() ![]() ![]() | date | |||
![]() ![]() ![]() ![]() | dateTime | |||
![]() ![]() ![]() ![]() | instant | |||
![]() ![]() ![]() ![]() | time | |||
![]() ![]() ![]() ![]() | decimal | |||
![]() ![]() ![]() ![]() | integer | |||
![]() ![]() ![]() ![]() | positiveInt | |||
![]() ![]() ![]() ![]() | unsignedInt | |||
![]() ![]() ![]() ![]() | Quantity | |||
![]() ![]() ![]() | Σ | 0..1 | Maximum Allowed Value (for some types) | |
![]() ![]() ![]() ![]() | date | |||
![]() ![]() ![]() ![]() | dateTime | |||
![]() ![]() ![]() ![]() | instant | |||
![]() ![]() ![]() ![]() | time | |||
![]() ![]() ![]() ![]() | decimal | |||
![]() ![]() ![]() ![]() | integer | |||
![]() ![]() ![]() ![]() | positiveInt | |||
![]() ![]() ![]() ![]() | unsignedInt | |||
![]() ![]() ![]() ![]() | Quantity | |||
![]() ![]() ![]() | Σ | 0..1 | integer | Max length for strings |
![]() ![]() ![]() | Σ | 0..* | id | Reference to invariant about presence |
![]() ![]() ![]() | ΣI | 0..* | Element | Condition that must evaluate to true + Warning: Constraints should have an expression or else validators will not be able to enforce them |
![]() ![]() ![]() ![]() | ΣI | 1..1 | id | Target of 'condition' reference above |
![]() ![]() ![]() ![]() | Σ | 0..1 | string | Why this constraint is necessary or appropriate |
![]() ![]() ![]() ![]() | Σ | 1..1 | code | error | warning ConstraintSeverity (Required) |
![]() ![]() ![]() ![]() | Σ | 1..1 | string | Human description of constraint |
![]() ![]() ![]() ![]() | Σ | 0..1 | string | FHIRPath expression of constraint |
![]() ![]() ![]() ![]() | ΣTU | 0..1 | string | XPath expression of constraint |
![]() ![]() ![]() ![]() | Σ | 0..1 | canonical(StructureDefinition) | Reference to original source of constraint |
![]() ![]() ![]() | Σ | 0..1 | boolean | If the element must be supported |
![]() ![]() ![]() | Σ | 0..1 | boolean | If this modifies the meaning of other elements |
![]() ![]() ![]() | Σ | 0..1 | string | Reason that this element is marked as a modifier |
![]() ![]() ![]() | Σ | 0..1 | boolean | Include when _summary = true? |
![]() ![]() ![]() | ΣI | 0..1 | Element | ValueSet details if this is coded + Rule: ValueSet SHALL start with http:// or https:// or urn: |
![]() ![]() ![]() ![]() | Σ | 1..1 | code | required | extensible | preferred | example BindingStrength (Required) |
![]() ![]() ![]() ![]() | Σ | 0..1 | string | Human explanation of the value set |
![]() ![]() ![]() ![]() | ΣI | 0..1 | canonical(ValueSet) | Source of value set |
![]() ![]() ![]() | Σ | 0..* | Element | Map element to another set of definitions |
![]() ![]() ![]() ![]() | Σ | 1..1 | id | Reference to mapping declaration |
![]() ![]() ![]() ![]() | Σ | 0..1 | code | Computable language of mapping MimeType (Required) |
![]() ![]() ![]() ![]() | Σ | 1..1 | string | Details of the mapping |
![]() ![]() ![]() ![]() | Σ | 0..1 | string | Comments about the mapping or its use |
![]() |
XML Template
<ElementDefinition xmlns="http://hl7.org/fhir"> <!-- from BackboneElement: extension, modifierExtension --> <path value="[string]"/><!-- 1..1 Path of the element in the hierarchy of elements --> <representation value="[code]"/><!-- 0..* xmlAttr | xmlText | typeAttr | cdaText | xhtml --> <sliceName value="[string]"/><!-- 0..1 Name for this particular element (in a set of slices) --> <sliceIsConstraining value="[boolean]"/><!-- 0..1 If this slice definition constrains an inherited slice definition (or not) --> <label value="[string]"/><!-- 0..1 Name for element to display with or prompt for element --> <code><!-- 0..* Coding Corresponding codes in terminologies --></code> <slicing> <!-- 0..1 This element is sliced - slices follow --> <discriminator> <!-- 0..* Element values that are used to distinguish the slices --> <type value="[code]"/><!-- 1..1 value | exists | pattern | type | profile --> <path value="[string]"/><!-- 1..1 Path to element value --> </discriminator> <description value="[string]"/><!--0..1 Text description of how slicing works (or not) --> <ordered value="[boolean]"/><!-- 0..1 If elements must be in same order as slices --> <rules value="[code]"/><!-- 1..1 closed | open | openAtEnd --> </slicing> <short value="[string]"/><!-- 0..1 Concise definition for space-constrained presentation --> <definition value="[markdown]"/><!-- 0..1 Full formal definition as narrative text --> <comment value="[markdown]"/><!-- 0..1 Comments about the use of this element --> <requirements value="[markdown]"/><!-- 0..1 Why this resource has been created --> <alias value="[string]"/><!-- 0..* Other names --> <min value="[unsignedInt]"/><!--
0..1 Minimum Cardinality --> <max value="[string]"/><!--
0..1 Maximum Cardinality (a number or *) --> <base> <!-- 0..1 Base definition information for tools --> <path value="[string]"/><!-- 1..1 Path that identifies the base element --> <min value="[unsignedInt]"/><!-- 1..1 Min cardinality of the base element --> <max value="[string]"/><!-- 1..1 Max cardinality of the base element --> </base> <contentReference value="[uri]"/><!--
0..1 Reference to definition of content for the element --> <type> <!--
0..* Data type and Profile for this element --> <code value="[uri]"/><!-- 1..1 Data type or Resource (reference to definition) --> <profile><!-- 0..* canonical(StructureDefinition|ImplementationGuide) Profiles (StructureDefinition or IG) - one must apply --></profile> <targetProfile><!-- 0..* canonical(StructureDefinition|ImplementationGuide) Profile (StructureDefinition or IG) on the Reference/canonical target - one must apply --></targetProfile> <aggregation value="[code]"/><!--
0..* contained | referenced | bundled - how aggregated --> <versioning value="[code]"/><!-- 0..1 either | independent | specific --> </type> <defaultValue[x]><!--
0..1 * 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..1 * Value must be exactly this --></fixed[x]> <pattern[x]><!--
0..1 * Value must have at least these property values --></pattern[x]> <example> <!-- 0..* Example value (as defined for type) --> <label value="[string]"/><!-- 1..1 Describes the purpose of this example --> <value[x]><!-- 1..1 * Value of Example (one of allowed types) --></value[x]> </example> <minValue[x]><!-- 0..1 date|dateTime|instant|time|decimal|integer|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..* 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><!-- 0..1 canonical(StructureDefinition) Reference to original source of constraint --></source> </constraint> <mustSupport value="[boolean]"/><!-- 0..1 If the element must be supported --> <isModifier value="[boolean]"/><!-- 0..1 If this modifies the meaning of other elements --> <isModifierReason value="[string]"/><!-- 0..1 Reason that this element is marked as a modifier --> <isSummary value="[boolean]"/><!-- 0..1 Include when _summary = true? --> <binding> <!--
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><!--
0..1 canonical(ValueSet) Source of value set --></valueSet> </binding> <mapping> <!-- 0..* Map element to another set of definitions --> <identity value="[id]"/><!-- 1..1 Reference to mapping declaration --> <language value="[code]"/><!-- 0..1 Computable language of mapping --> <map value="[string]"/><!-- 1..1 Details of the mapping --> <comment value="[string]"/><!-- 0..1 Comments about the mapping or its use --> </mapping> </ElementDefinition>
JSON Template
{// from BackboneElement: extension, modifierExtension "path" : "<string>", // R! Path of the element in the hierarchy of elements "representation" : ["<code>"], // xmlAttr | xmlText | typeAttr | cdaText | xhtml "sliceName" : "<string>", // Name for this particular element (in a set of slices) "sliceIsConstraining" : <boolean>, // If this slice definition constrains an inherited slice definition (or not) "label" : "<string>", // Name for element to display with or prompt for element "code" : [{ Coding }], // Corresponding codes in terminologies "slicing" : { // This element is sliced - slices follow "discriminator" : [{ // Element values that are used to distinguish the slices "type" : "<code>", // R! value | exists | pattern | type | profile "path" : "<string>" // R! Path to element value }], "description" : "<string>", // C? Text description of how slicing works (or not) "ordered" : <boolean>, // If elements must be in same order as slices "rules" : "<code>" // R! closed | open | openAtEnd }, "short" : "<string>", // Concise definition for space-constrained presentation "definition" : "<markdown>", // Full formal definition as narrative text "comment" : "<markdown>", // Comments about the use of this element "requirements" : "<markdown>", // Why this resource has been created "alias" : ["<string>"], // Other names "min" : "<unsignedInt>", // C? Minimum Cardinality "max" : "<string>", // C? Maximum Cardinality (a number or *) "base" : { // Base definition information for tools "path" : "<string>", // R! Path that identifies the base element "min" : "<unsignedInt>", // R! Min cardinality of the base element "max" : "<string>" // R! Max cardinality of the base element }, "contentReference" : "<uri>", // C? Reference to definition of content for the element "type" : [{ // C? Data type and Profile for this element "code" : "<uri>", // R! Data type or Resource (reference to definition) "profile" : [{ canonical(StructureDefinition|ImplementationGuide) }], // Profiles (StructureDefinition or IG) - one must apply "targetProfile" : [{ canonical(StructureDefinition|ImplementationGuide) }], // Profile (StructureDefinition or IG) on the Reference/canonical target - one must apply "aggregation" : ["<code>"], // C? contained | referenced | bundled - how aggregated "versioning" : "<code>" // either | independent | specific }], // defaultValue[x]: Specified value if missing from instance. One of these 50: "defaultValueBase64Binary" : "<base64Binary>", "defaultValueBoolean" : <boolean>, "defaultValueCanonical" : "<canonical>", "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" : { Coding }, "defaultValueContactPoint" : { ContactPoint }, "defaultValueCount" : { Count }, "defaultValueDistance" : { Distance }, "defaultValueDuration" : { Duration }, "defaultValueHumanName" : { HumanName }, "defaultValueIdentifier" : { Identifier }, "defaultValueMoney" : { Money }, "defaultValuePeriod" : { Period }, "defaultValueQuantity" : { Quantity }, "defaultValueRange" : { Range }, "defaultValueRatio" : { Ratio }, "defaultValueReference" : { Reference }, "defaultValueSampledData" : { SampledData }, "defaultValueSignature" : { Signature }, "defaultValueTiming" : { Timing }, "defaultValueContactDetail" : { ContactDetail }, "defaultValueContributor" : { Contributor }, "defaultValueDataRequirement" : { DataRequirement }, "defaultValueExpression" : { Expression }, "defaultValueParameterDefinition" : { ParameterDefinition }, "defaultValueRelatedArtifact" : { RelatedArtifact }, "defaultValueTriggerDefinition" : { TriggerDefinition }, "defaultValueUsageContext" : { UsageContext }, "defaultValueDosage" : { Dosage }, "defaultValueMeta" : { Meta }, "meaningWhenMissing" : "<markdown>", // C? Implicit meaning when this element is missing "orderMeaning" : "<string>", // What the order of the elements means // fixed[x]: Value must be exactly this. One of these 50: "fixedBase64Binary" : "<base64Binary>", "fixedBoolean" : <boolean>, "fixedCanonical" : "<canonical>", "fixedCode" : "<code>", "fixedDate" : "<date>", "fixedDateTime" : "<dateTime>", "fixedDecimal" : <decimal>, "fixedId" : "<id>", "fixedInstant" : "<instant>", "fixedInteger" : <integer>, "fixedMarkdown" : "<markdown>", "fixedOid" : "<oid>", "fixedPositiveInt" : "<positiveInt>", "fixedString" : "<string>", "fixedTime" : "<time>", "fixedUnsignedInt" : "<unsignedInt>", "fixedUri" : "<uri>", "fixedUrl" : "<url>", "fixedUuid" : "<uuid>", "fixedAddress" : { Address }, "fixedAge" : { Age }, "fixedAnnotation" : { Annotation }, "fixedAttachment" : { Attachment }, "fixedCodeableConcept" : { CodeableConcept }, "fixedCoding" : { Coding }, "fixedContactPoint" : { ContactPoint }, "fixedCount" : { Count }, "fixedDistance" : { Distance }, "fixedDuration" : { Duration }, "fixedHumanName" : { HumanName }, "fixedIdentifier" : { Identifier }, "fixedMoney" : { Money }, "fixedPeriod" : { Period }, "fixedQuantity" : { Quantity }, "fixedRange" : { Range }, "fixedRatio" : { Ratio }, "fixedReference" : { Reference }, "fixedSampledData" : { SampledData }, "fixedSignature" : { Signature }, "fixedTiming" : { Timing }, "fixedContactDetail" : { ContactDetail }, "fixedContributor" : { Contributor }, "fixedDataRequirement" : { DataRequirement }, "fixedExpression" : { Expression }, "fixedParameterDefinition" : { ParameterDefinition }, "fixedRelatedArtifact" : { RelatedArtifact }, "fixedTriggerDefinition" : { TriggerDefinition }, "fixedUsageContext" : { UsageContext }, "fixedDosage" : { Dosage }, "fixedMeta" : { Meta }, // pattern[x]: Value must have at least these property values. One of these 50: "patternBase64Binary" : "<base64Binary>", "patternBoolean" : <boolean>, "patternCanonical" : "<canonical>", "patternCode" : "<code>", "patternDate" : "<date>", "patternDateTime" : "<dateTime>", "patternDecimal" : <decimal>, "patternId" : "<id>", "patternInstant" : "<instant>", "patternInteger" : <integer>, "patternMarkdown" : "<markdown>", "patternOid" : "<oid>", "patternPositiveInt" : "<positiveInt>", "patternString" : "<string>", "patternTime" : "<time>", "patternUnsignedInt" : "<unsignedInt>", "patternUri" : "<uri>", "patternUrl" : "<url>", "patternUuid" : "<uuid>", "patternAddress" : { Address }, "patternAge" : { Age }, "patternAnnotation" : { Annotation }, "patternAttachment" : { Attachment }, "patternCodeableConcept" : { CodeableConcept }, "patternCoding" : { Coding }, "patternContactPoint" : { ContactPoint }, "patternCount" : { Count }, "patternDistance" : { Distance }, "patternDuration" : { Duration }, "patternHumanName" : { HumanName }, "patternIdentifier" : { Identifier }, "patternMoney" : { Money }, "patternPeriod" : { Period }, "patternQuantity" : { Quantity }, "patternRange" : { Range }, "patternRatio" : { Ratio }, "patternReference" : { Reference }, "patternSampledData" : { SampledData }, "patternSignature" : { Signature }, "patternTiming" : { Timing }, "patternContactDetail" : { ContactDetail }, "patternContributor" : { Contributor }, "patternDataRequirement" : { DataRequirement }, "patternExpression" : { Expression }, "patternParameterDefinition" : { ParameterDefinition }, "patternRelatedArtifact" : { RelatedArtifact }, "patternTriggerDefinition" : { TriggerDefinition }, "patternUsageContext" : { UsageContext }, "patternDosage" : { Dosage }, "patternMeta" : { Meta }, "example" : [{ // Example value (as defined for type) "label" : "<string>", // R! Describes the purpose of this example // value[x]: Value of Example (one of allowed types). One of these 50: "valueBase64Binary" : "<base64Binary>" "valueBoolean" : <boolean> "valueCanonical" : "<canonical>" "valueCode" : "<code>" "valueDate" : "<date>" "valueDateTime" : "<dateTime>" "valueDecimal" : <decimal> "valueId" : "<id>" "valueInstant" : "<instant>" "valueInteger" : <integer> "valueMarkdown" : "<markdown>" "valueOid" : "<oid>" "valuePositiveInt" : "<positiveInt>" "valueString" : "<string>" "valueTime" : "<time>" "valueUnsignedInt" : "<unsignedInt>" "valueUri" : "<uri>" "valueUrl" : "<url>" "valueUuid" : "<uuid>" "valueAddress" : { Address } "valueAge" : { Age } "valueAnnotation" : { Annotation } "valueAttachment" : { Attachment } "valueCodeableConcept" : { CodeableConcept } "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" : { Reference } "valueSampledData" : { SampledData } "valueSignature" : { Signature } "valueTiming" : { Timing } "valueContactDetail" : { ContactDetail } "valueContributor" : { Contributor } "valueDataRequirement" : { DataRequirement } "valueExpression" : { Expression } "valueParameterDefinition" : { ParameterDefinition } "valueRelatedArtifact" : { RelatedArtifact } "valueTriggerDefinition" : { TriggerDefinition } "valueUsageContext" : { UsageContext } "valueDosage" : { Dosage } "valueMeta" : { Meta } }], // minValue[x]: Minimum Allowed Value (for some types). One of these 9: "minValueDate" : "<date>", "minValueDateTime" : "<dateTime>", "minValueInstant" : "<instant>", "minValueTime" : "<time>", "minValueDecimal" : <decimal>, "minValueInteger" : <integer>, "minValuePositiveInt" : "<positiveInt>", "minValueUnsignedInt" : "<unsignedInt>", "minValueQuantity" : { Quantity }, // maxValue[x]: Maximum Allowed Value (for some types). One of these 9: "maxValueDate" : "<date>", "maxValueDateTime" : "<dateTime>", "maxValueInstant" : "<instant>", "maxValueTime" : "<time>", "maxValueDecimal" : <decimal>, "maxValueInteger" : <integer>, "maxValuePositiveInt" : "<positiveInt>", "maxValueUnsignedInt" : "<unsignedInt>", "maxValueQuantity" : { Quantity }, "maxLength" : <integer>, // Max length for strings "condition" : ["<id>"], // Reference to invariant about presence "constraint" : [{ // Condition that must evaluate to true "key" : "<id>", // C? R! Target of 'condition' reference above "requirements" : "<string>", // Why this constraint is necessary or appropriate "severity" : "<code>", // R! error | warning "human" : "<string>", // R! Human description of constraint "expression" : "<string>", // FHIRPath expression of constraint "xpath" : "<string>", // XPath expression of constraint "source" : { canonical(StructureDefinition) } // Reference to original source of constraint }], "mustSupport" : <boolean>, // If the element must be supported "isModifier" : <boolean>, // If this modifies the meaning of other elements "isModifierReason" : "<string>", // Reason that this element is marked as a modifier "isSummary" : <boolean>, // Include when _summary = true? "binding" : { // C? ValueSet details if this is coded "strength" : "<code>", // R! required | extensible | preferred | example "description" : "<string>", // Human explanation of the value set "valueSet" : { canonical(ValueSet) } // C? Source of value set }, "mapping" : [{ // Map element to another set of definitions "identity" : "<id>", // R! Reference to mapping declaration "language" : "<code>", // Computable language of mapping "map" : "<string>", // R! Details of the mapping "comment" : "<string>" // Comments about the mapping or its use }] }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ # from BackboneElement: Element.extension, BackboneElement.modifierextension fhir:ElementDefinition.path [ string ]; # 1..1 Path of the element in the hierarchy of elements fhir:ElementDefinition.representation [ code ], ... ; # 0..* xmlAttr | xmlText | typeAttr | cdaText | xhtml fhir:ElementDefinition.sliceName [ string ]; # 0..1 Name for this particular element (in a set of slices) fhir:ElementDefinition.sliceIsConstraining [ boolean ]; # 0..1 If this slice definition constrains an inherited slice definition (or not) fhir:ElementDefinition.label [ string ]; # 0..1 Name for element to display with or prompt for element fhir:ElementDefinition.code [ Coding ], ... ; # 0..* Corresponding codes in terminologies fhir:ElementDefinition.slicing [ # 0..1 This element is sliced - slices follow fhir:ElementDefinition.slicing.discriminator [ # 0..* Element values that are used to distinguish the slices fhir:ElementDefinition.slicing.discriminator.type [ code ]; # 1..1 value | exists | pattern | type | profile fhir:ElementDefinition.slicing.discriminator.path [ string ]; # 1..1 Path to element value ], ...; fhir:ElementDefinition.slicing.description [ string ]; # 0..1 Text description of how slicing works (or not) fhir:ElementDefinition.slicing.ordered [ boolean ]; # 0..1 If elements must be in same order as slices fhir:ElementDefinition.slicing.rules [ code ]; # 1..1 closed | open | openAtEnd ]; fhir:ElementDefinition.short [ string ]; # 0..1 Concise definition for space-constrained presentation fhir:ElementDefinition.definition [ markdown ]; # 0..1 Full formal definition as narrative text fhir:ElementDefinition.comment [ markdown ]; # 0..1 Comments about the use of this element fhir:ElementDefinition.requirements [ markdown ]; # 0..1 Why this resource has been created fhir:ElementDefinition.alias [ string ], ... ; # 0..* Other names fhir:ElementDefinition.min [ unsignedInt ]; # 0..1 Minimum Cardinality fhir:ElementDefinition.max [ string ]; # 0..1 Maximum Cardinality (a number or *) fhir:ElementDefinition.base [ # 0..1 Base definition information for tools fhir:ElementDefinition.base.path [ string ]; # 1..1 Path that identifies the base element fhir:ElementDefinition.base.min [ unsignedInt ]; # 1..1 Min cardinality of the base element fhir:ElementDefinition.base.max [ string ]; # 1..1 Max cardinality of the base element ]; fhir:ElementDefinition.contentReference [ uri ]; # 0..1 Reference to definition of content for the element fhir:ElementDefinition.type [ # 0..* Data type and Profile for this element fhir:ElementDefinition.type.code [ uri ]; # 1..1 Data type or Resource (reference to definition) fhir:ElementDefinition.type.profile [ canonical(StructureDefinition|ImplementationGuide) ], ... ; # 0..* Profiles (StructureDefinition or IG) - one must apply fhir:ElementDefinition.type.targetProfile [ canonical(StructureDefinition|ImplementationGuide) ], ... ; # 0..* Profile (StructureDefinition or IG) on the Reference/canonical target - one must apply fhir:ElementDefinition.type.aggregation [ code ], ... ; # 0..* contained | referenced | bundled - how aggregated fhir:ElementDefinition.type.versioning [ code ]; # 0..1 either | independent | specific ], ...; # ElementDefinition.defaultValue[x] : 0..1 Specified value if missing from instance. One of these 50 fhir:ElementDefinition.defaultValueBase64Binary [ base64Binary ] fhir:ElementDefinition.defaultValueBoolean [ boolean ] fhir:ElementDefinition.defaultValueCanonical [ canonical ] fhir:ElementDefinition.defaultValueCode [ code ] fhir:ElementDefinition.defaultValueDate [ date ] fhir:ElementDefinition.defaultValueDateTime [ dateTime ] fhir:ElementDefinition.defaultValueDecimal [ decimal ] fhir:ElementDefinition.defaultValueId [ id ] fhir:ElementDefinition.defaultValueInstant [ instant ] fhir:ElementDefinition.defaultValueInteger [ integer ] fhir:ElementDefinition.defaultValueMarkdown [ markdown ] fhir:ElementDefinition.defaultValueOid [ oid ] fhir:ElementDefinition.defaultValuePositiveInt [ positiveInt ] fhir:ElementDefinition.defaultValueString [ string ] fhir:ElementDefinition.defaultValueTime [ time ] fhir:ElementDefinition.defaultValueUnsignedInt [ unsignedInt ] fhir:ElementDefinition.defaultValueUri [ uri ] fhir:ElementDefinition.defaultValueUrl [ url ] fhir:ElementDefinition.defaultValueUuid [ uuid ] fhir:ElementDefinition.defaultValueAddress [ Address ] fhir:ElementDefinition.defaultValueAge [ Age ] fhir:ElementDefinition.defaultValueAnnotation [ Annotation ] fhir:ElementDefinition.defaultValueAttachment [ Attachment ] fhir:ElementDefinition.defaultValueCodeableConcept [ CodeableConcept ] fhir:ElementDefinition.defaultValueCoding [ Coding ] fhir:ElementDefinition.defaultValueContactPoint [ ContactPoint ] fhir:ElementDefinition.defaultValueCount [ Count ] fhir:ElementDefinition.defaultValueDistance [ Distance ] fhir:ElementDefinition.defaultValueDuration [ Duration ] fhir:ElementDefinition.defaultValueHumanName [ HumanName ] fhir:ElementDefinition.defaultValueIdentifier [ Identifier ] fhir:ElementDefinition.defaultValueMoney [ Money ] fhir:ElementDefinition.defaultValuePeriod [ Period ] fhir:ElementDefinition.defaultValueQuantity [ Quantity ] fhir:ElementDefinition.defaultValueRange [ Range ] fhir:ElementDefinition.defaultValueRatio [ Ratio ] fhir:ElementDefinition.defaultValueReference [ Reference ] fhir:ElementDefinition.defaultValueSampledData [ SampledData ] fhir:ElementDefinition.defaultValueSignature [ Signature ] fhir:ElementDefinition.defaultValueTiming [ Timing ] fhir:ElementDefinition.defaultValueContactDetail [ ContactDetail ] fhir:ElementDefinition.defaultValueContributor [ Contributor ] fhir:ElementDefinition.defaultValueDataRequirement [ DataRequirement ] fhir:ElementDefinition.defaultValueExpression [ Expression ] fhir:ElementDefinition.defaultValueParameterDefinition [ ParameterDefinition ] fhir:ElementDefinition.defaultValueRelatedArtifact [ RelatedArtifact ] fhir:ElementDefinition.defaultValueTriggerDefinition [ TriggerDefinition ] fhir:ElementDefinition.defaultValueUsageContext [ UsageContext ] fhir:ElementDefinition.defaultValueDosage [ Dosage ] fhir:ElementDefinition.defaultValueMeta [ Meta ] fhir:ElementDefinition.meaningWhenMissing [ markdown ]; # 0..1 Implicit meaning when this element is missing fhir:ElementDefinition.orderMeaning [ string ]; # 0..1 What the order of the elements means # ElementDefinition.fixed[x] : 0..1 Value must be exactly this. One of these 50 fhir:ElementDefinition.fixedBase64Binary [ base64Binary ] fhir:ElementDefinition.fixedBoolean [ boolean ] fhir:ElementDefinition.fixedCanonical [ canonical ] fhir:ElementDefinition.fixedCode [ code ] fhir:ElementDefinition.fixedDate [ date ] fhir:ElementDefinition.fixedDateTime [ dateTime ] fhir:ElementDefinition.fixedDecimal [ decimal ] fhir:ElementDefinition.fixedId [ id ] fhir:ElementDefinition.fixedInstant [ instant ] fhir:ElementDefinition.fixedInteger [ integer ] fhir:ElementDefinition.fixedMarkdown [ markdown ] fhir:ElementDefinition.fixedOid [ oid ] fhir:ElementDefinition.fixedPositiveInt [ positiveInt ] fhir:ElementDefinition.fixedString [ string ] fhir:ElementDefinition.fixedTime [ time ] fhir:ElementDefinition.fixedUnsignedInt [ unsignedInt ] fhir:ElementDefinition.fixedUri [ uri ] fhir:ElementDefinition.fixedUrl [ url ] fhir:ElementDefinition.fixedUuid [ uuid ] fhir:ElementDefinition.fixedAddress [ Address ] fhir:ElementDefinition.fixedAge [ Age ] fhir:ElementDefinition.fixedAnnotation [ Annotation ] fhir:ElementDefinition.fixedAttachment [ Attachment ] fhir:ElementDefinition.fixedCodeableConcept [ CodeableConcept ] fhir:ElementDefinition.fixedCoding [ Coding ] fhir:ElementDefinition.fixedContactPoint [ ContactPoint ] fhir:ElementDefinition.fixedCount [ Count ] fhir:ElementDefinition.fixedDistance [ Distance ] fhir:ElementDefinition.fixedDuration [ Duration ] fhir:ElementDefinition.fixedHumanName [ HumanName ] fhir:ElementDefinition.fixedIdentifier [ Identifier ] fhir:ElementDefinition.fixedMoney [ Money ] fhir:ElementDefinition.fixedPeriod [ Period ] fhir:ElementDefinition.fixedQuantity [ Quantity ] fhir:ElementDefinition.fixedRange [ Range ] fhir:ElementDefinition.fixedRatio [ Ratio ] fhir:ElementDefinition.fixedReference [ Reference ] fhir:ElementDefinition.fixedSampledData [ SampledData ] fhir:ElementDefinition.fixedSignature [ Signature ] fhir:ElementDefinition.fixedTiming [ Timing ] fhir:ElementDefinition.fixedContactDetail [ ContactDetail ] fhir: