valueset-expand-rules.xml
  1 <?xml version="1.0" encoding="utf-8"?>
  2 <StructureDefinition xmlns="http://hl7.org/fhir">
  3   <id value="valueset-expand-rules" />
  4   <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-wg">
  5     <valueCode value="vocab" />
  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/valueset-expand-rules" />
 11   <version value="4.0.1" />
 12   <name value="expand-rules" />
 13   <status value="draft" />
 14   <date value="2019-10-31T23:29:23.0000000+01:00" />
 15   <publisher value="HL7" />
 16   <description value="Defines how concepts are processed into the expansion when it's for UI presentation." />
 17   <fhirVersion value="4.0.1" />
 18   <mapping>
 19     <identity value="rim" />
 20     <uri value="http://hl7.org/v3" />
 21     <name value="RIM Mapping" />
 22   </mapping>
 23   <kind value="complex-type" />
 24   <abstract value="false" />
 25   <context>
 26     <type value="element" />
 27     <expression value="ValueSet.compose.include" />
 28   </context>
 29   <type value="Extension" />
 30   <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Extension" />
 31   <derivation value="constraint" />
 32   <snapshot>
 33     <element id="Extension">
 34       <path value="Extension" />
 35       <short value="all-codes | ungrouped | groups-only" />
 36       <definition value="Defines how concepts are processed into the expansion when it's for UI presentation." />
 37       <min value="0" />
 38       <max value="1" />
 39       <base>
 40         <path value="Extension" />
 41         <min value="0" />
 42         <max value="*" />
 43       </base>
 44       <condition value="ele-1" />
 45       <constraint>
 46         <key value="ele-1" />
 47         <severity value="error" />
 48         <human value="All FHIR elements must have a @value or children" />
 49         <expression value="hasValue() or (children().count() > id.count())" />
 50         <xpath value="@value|f:*|h:div" />
 51         <source value="http://hl7.org/fhir/StructureDefinition/Element" />
 52       </constraint>
 53       <constraint>
 54         <key value="ext-1" />
 55         <severity value="error" />
 56         <human value="Must have either extensions or value[x], not both" />
 57         <expression value="extension.exists() != value.exists()" />
 58         <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" />
 59         <source value="http://hl7.org/fhir/StructureDefinition/Extension" />
 60       </constraint>
 61       <isModifier value="false" />
 62     </element>
 63     <element id="Extension.id">
 64       <path value="Extension.id" />
 65       <representation value="xmlAttr" />
 66       <short value="Unique id for inter-element referencing" />
 67       <definition value="Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." />
 68       <min value="0" />
 69       <max value="1" />
 70       <base>
 71         <path value="Element.id" />
 72         <min value="0" />
 73         <max value="1" />
 74       </base>
 75       <type>
 76         <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type">
 77           <valueUrl value="string" />
 78         </extension>
 79         <code value="http://hl7.org/fhirpath/System.String" />
 80       </type>
 81       <isModifier value="false" />
 82       <isSummary value="false" />
 83       <mapping>
 84         <identity value="rim" />
 85         <map value="n/a" />
 86       </mapping>
 87     </element>
 88     <element id="Extension.extension">
 89       <path value="Extension.extension" />
 90       <slicing>
 91         <discriminator>
 92           <type value="value" />
 93           <path value="url" />
 94         </discriminator>
 95         <description value="Extensions are always sliced by (at least) url" />
 96         <rules value="open" />
 97       </slicing>
 98       <short value="Extension" />
 99       <definition value="An Extension" />
100       <min value="0" />
101       <max value="0" />
102       <base>
103         <path value="Element.extension" />
104         <min value="0" />
105         <max value="*" />
106       </base>
107       <type>
108         <code value="Extension" />
109       </type>
110       <constraint>
111         <key value="ele-1" />
112         <severity value="error" />
113         <human value="All FHIR elements must have a @value or children" />
114         <expression value="hasValue() or (children().count() > id.count())" />
115         <xpath value="@value|f:*|h:div" />
116         <source value="http://hl7.org/fhir/StructureDefinition/Element" />
117       </constraint>
118       <constraint>
119         <key value="ext-1" />
120         <severity value="error" />
121         <human value="Must have either extensions or value[x], not both" />
122         <expression value="extension.exists() != value.exists()" />
123         <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])" />
124         <source value="http://hl7.org/fhir/StructureDefinition/Extension" />
125       </constraint>
126       <isModifier value="false" />
127       <isSummary value="false" />
128     </element>
129     <element id="Extension.url">
130       <path value="Extension.url" />
131       <representation value="xmlAttr" />
132       <short value="identifies the meaning of the extension" />
133       <definition value="Source of the definition for the extension code - a logical name or a URL." />
134       <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." />
135       <min value="1" />
136       <max value="1" />
137       <base>
138         <path value="Extension.url" />
139         <min value="1" />
140         <max value="1" />
141       </base>
142       <type>
143         <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type">
144           <valueUrl value="uri" />
145         </extension>
146         <code value="http://hl7.org/fhirpath/System.String" />
147       </type>
148       <fixedUri value="http://hl7.org/fhir/StructureDefinition/valueset-expand-rules" />
149       <isModifier value="false" />
150       <isSummary value="false" />
151       <mapping>
152         <identity value="rim" />
153         <map value="N/A" />
154       </mapping>
155     </element>
156     <element id="Extension.value[x]">
157       <path value="Extension.value[x]" />
158       <short value="Value of extension" />
159       <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)." />
160       <min value="1" />
161       <max value="1" />
162       <base>
163         <path value="Extension.value[x]" />
164         <min value="0" />
165         <max value="1" />
166       </base>
167       <type>
168         <code value="code" />
169       </type>
170       <constraint>
171         <key value="ele-1" />
172         <severity value="error" />
173         <human value="All FHIR elements must have a @value or children" />
174         <expression value="hasValue() or (children().count() > id.count())" />
175         <xpath value="@value|f:*|h:div" />
176         <source value="http://hl7.org/fhir/StructureDefinition/Element" />
177       </constraint>
178       <isModifier value="false" />
179       <isSummary value="false" />
180       <binding>
181         <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
182           <valueString value="ExpansionProcessingRule" />
183         </extension>
184         <strength value="required" />
185         <description value="Defines how concepts are processed into the expansion when it's for UI presentation." />
186         <valueSet value="http://hl7.org/fhir/ValueSet/expansion-processing-rule|4.0.1" />
187       </binding>
188       <mapping>
189         <identity value="rim" />
190         <map value="N/A" />
191       </mapping>
192     </element>
193   </snapshot>
194   <differential>
195     <element id="Extension">
196       <path value="Extension" />
197       <short value="all-codes | ungrouped | groups-only" />
198       <definition value="Defines how concepts are processed into the expansion when it's for UI presentation." />
199       <min value="0" />
200       <max value="1" />
201     </element>
202     <element id="Extension.extension">
203       <path value="Extension.extension" />
204       <max value="0" />
205     </element>
206     <element id="Extension.url">
207       <path value="Extension.url" />
208       <fixedUri value="http://hl7.org/fhir/StructureDefinition/valueset-expand-rules" />
209     </element>
210     <element id="Extension.value[x]">
211       <path value="Extension.value[x]" />
212       <min value="1" />
213       <type>
214         <code value="code" />
215       </type>
216       <binding>
217         <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
218           <valueString value="ExpansionProcessingRule" />
219         </extension>
220         <strength value="required" />
221         <description value="Defines how concepts are processed into the expansion when it's for UI presentation." />
222         <valueSet value="http://hl7.org/fhir/ValueSet/expansion-processing-rule|4.0.1" />
223       </binding>
224     </element>
225   </differential>
226 </StructureDefinition>