elementdefinition-inheritedExtensibleValueSet.xml
  1 <?xml version="1.0" encoding="utf-8"?>
  2 <StructureDefinition xmlns="http://hl7.org/fhir">
  3   <id value="elementdefinition-inheritedExtensibleValueSet" />
  4   <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-wg">
  5     <valueCode value="fhir" />
  6   </extension>
  7   <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm">
  8     <valueInteger value="1" />
  9   </extension>
 10   <url value="http://hl7.org/fhir/StructureDefinition/elementdefinition-inheritedExtensibleValueSet" />
 11   <version value="4.0.1" />
 12   <name value="inheritedExtensibleValueSet" />
 13   <status value="draft" />
 14   <date value="2015-02-28" />
 15   <publisher value="Health Level Seven, Inc. - FHIR Core WG" />
 16   <contact>
 17     <telecom>
 18       <system value="url" />
 19       <value value="http://hl7.org/special/committees/FHIR" />
 20     </telecom>
 21   </contact>
 22   <description value="A reference to an extensible value set specified in a parent profie in order to allow a conformance checking tool to validate that a code not in the extensible value set of the profile is not violating rules defined by parent profile bindings." />
 23   <fhirVersion value="4.0.1" />
 24   <mapping>
 25     <identity value="rim" />
 26     <uri value="http://hl7.org/v3" />
 27     <name value="RIM Mapping" />
 28   </mapping>
 29   <kind value="complex-type" />
 30   <abstract value="false" />
 31   <context>
 32     <type value="element" />
 33     <expression value="ElementDefinition.binding" />
 34   </context>
 35   <type value="Extension" />
 36   <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Extension" />
 37   <derivation value="constraint" />
 38   <snapshot>
 39     <element id="Extension">
 40       <path value="Extension" />
 41       <short value="An extensible Value Set specified in a parent profile" />
 42       <definition value="A reference to an extensible value set specified in a parent profie in order to allow a conformance checking tool to validate that a code not in the extensible value set of the profile is not violating rules defined by parent profile bindings." />
 43       <comment value="This extension is only needed where the binding strength is 'extensible', the parents are also 'extensible'. This allows a validator to work around the fact that restricting extensible value sets in child profiles loses constraints out of the parent profiles, (e.g. codes to be used when appropriate)." />
 44       <min value="0" />
 45       <max value="*" />
 46       <base>
 47         <path value="Extension" />
 48         <min value="0" />
 49         <max value="*" />
 50       </base>
 51       <condition value="ele-1" />
 52       <constraint>
 53         <key value="ele-1" />
 54         <severity value="error" />
 55         <human value="All FHIR elements must have a @value or children" />
 56         <expression value="hasValue() or (children().count() > id.count())" />
 57         <xpath value="@value|f:*|h:div" />
 58         <source value="http://hl7.org/fhir/StructureDefinition/Element" />
 59       </constraint>
 60       <constraint>
 61         <key value="ext-1" />
 62         <severity value="error" />
 63         <human value="Must have either extensions or value[x], not both" />
 64         <expression value="extension.exists() != value.exists()" />
 65         <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" />
 66         <source value="http://hl7.org/fhir/StructureDefinition/Extension" />
 67       </constraint>
 68       <isModifier value="false" />
 69       <mapping>
 70         <identity value="rim" />
 71         <map value="N/A (MIF territory)" />
 72       </mapping>
 73     </element>
 74     <element id="Extension.id">
 75       <path value="Extension.id" />
 76       <representation value="xmlAttr" />
 77       <short value="Unique id for inter-element referencing" />
 78       <definition value="Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." />
 79       <min value="0" />
 80       <max value="1" />
 81       <base>
 82         <path value="Element.id" />
 83         <min value="0" />
 84         <max value="1" />
 85       </base>
 86       <type>
 87         <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type">
 88           <valueUrl value="string" />
 89         </extension>
 90         <code value="http://hl7.org/fhirpath/System.String" />
 91       </type>
 92       <isModifier value="false" />
 93       <isSummary value="false" />
 94       <mapping>
 95         <identity value="rim" />
 96         <map value="n/a" />
 97       </mapping>
 98     </element>
 99     <element id="Extension.extension">
100       <path value="Extension.extension" />
101       <slicing>
102         <discriminator>
103           <type value="value" />
104           <path value="url" />
105         </discriminator>
106         <description value="Extensions are always sliced by (at least) url" />
107         <rules value="open" />
108       </slicing>
109       <short value="Extension" />
110       <definition value="An Extension" />
111       <min value="0" />
112       <max value="0" />
113       <base>
114         <path value="Element.extension" />
115         <min value="0" />
116         <max value="*" />
117       </base>
118       <type>
119         <code value="Extension" />
120       </type>
121       <constraint>
122         <key value="ele-1" />
123         <severity value="error" />
124         <human value="All FHIR elements must have a @value or children" />
125         <expression value="hasValue() or (children().count() > id.count())" />
126         <xpath value="@value|f:*|h:div" />
127         <source value="http://hl7.org/fhir/StructureDefinition/Element" />
128       </constraint>
129       <constraint>
130         <key value="ext-1" />
131         <severity value="error" />
132         <human value="Must have either extensions or value[x], not both" />
133         <expression value="extension.exists() != value.exists()" />
134         <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])" />
135         <source value="http://hl7.org/fhir/StructureDefinition/Extension" />
136       </constraint>
137       <isModifier value="false" />
138       <isSummary value="false" />
139     </element>
140     <element id="Extension.url">
141       <path value="Extension.url" />
142       <representation value="xmlAttr" />
143       <short value="identifies the meaning of the extension" />
144       <definition value="Source of the definition for the extension code - a logical name or a URL." />
145       <comment value="The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension." />
146       <min value="1" />
147       <max value="1" />
148       <base>
149         <path value="Extension.url" />
150         <min value="1" />
151         <max value="1" />
152       </base>
153       <type>
154         <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type">
155           <valueUrl value="uri" />
156         </extension>
157         <code value="http://hl7.org/fhirpath/System.String" />
158       </type>
159       <fixedUri value="http://hl7.org/fhir/StructureDefinition/elementdefinition-inheritedExtensibleValueSet" />
160       <isModifier value="false" />
161       <isSummary value="false" />
162       <mapping>
163         <identity value="rim" />
164         <map value="N/A" />
165       </mapping>
166     </element>
167     <element id="Extension.value[x]">
168       <path value="Extension.value[x]" />
169       <short value="Value of extension" />
170       <definition value="Value of extension - must be one of a constrained set of the data types (see [Extensibility](http://hl7.org/fhir/extensibility.html) for a list)." />
171       <min value="1" />
172       <max value="1" />
173       <base>
174         <path value="Extension.value[x]" />
175         <min value="0" />
176         <max value="1" />
177       </base>
178       <type>
179         <code value="uri" />
180       </type>
181       <type>
182         <code value="canonical" />
183         <targetProfile value="http://hl7.org/fhir/StructureDefinition/ValueSet" />
184       </type>
185       <constraint>
186         <key value="ele-1" />
187         <severity value="error" />
188         <human value="All FHIR elements must have a @value or children" />
189         <expression value="hasValue() or (children().count() > id.count())" />
190         <xpath value="@value|f:*|h:div" />
191         <source value="http://hl7.org/fhir/StructureDefinition/Element" />
192       </constraint>
193       <isModifier value="false" />
194       <isSummary value="false" />
195       <mapping>
196         <identity value="rim" />
197         <map value="N/A" />
198       </mapping>
199     </element>
200   </snapshot>
201   <differential>
202     <element id="Extension">
203       <path value="Extension" />
204       <short value="An extensible Value Set specified in a parent profile" />
205       <definition value="A reference to an extensible value set specified in a parent profie in order to allow a conformance checking tool to validate that a code not in the extensible value set of the profile is not violating rules defined by parent profile bindings." />
206       <comment value="This extension is only needed where the binding strength is 'extensible', the parents are also 'extensible'. This allows a validator to work around the fact that restricting extensible value sets in child profiles loses constraints out of the parent profiles, (e.g. codes to be used when appropriate)." />
207       <min value="0" />
208       <max value="*" />
209       <mapping>
210         <identity value="rim" />
211         <map value="N/A (MIF territory)" />
212       </mapping>
213     </element>
214     <element id="Extension.extension">
215       <path value="Extension.extension" />
216       <max value="0" />
217     </element>
218     <element id="Extension.url">
219       <path value="Extension.url" />
220       <fixedUri value="http://hl7.org/fhir/StructureDefinition/elementdefinition-inheritedExtensibleValueSet" />
221     </element>
222     <element id="Extension.value[x]">
223       <path value="Extension.value[x]" />
224       <min value="1" />
225       <type>
226         <code value="uri" />
227       </type>
228       <type>
229         <code value="canonical" />
230         <targetProfile value="http://hl7.org/fhir/StructureDefinition/ValueSet" />
231       </type>
232     </element>
233   </differential>
234 </StructureDefinition>