Expression.xml 1 <?xml version="1.0" encoding="utf-8"?> 2 <StructureDefinition xmlns="http://hl7.org/fhir"> 3 <id value="Expression" /> 4 <meta> 5 <lastUpdated value="2023-03-26T06:21:02.749+02:00" /> 6 </meta> 7 <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status"> 8 <valueCode value="trial-use" /> 9 </extension> 10 <url value="http://hl7.org/fhir/StructureDefinition/Expression" /> 11 <version value="5.0.0" /> 12 <name value="Expression" /> 13 <status value="draft" /> 14 <experimental value="false" /> 15 <date value="2023-03-26T06:21:02.0000000+02:00" /> 16 <publisher value="HL7 FHIR Standard" /> 17 <contact> 18 <telecom> 19 <system value="url" /> 20 <value value="http://hl7.org/fhir" /> 21 </telecom> 22 </contact> 23 <description value="Expression Type: A expression that is evaluated in a specified context and returns a value. The context of use of the expression must specify the context in which the expression is evaluated, and how the result of the expression is used." /> 24 <jurisdiction> 25 <coding> 26 <system value="http://unstats.un.org/unsd/methods/m49/m49.htm" /> 27 <code value="001" /> 28 <display value="World" /> 29 </coding> 30 </jurisdiction> 31 <fhirVersion value="5.0.0" /> 32 <mapping> 33 <identity value="rim" /> 34 <uri value="http://hl7.org/v3" /> 35 <name value="RIM Mapping" /> 36 </mapping> 37 <kind value="complex-type" /> 38 <abstract value="false" /> 39 <type value="Expression" /> 40 <baseDefinition value="http://hl7.org/fhir/StructureDefinition/DataType" /> 41 <derivation value="specialization" /> 42 <snapshot> 43 <element id="Expression"> 44 <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status"> 45 <valueCode value="trial-use" /> 46 </extension> 47 <path value="Expression" /> 48 <short value="An expression that can be used to generate a value" /> 49 <definition value="A expression that is evaluated in a specified context and returns a value. The context of use of the expression must specify the context in which the expression is evaluated, and how the result of the expression is used." /> 50 <min value="0" /> 51 <max value="*" /> 52 <base> 53 <path value="Expression" /> 54 <min value="0" /> 55 <max value="*" /> 56 </base> 57 <constraint> 58 <key value="ele-1" /> 59 <severity value="error" /> 60 <human value="All FHIR elements must have a @value or children" /> 61 <expression value="hasValue() or (children().count() > id.count())" /> 62 <source value="http://hl7.org/fhir/StructureDefinition/Element" /> 63 </constraint> 64 <constraint> 65 <key value="exp-1" /> 66 <severity value="error" /> 67 <human value="An expression or a reference must be provided" /> 68 <expression value="expression.exists() or reference.exists()" /> 69 <source value="http://hl7.org/fhir/StructureDefinition/Expression" /> 70 </constraint> 71 <constraint> 72 <key value="exp-2" /> 73 <severity value="error" /> 74 <human value="The name must be a valid variable name in most computer languages" /> 75 <expression value="name.hasValue() implies name.matches('[A-Za-z][A-Za-z0-9\\_]{0,63}')" /> 76 <source value="http://hl7.org/fhir/StructureDefinition/Expression" /> 77 </constraint> 78 <isModifier value="false" /> 79 <mapping> 80 <identity value="rim" /> 81 <map value="n/a" /> 82 </mapping> 83 </element> 84 <element id="Expression.id"> 85 <path value="Expression.id" /> 86 <representation value="xmlAttr" /> 87 <short value="Unique id for inter-element referencing" /> 88 <definition value="Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." /> 89 <min value="0" /> 90 <max value="1" /> 91 <base> 92 <path value="Element.id" /> 93 <min value="0" /> 94 <max value="1" /> 95 </base> 96 <type> 97 <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type"> 98 <valueUrl value="id" /> 99 </extension> 100 <code value="http://hl7.org/fhirpath/System.String" /> 101 </type> 102 <condition value="ele-1" /> 103 <isModifier value="false" /> 104 <isSummary value="false" /> 105 <mapping> 106 <identity value="rim" /> 107 <map value="n/a" /> 108 </mapping> 109 </element> 110 <element id="Expression.extension"> 111 <path value="Expression.extension" /> 112 <slicing> 113 <discriminator> 114 <type value="value" /> 115 <path value="url" /> 116 </discriminator> 117 <description value="Extensions are always sliced by (at least) url" /> 118 <rules value="open" /> 119 </slicing> 120 <short value="Additional content defined by implementations" /> 121 <definition value="May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." /> 122 <comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." /> 123 <alias value="extensions" /> 124 <alias value="user content" /> 125 <min value="0" /> 126 <max value="*" /> 127 <base> 128 <path value="Element.extension" /> 129 <min value="0" /> 130 <max value="*" /> 131 </base> 132 <type> 133 <code value="Extension" /> 134 </type> 135 <constraint> 136 <key value="ele-1" /> 137 <severity value="error" /> 138 <human value="All FHIR elements must have a @value or children" /> 139 <expression value="hasValue() or (children().count() > id.count())" /> 140 <source value="http://hl7.org/fhir/StructureDefinition/Element" /> 141 </constraint> 142 <constraint> 143 <key value="ext-1" /> 144 <severity value="error" /> 145 <human value="Must have either extensions or value[x], not both" /> 146 <expression value="extension.exists() != value.exists()" /> 147 <source value="http://hl7.org/fhir/StructureDefinition/Extension" /> 148 </constraint> 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="Expression.description"> 157 <path value="Expression.description" /> 158 <short value="Natural language description of the condition" /> 159 <definition value="A brief, natural language description of the condition that effectively communicates the intended semantics." /> 160 <min value="0" /> 161 <max value="1" /> 162 <base> 163 <path value="Expression.description" /> 164 <min value="0" /> 165 <max value="1" /> 166 </base> 167 <type> 168 <code value="string" /> 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 <source value="http://hl7.org/fhir/StructureDefinition/Element" /> 176 </constraint> 177 <isModifier value="false" /> 178 <isSummary value="true" /> 179 </element> 180 <element id="Expression.name"> 181 <extension url="http://hl7.org/fhir/tools/StructureDefinition/no-binding"> 182 <valueBoolean value="true" /> 183 </extension> 184 <path value="Expression.name" /> 185 <short value="Short name assigned to expression for reuse" /> 186 <definition value="A short name assigned to the expression to allow for multiple reuse of the expression in the context where it is defined." /> 187 <min value="0" /> 188 <max value="1" /> 189 <base> 190 <path value="Expression.name" /> 191 <min value="0" /> 192 <max value="1" /> 193 </base> 194 <type> 195 <code value="code" /> 196 </type> 197 <condition value="exp-2" /> 198 <constraint> 199 <key value="ele-1" /> 200 <severity value="error" /> 201 <human value="All FHIR elements must have a @value or children" /> 202 <expression value="hasValue() or (children().count() > id.count())" /> 203 <source value="http://hl7.org/fhir/StructureDefinition/Element" /> 204 </constraint> 205 <isModifier value="false" /> 206 <isSummary value="true" /> 207 </element> 208 <element id="Expression.language"> 209 <path value="Expression.language" /> 210 <short value="text/cql | text/fhirpath | application/x-fhir-query | etc." /> 211 <definition value="The media type of the language for the expression." /> 212 <requirements value="The cardinality of this element is optional to allow text only as part of the authoring process. However, in order to be executable, the expression element must be specified." /> 213 <min value="0" /> 214 <max value="1" /> 215 <base> 216 <path value="Expression.language" /> 217 <min value="0" /> 218 <max value="1" /> 219 </base> 220 <type> 221 <code value="code" /> 222 </type> 223 <constraint> 224 <key value="ele-1" /> 225 <severity value="error" /> 226 <human value="All FHIR elements must have a @value or children" /> 227 <expression value="hasValue() or (children().count() > id.count())" /> 228 <source value="http://hl7.org/fhir/StructureDefinition/Element" /> 229 </constraint> 230 <isModifier value="false" /> 231 <isSummary value="true" /> 232 <binding> 233 <extension url="http://hl7.org/fhir/tools/StructureDefinition/binding-definition"> 234 <valueString value="The media type of the expression language." /> 235 </extension> 236 <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName"> 237 <valueString value="ExpressionLanguage" /> 238 </extension> 239 <strength value="extensible" /> 240 <description value="The media type of the expression language." /> 241 <valueSet value="http://hl7.org/fhir/ValueSet/expression-language" /> 242 </binding> 243 </element> 244 <element id="Expression.expression"> 245 <path value="Expression.expression" /> 246 <short value="Expression in specified language" /> 247 <definition value="An expression in the specified language that returns a value." /> 248 <comment value="If Expression.expression and Expression.reference are both present, the Expression.expression might just be a name pointing something within the referenced content." /> 249 <min value="0" /> 250 <max value="1" /> 251 <base> 252 <path value="Expression.expression" /> 253 <min value="0" /> 254 <max value="1" /> 255 </base> 256 <type> 257 <code value="string" /> 258 </type> 259 <condition value="exp-1" /> 260 <constraint> 261 <key value="ele-1" /> 262 <severity value="error" /> 263 <human value="All FHIR elements must have a @value or children" /> 264 <expression value="hasValue() or (children().count() > id.count())" /> 265 <source value="http://hl7.org/fhir/StructureDefinition/Element" /> 266 </constraint> 267 <isModifier value="false" /> 268 <isSummary value="true" /> 269 </element> 270 <element id="Expression.reference"> 271 <path value="Expression.reference" /> 272 <short value="Where the expression is found" /> 273 <definition value="A URI that defines where the expression is found." /> 274 <comment value="If both a reference and an expression is found, the reference SHALL point to the same expression." /> 275 <min value="0" /> 276 <max value="1" /> 277 <base> 278 <path value="Expression.reference" /> 279 <min value="0" /> 280 <max value="1" /> 281 </base> 282 <type> 283 <code value="uri" /> 284 </type> 285 <condition value="exp-1" /> 286 <constraint> 287 <key value="ele-1" /> 288 <severity value="error" /> 289 <human value="All FHIR elements must have a @value or children" /> 290 <expression value="hasValue() or (children().count() > id.count())" /> 291 <source value="http://hl7.org/fhir/StructureDefinition/Element" /> 292 </constraint> 293 <isModifier value="false" /> 294 <isSummary value="true" /> 295 </element> 296 </snapshot> 297 <differential> 298 <element id="Expression"> 299 <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status"> 300 <valueCode value="trial-use" /> 301 </extension> 302 <path value="Expression" /> 303 <short value="An expression that can be used to generate a value" /> 304 <definition value="A expression that is evaluated in a specified context and returns a value. The context of use of the expression must specify the context in which the expression is evaluated, and how the result of the expression is used." /> 305 <min value="0" /> 306 <max value="*" /> 307 <constraint> 308 <key value="exp-2" /> 309 <severity value="error" /> 310 <human value="The name must be a valid variable name in most computer languages" /> 311 <expression value="name.hasValue() implies name.matches('[A-Za-z][A-Za-z0-9\\_]{0,63}')" /> 312 <source value="http://hl7.org/fhir/StructureDefinition/Expression" /> 313 </constraint> 314 <constraint> 315 <key value="exp-1" /> 316 <severity value="error" /> 317 <human value="An expression or a reference must be provided" /> 318 <expression value="expression.exists() or reference.exists()" /> 319 <source value="http://hl7.org/fhir/StructureDefinition/Expression" /> 320 </constraint> 321 </element> 322 <element id="Expression.description"> 323 <path value="Expression.description" /> 324 <short value="Natural language description of the condition" /> 325 <definition value="A brief, natural language description of the condition that effectively communicates the intended semantics." /> 326 <min value="0" /> 327 <max value="1" /> 328 <type> 329 <code value="string" /> 330 </type> 331 <isSummary value="true" /> 332 </element> 333 <element id="Expression.name"> 334 <extension url="http://hl7.org/fhir/tools/StructureDefinition/no-binding"> 335 <valueBoolean value="true" /> 336 </extension> 337 <path value="Expression.name" /> 338 <short value="Short name assigned to expression for reuse" /> 339 <definition value="A short name assigned to the expression to allow for multiple reuse of the expression in the context where it is defined." /> 340 <min value="0" /> 341 <max value="1" /> 342 <type> 343 <code value="code" /> 344 </type> 345 <condition value="exp-2" /> 346 <isSummary value="true" /> 347 </element> 348 <element id="Expression.language"> 349 <path value="Expression.language" /> 350 <short value="text/cql | text/fhirpath | application/x-fhir-query | etc." /> 351 <definition value="The media type of the language for the expression." /> 352 <requirements value="The cardinality of this element is optional to allow text only as part of the authoring process. However, in order to be executable, the expression element must be specified." /> 353 <min value="0" /> 354 <max value="1" /> 355 <type> 356 <code value="code" /> 357 </type> 358 <isSummary value="true" /> 359 <binding> 360 <extension url="http://hl7.org/fhir/tools/StructureDefinition/binding-definition"> 361 <valueString value="The media type of the expression language." /> 362 </extension> 363 <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName"> 364 <valueString value="ExpressionLanguage" /> 365 </extension> 366 <strength value="extensible" /> 367 <description value="The media type of the expression language." /> 368 <valueSet value="http://hl7.org/fhir/ValueSet/expression-language" /> 369 </binding> 370 </element> 371 <element id="Expression.expression"> 372 <path value="Expression.expression" /> 373 <short value="Expression in specified language" /> 374 <definition value="An expression in the specified language that returns a value." /> 375 <comment value="If Expression.expression and Expression.reference are both present, the Expression.expression might just be a name pointing something within the referenced content." /> 376 <min value="0" /> 377 <max value="1" /> 378 <type> 379 <code value="string" /> 380 </type> 381 <condition value="exp-1" /> 382 <isSummary value="true" /> 383 </element> 384 <element id="Expression.reference"> 385 <path value="Expression.reference" /> 386 <short value="Where the expression is found" /> 387 <definition value="A URI that defines where the expression is found." /> 388 <comment value="If both a reference and an expression is found, the reference SHALL point to the same expression." /> 389 <min value="0" /> 390 <max value="1" /> 391 <type> 392 <code value="uri" /> 393 </type> 394 <condition value="exp-1" /> 395 <isSummary value="true" /> 396 </element> 397 </differential> 398 </StructureDefinition>