StructureDefinition-sdc-questionnaire-preferredTerminologyServer.xml 1 <?xml version="1.0" encoding="utf-8"?> 2 <StructureDefinition xmlns="http://hl7.org/fhir"> 3 <id value="sdc-questionnaire-preferredTerminologyServer" /> 4 <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status"> 5 <valueCode value="deprecated" /> 6 </extension> 7 <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-wg"> 8 <valueCode value="fhir" /> 9 </extension> 10 <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm"> 11 <valueInteger value="4"> 12 <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom"> 13 <valueCanonical value="http://hl7.org/fhir/uv/sdc/ImplementationGuide/hl7.fhir.uv.sdc" /> 14 </extension> 15 </valueInteger> 16 </extension> 17 <url value="http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-preferredTerminologyServer" /> 18 <identifier> 19 <system value="urn:ietf:rfc:3986" /> 20 <value value="urn:oid:2.16.840.1.113883.4.642.40.17.42.48" /> 21 </identifier> 22 <version value="4.0.0-ballot" /> 23 <name value="PreferredTerminologyServer" /> 24 <title value="Preferred Terminology Server" /> 25 <status value="retired" /> 26 <date value="2024-12-22T04:48:38.0000000+01:00" /> 27 <publisher value="HL7 International / FHIR Infrastructure" /> 28 <contact> 29 <name value="HL7 International / FHIR Infrastructure" /> 30 <telecom> 31 <system value="url" /> 32 <value value="http://www.hl7.org/Special/committees/fiwg" /> 33 </telecom> 34 </contact> 35 <contact> 36 <telecom> 37 <system value="url" /> 38 <value value="http://www.hl7.org/Special/committees/fiwg" /> 39 </telecom> 40 </contact> 41 <description value="Use the new generic http://hl7.org/fhir/StructureDefinition/preferredTerminologyServer instead" /> 42 <jurisdiction> 43 <coding> 44 <system value="http://unstats.un.org/unsd/methods/m49/m49.htm" /> 45 <code value="001" /> 46 <display value="World" /> 47 </coding> 48 </jurisdiction> 49 <purpose value="Not all terminology servers will necessarily have access to the codes. If a questionnaire points to value sets, the rendering engine needs to know where to get a current expansion." /> 50 <fhirVersion value="4.0.1" /> 51 <mapping> 52 <identity value="rim" /> 53 <uri value="http://hl7.org/v3" /> 54 <name value="RIM Mapping" /> 55 </mapping> 56 <kind value="complex-type" /> 57 <abstract value="false" /> 58 <context> 59 <type value="element" /> 60 <expression value="Questionnaire" /> 61 </context> 62 <context> 63 <type value="element" /> 64 <expression value="Questionnaire.item" /> 65 </context> 66 <context> 67 <type value="element" /> 68 <expression value="ElementDefinition" /> 69 </context> 70 <type value="Extension" /> 71 <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Extension" /> 72 <derivation value="constraint" /> 73 <snapshot> 74 <element id="Extension"> 75 <path value="Extension" /> 76 <short value="Preferred terminology server" /> 77 <definition value="Indicates the terminology server(s) that are known to be capable of returning and potentially expanding the value set(s) associated with the whole questionnaire or a particular group or question within the questionnaire (depending on where the extension appears). If a full URL is not provided AND the requested query is a terminology operation (e.g. $lookup or $expand) the client SHOULD execute the operation against the preferredTerminologyServer rather than the local repository. Systems SHOULD evaluate value sets using terminology servers as follows: First, try any terminology servers declared on the item in question. If there are more then one, try them in the order they appear. Then try any servers that appear on ancestor items in order of closest ancestor up to any on the Questionnaire. If there are no declared servers or none of the ones listed provide a useful response, the form filler may then try any of the typical servers it would normally use. A 'useful response' means a response that provides a valid (though potentially empty) expansion. Clients MAY wish to log/report errors returned by terminology servers." /> 78 <comment value="This includes those referenced by answerValueSet as well as the unitValueSet extension." /> 79 <min value="0" /> 80 <max value="*" /> 81 <base> 82 <path value="Extension" /> 83 <min value="0" /> 84 <max value="*" /> 85 </base> 86 <condition value="ele-1" /> 87 <constraint> 88 <key value="ele-1" /> 89 <severity value="error" /> 90 <human value="All FHIR elements must have a @value or children" /> 91 <expression value="hasValue() or (children().count() > id.count())" /> 92 <xpath value="@value|f:*|h:div" /> 93 <source value="http://hl7.org/fhir/StructureDefinition/Element" /> 94 </constraint> 95 <constraint> 96 <key value="ext-1" /> 97 <severity value="error" /> 98 <human value="Must have either extensions or value[x], not both" /> 99 <expression value="extension.exists() != value.exists()" /> 100 <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" /> 101 <source value="http://hl7.org/fhir/StructureDefinition/Extension" /> 102 </constraint> 103 <isModifier value="false" /> 104 </element> 105 <element id="Extension.id"> 106 <path value="Extension.id" /> 107 <representation value="xmlAttr" /> 108 <short value="Unique id for inter-element referencing" /> 109 <definition value="Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." /> 110 <min value="0" /> 111 <max value="1" /> 112 <base> 113 <path value="Element.id" /> 114 <min value="0" /> 115 <max value="1" /> 116 </base> 117 <type> 118 <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type"> 119 <valueUrl value="string" /> 120 </extension> 121 <code value="http://hl7.org/fhirpath/System.String" /> 122 </type> 123 <isModifier value="false" /> 124 <isSummary value="false" /> 125 <mapping> 126 <identity value="rim" /> 127 <map value="n/a" /> 128 </mapping> 129 </element> 130 <element id="Extension.extension"> 131 <path value="Extension.extension" /> 132 <slicing> 133 <discriminator> 134 <type value="value" /> 135 <path value="url" /> 136 </discriminator> 137 <description value="Extensions are always sliced by (at least) url" /> 138 <rules value="open" /> 139 </slicing> 140 <short value="Extension" /> 141 <definition value="An Extension" /> 142 <min value="0" /> 143 <max value="0" /> 144 <base> 145 <path value="Element.extension" /> 146 <min value="0" /> 147 <max value="*" /> 148 </base> 149 <type> 150 <code value="Extension" /> 151 </type> 152 <constraint> 153 <key value="ele-1" /> 154 <severity value="error" /> 155 <human value="All FHIR elements must have a @value or children" /> 156 <expression value="hasValue() or (children().count() > id.count())" /> 157 <xpath value="@value|f:*|h:div" /> 158 <source value="http://hl7.org/fhir/StructureDefinition/Element" /> 159 </constraint> 160 <constraint> 161 <key value="ext-1" /> 162 <severity value="error" /> 163 <human value="Must have either extensions or value[x], not both" /> 164 <expression value="extension.exists() != value.exists()" /> 165 <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])" /> 166 <source value="http://hl7.org/fhir/StructureDefinition/Extension" /> 167 </constraint> 168 <isModifier value="false" /> 169 <isSummary value="false" /> 170 </element> 171 <element id="Extension.url"> 172 <path value="Extension.url" /> 173 <representation value="xmlAttr" /> 174 <short value="identifies the meaning of the extension" /> 175 <definition value="Source of the definition for the extension code - a logical name or a URL." /> 176 <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." /> 177 <min value="1" /> 178 <max value="1" /> 179 <base> 180 <path value="Extension.url" /> 181 <min value="1" /> 182 <max value="1" /> 183 </base> 184 <type> 185 <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type"> 186 <valueUrl value="uri" /> 187 </extension> 188 <code value="http://hl7.org/fhirpath/System.String" /> 189 </type> 190 <fixedUri value="http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-preferredTerminologyServer" /> 191 <isModifier value="false" /> 192 <isSummary value="false" /> 193 <mapping> 194 <identity value="rim" /> 195 <map value="N/A" /> 196 </mapping> 197 </element> 198 <element id="Extension.value[x]"> 199 <path value="Extension.value[x]" /> 200 <short value="Value of extension" /> 201 <definition value="Value of extension - must be one of a constrained set of the data types (see [Extensibility](http://hl7.org/fhir/R4/extensibility.html) for a list)." /> 202 <min value="0" /> 203 <max value="1" /> 204 <base> 205 <path value="Extension.value[x]" /> 206 <min value="0" /> 207 <max value="1" /> 208 </base> 209 <type> 210 <code value="url" /> 211 </type> 212 <constraint> 213 <key value="ele-1" /> 214 <severity value="error" /> 215 <human value="All FHIR elements must have a @value or children" /> 216 <expression value="hasValue() or (children().count() > id.count())" /> 217 <xpath value="@value|f:*|h:div" /> 218 <source value="http://hl7.org/fhir/StructureDefinition/Element" /> 219 </constraint> 220 <isModifier value="false" /> 221 <isSummary value="false" /> 222 <mapping> 223 <identity value="rim" /> 224 <map value="N/A" /> 225 </mapping> 226 </element> 227 </snapshot> 228 <differential> 229 <element id="Extension"> 230 <path value="Extension" /> 231 <short value="Preferred terminology server" /> 232 <definition value="Indicates the terminology server(s) that are known to be capable of returning and potentially expanding the value set(s) associated with the whole questionnaire or a particular group or question within the questionnaire (depending on where the extension appears). If a full URL is not provided AND the requested query is a terminology operation (e.g. $lookup or $expand) the client SHOULD execute the operation against the preferredTerminologyServer rather than the local repository. Systems SHOULD evaluate value sets using terminology servers as follows: First, try any terminology servers declared on the item in question. If there are more then one, try them in the order they appear. Then try any servers that appear on ancestor items in order of closest ancestor up to any on the Questionnaire. If there are no declared servers or none of the ones listed provide a useful response, the form filler may then try any of the typical servers it would normally use. A 'useful response' means a response that provides a valid (though potentially empty) expansion. Clients MAY wish to log/report errors returned by terminology servers." /> 233 <comment value="This includes those referenced by answerValueSet as well as the unitValueSet extension." /> 234 </element> 235 <element id="Extension.extension"> 236 <path value="Extension.extension" /> 237 <max value="0" /> 238 </element> 239 <element id="Extension.url"> 240 <path value="Extension.url" /> 241 <fixedUri value="http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-preferredTerminologyServer" /> 242 </element> 243 <element id="Extension.value[x]"> 244 <path value="Extension.value[x]" /> 245 <type> 246 <code value="url" /> 247 </type> 248 </element> 249 </differential> 250 </StructureDefinition>