001package org.hl7.fhir.r4b.model; 002 003 004/* 005 Copyright (c) 2011+, HL7, Inc. 006 All rights reserved. 007 008 Redistribution and use in source and binary forms, with or without modification, \ 009 are permitted provided that the following conditions are met: 010 011 * Redistributions of source code must retain the above copyright notice, this \ 012 list of conditions and the following disclaimer. 013 * Redistributions in binary form must reproduce the above copyright notice, \ 014 this list of conditions and the following disclaimer in the documentation \ 015 and/or other materials provided with the distribution. 016 * Neither the name of HL7 nor the names of its contributors may be used to 017 endorse or promote products derived from this software without specific 018 prior written permission. 019 020 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND \ 021 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED \ 022 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \ 023 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, \ 024 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \ 025 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR \ 026 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, \ 027 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \ 028 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE \ 029 POSSIBILITY OF SUCH DAMAGE. 030 */ 031 032// Generated on Fri, Dec 31, 2021 05:58+1100 for FHIR v4.3.0-snapshot1 033 034import java.util.ArrayList; 035import java.util.Date; 036import java.util.List; 037import org.hl7.fhir.utilities.Utilities; 038import org.hl7.fhir.r4b.model.Enumerations.*; 039import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 040import org.hl7.fhir.exceptions.FHIRException; 041import org.hl7.fhir.instance.model.api.ICompositeType; 042import ca.uhn.fhir.model.api.annotation.ResourceDef; 043import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 044import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 045import ca.uhn.fhir.model.api.annotation.Child; 046import ca.uhn.fhir.model.api.annotation.ChildOrder; 047import ca.uhn.fhir.model.api.annotation.Description; 048import ca.uhn.fhir.model.api.annotation.Block; 049 050/** 051 * A ValueSet resource instance specifies a set of codes drawn from one or more code systems, intended for use in a particular context. Value sets link between [[[CodeSystem]]] definitions and their use in [coded elements](terminologies.html). 052 */ 053@ResourceDef(name="ValueSet", profile="http://hl7.org/fhir/StructureDefinition/ValueSet") 054public class ValueSet extends CanonicalResource { 055 056 @Block() 057 public static class ValueSetComposeComponent extends BackboneElement implements IBaseBackboneElement { 058 /** 059 * The Locked Date is the effective date that is used to determine the version of all referenced Code Systems and Value Set Definitions included in the compose that are not already tied to a specific version. 060 */ 061 @Child(name = "lockedDate", type = {DateType.class}, order=1, min=0, max=1, modifier=false, summary=true) 062 @Description(shortDefinition="Fixed date for references with no specified version (transitive)", formalDefinition="The Locked Date is the effective date that is used to determine the version of all referenced Code Systems and Value Set Definitions included in the compose that are not already tied to a specific version." ) 063 protected DateType lockedDate; 064 065 /** 066 * Whether inactive codes - codes that are not approved for current use - are in the value set. If inactive = true, inactive codes are to be included in the expansion, if inactive = false, the inactive codes will not be included in the expansion. If absent, the behavior is determined by the implementation, or by the applicable $expand parameters (but generally, inactive codes would be expected to be included). 067 */ 068 @Child(name = "inactive", type = {BooleanType.class}, order=2, min=0, max=1, modifier=false, summary=true) 069 @Description(shortDefinition="Whether inactive codes are in the value set", formalDefinition="Whether inactive codes - codes that are not approved for current use - are in the value set. If inactive = true, inactive codes are to be included in the expansion, if inactive = false, the inactive codes will not be included in the expansion. If absent, the behavior is determined by the implementation, or by the applicable $expand parameters (but generally, inactive codes would be expected to be included)." ) 070 protected BooleanType inactive; 071 072 /** 073 * Include one or more codes from a code system or other value set(s). 074 */ 075 @Child(name = "include", type = {}, order=3, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 076 @Description(shortDefinition="Include one or more codes from a code system or other value set(s)", formalDefinition="Include one or more codes from a code system or other value set(s)." ) 077 protected List<ConceptSetComponent> include; 078 079 /** 080 * Exclude one or more codes from the value set based on code system filters and/or other value sets. 081 */ 082 @Child(name = "exclude", type = {ConceptSetComponent.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 083 @Description(shortDefinition="Explicitly exclude codes from a code system or other value sets", formalDefinition="Exclude one or more codes from the value set based on code system filters and/or other value sets." ) 084 protected List<ConceptSetComponent> exclude; 085 086 private static final long serialVersionUID = -765941757L; 087 088 /** 089 * Constructor 090 */ 091 public ValueSetComposeComponent() { 092 super(); 093 } 094 095 /** 096 * Constructor 097 */ 098 public ValueSetComposeComponent(ConceptSetComponent include) { 099 super(); 100 this.addInclude(include); 101 } 102 103 /** 104 * @return {@link #lockedDate} (The Locked Date is the effective date that is used to determine the version of all referenced Code Systems and Value Set Definitions included in the compose that are not already tied to a specific version.). This is the underlying object with id, value and extensions. The accessor "getLockedDate" gives direct access to the value 105 */ 106 public DateType getLockedDateElement() { 107 if (this.lockedDate == null) 108 if (Configuration.errorOnAutoCreate()) 109 throw new Error("Attempt to auto-create ValueSetComposeComponent.lockedDate"); 110 else if (Configuration.doAutoCreate()) 111 this.lockedDate = new DateType(); // bb 112 return this.lockedDate; 113 } 114 115 public boolean hasLockedDateElement() { 116 return this.lockedDate != null && !this.lockedDate.isEmpty(); 117 } 118 119 public boolean hasLockedDate() { 120 return this.lockedDate != null && !this.lockedDate.isEmpty(); 121 } 122 123 /** 124 * @param value {@link #lockedDate} (The Locked Date is the effective date that is used to determine the version of all referenced Code Systems and Value Set Definitions included in the compose that are not already tied to a specific version.). This is the underlying object with id, value and extensions. The accessor "getLockedDate" gives direct access to the value 125 */ 126 public ValueSetComposeComponent setLockedDateElement(DateType value) { 127 this.lockedDate = value; 128 return this; 129 } 130 131 /** 132 * @return The Locked Date is the effective date that is used to determine the version of all referenced Code Systems and Value Set Definitions included in the compose that are not already tied to a specific version. 133 */ 134 public Date getLockedDate() { 135 return this.lockedDate == null ? null : this.lockedDate.getValue(); 136 } 137 138 /** 139 * @param value The Locked Date is the effective date that is used to determine the version of all referenced Code Systems and Value Set Definitions included in the compose that are not already tied to a specific version. 140 */ 141 public ValueSetComposeComponent setLockedDate(Date value) { 142 if (value == null) 143 this.lockedDate = null; 144 else { 145 if (this.lockedDate == null) 146 this.lockedDate = new DateType(); 147 this.lockedDate.setValue(value); 148 } 149 return this; 150 } 151 152 /** 153 * @return {@link #inactive} (Whether inactive codes - codes that are not approved for current use - are in the value set. If inactive = true, inactive codes are to be included in the expansion, if inactive = false, the inactive codes will not be included in the expansion. If absent, the behavior is determined by the implementation, or by the applicable $expand parameters (but generally, inactive codes would be expected to be included).). This is the underlying object with id, value and extensions. The accessor "getInactive" gives direct access to the value 154 */ 155 public BooleanType getInactiveElement() { 156 if (this.inactive == null) 157 if (Configuration.errorOnAutoCreate()) 158 throw new Error("Attempt to auto-create ValueSetComposeComponent.inactive"); 159 else if (Configuration.doAutoCreate()) 160 this.inactive = new BooleanType(); // bb 161 return this.inactive; 162 } 163 164 public boolean hasInactiveElement() { 165 return this.inactive != null && !this.inactive.isEmpty(); 166 } 167 168 public boolean hasInactive() { 169 return this.inactive != null && !this.inactive.isEmpty(); 170 } 171 172 /** 173 * @param value {@link #inactive} (Whether inactive codes - codes that are not approved for current use - are in the value set. If inactive = true, inactive codes are to be included in the expansion, if inactive = false, the inactive codes will not be included in the expansion. If absent, the behavior is determined by the implementation, or by the applicable $expand parameters (but generally, inactive codes would be expected to be included).). This is the underlying object with id, value and extensions. The accessor "getInactive" gives direct access to the value 174 */ 175 public ValueSetComposeComponent setInactiveElement(BooleanType value) { 176 this.inactive = value; 177 return this; 178 } 179 180 /** 181 * @return Whether inactive codes - codes that are not approved for current use - are in the value set. If inactive = true, inactive codes are to be included in the expansion, if inactive = false, the inactive codes will not be included in the expansion. If absent, the behavior is determined by the implementation, or by the applicable $expand parameters (but generally, inactive codes would be expected to be included). 182 */ 183 public boolean getInactive() { 184 return this.inactive == null || this.inactive.isEmpty() ? false : this.inactive.getValue(); 185 } 186 187 /** 188 * @param value Whether inactive codes - codes that are not approved for current use - are in the value set. If inactive = true, inactive codes are to be included in the expansion, if inactive = false, the inactive codes will not be included in the expansion. If absent, the behavior is determined by the implementation, or by the applicable $expand parameters (but generally, inactive codes would be expected to be included). 189 */ 190 public ValueSetComposeComponent setInactive(boolean value) { 191 if (this.inactive == null) 192 this.inactive = new BooleanType(); 193 this.inactive.setValue(value); 194 return this; 195 } 196 197 /** 198 * @return {@link #include} (Include one or more codes from a code system or other value set(s).) 199 */ 200 public List<ConceptSetComponent> getInclude() { 201 if (this.include == null) 202 this.include = new ArrayList<ConceptSetComponent>(); 203 return this.include; 204 } 205 206 /** 207 * @return Returns a reference to <code>this</code> for easy method chaining 208 */ 209 public ValueSetComposeComponent setInclude(List<ConceptSetComponent> theInclude) { 210 this.include = theInclude; 211 return this; 212 } 213 214 public boolean hasInclude() { 215 if (this.include == null) 216 return false; 217 for (ConceptSetComponent item : this.include) 218 if (!item.isEmpty()) 219 return true; 220 return false; 221 } 222 223 public ConceptSetComponent addInclude() { //3 224 ConceptSetComponent t = new ConceptSetComponent(); 225 if (this.include == null) 226 this.include = new ArrayList<ConceptSetComponent>(); 227 this.include.add(t); 228 return t; 229 } 230 231 public ValueSetComposeComponent addInclude(ConceptSetComponent t) { //3 232 if (t == null) 233 return this; 234 if (this.include == null) 235 this.include = new ArrayList<ConceptSetComponent>(); 236 this.include.add(t); 237 return this; 238 } 239 240 /** 241 * @return The first repetition of repeating field {@link #include}, creating it if it does not already exist {3} 242 */ 243 public ConceptSetComponent getIncludeFirstRep() { 244 if (getInclude().isEmpty()) { 245 addInclude(); 246 } 247 return getInclude().get(0); 248 } 249 250 /** 251 * @return {@link #exclude} (Exclude one or more codes from the value set based on code system filters and/or other value sets.) 252 */ 253 public List<ConceptSetComponent> getExclude() { 254 if (this.exclude == null) 255 this.exclude = new ArrayList<ConceptSetComponent>(); 256 return this.exclude; 257 } 258 259 /** 260 * @return Returns a reference to <code>this</code> for easy method chaining 261 */ 262 public ValueSetComposeComponent setExclude(List<ConceptSetComponent> theExclude) { 263 this.exclude = theExclude; 264 return this; 265 } 266 267 public boolean hasExclude() { 268 if (this.exclude == null) 269 return false; 270 for (ConceptSetComponent item : this.exclude) 271 if (!item.isEmpty()) 272 return true; 273 return false; 274 } 275 276 public ConceptSetComponent addExclude() { //3 277 ConceptSetComponent t = new ConceptSetComponent(); 278 if (this.exclude == null) 279 this.exclude = new ArrayList<ConceptSetComponent>(); 280 this.exclude.add(t); 281 return t; 282 } 283 284 public ValueSetComposeComponent addExclude(ConceptSetComponent t) { //3 285 if (t == null) 286 return this; 287 if (this.exclude == null) 288 this.exclude = new ArrayList<ConceptSetComponent>(); 289 this.exclude.add(t); 290 return this; 291 } 292 293 /** 294 * @return The first repetition of repeating field {@link #exclude}, creating it if it does not already exist {3} 295 */ 296 public ConceptSetComponent getExcludeFirstRep() { 297 if (getExclude().isEmpty()) { 298 addExclude(); 299 } 300 return getExclude().get(0); 301 } 302 303 protected void listChildren(List<Property> children) { 304 super.listChildren(children); 305 children.add(new Property("lockedDate", "date", "The Locked Date is the effective date that is used to determine the version of all referenced Code Systems and Value Set Definitions included in the compose that are not already tied to a specific version.", 0, 1, lockedDate)); 306 children.add(new Property("inactive", "boolean", "Whether inactive codes - codes that are not approved for current use - are in the value set. If inactive = true, inactive codes are to be included in the expansion, if inactive = false, the inactive codes will not be included in the expansion. If absent, the behavior is determined by the implementation, or by the applicable $expand parameters (but generally, inactive codes would be expected to be included).", 0, 1, inactive)); 307 children.add(new Property("include", "", "Include one or more codes from a code system or other value set(s).", 0, java.lang.Integer.MAX_VALUE, include)); 308 children.add(new Property("exclude", "@ValueSet.compose.include", "Exclude one or more codes from the value set based on code system filters and/or other value sets.", 0, java.lang.Integer.MAX_VALUE, exclude)); 309 } 310 311 @Override 312 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 313 switch (_hash) { 314 case 1391591896: /*lockedDate*/ return new Property("lockedDate", "date", "The Locked Date is the effective date that is used to determine the version of all referenced Code Systems and Value Set Definitions included in the compose that are not already tied to a specific version.", 0, 1, lockedDate); 315 case 24665195: /*inactive*/ return new Property("inactive", "boolean", "Whether inactive codes - codes that are not approved for current use - are in the value set. If inactive = true, inactive codes are to be included in the expansion, if inactive = false, the inactive codes will not be included in the expansion. If absent, the behavior is determined by the implementation, or by the applicable $expand parameters (but generally, inactive codes would be expected to be included).", 0, 1, inactive); 316 case 1942574248: /*include*/ return new Property("include", "", "Include one or more codes from a code system or other value set(s).", 0, java.lang.Integer.MAX_VALUE, include); 317 case -1321148966: /*exclude*/ return new Property("exclude", "@ValueSet.compose.include", "Exclude one or more codes from the value set based on code system filters and/or other value sets.", 0, java.lang.Integer.MAX_VALUE, exclude); 318 default: return super.getNamedProperty(_hash, _name, _checkValid); 319 } 320 321 } 322 323 @Override 324 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 325 switch (hash) { 326 case 1391591896: /*lockedDate*/ return this.lockedDate == null ? new Base[0] : new Base[] {this.lockedDate}; // DateType 327 case 24665195: /*inactive*/ return this.inactive == null ? new Base[0] : new Base[] {this.inactive}; // BooleanType 328 case 1942574248: /*include*/ return this.include == null ? new Base[0] : this.include.toArray(new Base[this.include.size()]); // ConceptSetComponent 329 case -1321148966: /*exclude*/ return this.exclude == null ? new Base[0] : this.exclude.toArray(new Base[this.exclude.size()]); // ConceptSetComponent 330 default: return super.getProperty(hash, name, checkValid); 331 } 332 333 } 334 335 @Override 336 public Base setProperty(int hash, String name, Base value) throws FHIRException { 337 switch (hash) { 338 case 1391591896: // lockedDate 339 this.lockedDate = TypeConvertor.castToDate(value); // DateType 340 return value; 341 case 24665195: // inactive 342 this.inactive = TypeConvertor.castToBoolean(value); // BooleanType 343 return value; 344 case 1942574248: // include 345 this.getInclude().add((ConceptSetComponent) value); // ConceptSetComponent 346 return value; 347 case -1321148966: // exclude 348 this.getExclude().add((ConceptSetComponent) value); // ConceptSetComponent 349 return value; 350 default: return super.setProperty(hash, name, value); 351 } 352 353 } 354 355 @Override 356 public Base setProperty(String name, Base value) throws FHIRException { 357 if (name.equals("lockedDate")) { 358 this.lockedDate = TypeConvertor.castToDate(value); // DateType 359 } else if (name.equals("inactive")) { 360 this.inactive = TypeConvertor.castToBoolean(value); // BooleanType 361 } else if (name.equals("include")) { 362 this.getInclude().add((ConceptSetComponent) value); 363 } else if (name.equals("exclude")) { 364 this.getExclude().add((ConceptSetComponent) value); 365 } else 366 return super.setProperty(name, value); 367 return value; 368 } 369 370 @Override 371 public Base makeProperty(int hash, String name) throws FHIRException { 372 switch (hash) { 373 case 1391591896: return getLockedDateElement(); 374 case 24665195: return getInactiveElement(); 375 case 1942574248: return addInclude(); 376 case -1321148966: return addExclude(); 377 default: return super.makeProperty(hash, name); 378 } 379 380 } 381 382 @Override 383 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 384 switch (hash) { 385 case 1391591896: /*lockedDate*/ return new String[] {"date"}; 386 case 24665195: /*inactive*/ return new String[] {"boolean"}; 387 case 1942574248: /*include*/ return new String[] {}; 388 case -1321148966: /*exclude*/ return new String[] {"@ValueSet.compose.include"}; 389 default: return super.getTypesForProperty(hash, name); 390 } 391 392 } 393 394 @Override 395 public Base addChild(String name) throws FHIRException { 396 if (name.equals("lockedDate")) { 397 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.compose.lockedDate"); 398 } 399 else if (name.equals("inactive")) { 400 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.compose.inactive"); 401 } 402 else if (name.equals("include")) { 403 return addInclude(); 404 } 405 else if (name.equals("exclude")) { 406 return addExclude(); 407 } 408 else 409 return super.addChild(name); 410 } 411 412 public ValueSetComposeComponent copy() { 413 ValueSetComposeComponent dst = new ValueSetComposeComponent(); 414 copyValues(dst); 415 return dst; 416 } 417 418 public void copyValues(ValueSetComposeComponent dst) { 419 super.copyValues(dst); 420 dst.lockedDate = lockedDate == null ? null : lockedDate.copy(); 421 dst.inactive = inactive == null ? null : inactive.copy(); 422 if (include != null) { 423 dst.include = new ArrayList<ConceptSetComponent>(); 424 for (ConceptSetComponent i : include) 425 dst.include.add(i.copy()); 426 }; 427 if (exclude != null) { 428 dst.exclude = new ArrayList<ConceptSetComponent>(); 429 for (ConceptSetComponent i : exclude) 430 dst.exclude.add(i.copy()); 431 }; 432 } 433 434 @Override 435 public boolean equalsDeep(Base other_) { 436 if (!super.equalsDeep(other_)) 437 return false; 438 if (!(other_ instanceof ValueSetComposeComponent)) 439 return false; 440 ValueSetComposeComponent o = (ValueSetComposeComponent) other_; 441 return compareDeep(lockedDate, o.lockedDate, true) && compareDeep(inactive, o.inactive, true) && compareDeep(include, o.include, true) 442 && compareDeep(exclude, o.exclude, true); 443 } 444 445 @Override 446 public boolean equalsShallow(Base other_) { 447 if (!super.equalsShallow(other_)) 448 return false; 449 if (!(other_ instanceof ValueSetComposeComponent)) 450 return false; 451 ValueSetComposeComponent o = (ValueSetComposeComponent) other_; 452 return compareValues(lockedDate, o.lockedDate, true) && compareValues(inactive, o.inactive, true); 453 } 454 455 public boolean isEmpty() { 456 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(lockedDate, inactive, include 457 , exclude); 458 } 459 460 public String fhirType() { 461 return "ValueSet.compose"; 462 463 } 464 465 } 466 467 @Block() 468 public static class ConceptSetComponent extends BackboneElement implements IBaseBackboneElement { 469 /** 470 * An absolute URI which is the code system from which the selected codes come from. 471 */ 472 @Child(name = "system", type = {UriType.class}, order=1, min=0, max=1, modifier=false, summary=true) 473 @Description(shortDefinition="The system the codes come from", formalDefinition="An absolute URI which is the code system from which the selected codes come from." ) 474 protected UriType system; 475 476 /** 477 * The version of the code system that the codes are selected from, or the special version '*' for all versions. 478 */ 479 @Child(name = "version", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=true) 480 @Description(shortDefinition="Specific version of the code system referred to", formalDefinition="The version of the code system that the codes are selected from, or the special version '*' for all versions." ) 481 protected StringType version; 482 483 /** 484 * Specifies a concept to be included or excluded. 485 */ 486 @Child(name = "concept", type = {}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 487 @Description(shortDefinition="A concept defined in the system", formalDefinition="Specifies a concept to be included or excluded." ) 488 protected List<ConceptReferenceComponent> concept; 489 490 /** 491 * Select concepts by specify a matching criterion based on the properties (including relationships) defined by the system, or on filters defined by the system. If multiple filters are specified, they SHALL all be true. 492 */ 493 @Child(name = "filter", type = {}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 494 @Description(shortDefinition="Select codes/concepts by their properties (including relationships)", formalDefinition="Select concepts by specify a matching criterion based on the properties (including relationships) defined by the system, or on filters defined by the system. If multiple filters are specified, they SHALL all be true." ) 495 protected List<ConceptSetFilterComponent> filter; 496 497 /** 498 * Selects the concepts found in this value set (based on its value set definition). This is an absolute URI that is a reference to ValueSet.url. If multiple value sets are specified this includes the union of the contents of all of the referenced value sets. 499 */ 500 @Child(name = "valueSet", type = {CanonicalType.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 501 @Description(shortDefinition="Select the contents included in this value set", formalDefinition="Selects the concepts found in this value set (based on its value set definition). This is an absolute URI that is a reference to ValueSet.url. If multiple value sets are specified this includes the union of the contents of all of the referenced value sets." ) 502 protected List<CanonicalType> valueSet; 503 504 private static final long serialVersionUID = 969391146L; 505 506 /** 507 * Constructor 508 */ 509 public ConceptSetComponent() { 510 super(); 511 } 512 513 /** 514 * @return {@link #system} (An absolute URI which is the code system from which the selected codes come from.). This is the underlying object with id, value and extensions. The accessor "getSystem" gives direct access to the value 515 */ 516 public UriType getSystemElement() { 517 if (this.system == null) 518 if (Configuration.errorOnAutoCreate()) 519 throw new Error("Attempt to auto-create ConceptSetComponent.system"); 520 else if (Configuration.doAutoCreate()) 521 this.system = new UriType(); // bb 522 return this.system; 523 } 524 525 public boolean hasSystemElement() { 526 return this.system != null && !this.system.isEmpty(); 527 } 528 529 public boolean hasSystem() { 530 return this.system != null && !this.system.isEmpty(); 531 } 532 533 /** 534 * @param value {@link #system} (An absolute URI which is the code system from which the selected codes come from.). This is the underlying object with id, value and extensions. The accessor "getSystem" gives direct access to the value 535 */ 536 public ConceptSetComponent setSystemElement(UriType value) { 537 this.system = value; 538 return this; 539 } 540 541 /** 542 * @return An absolute URI which is the code system from which the selected codes come from. 543 */ 544 public String getSystem() { 545 return this.system == null ? null : this.system.getValue(); 546 } 547 548 /** 549 * @param value An absolute URI which is the code system from which the selected codes come from. 550 */ 551 public ConceptSetComponent setSystem(String value) { 552 if (Utilities.noString(value)) 553 this.system = null; 554 else { 555 if (this.system == null) 556 this.system = new UriType(); 557 this.system.setValue(value); 558 } 559 return this; 560 } 561 562 /** 563 * @return {@link #version} (The version of the code system that the codes are selected from, or the special version '*' for all versions.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 564 */ 565 public StringType getVersionElement() { 566 if (this.version == null) 567 if (Configuration.errorOnAutoCreate()) 568 throw new Error("Attempt to auto-create ConceptSetComponent.version"); 569 else if (Configuration.doAutoCreate()) 570 this.version = new StringType(); // bb 571 return this.version; 572 } 573 574 public boolean hasVersionElement() { 575 return this.version != null && !this.version.isEmpty(); 576 } 577 578 public boolean hasVersion() { 579 return this.version != null && !this.version.isEmpty(); 580 } 581 582 /** 583 * @param value {@link #version} (The version of the code system that the codes are selected from, or the special version '*' for all versions.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 584 */ 585 public ConceptSetComponent setVersionElement(StringType value) { 586 this.version = value; 587 return this; 588 } 589 590 /** 591 * @return The version of the code system that the codes are selected from, or the special version '*' for all versions. 592 */ 593 public String getVersion() { 594 return this.version == null ? null : this.version.getValue(); 595 } 596 597 /** 598 * @param value The version of the code system that the codes are selected from, or the special version '*' for all versions. 599 */ 600 public ConceptSetComponent setVersion(String value) { 601 if (Utilities.noString(value)) 602 this.version = null; 603 else { 604 if (this.version == null) 605 this.version = new StringType(); 606 this.version.setValue(value); 607 } 608 return this; 609 } 610 611 /** 612 * @return {@link #concept} (Specifies a concept to be included or excluded.) 613 */ 614 public List<ConceptReferenceComponent> getConcept() { 615 if (this.concept == null) 616 this.concept = new ArrayList<ConceptReferenceComponent>(); 617 return this.concept; 618 } 619 620 /** 621 * @return Returns a reference to <code>this</code> for easy method chaining 622 */ 623 public ConceptSetComponent setConcept(List<ConceptReferenceComponent> theConcept) { 624 this.concept = theConcept; 625 return this; 626 } 627 628 public boolean hasConcept() { 629 if (this.concept == null) 630 return false; 631 for (ConceptReferenceComponent item : this.concept) 632 if (!item.isEmpty()) 633 return true; 634 return false; 635 } 636 637 public ConceptReferenceComponent addConcept() { //3 638 ConceptReferenceComponent t = new ConceptReferenceComponent(); 639 if (this.concept == null) 640 this.concept = new ArrayList<ConceptReferenceComponent>(); 641 this.concept.add(t); 642 return t; 643 } 644 645 public ConceptSetComponent addConcept(ConceptReferenceComponent t) { //3 646 if (t == null) 647 return this; 648 if (this.concept == null) 649 this.concept = new ArrayList<ConceptReferenceComponent>(); 650 this.concept.add(t); 651 return this; 652 } 653 654 /** 655 * @return The first repetition of repeating field {@link #concept}, creating it if it does not already exist {3} 656 */ 657 public ConceptReferenceComponent getConceptFirstRep() { 658 if (getConcept().isEmpty()) { 659 addConcept(); 660 } 661 return getConcept().get(0); 662 } 663 664 /** 665 * @return {@link #filter} (Select concepts by specify a matching criterion based on the properties (including relationships) defined by the system, or on filters defined by the system. If multiple filters are specified, they SHALL all be true.) 666 */ 667 public List<ConceptSetFilterComponent> getFilter() { 668 if (this.filter == null) 669 this.filter = new ArrayList<ConceptSetFilterComponent>(); 670 return this.filter; 671 } 672 673 /** 674 * @return Returns a reference to <code>this</code> for easy method chaining 675 */ 676 public ConceptSetComponent setFilter(List<ConceptSetFilterComponent> theFilter) { 677 this.filter = theFilter; 678 return this; 679 } 680 681 public boolean hasFilter() { 682 if (this.filter == null) 683 return false; 684 for (ConceptSetFilterComponent item : this.filter) 685 if (!item.isEmpty()) 686 return true; 687 return false; 688 } 689 690 public ConceptSetFilterComponent addFilter() { //3 691 ConceptSetFilterComponent t = new ConceptSetFilterComponent(); 692 if (this.filter == null) 693 this.filter = new ArrayList<ConceptSetFilterComponent>(); 694 this.filter.add(t); 695 return t; 696 } 697 698 public ConceptSetComponent addFilter(ConceptSetFilterComponent t) { //3 699 if (t == null) 700 return this; 701 if (this.filter == null) 702 this.filter = new ArrayList<ConceptSetFilterComponent>(); 703 this.filter.add(t); 704 return this; 705 } 706 707 /** 708 * @return The first repetition of repeating field {@link #filter}, creating it if it does not already exist {3} 709 */ 710 public ConceptSetFilterComponent getFilterFirstRep() { 711 if (getFilter().isEmpty()) { 712 addFilter(); 713 } 714 return getFilter().get(0); 715 } 716 717 /** 718 * @return {@link #valueSet} (Selects the concepts found in this value set (based on its value set definition). This is an absolute URI that is a reference to ValueSet.url. If multiple value sets are specified this includes the union of the contents of all of the referenced value sets.) 719 */ 720 public List<CanonicalType> getValueSet() { 721 if (this.valueSet == null) 722 this.valueSet = new ArrayList<CanonicalType>(); 723 return this.valueSet; 724 } 725 726 /** 727 * @return Returns a reference to <code>this</code> for easy method chaining 728 */ 729 public ConceptSetComponent setValueSet(List<CanonicalType> theValueSet) { 730 this.valueSet = theValueSet; 731 return this; 732 } 733 734 public boolean hasValueSet() { 735 if (this.valueSet == null) 736 return false; 737 for (CanonicalType item : this.valueSet) 738 if (!item.isEmpty()) 739 return true; 740 return false; 741 } 742 743 /** 744 * @return {@link #valueSet} (Selects the concepts found in this value set (based on its value set definition). This is an absolute URI that is a reference to ValueSet.url. If multiple value sets are specified this includes the union of the contents of all of the referenced value sets.) 745 */ 746 public CanonicalType addValueSetElement() {//2 747 CanonicalType t = new CanonicalType(); 748 if (this.valueSet == null) 749 this.valueSet = new ArrayList<CanonicalType>(); 750 this.valueSet.add(t); 751 return t; 752 } 753 754 /** 755 * @param value {@link #valueSet} (Selects the concepts found in this value set (based on its value set definition). This is an absolute URI that is a reference to ValueSet.url. If multiple value sets are specified this includes the union of the contents of all of the referenced value sets.) 756 */ 757 public ConceptSetComponent addValueSet(String value) { //1 758 CanonicalType t = new CanonicalType(); 759 t.setValue(value); 760 if (this.valueSet == null) 761 this.valueSet = new ArrayList<CanonicalType>(); 762 this.valueSet.add(t); 763 return this; 764 } 765 766 /** 767 * @param value {@link #valueSet} (Selects the concepts found in this value set (based on its value set definition). This is an absolute URI that is a reference to ValueSet.url. If multiple value sets are specified this includes the union of the contents of all of the referenced value sets.) 768 */ 769 public boolean hasValueSet(String value) { 770 if (this.valueSet == null) 771 return false; 772 for (CanonicalType v : this.valueSet) 773 if (v.getValue().equals(value)) // canonical 774 return true; 775 return false; 776 } 777 778 protected void listChildren(List<Property> children) { 779 super.listChildren(children); 780 children.add(new Property("system", "uri", "An absolute URI which is the code system from which the selected codes come from.", 0, 1, system)); 781 children.add(new Property("version", "string", "The version of the code system that the codes are selected from, or the special version '*' for all versions.", 0, 1, version)); 782 children.add(new Property("concept", "", "Specifies a concept to be included or excluded.", 0, java.lang.Integer.MAX_VALUE, concept)); 783 children.add(new Property("filter", "", "Select concepts by specify a matching criterion based on the properties (including relationships) defined by the system, or on filters defined by the system. If multiple filters are specified, they SHALL all be true.", 0, java.lang.Integer.MAX_VALUE, filter)); 784 children.add(new Property("valueSet", "canonical(ValueSet)", "Selects the concepts found in this value set (based on its value set definition). This is an absolute URI that is a reference to ValueSet.url. If multiple value sets are specified this includes the union of the contents of all of the referenced value sets.", 0, java.lang.Integer.MAX_VALUE, valueSet)); 785 } 786 787 @Override 788 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 789 switch (_hash) { 790 case -887328209: /*system*/ return new Property("system", "uri", "An absolute URI which is the code system from which the selected codes come from.", 0, 1, system); 791 case 351608024: /*version*/ return new Property("version", "string", "The version of the code system that the codes are selected from, or the special version '*' for all versions.", 0, 1, version); 792 case 951024232: /*concept*/ return new Property("concept", "", "Specifies a concept to be included or excluded.", 0, java.lang.Integer.MAX_VALUE, concept); 793 case -1274492040: /*filter*/ return new Property("filter", "", "Select concepts by specify a matching criterion based on the properties (including relationships) defined by the system, or on filters defined by the system. If multiple filters are specified, they SHALL all be true.", 0, java.lang.Integer.MAX_VALUE, filter); 794 case -1410174671: /*valueSet*/ return new Property("valueSet", "canonical(ValueSet)", "Selects the concepts found in this value set (based on its value set definition). This is an absolute URI that is a reference to ValueSet.url. If multiple value sets are specified this includes the union of the contents of all of the referenced value sets.", 0, java.lang.Integer.MAX_VALUE, valueSet); 795 default: return super.getNamedProperty(_hash, _name, _checkValid); 796 } 797 798 } 799 800 @Override 801 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 802 switch (hash) { 803 case -887328209: /*system*/ return this.system == null ? new Base[0] : new Base[] {this.system}; // UriType 804 case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType 805 case 951024232: /*concept*/ return this.concept == null ? new Base[0] : this.concept.toArray(new Base[this.concept.size()]); // ConceptReferenceComponent 806 case -1274492040: /*filter*/ return this.filter == null ? new Base[0] : this.filter.toArray(new Base[this.filter.size()]); // ConceptSetFilterComponent 807 case -1410174671: /*valueSet*/ return this.valueSet == null ? new Base[0] : this.valueSet.toArray(new Base[this.valueSet.size()]); // CanonicalType 808 default: return super.getProperty(hash, name, checkValid); 809 } 810 811 } 812 813 @Override 814 public Base setProperty(int hash, String name, Base value) throws FHIRException { 815 switch (hash) { 816 case -887328209: // system 817 this.system = TypeConvertor.castToUri(value); // UriType 818 return value; 819 case 351608024: // version 820 this.version = TypeConvertor.castToString(value); // StringType 821 return value; 822 case 951024232: // concept 823 this.getConcept().add((ConceptReferenceComponent) value); // ConceptReferenceComponent 824 return value; 825 case -1274492040: // filter 826 this.getFilter().add((ConceptSetFilterComponent) value); // ConceptSetFilterComponent 827 return value; 828 case -1410174671: // valueSet 829 this.getValueSet().add(TypeConvertor.castToCanonical(value)); // CanonicalType 830 return value; 831 default: return super.setProperty(hash, name, value); 832 } 833 834 } 835 836 @Override 837 public Base setProperty(String name, Base value) throws FHIRException { 838 if (name.equals("system")) { 839 this.system = TypeConvertor.castToUri(value); // UriType 840 } else if (name.equals("version")) { 841 this.version = TypeConvertor.castToString(value); // StringType 842 } else if (name.equals("concept")) { 843 this.getConcept().add((ConceptReferenceComponent) value); 844 } else if (name.equals("filter")) { 845 this.getFilter().add((ConceptSetFilterComponent) value); 846 } else if (name.equals("valueSet")) { 847 this.getValueSet().add(TypeConvertor.castToCanonical(value)); 848 } else 849 return super.setProperty(name, value); 850 return value; 851 } 852 853 @Override 854 public Base makeProperty(int hash, String name) throws FHIRException { 855 switch (hash) { 856 case -887328209: return getSystemElement(); 857 case 351608024: return getVersionElement(); 858 case 951024232: return addConcept(); 859 case -1274492040: return addFilter(); 860 case -1410174671: return addValueSetElement(); 861 default: return super.makeProperty(hash, name); 862 } 863 864 } 865 866 @Override 867 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 868 switch (hash) { 869 case -887328209: /*system*/ return new String[] {"uri"}; 870 case 351608024: /*version*/ return new String[] {"string"}; 871 case 951024232: /*concept*/ return new String[] {}; 872 case -1274492040: /*filter*/ return new String[] {}; 873 case -1410174671: /*valueSet*/ return new String[] {"canonical"}; 874 default: return super.getTypesForProperty(hash, name); 875 } 876 877 } 878 879 @Override 880 public Base addChild(String name) throws FHIRException { 881 if (name.equals("system")) { 882 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.compose.include.system"); 883 } 884 else if (name.equals("version")) { 885 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.compose.include.version"); 886 } 887 else if (name.equals("concept")) { 888 return addConcept(); 889 } 890 else if (name.equals("filter")) { 891 return addFilter(); 892 } 893 else if (name.equals("valueSet")) { 894 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.compose.include.valueSet"); 895 } 896 else 897 return super.addChild(name); 898 } 899 900 public ConceptSetComponent copy() { 901 ConceptSetComponent dst = new ConceptSetComponent(); 902 copyValues(dst); 903 return dst; 904 } 905 906 public void copyValues(ConceptSetComponent dst) { 907 super.copyValues(dst); 908 dst.system = system == null ? null : system.copy(); 909 dst.version = version == null ? null : version.copy(); 910 if (concept != null) { 911 dst.concept = new ArrayList<ConceptReferenceComponent>(); 912 for (ConceptReferenceComponent i : concept) 913 dst.concept.add(i.copy()); 914 }; 915 if (filter != null) { 916 dst.filter = new ArrayList<ConceptSetFilterComponent>(); 917 for (ConceptSetFilterComponent i : filter) 918 dst.filter.add(i.copy()); 919 }; 920 if (valueSet != null) { 921 dst.valueSet = new ArrayList<CanonicalType>(); 922 for (CanonicalType i : valueSet) 923 dst.valueSet.add(i.copy()); 924 }; 925 } 926 927 @Override 928 public boolean equalsDeep(Base other_) { 929 if (!super.equalsDeep(other_)) 930 return false; 931 if (!(other_ instanceof ConceptSetComponent)) 932 return false; 933 ConceptSetComponent o = (ConceptSetComponent) other_; 934 return compareDeep(system, o.system, true) && compareDeep(version, o.version, true) && compareDeep(concept, o.concept, true) 935 && compareDeep(filter, o.filter, true) && compareDeep(valueSet, o.valueSet, true); 936 } 937 938 @Override 939 public boolean equalsShallow(Base other_) { 940 if (!super.equalsShallow(other_)) 941 return false; 942 if (!(other_ instanceof ConceptSetComponent)) 943 return false; 944 ConceptSetComponent o = (ConceptSetComponent) other_; 945 return compareValues(system, o.system, true) && compareValues(version, o.version, true) && compareValues(valueSet, o.valueSet, true) 946 ; 947 } 948 949 public boolean isEmpty() { 950 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(system, version, concept 951 , filter, valueSet); 952 } 953 954 public String fhirType() { 955 return "ValueSet.compose.include"; 956 957 } 958 959 } 960 961 @Block() 962 public static class ConceptReferenceComponent extends BackboneElement implements IBaseBackboneElement { 963 /** 964 * Specifies a code for the concept to be included or excluded. 965 */ 966 @Child(name = "code", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=false) 967 @Description(shortDefinition="Code or expression from system", formalDefinition="Specifies a code for the concept to be included or excluded." ) 968 protected CodeType code; 969 970 /** 971 * The text to display to the user for this concept in the context of this valueset. If no display is provided, then applications using the value set use the display specified for the code by the system. 972 */ 973 @Child(name = "display", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=false) 974 @Description(shortDefinition="Text to display for this code for this value set in this valueset", formalDefinition="The text to display to the user for this concept in the context of this valueset. If no display is provided, then applications using the value set use the display specified for the code by the system." ) 975 protected StringType display; 976 977 /** 978 * Additional representations for this concept when used in this value set - other languages, aliases, specialized purposes, used for particular purposes, etc. 979 */ 980 @Child(name = "designation", type = {}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 981 @Description(shortDefinition="Additional representations for this concept", formalDefinition="Additional representations for this concept when used in this value set - other languages, aliases, specialized purposes, used for particular purposes, etc." ) 982 protected List<ConceptReferenceDesignationComponent> designation; 983 984 private static final long serialVersionUID = 260579971L; 985 986 /** 987 * Constructor 988 */ 989 public ConceptReferenceComponent() { 990 super(); 991 } 992 993 /** 994 * Constructor 995 */ 996 public ConceptReferenceComponent(String code) { 997 super(); 998 this.setCode(code); 999 } 1000 1001 /** 1002 * @return {@link #code} (Specifies a code for the concept to be included or excluded.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value 1003 */ 1004 public CodeType getCodeElement() { 1005 if (this.code == null) 1006 if (Configuration.errorOnAutoCreate()) 1007 throw new Error("Attempt to auto-create ConceptReferenceComponent.code"); 1008 else if (Configuration.doAutoCreate()) 1009 this.code = new CodeType(); // bb 1010 return this.code; 1011 } 1012 1013 public boolean hasCodeElement() { 1014 return this.code != null && !this.code.isEmpty(); 1015 } 1016 1017 public boolean hasCode() { 1018 return this.code != null && !this.code.isEmpty(); 1019 } 1020 1021 /** 1022 * @param value {@link #code} (Specifies a code for the concept to be included or excluded.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value 1023 */ 1024 public ConceptReferenceComponent setCodeElement(CodeType value) { 1025 this.code = value; 1026 return this; 1027 } 1028 1029 /** 1030 * @return Specifies a code for the concept to be included or excluded. 1031 */ 1032 public String getCode() { 1033 return this.code == null ? null : this.code.getValue(); 1034 } 1035 1036 /** 1037 * @param value Specifies a code for the concept to be included or excluded. 1038 */ 1039 public ConceptReferenceComponent setCode(String value) { 1040 if (this.code == null) 1041 this.code = new CodeType(); 1042 this.code.setValue(value); 1043 return this; 1044 } 1045 1046 /** 1047 * @return {@link #display} (The text to display to the user for this concept in the context of this valueset. If no display is provided, then applications using the value set use the display specified for the code by the system.). This is the underlying object with id, value and extensions. The accessor "getDisplay" gives direct access to the value 1048 */ 1049 public StringType getDisplayElement() { 1050 if (this.display == null) 1051 if (Configuration.errorOnAutoCreate()) 1052 throw new Error("Attempt to auto-create ConceptReferenceComponent.display"); 1053 else if (Configuration.doAutoCreate()) 1054 this.display = new StringType(); // bb 1055 return this.display; 1056 } 1057 1058 public boolean hasDisplayElement() { 1059 return this.display != null && !this.display.isEmpty(); 1060 } 1061 1062 public boolean hasDisplay() { 1063 return this.display != null && !this.display.isEmpty(); 1064 } 1065 1066 /** 1067 * @param value {@link #display} (The text to display to the user for this concept in the context of this valueset. If no display is provided, then applications using the value set use the display specified for the code by the system.). This is the underlying object with id, value and extensions. The accessor "getDisplay" gives direct access to the value 1068 */ 1069 public ConceptReferenceComponent setDisplayElement(StringType value) { 1070 this.display = value; 1071 return this; 1072 } 1073 1074 /** 1075 * @return The text to display to the user for this concept in the context of this valueset. If no display is provided, then applications using the value set use the display specified for the code by the system. 1076 */ 1077 public String getDisplay() { 1078 return this.display == null ? null : this.display.getValue(); 1079 } 1080 1081 /** 1082 * @param value The text to display to the user for this concept in the context of this valueset. If no display is provided, then applications using the value set use the display specified for the code by the system. 1083 */ 1084 public ConceptReferenceComponent setDisplay(String value) { 1085 if (Utilities.noString(value)) 1086 this.display = null; 1087 else { 1088 if (this.display == null) 1089 this.display = new StringType(); 1090 this.display.setValue(value); 1091 } 1092 return this; 1093 } 1094 1095 /** 1096 * @return {@link #designation} (Additional representations for this concept when used in this value set - other languages, aliases, specialized purposes, used for particular purposes, etc.) 1097 */ 1098 public List<ConceptReferenceDesignationComponent> getDesignation() { 1099 if (this.designation == null) 1100 this.designation = new ArrayList<ConceptReferenceDesignationComponent>(); 1101 return this.designation; 1102 } 1103 1104 /** 1105 * @return Returns a reference to <code>this</code> for easy method chaining 1106 */ 1107 public ConceptReferenceComponent setDesignation(List<ConceptReferenceDesignationComponent> theDesignation) { 1108 this.designation = theDesignation; 1109 return this; 1110 } 1111 1112 public boolean hasDesignation() { 1113 if (this.designation == null) 1114 return false; 1115 for (ConceptReferenceDesignationComponent item : this.designation) 1116 if (!item.isEmpty()) 1117 return true; 1118 return false; 1119 } 1120 1121 public ConceptReferenceDesignationComponent addDesignation() { //3 1122 ConceptReferenceDesignationComponent t = new ConceptReferenceDesignationComponent(); 1123 if (this.designation == null) 1124 this.designation = new ArrayList<ConceptReferenceDesignationComponent>(); 1125 this.designation.add(t); 1126 return t; 1127 } 1128 1129 public ConceptReferenceComponent addDesignation(ConceptReferenceDesignationComponent t) { //3 1130 if (t == null) 1131 return this; 1132 if (this.designation == null) 1133 this.designation = new ArrayList<ConceptReferenceDesignationComponent>(); 1134 this.designation.add(t); 1135 return this; 1136 } 1137 1138 /** 1139 * @return The first repetition of repeating field {@link #designation}, creating it if it does not already exist {3} 1140 */ 1141 public ConceptReferenceDesignationComponent getDesignationFirstRep() { 1142 if (getDesignation().isEmpty()) { 1143 addDesignation(); 1144 } 1145 return getDesignation().get(0); 1146 } 1147 1148 protected void listChildren(List<Property> children) { 1149 super.listChildren(children); 1150 children.add(new Property("code", "code", "Specifies a code for the concept to be included or excluded.", 0, 1, code)); 1151 children.add(new Property("display", "string", "The text to display to the user for this concept in the context of this valueset. If no display is provided, then applications using the value set use the display specified for the code by the system.", 0, 1, display)); 1152 children.add(new Property("designation", "", "Additional representations for this concept when used in this value set - other languages, aliases, specialized purposes, used for particular purposes, etc.", 0, java.lang.Integer.MAX_VALUE, designation)); 1153 } 1154 1155 @Override 1156 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1157 switch (_hash) { 1158 case 3059181: /*code*/ return new Property("code", "code", "Specifies a code for the concept to be included or excluded.", 0, 1, code); 1159 case 1671764162: /*display*/ return new Property("display", "string", "The text to display to the user for this concept in the context of this valueset. If no display is provided, then applications using the value set use the display specified for the code by the system.", 0, 1, display); 1160 case -900931593: /*designation*/ return new Property("designation", "", "Additional representations for this concept when used in this value set - other languages, aliases, specialized purposes, used for particular purposes, etc.", 0, java.lang.Integer.MAX_VALUE, designation); 1161 default: return super.getNamedProperty(_hash, _name, _checkValid); 1162 } 1163 1164 } 1165 1166 @Override 1167 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1168 switch (hash) { 1169 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeType 1170 case 1671764162: /*display*/ return this.display == null ? new Base[0] : new Base[] {this.display}; // StringType 1171 case -900931593: /*designation*/ return this.designation == null ? new Base[0] : this.designation.toArray(new Base[this.designation.size()]); // ConceptReferenceDesignationComponent 1172 default: return super.getProperty(hash, name, checkValid); 1173 } 1174 1175 } 1176 1177 @Override 1178 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1179 switch (hash) { 1180 case 3059181: // code 1181 this.code = TypeConvertor.castToCode(value); // CodeType 1182 return value; 1183 case 1671764162: // display 1184 this.display = TypeConvertor.castToString(value); // StringType 1185 return value; 1186 case -900931593: // designation 1187 this.getDesignation().add((ConceptReferenceDesignationComponent) value); // ConceptReferenceDesignationComponent 1188 return value; 1189 default: return super.setProperty(hash, name, value); 1190 } 1191 1192 } 1193 1194 @Override 1195 public Base setProperty(String name, Base value) throws FHIRException { 1196 if (name.equals("code")) { 1197 this.code = TypeConvertor.castToCode(value); // CodeType 1198 } else if (name.equals("display")) { 1199 this.display = TypeConvertor.castToString(value); // StringType 1200 } else if (name.equals("designation")) { 1201 this.getDesignation().add((ConceptReferenceDesignationComponent) value); 1202 } else 1203 return super.setProperty(name, value); 1204 return value; 1205 } 1206 1207 @Override 1208 public Base makeProperty(int hash, String name) throws FHIRException { 1209 switch (hash) { 1210 case 3059181: return getCodeElement(); 1211 case 1671764162: return getDisplayElement(); 1212 case -900931593: return addDesignation(); 1213 default: return super.makeProperty(hash, name); 1214 } 1215 1216 } 1217 1218 @Override 1219 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1220 switch (hash) { 1221 case 3059181: /*code*/ return new String[] {"code"}; 1222 case 1671764162: /*display*/ return new String[] {"string"}; 1223 case -900931593: /*designation*/ return new String[] {}; 1224 default: return super.getTypesForProperty(hash, name); 1225 } 1226 1227 } 1228 1229 @Override 1230 public Base addChild(String name) throws FHIRException { 1231 if (name.equals("code")) { 1232 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.compose.include.concept.code"); 1233 } 1234 else if (name.equals("display")) { 1235 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.compose.include.concept.display"); 1236 } 1237 else if (name.equals("designation")) { 1238 return addDesignation(); 1239 } 1240 else 1241 return super.addChild(name); 1242 } 1243 1244 public ConceptReferenceComponent copy() { 1245 ConceptReferenceComponent dst = new ConceptReferenceComponent(); 1246 copyValues(dst); 1247 return dst; 1248 } 1249 1250 public void copyValues(ConceptReferenceComponent dst) { 1251 super.copyValues(dst); 1252 dst.code = code == null ? null : code.copy(); 1253 dst.display = display == null ? null : display.copy(); 1254 if (designation != null) { 1255 dst.designation = new ArrayList<ConceptReferenceDesignationComponent>(); 1256 for (ConceptReferenceDesignationComponent i : designation) 1257 dst.designation.add(i.copy()); 1258 }; 1259 } 1260 1261 @Override 1262 public boolean equalsDeep(Base other_) { 1263 if (!super.equalsDeep(other_)) 1264 return false; 1265 if (!(other_ instanceof ConceptReferenceComponent)) 1266 return false; 1267 ConceptReferenceComponent o = (ConceptReferenceComponent) other_; 1268 return compareDeep(code, o.code, true) && compareDeep(display, o.display, true) && compareDeep(designation, o.designation, true) 1269 ; 1270 } 1271 1272 @Override 1273 public boolean equalsShallow(Base other_) { 1274 if (!super.equalsShallow(other_)) 1275 return false; 1276 if (!(other_ instanceof ConceptReferenceComponent)) 1277 return false; 1278 ConceptReferenceComponent o = (ConceptReferenceComponent) other_; 1279 return compareValues(code, o.code, true) && compareValues(display, o.display, true); 1280 } 1281 1282 public boolean isEmpty() { 1283 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(code, display, designation 1284 ); 1285 } 1286 1287 public String fhirType() { 1288 return "ValueSet.compose.include.concept"; 1289 1290 } 1291 1292 } 1293 1294 @Block() 1295 public static class ConceptReferenceDesignationComponent extends BackboneElement implements IBaseBackboneElement { 1296 /** 1297 * The language this designation is defined for. 1298 */ 1299 @Child(name = "language", type = {CodeType.class}, order=1, min=0, max=1, modifier=false, summary=false) 1300 @Description(shortDefinition="Human language of the designation", formalDefinition="The language this designation is defined for." ) 1301 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/languages") 1302 protected CodeType language; 1303 1304 /** 1305 * A code that represents types of uses of designations. 1306 */ 1307 @Child(name = "use", type = {Coding.class}, order=2, min=0, max=1, modifier=false, summary=false) 1308 @Description(shortDefinition="Types of uses of designations", formalDefinition="A code that represents types of uses of designations." ) 1309 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/designation-use") 1310 protected Coding use; 1311 1312 /** 1313 * The text value for this designation. 1314 */ 1315 @Child(name = "value", type = {StringType.class}, order=3, min=1, max=1, modifier=false, summary=false) 1316 @Description(shortDefinition="The text value for this designation", formalDefinition="The text value for this designation." ) 1317 protected StringType value; 1318 1319 private static final long serialVersionUID = 1515662414L; 1320 1321 /** 1322 * Constructor 1323 */ 1324 public ConceptReferenceDesignationComponent() { 1325 super(); 1326 } 1327 1328 /** 1329 * Constructor 1330 */ 1331 public ConceptReferenceDesignationComponent(String value) { 1332 super(); 1333 this.setValue(value); 1334 } 1335 1336 /** 1337 * @return {@link #language} (The language this designation is defined for.). This is the underlying object with id, value and extensions. The accessor "getLanguage" gives direct access to the value 1338 */ 1339 public CodeType getLanguageElement() { 1340 if (this.language == null) 1341 if (Configuration.errorOnAutoCreate()) 1342 throw new Error("Attempt to auto-create ConceptReferenceDesignationComponent.language"); 1343 else if (Configuration.doAutoCreate()) 1344 this.language = new CodeType(); // bb 1345 return this.language; 1346 } 1347 1348 public boolean hasLanguageElement() { 1349 return this.language != null && !this.language.isEmpty(); 1350 } 1351 1352 public boolean hasLanguage() { 1353 return this.language != null && !this.language.isEmpty(); 1354 } 1355 1356 /** 1357 * @param value {@link #language} (The language this designation is defined for.). This is the underlying object with id, value and extensions. The accessor "getLanguage" gives direct access to the value 1358 */ 1359 public ConceptReferenceDesignationComponent setLanguageElement(CodeType value) { 1360 this.language = value; 1361 return this; 1362 } 1363 1364 /** 1365 * @return The language this designation is defined for. 1366 */ 1367 public String getLanguage() { 1368 return this.language == null ? null : this.language.getValue(); 1369 } 1370 1371 /** 1372 * @param value The language this designation is defined for. 1373 */ 1374 public ConceptReferenceDesignationComponent setLanguage(String value) { 1375 if (Utilities.noString(value)) 1376 this.language = null; 1377 else { 1378 if (this.language == null) 1379 this.language = new CodeType(); 1380 this.language.setValue(value); 1381 } 1382 return this; 1383 } 1384 1385 /** 1386 * @return {@link #use} (A code that represents types of uses of designations.) 1387 */ 1388 public Coding getUse() { 1389 if (this.use == null) 1390 if (Configuration.errorOnAutoCreate()) 1391 throw new Error("Attempt to auto-create ConceptReferenceDesignationComponent.use"); 1392 else if (Configuration.doAutoCreate()) 1393 this.use = new Coding(); // cc 1394 return this.use; 1395 } 1396 1397 public boolean hasUse() { 1398 return this.use != null && !this.use.isEmpty(); 1399 } 1400 1401 /** 1402 * @param value {@link #use} (A code that represents types of uses of designations.) 1403 */ 1404 public ConceptReferenceDesignationComponent setUse(Coding value) { 1405 this.use = value; 1406 return this; 1407 } 1408 1409 /** 1410 * @return {@link #value} (The text value for this designation.). This is the underlying object with id, value and extensions. The accessor "getValue" gives direct access to the value 1411 */ 1412 public StringType getValueElement() { 1413 if (this.value == null) 1414 if (Configuration.errorOnAutoCreate()) 1415 throw new Error("Attempt to auto-create ConceptReferenceDesignationComponent.value"); 1416 else if (Configuration.doAutoCreate()) 1417 this.value = new StringType(); // bb 1418 return this.value; 1419 } 1420 1421 public boolean hasValueElement() { 1422 return this.value != null && !this.value.isEmpty(); 1423 } 1424 1425 public boolean hasValue() { 1426 return this.value != null && !this.value.isEmpty(); 1427 } 1428 1429 /** 1430 * @param value {@link #value} (The text value for this designation.). This is the underlying object with id, value and extensions. The accessor "getValue" gives direct access to the value 1431 */ 1432 public ConceptReferenceDesignationComponent setValueElement(StringType value) { 1433 this.value = value; 1434 return this; 1435 } 1436 1437 /** 1438 * @return The text value for this designation. 1439 */ 1440 public String getValue() { 1441 return this.value == null ? null : this.value.getValue(); 1442 } 1443 1444 /** 1445 * @param value The text value for this designation. 1446 */ 1447 public ConceptReferenceDesignationComponent setValue(String value) { 1448 if (this.value == null) 1449 this.value = new StringType(); 1450 this.value.setValue(value); 1451 return this; 1452 } 1453 1454 protected void listChildren(List<Property> children) { 1455 super.listChildren(children); 1456 children.add(new Property("language", "code", "The language this designation is defined for.", 0, 1, language)); 1457 children.add(new Property("use", "Coding", "A code that represents types of uses of designations.", 0, 1, use)); 1458 children.add(new Property("value", "string", "The text value for this designation.", 0, 1, value)); 1459 } 1460 1461 @Override 1462 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1463 switch (_hash) { 1464 case -1613589672: /*language*/ return new Property("language", "code", "The language this designation is defined for.", 0, 1, language); 1465 case 116103: /*use*/ return new Property("use", "Coding", "A code that represents types of uses of designations.", 0, 1, use); 1466 case 111972721: /*value*/ return new Property("value", "string", "The text value for this designation.", 0, 1, value); 1467 default: return super.getNamedProperty(_hash, _name, _checkValid); 1468 } 1469 1470 } 1471 1472 @Override 1473 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1474 switch (hash) { 1475 case -1613589672: /*language*/ return this.language == null ? new Base[0] : new Base[] {this.language}; // CodeType 1476 case 116103: /*use*/ return this.use == null ? new Base[0] : new Base[] {this.use}; // Coding 1477 case 111972721: /*value*/ return this.value == null ? new Base[0] : new Base[] {this.value}; // StringType 1478 default: return super.getProperty(hash, name, checkValid); 1479 } 1480 1481 } 1482 1483 @Override 1484 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1485 switch (hash) { 1486 case -1613589672: // language 1487 this.language = TypeConvertor.castToCode(value); // CodeType 1488 return value; 1489 case 116103: // use 1490 this.use = TypeConvertor.castToCoding(value); // Coding 1491 return value; 1492 case 111972721: // value 1493 this.value = TypeConvertor.castToString(value); // StringType 1494 return value; 1495 default: return super.setProperty(hash, name, value); 1496 } 1497 1498 } 1499 1500 @Override 1501 public Base setProperty(String name, Base value) throws FHIRException { 1502 if (name.equals("language")) { 1503 this.language = TypeConvertor.castToCode(value); // CodeType 1504 } else if (name.equals("use")) { 1505 this.use = TypeConvertor.castToCoding(value); // Coding 1506 } else if (name.equals("value")) { 1507 this.value = TypeConvertor.castToString(value); // StringType 1508 } else 1509 return super.setProperty(name, value); 1510 return value; 1511 } 1512 1513 @Override 1514 public Base makeProperty(int hash, String name) throws FHIRException { 1515 switch (hash) { 1516 case -1613589672: return getLanguageElement(); 1517 case 116103: return getUse(); 1518 case 111972721: return getValueElement(); 1519 default: return super.makeProperty(hash, name); 1520 } 1521 1522 } 1523 1524 @Override 1525 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1526 switch (hash) { 1527 case -1613589672: /*language*/ return new String[] {"code"}; 1528 case 116103: /*use*/ return new String[] {"Coding"}; 1529 case 111972721: /*value*/ return new String[] {"string"}; 1530 default: return super.getTypesForProperty(hash, name); 1531 } 1532 1533 } 1534 1535 @Override 1536 public Base addChild(String name) throws FHIRException { 1537 if (name.equals("language")) { 1538 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.compose.include.concept.designation.language"); 1539 } 1540 else if (name.equals("use")) { 1541 this.use = new Coding(); 1542 return this.use; 1543 } 1544 else if (name.equals("value")) { 1545 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.compose.include.concept.designation.value"); 1546 } 1547 else 1548 return super.addChild(name); 1549 } 1550 1551 public ConceptReferenceDesignationComponent copy() { 1552 ConceptReferenceDesignationComponent dst = new ConceptReferenceDesignationComponent(); 1553 copyValues(dst); 1554 return dst; 1555 } 1556 1557 public void copyValues(ConceptReferenceDesignationComponent dst) { 1558 super.copyValues(dst); 1559 dst.language = language == null ? null : language.copy(); 1560 dst.use = use == null ? null : use.copy(); 1561 dst.value = value == null ? null : value.copy(); 1562 } 1563 1564 @Override 1565 public boolean equalsDeep(Base other_) { 1566 if (!super.equalsDeep(other_)) 1567 return false; 1568 if (!(other_ instanceof ConceptReferenceDesignationComponent)) 1569 return false; 1570 ConceptReferenceDesignationComponent o = (ConceptReferenceDesignationComponent) other_; 1571 return compareDeep(language, o.language, true) && compareDeep(use, o.use, true) && compareDeep(value, o.value, true) 1572 ; 1573 } 1574 1575 @Override 1576 public boolean equalsShallow(Base other_) { 1577 if (!super.equalsShallow(other_)) 1578 return false; 1579 if (!(other_ instanceof ConceptReferenceDesignationComponent)) 1580 return false; 1581 ConceptReferenceDesignationComponent o = (ConceptReferenceDesignationComponent) other_; 1582 return compareValues(language, o.language, true) && compareValues(value, o.value, true); 1583 } 1584 1585 public boolean isEmpty() { 1586 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(language, use, value); 1587 } 1588 1589 public String fhirType() { 1590 return "ValueSet.compose.include.concept.designation"; 1591 1592 } 1593 1594 } 1595 1596 @Block() 1597 public static class ConceptSetFilterComponent extends BackboneElement implements IBaseBackboneElement { 1598 /** 1599 * A code that identifies a property or a filter defined in the code system. 1600 */ 1601 @Child(name = "property", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=true) 1602 @Description(shortDefinition="A property/filter defined by the code system", formalDefinition="A code that identifies a property or a filter defined in the code system." ) 1603 protected CodeType property; 1604 1605 /** 1606 * The kind of operation to perform as a part of the filter criteria. 1607 */ 1608 @Child(name = "op", type = {CodeType.class}, order=2, min=1, max=1, modifier=false, summary=true) 1609 @Description(shortDefinition="= | is-a | descendent-of | is-not-a | regex | in | not-in | generalizes | exists", formalDefinition="The kind of operation to perform as a part of the filter criteria." ) 1610 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/filter-operator") 1611 protected Enumeration<FilterOperator> op; 1612 1613 /** 1614 * The match value may be either a code defined by the system, or a string value, which is a regex match on the literal string of the property value (if the filter represents a property defined in CodeSystem) or of the system filter value (if the filter represents a filter defined in CodeSystem) when the operation is 'regex', or one of the values (true and false), when the operation is 'exists'. 1615 */ 1616 @Child(name = "value", type = {StringType.class}, order=3, min=1, max=1, modifier=false, summary=true) 1617 @Description(shortDefinition="Code from the system, or regex criteria, or boolean value for exists", formalDefinition="The match value may be either a code defined by the system, or a string value, which is a regex match on the literal string of the property value (if the filter represents a property defined in CodeSystem) or of the system filter value (if the filter represents a filter defined in CodeSystem) when the operation is 'regex', or one of the values (true and false), when the operation is 'exists'." ) 1618 protected StringType value; 1619 1620 private static final long serialVersionUID = 1259153492L; 1621 1622 /** 1623 * Constructor 1624 */ 1625 public ConceptSetFilterComponent() { 1626 super(); 1627 } 1628 1629 /** 1630 * Constructor 1631 */ 1632 public ConceptSetFilterComponent(String property, FilterOperator op, String value) { 1633 super(); 1634 this.setProperty(property); 1635 this.setOp(op); 1636 this.setValue(value); 1637 } 1638 1639 /** 1640 * @return {@link #property} (A code that identifies a property or a filter defined in the code system.). This is the underlying object with id, value and extensions. The accessor "getProperty" gives direct access to the value 1641 */ 1642 public CodeType getPropertyElement() { 1643 if (this.property == null) 1644 if (Configuration.errorOnAutoCreate()) 1645 throw new Error("Attempt to auto-create ConceptSetFilterComponent.property"); 1646 else if (Configuration.doAutoCreate()) 1647 this.property = new CodeType(); // bb 1648 return this.property; 1649 } 1650 1651 public boolean hasPropertyElement() { 1652 return this.property != null && !this.property.isEmpty(); 1653 } 1654 1655 public boolean hasProperty() { 1656 return this.property != null && !this.property.isEmpty(); 1657 } 1658 1659 /** 1660 * @param value {@link #property} (A code that identifies a property or a filter defined in the code system.). This is the underlying object with id, value and extensions. The accessor "getProperty" gives direct access to the value 1661 */ 1662 public ConceptSetFilterComponent setPropertyElement(CodeType value) { 1663 this.property = value; 1664 return this; 1665 } 1666 1667 /** 1668 * @return A code that identifies a property or a filter defined in the code system. 1669 */ 1670 public String getProperty() { 1671 return this.property == null ? null : this.property.getValue(); 1672 } 1673 1674 /** 1675 * @param value A code that identifies a property or a filter defined in the code system. 1676 */ 1677 public ConceptSetFilterComponent setProperty(String value) { 1678 if (this.property == null) 1679 this.property = new CodeType(); 1680 this.property.setValue(value); 1681 return this; 1682 } 1683 1684 /** 1685 * @return {@link #op} (The kind of operation to perform as a part of the filter criteria.). This is the underlying object with id, value and extensions. The accessor "getOp" gives direct access to the value 1686 */ 1687 public Enumeration<FilterOperator> getOpElement() { 1688 if (this.op == null) 1689 if (Configuration.errorOnAutoCreate()) 1690 throw new Error("Attempt to auto-create ConceptSetFilterComponent.op"); 1691 else if (Configuration.doAutoCreate()) 1692 this.op = new Enumeration<FilterOperator>(new FilterOperatorEnumFactory()); // bb 1693 return this.op; 1694 } 1695 1696 public boolean hasOpElement() { 1697 return this.op != null && !this.op.isEmpty(); 1698 } 1699 1700 public boolean hasOp() { 1701 return this.op != null && !this.op.isEmpty(); 1702 } 1703 1704 /** 1705 * @param value {@link #op} (The kind of operation to perform as a part of the filter criteria.). This is the underlying object with id, value and extensions. The accessor "getOp" gives direct access to the value 1706 */ 1707 public ConceptSetFilterComponent setOpElement(Enumeration<FilterOperator> value) { 1708 this.op = value; 1709 return this; 1710 } 1711 1712 /** 1713 * @return The kind of operation to perform as a part of the filter criteria. 1714 */ 1715 public FilterOperator getOp() { 1716 return this.op == null ? null : this.op.getValue(); 1717 } 1718 1719 /** 1720 * @param value The kind of operation to perform as a part of the filter criteria. 1721 */ 1722 public ConceptSetFilterComponent setOp(FilterOperator value) { 1723 if (this.op == null) 1724 this.op = new Enumeration<FilterOperator>(new FilterOperatorEnumFactory()); 1725 this.op.setValue(value); 1726 return this; 1727 } 1728 1729 /** 1730 * @return {@link #value} (The match value may be either a code defined by the system, or a string value, which is a regex match on the literal string of the property value (if the filter represents a property defined in CodeSystem) or of the system filter value (if the filter represents a filter defined in CodeSystem) when the operation is 'regex', or one of the values (true and false), when the operation is 'exists'.). This is the underlying object with id, value and extensions. The accessor "getValue" gives direct access to the value 1731 */ 1732 public StringType getValueElement() { 1733 if (this.value == null) 1734 if (Configuration.errorOnAutoCreate()) 1735 throw new Error("Attempt to auto-create ConceptSetFilterComponent.value"); 1736 else if (Configuration.doAutoCreate()) 1737 this.value = new StringType(); // bb 1738 return this.value; 1739 } 1740 1741 public boolean hasValueElement() { 1742 return this.value != null && !this.value.isEmpty(); 1743 } 1744 1745 public boolean hasValue() { 1746 return this.value != null && !this.value.isEmpty(); 1747 } 1748 1749 /** 1750 * @param value {@link #value} (The match value may be either a code defined by the system, or a string value, which is a regex match on the literal string of the property value (if the filter represents a property defined in CodeSystem) or of the system filter value (if the filter represents a filter defined in CodeSystem) when the operation is 'regex', or one of the values (true and false), when the operation is 'exists'.). This is the underlying object with id, value and extensions. The accessor "getValue" gives direct access to the value 1751 */ 1752 public ConceptSetFilterComponent setValueElement(StringType value) { 1753 this.value = value; 1754 return this; 1755 } 1756 1757 /** 1758 * @return The match value may be either a code defined by the system, or a string value, which is a regex match on the literal string of the property value (if the filter represents a property defined in CodeSystem) or of the system filter value (if the filter represents a filter defined in CodeSystem) when the operation is 'regex', or one of the values (true and false), when the operation is 'exists'. 1759 */ 1760 public String getValue() { 1761 return this.value == null ? null : this.value.getValue(); 1762 } 1763 1764 /** 1765 * @param value The match value may be either a code defined by the system, or a string value, which is a regex match on the literal string of the property value (if the filter represents a property defined in CodeSystem) or of the system filter value (if the filter represents a filter defined in CodeSystem) when the operation is 'regex', or one of the values (true and false), when the operation is 'exists'. 1766 */ 1767 public ConceptSetFilterComponent setValue(String value) { 1768 if (this.value == null) 1769 this.value = new StringType(); 1770 this.value.setValue(value); 1771 return this; 1772 } 1773 1774 protected void listChildren(List<Property> children) { 1775 super.listChildren(children); 1776 children.add(new Property("property", "code", "A code that identifies a property or a filter defined in the code system.", 0, 1, property)); 1777 children.add(new Property("op", "code", "The kind of operation to perform as a part of the filter criteria.", 0, 1, op)); 1778 children.add(new Property("value", "string", "The match value may be either a code defined by the system, or a string value, which is a regex match on the literal string of the property value (if the filter represents a property defined in CodeSystem) or of the system filter value (if the filter represents a filter defined in CodeSystem) when the operation is 'regex', or one of the values (true and false), when the operation is 'exists'.", 0, 1, value)); 1779 } 1780 1781 @Override 1782 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1783 switch (_hash) { 1784 case -993141291: /*property*/ return new Property("property", "code", "A code that identifies a property or a filter defined in the code system.", 0, 1, property); 1785 case 3553: /*op*/ return new Property("op", "code", "The kind of operation to perform as a part of the filter criteria.", 0, 1, op); 1786 case 111972721: /*value*/ return new Property("value", "string", "The match value may be either a code defined by the system, or a string value, which is a regex match on the literal string of the property value (if the filter represents a property defined in CodeSystem) or of the system filter value (if the filter represents a filter defined in CodeSystem) when the operation is 'regex', or one of the values (true and false), when the operation is 'exists'.", 0, 1, value); 1787 default: return super.getNamedProperty(_hash, _name, _checkValid); 1788 } 1789 1790 } 1791 1792 @Override 1793 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1794 switch (hash) { 1795 case -993141291: /*property*/ return this.property == null ? new Base[0] : new Base[] {this.property}; // CodeType 1796 case 3553: /*op*/ return this.op == null ? new Base[0] : new Base[] {this.op}; // Enumeration<FilterOperator> 1797 case 111972721: /*value*/ return this.value == null ? new Base[0] : new Base[] {this.value}; // StringType 1798 default: return super.getProperty(hash, name, checkValid); 1799 } 1800 1801 } 1802 1803 @Override 1804 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1805 switch (hash) { 1806 case -993141291: // property 1807 this.property = TypeConvertor.castToCode(value); // CodeType 1808 return value; 1809 case 3553: // op 1810 value = new FilterOperatorEnumFactory().fromType(TypeConvertor.castToCode(value)); 1811 this.op = (Enumeration) value; // Enumeration<FilterOperator> 1812 return value; 1813 case 111972721: // value 1814 this.value = TypeConvertor.castToString(value); // StringType 1815 return value; 1816 default: return super.setProperty(hash, name, value); 1817 } 1818 1819 } 1820 1821 @Override 1822 public Base setProperty(String name, Base value) throws FHIRException { 1823 if (name.equals("property")) { 1824 this.property = TypeConvertor.castToCode(value); // CodeType 1825 } else if (name.equals("op")) { 1826 value = new FilterOperatorEnumFactory().fromType(TypeConvertor.castToCode(value)); 1827 this.op = (Enumeration) value; // Enumeration<FilterOperator> 1828 } else if (name.equals("value")) { 1829 this.value = TypeConvertor.castToString(value); // StringType 1830 } else 1831 return super.setProperty(name, value); 1832 return value; 1833 } 1834 1835 @Override 1836 public Base makeProperty(int hash, String name) throws FHIRException { 1837 switch (hash) { 1838 case -993141291: return getPropertyElement(); 1839 case 3553: return getOpElement(); 1840 case 111972721: return getValueElement(); 1841 default: return super.makeProperty(hash, name); 1842 } 1843 1844 } 1845 1846 @Override 1847 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1848 switch (hash) { 1849 case -993141291: /*property*/ return new String[] {"code"}; 1850 case 3553: /*op*/ return new String[] {"code"}; 1851 case 111972721: /*value*/ return new String[] {"string"}; 1852 default: return super.getTypesForProperty(hash, name); 1853 } 1854 1855 } 1856 1857 @Override 1858 public Base addChild(String name) throws FHIRException { 1859 if (name.equals("property")) { 1860 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.compose.include.filter.property"); 1861 } 1862 else if (name.equals("op")) { 1863 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.compose.include.filter.op"); 1864 } 1865 else if (name.equals("value")) { 1866 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.compose.include.filter.value"); 1867 } 1868 else 1869 return super.addChild(name); 1870 } 1871 1872 public ConceptSetFilterComponent copy() { 1873 ConceptSetFilterComponent dst = new ConceptSetFilterComponent(); 1874 copyValues(dst); 1875 return dst; 1876 } 1877 1878 public void copyValues(ConceptSetFilterComponent dst) { 1879 super.copyValues(dst); 1880 dst.property = property == null ? null : property.copy(); 1881 dst.op = op == null ? null : op.copy(); 1882 dst.value = value == null ? null : value.copy(); 1883 } 1884 1885 @Override 1886 public boolean equalsDeep(Base other_) { 1887 if (!super.equalsDeep(other_)) 1888 return false; 1889 if (!(other_ instanceof ConceptSetFilterComponent)) 1890 return false; 1891 ConceptSetFilterComponent o = (ConceptSetFilterComponent) other_; 1892 return compareDeep(property, o.property, true) && compareDeep(op, o.op, true) && compareDeep(value, o.value, true) 1893 ; 1894 } 1895 1896 @Override 1897 public boolean equalsShallow(Base other_) { 1898 if (!super.equalsShallow(other_)) 1899 return false; 1900 if (!(other_ instanceof ConceptSetFilterComponent)) 1901 return false; 1902 ConceptSetFilterComponent o = (ConceptSetFilterComponent) other_; 1903 return compareValues(property, o.property, true) && compareValues(op, o.op, true) && compareValues(value, o.value, true) 1904 ; 1905 } 1906 1907 public boolean isEmpty() { 1908 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(property, op, value); 1909 } 1910 1911 public String fhirType() { 1912 return "ValueSet.compose.include.filter"; 1913 1914 } 1915 1916 } 1917 1918 @Block() 1919 public static class ValueSetExpansionComponent extends BackboneElement implements IBaseBackboneElement { 1920 /** 1921 * An identifier that uniquely identifies this expansion of the valueset, based on a unique combination of the provided parameters, the system default parameters, and the underlying system code system versions etc. Systems may re-use the same identifier as long as those factors remain the same, and the expansion is the same, but are not required to do so. This is a business identifier. 1922 */ 1923 @Child(name = "identifier", type = {UriType.class}, order=1, min=0, max=1, modifier=false, summary=false) 1924 @Description(shortDefinition="Identifies the value set expansion (business identifier)", formalDefinition="An identifier that uniquely identifies this expansion of the valueset, based on a unique combination of the provided parameters, the system default parameters, and the underlying system code system versions etc. Systems may re-use the same identifier as long as those factors remain the same, and the expansion is the same, but are not required to do so. This is a business identifier." ) 1925 protected UriType identifier; 1926 1927 /** 1928 * The time at which the expansion was produced by the expanding system. 1929 */ 1930 @Child(name = "timestamp", type = {DateTimeType.class}, order=2, min=1, max=1, modifier=false, summary=false) 1931 @Description(shortDefinition="Time ValueSet expansion happened", formalDefinition="The time at which the expansion was produced by the expanding system." ) 1932 protected DateTimeType timestamp; 1933 1934 /** 1935 * The total number of concepts in the expansion. If the number of concept nodes in this resource is less than the stated number, then the server can return more using the offset parameter. 1936 */ 1937 @Child(name = "total", type = {IntegerType.class}, order=3, min=0, max=1, modifier=false, summary=false) 1938 @Description(shortDefinition="Total number of codes in the expansion", formalDefinition="The total number of concepts in the expansion. If the number of concept nodes in this resource is less than the stated number, then the server can return more using the offset parameter." ) 1939 protected IntegerType total; 1940 1941 /** 1942 * If paging is being used, the offset at which this resource starts. I.e. this resource is a partial view into the expansion. If paging is not being used, this element SHALL NOT be present. 1943 */ 1944 @Child(name = "offset", type = {IntegerType.class}, order=4, min=0, max=1, modifier=false, summary=false) 1945 @Description(shortDefinition="Offset at which this resource starts", formalDefinition="If paging is being used, the offset at which this resource starts. I.e. this resource is a partial view into the expansion. If paging is not being used, this element SHALL NOT be present." ) 1946 protected IntegerType offset; 1947 1948 /** 1949 * A parameter that controlled the expansion process. These parameters may be used by users of expanded value sets to check whether the expansion is suitable for a particular purpose, or to pick the correct expansion. 1950 */ 1951 @Child(name = "parameter", type = {}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1952 @Description(shortDefinition="Parameter that controlled the expansion process", formalDefinition="A parameter that controlled the expansion process. These parameters may be used by users of expanded value sets to check whether the expansion is suitable for a particular purpose, or to pick the correct expansion." ) 1953 protected List<ValueSetExpansionParameterComponent> parameter; 1954 1955 /** 1956 * The codes that are contained in the value set expansion. 1957 */ 1958 @Child(name = "contains", type = {}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1959 @Description(shortDefinition="Codes in the value set", formalDefinition="The codes that are contained in the value set expansion." ) 1960 protected List<ValueSetExpansionContainsComponent> contains; 1961 1962 private static final long serialVersionUID = -43471993L; 1963 1964 /** 1965 * Constructor 1966 */ 1967 public ValueSetExpansionComponent() { 1968 super(); 1969 } 1970 1971 /** 1972 * Constructor 1973 */ 1974 public ValueSetExpansionComponent(Date timestamp) { 1975 super(); 1976 this.setTimestamp(timestamp); 1977 } 1978 1979 /** 1980 * @return {@link #identifier} (An identifier that uniquely identifies this expansion of the valueset, based on a unique combination of the provided parameters, the system default parameters, and the underlying system code system versions etc. Systems may re-use the same identifier as long as those factors remain the same, and the expansion is the same, but are not required to do so. This is a business identifier.). This is the underlying object with id, value and extensions. The accessor "getIdentifier" gives direct access to the value 1981 */ 1982 public UriType getIdentifierElement() { 1983 if (this.identifier == null) 1984 if (Configuration.errorOnAutoCreate()) 1985 throw new Error("Attempt to auto-create ValueSetExpansionComponent.identifier"); 1986 else if (Configuration.doAutoCreate()) 1987 this.identifier = new UriType(); // bb 1988 return this.identifier; 1989 } 1990 1991 public boolean hasIdentifierElement() { 1992 return this.identifier != null && !this.identifier.isEmpty(); 1993 } 1994 1995 public boolean hasIdentifier() { 1996 return this.identifier != null && !this.identifier.isEmpty(); 1997 } 1998 1999 /** 2000 * @param value {@link #identifier} (An identifier that uniquely identifies this expansion of the valueset, based on a unique combination of the provided parameters, the system default parameters, and the underlying system code system versions etc. Systems may re-use the same identifier as long as those factors remain the same, and the expansion is the same, but are not required to do so. This is a business identifier.). This is the underlying object with id, value and extensions. The accessor "getIdentifier" gives direct access to the value 2001 */ 2002 public ValueSetExpansionComponent setIdentifierElement(UriType value) { 2003 this.identifier = value; 2004 return this; 2005 } 2006 2007 /** 2008 * @return An identifier that uniquely identifies this expansion of the valueset, based on a unique combination of the provided parameters, the system default parameters, and the underlying system code system versions etc. Systems may re-use the same identifier as long as those factors remain the same, and the expansion is the same, but are not required to do so. This is a business identifier. 2009 */ 2010 public String getIdentifier() { 2011 return this.identifier == null ? null : this.identifier.getValue(); 2012 } 2013 2014 /** 2015 * @param value An identifier that uniquely identifies this expansion of the valueset, based on a unique combination of the provided parameters, the system default parameters, and the underlying system code system versions etc. Systems may re-use the same identifier as long as those factors remain the same, and the expansion is the same, but are not required to do so. This is a business identifier. 2016 */ 2017 public ValueSetExpansionComponent setIdentifier(String value) { 2018 if (Utilities.noString(value)) 2019 this.identifier = null; 2020 else { 2021 if (this.identifier == null) 2022 this.identifier = new UriType(); 2023 this.identifier.setValue(value); 2024 } 2025 return this; 2026 } 2027 2028 /** 2029 * @return {@link #timestamp} (The time at which the expansion was produced by the expanding system.). This is the underlying object with id, value and extensions. The accessor "getTimestamp" gives direct access to the value 2030 */ 2031 public DateTimeType getTimestampElement() { 2032 if (this.timestamp == null) 2033 if (Configuration.errorOnAutoCreate()) 2034 throw new Error("Attempt to auto-create ValueSetExpansionComponent.timestamp"); 2035 else if (Configuration.doAutoCreate()) 2036 this.timestamp = new DateTimeType(); // bb 2037 return this.timestamp; 2038 } 2039 2040 public boolean hasTimestampElement() { 2041 return this.timestamp != null && !this.timestamp.isEmpty(); 2042 } 2043 2044 public boolean hasTimestamp() { 2045 return this.timestamp != null && !this.timestamp.isEmpty(); 2046 } 2047 2048 /** 2049 * @param value {@link #timestamp} (The time at which the expansion was produced by the expanding system.). This is the underlying object with id, value and extensions. The accessor "getTimestamp" gives direct access to the value 2050 */ 2051 public ValueSetExpansionComponent setTimestampElement(DateTimeType value) { 2052 this.timestamp = value; 2053 return this; 2054 } 2055 2056 /** 2057 * @return The time at which the expansion was produced by the expanding system. 2058 */ 2059 public Date getTimestamp() { 2060 return this.timestamp == null ? null : this.timestamp.getValue(); 2061 } 2062 2063 /** 2064 * @param value The time at which the expansion was produced by the expanding system. 2065 */ 2066 public ValueSetExpansionComponent setTimestamp(Date value) { 2067 if (this.timestamp == null) 2068 this.timestamp = new DateTimeType(); 2069 this.timestamp.setValue(value); 2070 return this; 2071 } 2072 2073 /** 2074 * @return {@link #total} (The total number of concepts in the expansion. If the number of concept nodes in this resource is less than the stated number, then the server can return more using the offset parameter.). This is the underlying object with id, value and extensions. The accessor "getTotal" gives direct access to the value 2075 */ 2076 public IntegerType getTotalElement() { 2077 if (this.total == null) 2078 if (Configuration.errorOnAutoCreate()) 2079 throw new Error("Attempt to auto-create ValueSetExpansionComponent.total"); 2080 else if (Configuration.doAutoCreate()) 2081 this.total = new IntegerType(); // bb 2082 return this.total; 2083 } 2084 2085 public boolean hasTotalElement() { 2086 return this.total != null && !this.total.isEmpty(); 2087 } 2088 2089 public boolean hasTotal() { 2090 return this.total != null && !this.total.isEmpty(); 2091 } 2092 2093 /** 2094 * @param value {@link #total} (The total number of concepts in the expansion. If the number of concept nodes in this resource is less than the stated number, then the server can return more using the offset parameter.). This is the underlying object with id, value and extensions. The accessor "getTotal" gives direct access to the value 2095 */ 2096 public ValueSetExpansionComponent setTotalElement(IntegerType value) { 2097 this.total = value; 2098 return this; 2099 } 2100 2101 /** 2102 * @return The total number of concepts in the expansion. If the number of concept nodes in this resource is less than the stated number, then the server can return more using the offset parameter. 2103 */ 2104 public int getTotal() { 2105 return this.total == null || this.total.isEmpty() ? 0 : this.total.getValue(); 2106 } 2107 2108 /** 2109 * @param value The total number of concepts in the expansion. If the number of concept nodes in this resource is less than the stated number, then the server can return more using the offset parameter. 2110 */ 2111 public ValueSetExpansionComponent setTotal(int value) { 2112 if (this.total == null) 2113 this.total = new IntegerType(); 2114 this.total.setValue(value); 2115 return this; 2116 } 2117 2118 /** 2119 * @return {@link #offset} (If paging is being used, the offset at which this resource starts. I.e. this resource is a partial view into the expansion. If paging is not being used, this element SHALL NOT be present.). This is the underlying object with id, value and extensions. The accessor "getOffset" gives direct access to the value 2120 */ 2121 public IntegerType getOffsetElement() { 2122 if (this.offset == null) 2123 if (Configuration.errorOnAutoCreate()) 2124 throw new Error("Attempt to auto-create ValueSetExpansionComponent.offset"); 2125 else if (Configuration.doAutoCreate()) 2126 this.offset = new IntegerType(); // bb 2127 return this.offset; 2128 } 2129 2130 public boolean hasOffsetElement() { 2131 return this.offset != null && !this.offset.isEmpty(); 2132 } 2133 2134 public boolean hasOffset() { 2135 return this.offset != null && !this.offset.isEmpty(); 2136 } 2137 2138 /** 2139 * @param value {@link #offset} (If paging is being used, the offset at which this resource starts. I.e. this resource is a partial view into the expansion. If paging is not being used, this element SHALL NOT be present.). This is the underlying object with id, value and extensions. The accessor "getOffset" gives direct access to the value 2140 */ 2141 public ValueSetExpansionComponent setOffsetElement(IntegerType value) { 2142 this.offset = value; 2143 return this; 2144 } 2145 2146 /** 2147 * @return If paging is being used, the offset at which this resource starts. I.e. this resource is a partial view into the expansion. If paging is not being used, this element SHALL NOT be present. 2148 */ 2149 public int getOffset() { 2150 return this.offset == null || this.offset.isEmpty() ? 0 : this.offset.getValue(); 2151 } 2152 2153 /** 2154 * @param value If paging is being used, the offset at which this resource starts. I.e. this resource is a partial view into the expansion. If paging is not being used, this element SHALL NOT be present. 2155 */ 2156 public ValueSetExpansionComponent setOffset(int value) { 2157 if (this.offset == null) 2158 this.offset = new IntegerType(); 2159 this.offset.setValue(value); 2160 return this; 2161 } 2162 2163 /** 2164 * @return {@link #parameter} (A parameter that controlled the expansion process. These parameters may be used by users of expanded value sets to check whether the expansion is suitable for a particular purpose, or to pick the correct expansion.) 2165 */ 2166 public List<ValueSetExpansionParameterComponent> getParameter() { 2167 if (this.parameter == null) 2168 this.parameter = new ArrayList<ValueSetExpansionParameterComponent>(); 2169 return this.parameter; 2170 } 2171 2172 /** 2173 * @return Returns a reference to <code>this</code> for easy method chaining 2174 */ 2175 public ValueSetExpansionComponent setParameter(List<ValueSetExpansionParameterComponent> theParameter) { 2176 this.parameter = theParameter; 2177 return this; 2178 } 2179 2180 public boolean hasParameter() { 2181 if (this.parameter == null) 2182 return false; 2183 for (ValueSetExpansionParameterComponent item : this.parameter) 2184 if (!item.isEmpty()) 2185 return true; 2186 return false; 2187 } 2188 2189 public ValueSetExpansionParameterComponent addParameter() { //3 2190 ValueSetExpansionParameterComponent t = new ValueSetExpansionParameterComponent(); 2191 if (this.parameter == null) 2192 this.parameter = new ArrayList<ValueSetExpansionParameterComponent>(); 2193 this.parameter.add(t); 2194 return t; 2195 } 2196 2197 public ValueSetExpansionComponent addParameter(ValueSetExpansionParameterComponent t) { //3 2198 if (t == null) 2199 return this; 2200 if (this.parameter == null) 2201 this.parameter = new ArrayList<ValueSetExpansionParameterComponent>(); 2202 this.parameter.add(t); 2203 return this; 2204 } 2205 2206 /** 2207 * @return The first repetition of repeating field {@link #parameter}, creating it if it does not already exist {3} 2208 */ 2209 public ValueSetExpansionParameterComponent getParameterFirstRep() { 2210 if (getParameter().isEmpty()) { 2211 addParameter(); 2212 } 2213 return getParameter().get(0); 2214 } 2215 2216 /** 2217 * @return {@link #contains} (The codes that are contained in the value set expansion.) 2218 */ 2219 public List<ValueSetExpansionContainsComponent> getContains() { 2220 if (this.contains == null) 2221 this.contains = new ArrayList<ValueSetExpansionContainsComponent>(); 2222 return this.contains; 2223 } 2224 2225 /** 2226 * @return Returns a reference to <code>this</code> for easy method chaining 2227 */ 2228 public ValueSetExpansionComponent setContains(List<ValueSetExpansionContainsComponent> theContains) { 2229 this.contains = theContains; 2230 return this; 2231 } 2232 2233 public boolean hasContains() { 2234 if (this.contains == null) 2235 return false; 2236 for (ValueSetExpansionContainsComponent item : this.contains) 2237 if (!item.isEmpty()) 2238 return true; 2239 return false; 2240 } 2241 2242 public ValueSetExpansionContainsComponent addContains() { //3 2243 ValueSetExpansionContainsComponent t = new ValueSetExpansionContainsComponent(); 2244 if (this.contains == null) 2245 this.contains = new ArrayList<ValueSetExpansionContainsComponent>(); 2246 this.contains.add(t); 2247 return t; 2248 } 2249 2250 public ValueSetExpansionComponent addContains(ValueSetExpansionContainsComponent t) { //3 2251 if (t == null) 2252 return this; 2253 if (this.contains == null) 2254 this.contains = new ArrayList<ValueSetExpansionContainsComponent>(); 2255 this.contains.add(t); 2256 return this; 2257 } 2258 2259 /** 2260 * @return The first repetition of repeating field {@link #contains}, creating it if it does not already exist {3} 2261 */ 2262 public ValueSetExpansionContainsComponent getContainsFirstRep() { 2263 if (getContains().isEmpty()) { 2264 addContains(); 2265 } 2266 return getContains().get(0); 2267 } 2268 2269 protected void listChildren(List<Property> children) { 2270 super.listChildren(children); 2271 children.add(new Property("identifier", "uri", "An identifier that uniquely identifies this expansion of the valueset, based on a unique combination of the provided parameters, the system default parameters, and the underlying system code system versions etc. Systems may re-use the same identifier as long as those factors remain the same, and the expansion is the same, but are not required to do so. This is a business identifier.", 0, 1, identifier)); 2272 children.add(new Property("timestamp", "dateTime", "The time at which the expansion was produced by the expanding system.", 0, 1, timestamp)); 2273 children.add(new Property("total", "integer", "The total number of concepts in the expansion. If the number of concept nodes in this resource is less than the stated number, then the server can return more using the offset parameter.", 0, 1, total)); 2274 children.add(new Property("offset", "integer", "If paging is being used, the offset at which this resource starts. I.e. this resource is a partial view into the expansion. If paging is not being used, this element SHALL NOT be present.", 0, 1, offset)); 2275 children.add(new Property("parameter", "", "A parameter that controlled the expansion process. These parameters may be used by users of expanded value sets to check whether the expansion is suitable for a particular purpose, or to pick the correct expansion.", 0, java.lang.Integer.MAX_VALUE, parameter)); 2276 children.add(new Property("contains", "", "The codes that are contained in the value set expansion.", 0, java.lang.Integer.MAX_VALUE, contains)); 2277 } 2278 2279 @Override 2280 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 2281 switch (_hash) { 2282 case -1618432855: /*identifier*/ return new Property("identifier", "uri", "An identifier that uniquely identifies this expansion of the valueset, based on a unique combination of the provided parameters, the system default parameters, and the underlying system code system versions etc. Systems may re-use the same identifier as long as those factors remain the same, and the expansion is the same, but are not required to do so. This is a business identifier.", 0, 1, identifier); 2283 case 55126294: /*timestamp*/ return new Property("timestamp", "dateTime", "The time at which the expansion was produced by the expanding system.", 0, 1, timestamp); 2284 case 110549828: /*total*/ return new Property("total", "integer", "The total number of concepts in the expansion. If the number of concept nodes in this resource is less than the stated number, then the server can return more using the offset parameter.", 0, 1, total); 2285 case -1019779949: /*offset*/ return new Property("offset", "integer", "If paging is being used, the offset at which this resource starts. I.e. this resource is a partial view into the expansion. If paging is not being used, this element SHALL NOT be present.", 0, 1, offset); 2286 case 1954460585: /*parameter*/ return new Property("parameter", "", "A parameter that controlled the expansion process. These parameters may be used by users of expanded value sets to check whether the expansion is suitable for a particular purpose, or to pick the correct expansion.", 0, java.lang.Integer.MAX_VALUE, parameter); 2287 case -567445985: /*contains*/ return new Property("contains", "", "The codes that are contained in the value set expansion.", 0, java.lang.Integer.MAX_VALUE, contains); 2288 default: return super.getNamedProperty(_hash, _name, _checkValid); 2289 } 2290 2291 } 2292 2293 @Override 2294 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 2295 switch (hash) { 2296 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : new Base[] {this.identifier}; // UriType 2297 case 55126294: /*timestamp*/ return this.timestamp == null ? new Base[0] : new Base[] {this.timestamp}; // DateTimeType 2298 case 110549828: /*total*/ return this.total == null ? new Base[0] : new Base[] {this.total}; // IntegerType 2299 case -1019779949: /*offset*/ return this.offset == null ? new Base[0] : new Base[] {this.offset}; // IntegerType 2300 case 1954460585: /*parameter*/ return this.parameter == null ? new Base[0] : this.parameter.toArray(new Base[this.parameter.size()]); // ValueSetExpansionParameterComponent 2301 case -567445985: /*contains*/ return this.contains == null ? new Base[0] : this.contains.toArray(new Base[this.contains.size()]); // ValueSetExpansionContainsComponent 2302 default: return super.getProperty(hash, name, checkValid); 2303 } 2304 2305 } 2306 2307 @Override 2308 public Base setProperty(int hash, String name, Base value) throws FHIRException { 2309 switch (hash) { 2310 case -1618432855: // identifier 2311 this.identifier = TypeConvertor.castToUri(value); // UriType 2312 return value; 2313 case 55126294: // timestamp 2314 this.timestamp = TypeConvertor.castToDateTime(value); // DateTimeType 2315 return value; 2316 case 110549828: // total 2317 this.total = TypeConvertor.castToInteger(value); // IntegerType 2318 return value; 2319 case -1019779949: // offset 2320 this.offset = TypeConvertor.castToInteger(value); // IntegerType 2321 return value; 2322 case 1954460585: // parameter 2323 this.getParameter().add((ValueSetExpansionParameterComponent) value); // ValueSetExpansionParameterComponent 2324 return value; 2325 case -567445985: // contains 2326 this.getContains().add((ValueSetExpansionContainsComponent) value); // ValueSetExpansionContainsComponent 2327 return value; 2328 default: return super.setProperty(hash, name, value); 2329 } 2330 2331 } 2332 2333 @Override 2334 public Base setProperty(String name, Base value) throws FHIRException { 2335 if (name.equals("identifier")) { 2336 this.identifier = TypeConvertor.castToUri(value); // UriType 2337 } else if (name.equals("timestamp")) { 2338 this.timestamp = TypeConvertor.castToDateTime(value); // DateTimeType 2339 } else if (name.equals("total")) { 2340 this.total = TypeConvertor.castToInteger(value); // IntegerType 2341 } else if (name.equals("offset")) { 2342 this.offset = TypeConvertor.castToInteger(value); // IntegerType 2343 } else if (name.equals("parameter")) { 2344 this.getParameter().add((ValueSetExpansionParameterComponent) value); 2345 } else if (name.equals("contains")) { 2346 this.getContains().add((ValueSetExpansionContainsComponent) value); 2347 } else 2348 return super.setProperty(name, value); 2349 return value; 2350 } 2351 2352 @Override 2353 public Base makeProperty(int hash, String name) throws FHIRException { 2354 switch (hash) { 2355 case -1618432855: return getIdentifierElement(); 2356 case 55126294: return getTimestampElement(); 2357 case 110549828: return getTotalElement(); 2358 case -1019779949: return getOffsetElement(); 2359 case 1954460585: return addParameter(); 2360 case -567445985: return addContains(); 2361 default: return super.makeProperty(hash, name); 2362 } 2363 2364 } 2365 2366 @Override 2367 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2368 switch (hash) { 2369 case -1618432855: /*identifier*/ return new String[] {"uri"}; 2370 case 55126294: /*timestamp*/ return new String[] {"dateTime"}; 2371 case 110549828: /*total*/ return new String[] {"integer"}; 2372 case -1019779949: /*offset*/ return new String[] {"integer"}; 2373 case 1954460585: /*parameter*/ return new String[] {}; 2374 case -567445985: /*contains*/ return new String[] {}; 2375 default: return super.getTypesForProperty(hash, name); 2376 } 2377 2378 } 2379 2380 @Override 2381 public Base addChild(String name) throws FHIRException { 2382 if (name.equals("identifier")) { 2383 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.expansion.identifier"); 2384 } 2385 else if (name.equals("timestamp")) { 2386 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.expansion.timestamp"); 2387 } 2388 else if (name.equals("total")) { 2389 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.expansion.total"); 2390 } 2391 else if (name.equals("offset")) { 2392 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.expansion.offset"); 2393 } 2394 else if (name.equals("parameter")) { 2395 return addParameter(); 2396 } 2397 else if (name.equals("contains")) { 2398 return addContains(); 2399 } 2400 else 2401 return super.addChild(name); 2402 } 2403 2404 public ValueSetExpansionComponent copy() { 2405 ValueSetExpansionComponent dst = new ValueSetExpansionComponent(); 2406 copyValues(dst); 2407 return dst; 2408 } 2409 2410 public void copyValues(ValueSetExpansionComponent dst) { 2411 super.copyValues(dst); 2412 dst.identifier = identifier == null ? null : identifier.copy(); 2413 dst.timestamp = timestamp == null ? null : timestamp.copy(); 2414 dst.total = total == null ? null : total.copy(); 2415 dst.offset = offset == null ? null : offset.copy(); 2416 if (parameter != null) { 2417 dst.parameter = new ArrayList<ValueSetExpansionParameterComponent>(); 2418 for (ValueSetExpansionParameterComponent i : parameter) 2419 dst.parameter.add(i.copy()); 2420 }; 2421 if (contains != null) { 2422 dst.contains = new ArrayList<ValueSetExpansionContainsComponent>(); 2423 for (ValueSetExpansionContainsComponent i : contains) 2424 dst.contains.add(i.copy()); 2425 }; 2426 } 2427 2428 @Override 2429 public boolean equalsDeep(Base other_) { 2430 if (!super.equalsDeep(other_)) 2431 return false; 2432 if (!(other_ instanceof ValueSetExpansionComponent)) 2433 return false; 2434 ValueSetExpansionComponent o = (ValueSetExpansionComponent) other_; 2435 return compareDeep(identifier, o.identifier, true) && compareDeep(timestamp, o.timestamp, true) 2436 && compareDeep(total, o.total, true) && compareDeep(offset, o.offset, true) && compareDeep(parameter, o.parameter, true) 2437 && compareDeep(contains, o.contains, true); 2438 } 2439 2440 @Override 2441 public boolean equalsShallow(Base other_) { 2442 if (!super.equalsShallow(other_)) 2443 return false; 2444 if (!(other_ instanceof ValueSetExpansionComponent)) 2445 return false; 2446 ValueSetExpansionComponent o = (ValueSetExpansionComponent) other_; 2447 return compareValues(identifier, o.identifier, true) && compareValues(timestamp, o.timestamp, true) 2448 && compareValues(total, o.total, true) && compareValues(offset, o.offset, true); 2449 } 2450 2451 public boolean isEmpty() { 2452 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, timestamp, total 2453 , offset, parameter, contains); 2454 } 2455 2456 public String fhirType() { 2457 return "ValueSet.expansion"; 2458 2459 } 2460 2461 } 2462 2463 @Block() 2464 public static class ValueSetExpansionParameterComponent extends BackboneElement implements IBaseBackboneElement { 2465 /** 2466 * Name of the input parameter to the $expand operation; may be a server-assigned name for additional default or other server-supplied parameters used to control the expansion process. 2467 */ 2468 @Child(name = "name", type = {StringType.class}, order=1, min=1, max=1, modifier=false, summary=false) 2469 @Description(shortDefinition="Name as assigned by the client or server", formalDefinition="Name of the input parameter to the $expand operation; may be a server-assigned name for additional default or other server-supplied parameters used to control the expansion process." ) 2470 protected StringType name; 2471 2472 /** 2473 * The value of the parameter. 2474 */ 2475 @Child(name = "value", type = {StringType.class, BooleanType.class, IntegerType.class, DecimalType.class, UriType.class, CodeType.class, DateTimeType.class}, order=2, min=0, max=1, modifier=false, summary=false) 2476 @Description(shortDefinition="Value of the named parameter", formalDefinition="The value of the parameter." ) 2477 protected DataType value; 2478 2479 private static final long serialVersionUID = 1839679495L; 2480 2481 /** 2482 * Constructor 2483 */ 2484 public ValueSetExpansionParameterComponent() { 2485 super(); 2486 } 2487 2488 /** 2489 * Constructor 2490 */ 2491 public ValueSetExpansionParameterComponent(String name) { 2492 super(); 2493 this.setName(name); 2494 } 2495 2496 /** 2497 * @return {@link #name} (Name of the input parameter to the $expand operation; may be a server-assigned name for additional default or other server-supplied parameters used to control the expansion process.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 2498 */ 2499 public StringType getNameElement() { 2500 if (this.name == null) 2501 if (Configuration.errorOnAutoCreate()) 2502 throw new Error("Attempt to auto-create ValueSetExpansionParameterComponent.name"); 2503 else if (Configuration.doAutoCreate()) 2504 this.name = new StringType(); // bb 2505 return this.name; 2506 } 2507 2508 public boolean hasNameElement() { 2509 return this.name != null && !this.name.isEmpty(); 2510 } 2511 2512 public boolean hasName() { 2513 return this.name != null && !this.name.isEmpty(); 2514 } 2515 2516 /** 2517 * @param value {@link #name} (Name of the input parameter to the $expand operation; may be a server-assigned name for additional default or other server-supplied parameters used to control the expansion process.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 2518 */ 2519 public ValueSetExpansionParameterComponent setNameElement(StringType value) { 2520 this.name = value; 2521 return this; 2522 } 2523 2524 /** 2525 * @return Name of the input parameter to the $expand operation; may be a server-assigned name for additional default or other server-supplied parameters used to control the expansion process. 2526 */ 2527 public String getName() { 2528 return this.name == null ? null : this.name.getValue(); 2529 } 2530 2531 /** 2532 * @param value Name of the input parameter to the $expand operation; may be a server-assigned name for additional default or other server-supplied parameters used to control the expansion process. 2533 */ 2534 public ValueSetExpansionParameterComponent setName(String value) { 2535 if (this.name == null) 2536 this.name = new StringType(); 2537 this.name.setValue(value); 2538 return this; 2539 } 2540 2541 /** 2542 * @return {@link #value} (The value of the parameter.) 2543 */ 2544 public DataType getValue() { 2545 return this.value; 2546 } 2547 2548 /** 2549 * @return {@link #value} (The value of the parameter.) 2550 */ 2551 public StringType getValueStringType() throws FHIRException { 2552 if (this.value == null) 2553 this.value = new StringType(); 2554 if (!(this.value instanceof StringType)) 2555 throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.value.getClass().getName()+" was encountered"); 2556 return (StringType) this.value; 2557 } 2558 2559 public boolean hasValueStringType() { 2560 return this != null && this.value instanceof StringType; 2561 } 2562 2563 /** 2564 * @return {@link #value} (The value of the parameter.) 2565 */ 2566 public BooleanType getValueBooleanType() throws FHIRException { 2567 if (this.value == null) 2568 this.value = new BooleanType(); 2569 if (!(this.value instanceof BooleanType)) 2570 throw new FHIRException("Type mismatch: the type BooleanType was expected, but "+this.value.getClass().getName()+" was encountered"); 2571 return (BooleanType) this.value; 2572 } 2573 2574 public boolean hasValueBooleanType() { 2575 return this != null && this.value instanceof BooleanType; 2576 } 2577 2578 /** 2579 * @return {@link #value} (The value of the parameter.) 2580 */ 2581 public IntegerType getValueIntegerType() throws FHIRException { 2582 if (this.value == null) 2583 this.value = new IntegerType(); 2584 if (!(this.value instanceof IntegerType)) 2585 throw new FHIRException("Type mismatch: the type IntegerType was expected, but "+this.value.getClass().getName()+" was encountered"); 2586 return (IntegerType) this.value; 2587 } 2588 2589 public boolean hasValueIntegerType() { 2590 return this != null && this.value instanceof IntegerType; 2591 } 2592 2593 /** 2594 * @return {@link #value} (The value of the parameter.) 2595 */ 2596 public DecimalType getValueDecimalType() throws FHIRException { 2597 if (this.value == null) 2598 this.value = new DecimalType(); 2599 if (!(this.value instanceof DecimalType)) 2600 throw new FHIRException("Type mismatch: the type DecimalType was expected, but "+this.value.getClass().getName()+" was encountered"); 2601 return (DecimalType) this.value; 2602 } 2603 2604 public boolean hasValueDecimalType() { 2605 return this != null && this.value instanceof DecimalType; 2606 } 2607 2608 /** 2609 * @return {@link #value} (The value of the parameter.) 2610 */ 2611 public UriType getValueUriType() throws FHIRException { 2612 if (this.value == null) 2613 this.value = new UriType(); 2614 if (!(this.value instanceof UriType)) 2615 throw new FHIRException("Type mismatch: the type UriType was expected, but "+this.value.getClass().getName()+" was encountered"); 2616 return (UriType) this.value; 2617 } 2618 2619 public boolean hasValueUriType() { 2620 return this != null && this.value instanceof UriType; 2621 } 2622 2623 /** 2624 * @return {@link #value} (The value of the parameter.) 2625 */ 2626 public CodeType getValueCodeType() throws FHIRException { 2627 if (this.value == null) 2628 this.value = new CodeType(); 2629 if (!(this.value instanceof CodeType)) 2630 throw new FHIRException("Type mismatch: the type CodeType was expected, but "+this.value.getClass().getName()+" was encountered"); 2631 return (CodeType) this.value; 2632 } 2633 2634 public boolean hasValueCodeType() { 2635 return this != null && this.value instanceof CodeType; 2636 } 2637 2638 /** 2639 * @return {@link #value} (The value of the parameter.) 2640 */ 2641 public DateTimeType getValueDateTimeType() throws FHIRException { 2642 if (this.value == null) 2643 this.value = new DateTimeType(); 2644 if (!(this.value instanceof DateTimeType)) 2645 throw new FHIRException("Type mismatch: the type DateTimeType was expected, but "+this.value.getClass().getName()+" was encountered"); 2646 return (DateTimeType) this.value; 2647 } 2648 2649 public boolean hasValueDateTimeType() { 2650 return this != null && this.value instanceof DateTimeType; 2651 } 2652 2653 public boolean hasValue() { 2654 return this.value != null && !this.value.isEmpty(); 2655 } 2656 2657 /** 2658 * @param value {@link #value} (The value of the parameter.) 2659 */ 2660 public ValueSetExpansionParameterComponent setValue(DataType value) { 2661 if (value != null && !(value instanceof StringType || value instanceof BooleanType || value instanceof IntegerType || value instanceof DecimalType || value instanceof UriType || value instanceof CodeType || value instanceof DateTimeType)) 2662 throw new Error("Not the right type for ValueSet.expansion.parameter.value[x]: "+value.fhirType()); 2663 this.value = value; 2664 return this; 2665 } 2666 2667 protected void listChildren(List<Property> children) { 2668 super.listChildren(children); 2669 children.add(new Property("name", "string", "Name of the input parameter to the $expand operation; may be a server-assigned name for additional default or other server-supplied parameters used to control the expansion process.", 0, 1, name)); 2670 children.add(new Property("value[x]", "string|boolean|integer|decimal|uri|code|dateTime", "The value of the parameter.", 0, 1, value)); 2671 } 2672 2673 @Override 2674 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 2675 switch (_hash) { 2676 case 3373707: /*name*/ return new Property("name", "string", "Name of the input parameter to the $expand operation; may be a server-assigned name for additional default or other server-supplied parameters used to control the expansion process.", 0, 1, name); 2677 case -1410166417: /*value[x]*/ return new Property("value[x]", "string|boolean|integer|decimal|uri|code|dateTime", "The value of the parameter.", 0, 1, value); 2678 case 111972721: /*value*/ return new Property("value[x]", "string|boolean|integer|decimal|uri|code|dateTime", "The value of the parameter.", 0, 1, value); 2679 case -1424603934: /*valueString*/ return new Property("value[x]", "string", "The value of the parameter.", 0, 1, value); 2680 case 733421943: /*valueBoolean*/ return new Property("value[x]", "boolean", "The value of the parameter.", 0, 1, value); 2681 case -1668204915: /*valueInteger*/ return new Property("value[x]", "integer", "The value of the parameter.", 0, 1, value); 2682 case -2083993440: /*valueDecimal*/ return new Property("value[x]", "decimal", "The value of the parameter.", 0, 1, value); 2683 case -1410172357: /*valueUri*/ return new Property("value[x]", "uri", "The value of the parameter.", 0, 1, value); 2684 case -766209282: /*valueCode*/ return new Property("value[x]", "code", "The value of the parameter.", 0, 1, value); 2685 case 1047929900: /*valueDateTime*/ return new Property("value[x]", "dateTime", "The value of the parameter.", 0, 1, value); 2686 default: return super.getNamedProperty(_hash, _name, _checkValid); 2687 } 2688 2689 } 2690 2691 @Override 2692 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 2693 switch (hash) { 2694 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType 2695 case 111972721: /*value*/ return this.value == null ? new Base[0] : new Base[] {this.value}; // DataType 2696 default: return super.getProperty(hash, name, checkValid); 2697 } 2698 2699 } 2700 2701 @Override 2702 public Base setProperty(int hash, String name, Base value) throws FHIRException { 2703 switch (hash) { 2704 case 3373707: // name 2705 this.name = TypeConvertor.castToString(value); // StringType 2706 return value; 2707 case 111972721: // value 2708 this.value = TypeConvertor.castToType(value); // DataType 2709 return value; 2710 default: return super.setProperty(hash, name, value); 2711 } 2712 2713 } 2714 2715 @Override 2716 public Base setProperty(String name, Base value) throws FHIRException { 2717 if (name.equals("name")) { 2718 this.name = TypeConvertor.castToString(value); // StringType 2719 } else if (name.equals("value[x]")) { 2720 this.value = TypeConvertor.castToType(value); // DataType 2721 } else 2722 return super.setProperty(name, value); 2723 return value; 2724 } 2725 2726 @Override 2727 public Base makeProperty(int hash, String name) throws FHIRException { 2728 switch (hash) { 2729 case 3373707: return getNameElement(); 2730 case -1410166417: return getValue(); 2731 case 111972721: return getValue(); 2732 default: return super.makeProperty(hash, name); 2733 } 2734 2735 } 2736 2737 @Override 2738 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2739 switch (hash) { 2740 case 3373707: /*name*/ return new String[] {"string"}; 2741 case 111972721: /*value*/ return new String[] {"string", "boolean", "integer", "decimal", "uri", "code", "dateTime"}; 2742 default: return super.getTypesForProperty(hash, name); 2743 } 2744 2745 } 2746 2747 @Override 2748 public Base addChild(String name) throws FHIRException { 2749 if (name.equals("name")) { 2750 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.expansion.parameter.name"); 2751 } 2752 else if (name.equals("valueString")) { 2753 this.value = new StringType(); 2754 return this.value; 2755 } 2756 else if (name.equals("valueBoolean")) { 2757 this.value = new BooleanType(); 2758 return this.value; 2759 } 2760 else if (name.equals("valueInteger")) { 2761 this.value = new IntegerType(); 2762 return this.value; 2763 } 2764 else if (name.equals("valueDecimal")) { 2765 this.value = new DecimalType(); 2766 return this.value; 2767 } 2768 else if (name.equals("valueUri")) { 2769 this.value = new UriType(); 2770 return this.value; 2771 } 2772 else if (name.equals("valueCode")) { 2773 this.value = new CodeType(); 2774 return this.value; 2775 } 2776 else if (name.equals("valueDateTime")) { 2777 this.value = new DateTimeType(); 2778 return this.value; 2779 } 2780 else 2781 return super.addChild(name); 2782 } 2783 2784 public ValueSetExpansionParameterComponent copy() { 2785 ValueSetExpansionParameterComponent dst = new ValueSetExpansionParameterComponent(); 2786 copyValues(dst); 2787 return dst; 2788 } 2789 2790 public void copyValues(ValueSetExpansionParameterComponent dst) { 2791 super.copyValues(dst); 2792 dst.name = name == null ? null : name.copy(); 2793 dst.value = value == null ? null : value.copy(); 2794 } 2795 2796 @Override 2797 public boolean equalsDeep(Base other_) { 2798 if (!super.equalsDeep(other_)) 2799 return false; 2800 if (!(other_ instanceof ValueSetExpansionParameterComponent)) 2801 return false; 2802 ValueSetExpansionParameterComponent o = (ValueSetExpansionParameterComponent) other_; 2803 return compareDeep(name, o.name, true) && compareDeep(value, o.value, true); 2804 } 2805 2806 @Override 2807 public boolean equalsShallow(Base other_) { 2808 if (!super.equalsShallow(other_)) 2809 return false; 2810 if (!(other_ instanceof ValueSetExpansionParameterComponent)) 2811 return false; 2812 ValueSetExpansionParameterComponent o = (ValueSetExpansionParameterComponent) other_; 2813 return compareValues(name, o.name, true); 2814 } 2815 2816 public boolean isEmpty() { 2817 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(name, value); 2818 } 2819 2820 public String fhirType() { 2821 return "ValueSet.expansion.parameter"; 2822 2823 } 2824 2825 } 2826 2827 @Block() 2828 public static class ValueSetExpansionContainsComponent extends BackboneElement implements IBaseBackboneElement { 2829 /** 2830 * An absolute URI which is the code system in which the code for this item in the expansion is defined. 2831 */ 2832 @Child(name = "system", type = {UriType.class}, order=1, min=0, max=1, modifier=false, summary=false) 2833 @Description(shortDefinition="System value for the code", formalDefinition="An absolute URI which is the code system in which the code for this item in the expansion is defined." ) 2834 protected UriType system; 2835 2836 /** 2837 * If true, this entry is included in the expansion for navigational purposes, and the user cannot select the code directly as a proper value. 2838 */ 2839 @Child(name = "abstract", type = {BooleanType.class}, order=2, min=0, max=1, modifier=false, summary=false) 2840 @Description(shortDefinition="If user cannot select this entry", formalDefinition="If true, this entry is included in the expansion for navigational purposes, and the user cannot select the code directly as a proper value." ) 2841 protected BooleanType abstract_; 2842 2843 /** 2844 * If the concept is inactive in the code system that defines it. Inactive codes are those that are no longer to be used, but are maintained by the code system for understanding legacy data. It might not be known or specified whether an concept is inactive (and it may depend on the context of use). 2845 */ 2846 @Child(name = "inactive", type = {BooleanType.class}, order=3, min=0, max=1, modifier=false, summary=false) 2847 @Description(shortDefinition="If concept is inactive in the code system", formalDefinition="If the concept is inactive in the code system that defines it. Inactive codes are those that are no longer to be used, but are maintained by the code system for understanding legacy data. It might not be known or specified whether an concept is inactive (and it may depend on the context of use)." ) 2848 protected BooleanType inactive; 2849 2850 /** 2851 * The version of the code system from this code was taken. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured, and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged. 2852 */ 2853 @Child(name = "version", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=false) 2854 @Description(shortDefinition="Version in which this code/display is defined", formalDefinition="The version of the code system from this code was taken. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured, and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged." ) 2855 protected StringType version; 2856 2857 /** 2858 * The code for this item in the expansion hierarchy. If this code is missing the entry in the hierarchy is a place holder (abstract) and does not represent a valid code in the value set. 2859 */ 2860 @Child(name = "code", type = {CodeType.class}, order=5, min=0, max=1, modifier=false, summary=false) 2861 @Description(shortDefinition="Code - if blank, this is not a selectable code", formalDefinition="The code for this item in the expansion hierarchy. If this code is missing the entry in the hierarchy is a place holder (abstract) and does not represent a valid code in the value set." ) 2862 protected CodeType code; 2863 2864 /** 2865 * The recommended display for this item in the expansion. 2866 */ 2867 @Child(name = "display", type = {StringType.class}, order=6, min=0, max=1, modifier=false, summary=false) 2868 @Description(shortDefinition="User display for the concept", formalDefinition="The recommended display for this item in the expansion." ) 2869 protected StringType display; 2870 2871 /** 2872 * Additional representations for this item - other languages, aliases, specialized purposes, used for particular purposes, etc. These are relevant when the conditions of the expansion do not fix to a single correct representation. 2873 */ 2874 @Child(name = "designation", type = {ConceptReferenceDesignationComponent.class}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2875 @Description(shortDefinition="Additional representations for this item", formalDefinition="Additional representations for this item - other languages, aliases, specialized purposes, used for particular purposes, etc. These are relevant when the conditions of the expansion do not fix to a single correct representation." ) 2876 protected List<ConceptReferenceDesignationComponent> designation; 2877 2878 /** 2879 * Other codes and entries contained under this entry in the hierarchy. 2880 */ 2881 @Child(name = "contains", type = {ValueSetExpansionContainsComponent.class}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2882 @Description(shortDefinition="Codes contained under this entry", formalDefinition="Other codes and entries contained under this entry in the hierarchy." ) 2883 protected List<ValueSetExpansionContainsComponent> contains; 2884 2885 private static final long serialVersionUID = 719458860L; 2886 2887 /** 2888 * Constructor 2889 */ 2890 public ValueSetExpansionContainsComponent() { 2891 super(); 2892 } 2893 2894 /** 2895 * @return {@link #system} (An absolute URI which is the code system in which the code for this item in the expansion is defined.). This is the underlying object with id, value and extensions. The accessor "getSystem" gives direct access to the value 2896 */ 2897 public UriType getSystemElement() { 2898 if (this.system == null) 2899 if (Configuration.errorOnAutoCreate()) 2900 throw new Error("Attempt to auto-create ValueSetExpansionContainsComponent.system"); 2901 else if (Configuration.doAutoCreate()) 2902 this.system = new UriType(); // bb 2903 return this.system; 2904 } 2905 2906 public boolean hasSystemElement() { 2907 return this.system != null && !this.system.isEmpty(); 2908 } 2909 2910 public boolean hasSystem() { 2911 return this.system != null && !this.system.isEmpty(); 2912 } 2913 2914 /** 2915 * @param value {@link #system} (An absolute URI which is the code system in which the code for this item in the expansion is defined.). This is the underlying object with id, value and extensions. The accessor "getSystem" gives direct access to the value 2916 */ 2917 public ValueSetExpansionContainsComponent setSystemElement(UriType value) { 2918 this.system = value; 2919 return this; 2920 } 2921 2922 /** 2923 * @return An absolute URI which is the code system in which the code for this item in the expansion is defined. 2924 */ 2925 public String getSystem() { 2926 return this.system == null ? null : this.system.getValue(); 2927 } 2928 2929 /** 2930 * @param value An absolute URI which is the code system in which the code for this item in the expansion is defined. 2931 */ 2932 public ValueSetExpansionContainsComponent setSystem(String value) { 2933 if (Utilities.noString(value)) 2934 this.system = null; 2935 else { 2936 if (this.system == null) 2937 this.system = new UriType(); 2938 this.system.setValue(value); 2939 } 2940 return this; 2941 } 2942 2943 /** 2944 * @return {@link #abstract_} (If true, this entry is included in the expansion for navigational purposes, and the user cannot select the code directly as a proper value.). This is the underlying object with id, value and extensions. The accessor "getAbstract" gives direct access to the value 2945 */ 2946 public BooleanType getAbstractElement() { 2947 if (this.abstract_ == null) 2948 if (Configuration.errorOnAutoCreate()) 2949 throw new Error("Attempt to auto-create ValueSetExpansionContainsComponent.abstract_"); 2950 else if (Configuration.doAutoCreate()) 2951 this.abstract_ = new BooleanType(); // bb 2952 return this.abstract_; 2953 } 2954 2955 public boolean hasAbstractElement() { 2956 return this.abstract_ != null && !this.abstract_.isEmpty(); 2957 } 2958 2959 public boolean hasAbstract() { 2960 return this.abstract_ != null && !this.abstract_.isEmpty(); 2961 } 2962 2963 /** 2964 * @param value {@link #abstract_} (If true, this entry is included in the expansion for navigational purposes, and the user cannot select the code directly as a proper value.). This is the underlying object with id, value and extensions. The accessor "getAbstract" gives direct access to the value 2965 */ 2966 public ValueSetExpansionContainsComponent setAbstractElement(BooleanType value) { 2967 this.abstract_ = value; 2968 return this; 2969 } 2970 2971 /** 2972 * @return If true, this entry is included in the expansion for navigational purposes, and the user cannot select the code directly as a proper value. 2973 */ 2974 public boolean getAbstract() { 2975 return this.abstract_ == null || this.abstract_.isEmpty() ? false : this.abstract_.getValue(); 2976 } 2977 2978 /** 2979 * @param value If true, this entry is included in the expansion for navigational purposes, and the user cannot select the code directly as a proper value. 2980 */ 2981 public ValueSetExpansionContainsComponent setAbstract(boolean value) { 2982 if (this.abstract_ == null) 2983 this.abstract_ = new BooleanType(); 2984 this.abstract_.setValue(value); 2985 return this; 2986 } 2987 2988 /** 2989 * @return {@link #inactive} (If the concept is inactive in the code system that defines it. Inactive codes are those that are no longer to be used, but are maintained by the code system for understanding legacy data. It might not be known or specified whether an concept is inactive (and it may depend on the context of use).). This is the underlying object with id, value and extensions. The accessor "getInactive" gives direct access to the value 2990 */ 2991 public BooleanType getInactiveElement() { 2992 if (this.inactive == null) 2993 if (Configuration.errorOnAutoCreate()) 2994 throw new Error("Attempt to auto-create ValueSetExpansionContainsComponent.inactive"); 2995 else if (Configuration.doAutoCreate()) 2996 this.inactive = new BooleanType(); // bb 2997 return this.inactive; 2998 } 2999 3000 public boolean hasInactiveElement() { 3001 return this.inactive != null && !this.inactive.isEmpty(); 3002 } 3003 3004 public boolean hasInactive() { 3005 return this.inactive != null && !this.inactive.isEmpty(); 3006 } 3007 3008 /** 3009 * @param value {@link #inactive} (If the concept is inactive in the code system that defines it. Inactive codes are those that are no longer to be used, but are maintained by the code system for understanding legacy data. It might not be known or specified whether an concept is inactive (and it may depend on the context of use).). This is the underlying object with id, value and extensions. The accessor "getInactive" gives direct access to the value 3010 */ 3011 public ValueSetExpansionContainsComponent setInactiveElement(BooleanType value) { 3012 this.inactive = value; 3013 return this; 3014 } 3015 3016 /** 3017 * @return If the concept is inactive in the code system that defines it. Inactive codes are those that are no longer to be used, but are maintained by the code system for understanding legacy data. It might not be known or specified whether an concept is inactive (and it may depend on the context of use). 3018 */ 3019 public boolean getInactive() { 3020 return this.inactive == null || this.inactive.isEmpty() ? false : this.inactive.getValue(); 3021 } 3022 3023 /** 3024 * @param value If the concept is inactive in the code system that defines it. Inactive codes are those that are no longer to be used, but are maintained by the code system for understanding legacy data. It might not be known or specified whether an concept is inactive (and it may depend on the context of use). 3025 */ 3026 public ValueSetExpansionContainsComponent setInactive(boolean value) { 3027 if (this.inactive == null) 3028 this.inactive = new BooleanType(); 3029 this.inactive.setValue(value); 3030 return this; 3031 } 3032 3033 /** 3034 * @return {@link #version} (The version of the code system from this code was taken. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured, and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 3035 */ 3036 public StringType getVersionElement() { 3037 if (this.version == null) 3038 if (Configuration.errorOnAutoCreate()) 3039 throw new Error("Attempt to auto-create ValueSetExpansionContainsComponent.version"); 3040 else if (Configuration.doAutoCreate()) 3041 this.version = new StringType(); // bb 3042 return this.version; 3043 } 3044 3045 public boolean hasVersionElement() { 3046 return this.version != null && !this.version.isEmpty(); 3047 } 3048 3049 public boolean hasVersion() { 3050 return this.version != null && !this.version.isEmpty(); 3051 } 3052 3053 /** 3054 * @param value {@link #version} (The version of the code system from this code was taken. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured, and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 3055 */ 3056 public ValueSetExpansionContainsComponent setVersionElement(StringType value) { 3057 this.version = value; 3058 return this; 3059 } 3060 3061 /** 3062 * @return The version of the code system from this code was taken. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured, and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged. 3063 */ 3064 public String getVersion() { 3065 return this.version == null ? null : this.version.getValue(); 3066 } 3067 3068 /** 3069 * @param value The version of the code system from this code was taken. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured, and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged. 3070 */ 3071 public ValueSetExpansionContainsComponent setVersion(String value) { 3072 if (Utilities.noString(value)) 3073 this.version = null; 3074 else { 3075 if (this.version == null) 3076 this.version = new StringType(); 3077 this.version.setValue(value); 3078 } 3079 return this; 3080 } 3081 3082 /** 3083 * @return {@link #code} (The code for this item in the expansion hierarchy. If this code is missing the entry in the hierarchy is a place holder (abstract) and does not represent a valid code in the value set.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value 3084 */ 3085 public CodeType getCodeElement() { 3086 if (this.code == null) 3087 if (Configuration.errorOnAutoCreate()) 3088 throw new Error("Attempt to auto-create ValueSetExpansionContainsComponent.code"); 3089 else if (Configuration.doAutoCreate()) 3090 this.code = new CodeType(); // bb 3091 return this.code; 3092 } 3093 3094 public boolean hasCodeElement() { 3095 return this.code != null && !this.code.isEmpty(); 3096 } 3097 3098 public boolean hasCode() { 3099 return this.code != null && !this.code.isEmpty(); 3100 } 3101 3102 /** 3103 * @param value {@link #code} (The code for this item in the expansion hierarchy. If this code is missing the entry in the hierarchy is a place holder (abstract) and does not represent a valid code in the value set.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value 3104 */ 3105 public ValueSetExpansionContainsComponent setCodeElement(CodeType value) { 3106 this.code = value; 3107 return this; 3108 } 3109 3110 /** 3111 * @return The code for this item in the expansion hierarchy. If this code is missing the entry in the hierarchy is a place holder (abstract) and does not represent a valid code in the value set. 3112 */ 3113 public String getCode() { 3114 return this.code == null ? null : this.code.getValue(); 3115 } 3116 3117 /** 3118 * @param value The code for this item in the expansion hierarchy. If this code is missing the entry in the hierarchy is a place holder (abstract) and does not represent a valid code in the value set. 3119 */ 3120 public ValueSetExpansionContainsComponent setCode(String value) { 3121 if (Utilities.noString(value)) 3122 this.code = null; 3123 else { 3124 if (this.code == null) 3125 this.code = new CodeType(); 3126 this.code.setValue(value); 3127 } 3128 return this; 3129 } 3130 3131 /** 3132 * @return {@link #display} (The recommended display for this item in the expansion.). This is the underlying object with id, value and extensions. The accessor "getDisplay" gives direct access to the value 3133 */ 3134 public StringType getDisplayElement() { 3135 if (this.display == null) 3136 if (Configuration.errorOnAutoCreate()) 3137 throw new Error("Attempt to auto-create ValueSetExpansionContainsComponent.display"); 3138 else if (Configuration.doAutoCreate()) 3139 this.display = new StringType(); // bb 3140 return this.display; 3141 } 3142 3143 public boolean hasDisplayElement() { 3144 return this.display != null && !this.display.isEmpty(); 3145 } 3146 3147 public boolean hasDisplay() { 3148 return this.display != null && !this.display.isEmpty(); 3149 } 3150 3151 /** 3152 * @param value {@link #display} (The recommended display for this item in the expansion.). This is the underlying object with id, value and extensions. The accessor "getDisplay" gives direct access to the value 3153 */ 3154 public ValueSetExpansionContainsComponent setDisplayElement(StringType value) { 3155 this.display = value; 3156 return this; 3157 } 3158 3159 /** 3160 * @return The recommended display for this item in the expansion. 3161 */ 3162 public String getDisplay() { 3163 return this.display == null ? null : this.display.getValue(); 3164 } 3165 3166 /** 3167 * @param value The recommended display for this item in the expansion. 3168 */ 3169 public ValueSetExpansionContainsComponent setDisplay(String value) { 3170 if (Utilities.noString(value)) 3171 this.display = null; 3172 else { 3173 if (this.display == null) 3174 this.display = new StringType(); 3175 this.display.setValue(value); 3176 } 3177 return this; 3178 } 3179 3180 /** 3181 * @return {@link #designation} (Additional representations for this item - other languages, aliases, specialized purposes, used for particular purposes, etc. These are relevant when the conditions of the expansion do not fix to a single correct representation.) 3182 */ 3183 public List<ConceptReferenceDesignationComponent> getDesignation() { 3184 if (this.designation == null) 3185 this.designation = new ArrayList<ConceptReferenceDesignationComponent>(); 3186 return this.designation; 3187 } 3188 3189 /** 3190 * @return Returns a reference to <code>this</code> for easy method chaining 3191 */ 3192 public ValueSetExpansionContainsComponent setDesignation(List<ConceptReferenceDesignationComponent> theDesignation) { 3193 this.designation = theDesignation; 3194 return this; 3195 } 3196 3197 public boolean hasDesignation() { 3198 if (this.designation == null) 3199 return false; 3200 for (ConceptReferenceDesignationComponent item : this.designation) 3201 if (!item.isEmpty()) 3202 return true; 3203 return false; 3204 } 3205 3206 public ConceptReferenceDesignationComponent addDesignation() { //3 3207 ConceptReferenceDesignationComponent t = new ConceptReferenceDesignationComponent(); 3208 if (this.designation == null) 3209 this.designation = new ArrayList<ConceptReferenceDesignationComponent>(); 3210 this.designation.add(t); 3211 return t; 3212 } 3213 3214 public ValueSetExpansionContainsComponent addDesignation(ConceptReferenceDesignationComponent t) { //3 3215 if (t == null) 3216 return this; 3217 if (this.designation == null) 3218 this.designation = new ArrayList<ConceptReferenceDesignationComponent>(); 3219 this.designation.add(t); 3220 return this; 3221 } 3222 3223 /** 3224 * @return The first repetition of repeating field {@link #designation}, creating it if it does not already exist {3} 3225 */ 3226 public ConceptReferenceDesignationComponent getDesignationFirstRep() { 3227 if (getDesignation().isEmpty()) { 3228 addDesignation(); 3229 } 3230 return getDesignation().get(0); 3231 } 3232 3233 /** 3234 * @return {@link #contains} (Other codes and entries contained under this entry in the hierarchy.) 3235 */ 3236 public List<ValueSetExpansionContainsComponent> getContains() { 3237 if (this.contains == null) 3238 this.contains = new ArrayList<ValueSetExpansionContainsComponent>(); 3239 return this.contains; 3240 } 3241 3242 /** 3243 * @return Returns a reference to <code>this</code> for easy method chaining 3244 */ 3245 public ValueSetExpansionContainsComponent setContains(List<ValueSetExpansionContainsComponent> theContains) { 3246 this.contains = theContains; 3247 return this; 3248 } 3249 3250 public boolean hasContains() { 3251 if (this.contains == null) 3252 return false; 3253 for (ValueSetExpansionContainsComponent item : this.contains) 3254 if (!item.isEmpty()) 3255 return true; 3256 return false; 3257 } 3258 3259 public ValueSetExpansionContainsComponent addContains() { //3 3260 ValueSetExpansionContainsComponent t = new ValueSetExpansionContainsComponent(); 3261 if (this.contains == null) 3262 this.contains = new ArrayList<ValueSetExpansionContainsComponent>(); 3263 this.contains.add(t); 3264 return t; 3265 } 3266 3267 public ValueSetExpansionContainsComponent addContains(ValueSetExpansionContainsComponent t) { //3 3268 if (t == null) 3269 return this; 3270 if (this.contains == null) 3271 this.contains = new ArrayList<ValueSetExpansionContainsComponent>(); 3272 this.contains.add(t); 3273 return this; 3274 } 3275 3276 /** 3277 * @return The first repetition of repeating field {@link #contains}, creating it if it does not already exist {3} 3278 */ 3279 public ValueSetExpansionContainsComponent getContainsFirstRep() { 3280 if (getContains().isEmpty()) { 3281 addContains(); 3282 } 3283 return getContains().get(0); 3284 } 3285 3286 protected void listChildren(List<Property> children) { 3287 super.listChildren(children); 3288 children.add(new Property("system", "uri", "An absolute URI which is the code system in which the code for this item in the expansion is defined.", 0, 1, system)); 3289 children.add(new Property("abstract", "boolean", "If true, this entry is included in the expansion for navigational purposes, and the user cannot select the code directly as a proper value.", 0, 1, abstract_)); 3290 children.add(new Property("inactive", "boolean", "If the concept is inactive in the code system that defines it. Inactive codes are those that are no longer to be used, but are maintained by the code system for understanding legacy data. It might not be known or specified whether an concept is inactive (and it may depend on the context of use).", 0, 1, inactive)); 3291 children.add(new Property("version", "string", "The version of the code system from this code was taken. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured, and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.", 0, 1, version)); 3292 children.add(new Property("code", "code", "The code for this item in the expansion hierarchy. If this code is missing the entry in the hierarchy is a place holder (abstract) and does not represent a valid code in the value set.", 0, 1, code)); 3293 children.add(new Property("display", "string", "The recommended display for this item in the expansion.", 0, 1, display)); 3294 children.add(new Property("designation", "@ValueSet.compose.include.concept.designation", "Additional representations for this item - other languages, aliases, specialized purposes, used for particular purposes, etc. These are relevant when the conditions of the expansion do not fix to a single correct representation.", 0, java.lang.Integer.MAX_VALUE, designation)); 3295 children.add(new Property("contains", "@ValueSet.expansion.contains", "Other codes and entries contained under this entry in the hierarchy.", 0, java.lang.Integer.MAX_VALUE, contains)); 3296 } 3297 3298 @Override 3299 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 3300 switch (_hash) { 3301 case -887328209: /*system*/ return new Property("system", "uri", "An absolute URI which is the code system in which the code for this item in the expansion is defined.", 0, 1, system); 3302 case 1732898850: /*abstract*/ return new Property("abstract", "boolean", "If true, this entry is included in the expansion for navigational purposes, and the user cannot select the code directly as a proper value.", 0, 1, abstract_); 3303 case 24665195: /*inactive*/ return new Property("inactive", "boolean", "If the concept is inactive in the code system that defines it. Inactive codes are those that are no longer to be used, but are maintained by the code system for understanding legacy data. It might not be known or specified whether an concept is inactive (and it may depend on the context of use).", 0, 1, inactive); 3304 case 351608024: /*version*/ return new Property("version", "string", "The version of the code system from this code was taken. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured, and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.", 0, 1, version); 3305 case 3059181: /*code*/ return new Property("code", "code", "The code for this item in the expansion hierarchy. If this code is missing the entry in the hierarchy is a place holder (abstract) and does not represent a valid code in the value set.", 0, 1, code); 3306 case 1671764162: /*display*/ return new Property("display", "string", "The recommended display for this item in the expansion.", 0, 1, display); 3307 case -900931593: /*designation*/ return new Property("designation", "@ValueSet.compose.include.concept.designation", "Additional representations for this item - other languages, aliases, specialized purposes, used for particular purposes, etc. These are relevant when the conditions of the expansion do not fix to a single correct representation.", 0, java.lang.Integer.MAX_VALUE, designation); 3308 case -567445985: /*contains*/ return new Property("contains", "@ValueSet.expansion.contains", "Other codes and entries contained under this entry in the hierarchy.", 0, java.lang.Integer.MAX_VALUE, contains); 3309 default: return super.getNamedProperty(_hash, _name, _checkValid); 3310 } 3311 3312 } 3313 3314 @Override 3315 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 3316 switch (hash) { 3317 case -887328209: /*system*/ return this.system == null ? new Base[0] : new Base[] {this.system}; // UriType 3318 case 1732898850: /*abstract*/ return this.abstract_ == null ? new Base[0] : new Base[] {this.abstract_}; // BooleanType 3319 case 24665195: /*inactive*/ return this.inactive == null ? new Base[0] : new Base[] {this.inactive}; // BooleanType 3320 case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType 3321 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeType 3322 case 1671764162: /*display*/ return this.display == null ? new Base[0] : new Base[] {this.display}; // StringType 3323 case -900931593: /*designation*/ return this.designation == null ? new Base[0] : this.designation.toArray(new Base[this.designation.size()]); // ConceptReferenceDesignationComponent 3324 case -567445985: /*contains*/ return this.contains == null ? new Base[0] : this.contains.toArray(new Base[this.contains.size()]); // ValueSetExpansionContainsComponent 3325 default: return super.getProperty(hash, name, checkValid); 3326 } 3327 3328 } 3329 3330 @Override 3331 public Base setProperty(int hash, String name, Base value) throws FHIRException { 3332 switch (hash) { 3333 case -887328209: // system 3334 this.system = TypeConvertor.castToUri(value); // UriType 3335 return value; 3336 case 1732898850: // abstract 3337 this.abstract_ = TypeConvertor.castToBoolean(value); // BooleanType 3338 return value; 3339 case 24665195: // inactive 3340 this.inactive = TypeConvertor.castToBoolean(value); // BooleanType 3341 return value; 3342 case 351608024: // version 3343 this.version = TypeConvertor.castToString(value); // StringType 3344 return value; 3345 case 3059181: // code 3346 this.code = TypeConvertor.castToCode(value); // CodeType 3347 return value; 3348 case 1671764162: // display 3349 this.display = TypeConvertor.castToString(value); // StringType 3350 return value; 3351 case -900931593: // designation 3352 this.getDesignation().add((ConceptReferenceDesignationComponent) value); // ConceptReferenceDesignationComponent 3353 return value; 3354 case -567445985: // contains 3355 this.getContains().add((ValueSetExpansionContainsComponent) value); // ValueSetExpansionContainsComponent 3356 return value; 3357 default: return super.setProperty(hash, name, value); 3358 } 3359 3360 } 3361 3362 @Override 3363 public Base setProperty(String name, Base value) throws FHIRException { 3364 if (name.equals("system")) { 3365 this.system = TypeConvertor.castToUri(value); // UriType 3366 } else if (name.equals("abstract")) { 3367 this.abstract_ = TypeConvertor.castToBoolean(value); // BooleanType 3368 } else if (name.equals("inactive")) { 3369 this.inactive = TypeConvertor.castToBoolean(value); // BooleanType 3370 } else if (name.equals("version")) { 3371 this.version = TypeConvertor.castToString(value); // StringType 3372 } else if (name.equals("code")) { 3373 this.code = TypeConvertor.castToCode(value); // CodeType 3374 } else if (name.equals("display")) { 3375 this.display = TypeConvertor.castToString(value); // StringType 3376 } else if (name.equals("designation")) { 3377 this.getDesignation().add((ConceptReferenceDesignationComponent) value); 3378 } else if (name.equals("contains")) { 3379 this.getContains().add((ValueSetExpansionContainsComponent) value); 3380 } else 3381 return super.setProperty(name, value); 3382 return value; 3383 } 3384 3385 @Override 3386 public Base makeProperty(int hash, String name) throws FHIRException { 3387 switch (hash) { 3388 case -887328209: return getSystemElement(); 3389 case 1732898850: return getAbstractElement(); 3390 case 24665195: return getInactiveElement(); 3391 case 351608024: return getVersionElement(); 3392 case 3059181: return getCodeElement(); 3393 case 1671764162: return getDisplayElement(); 3394 case -900931593: return addDesignation(); 3395 case -567445985: return addContains(); 3396 default: return super.makeProperty(hash, name); 3397 } 3398 3399 } 3400 3401 @Override 3402 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 3403 switch (hash) { 3404 case -887328209: /*system*/ return new String[] {"uri"}; 3405 case 1732898850: /*abstract*/ return new String[] {"boolean"}; 3406 case 24665195: /*inactive*/ return new String[] {"boolean"}; 3407 case 351608024: /*version*/ return new String[] {"string"}; 3408 case 3059181: /*code*/ return new String[] {"code"}; 3409 case 1671764162: /*display*/ return new String[] {"string"}; 3410 case -900931593: /*designation*/ return new String[] {"@ValueSet.compose.include.concept.designation"}; 3411 case -567445985: /*contains*/ return new String[] {"@ValueSet.expansion.contains"}; 3412 default: return super.getTypesForProperty(hash, name); 3413 } 3414 3415 } 3416 3417 @Override 3418 public Base addChild(String name) throws FHIRException { 3419 if (name.equals("system")) { 3420 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.expansion.contains.system"); 3421 } 3422 else if (name.equals("abstract")) { 3423 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.expansion.contains.abstract"); 3424 } 3425 else if (name.equals("inactive")) { 3426 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.expansion.contains.inactive"); 3427 } 3428 else if (name.equals("version")) { 3429 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.expansion.contains.version"); 3430 } 3431 else if (name.equals("code")) { 3432 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.expansion.contains.code"); 3433 } 3434 else if (name.equals("display")) { 3435 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.expansion.contains.display"); 3436 } 3437 else if (name.equals("designation")) { 3438 return addDesignation(); 3439 } 3440 else if (name.equals("contains")) { 3441 return addContains(); 3442 } 3443 else 3444 return super.addChild(name); 3445 } 3446 3447 public ValueSetExpansionContainsComponent copy() { 3448 ValueSetExpansionContainsComponent dst = new ValueSetExpansionContainsComponent(); 3449 copyValues(dst); 3450 return dst; 3451 } 3452 3453 public void copyValues(ValueSetExpansionContainsComponent dst) { 3454 super.copyValues(dst); 3455 dst.system = system == null ? null : system.copy(); 3456 dst.abstract_ = abstract_ == null ? null : abstract_.copy(); 3457 dst.inactive = inactive == null ? null : inactive.copy(); 3458 dst.version = version == null ? null : version.copy(); 3459 dst.code = code == null ? null : code.copy(); 3460 dst.display = display == null ? null : display.copy(); 3461 if (designation != null) { 3462 dst.designation = new ArrayList<ConceptReferenceDesignationComponent>(); 3463 for (ConceptReferenceDesignationComponent i : designation) 3464 dst.designation.add(i.copy()); 3465 }; 3466 if (contains != null) { 3467 dst.contains = new ArrayList<ValueSetExpansionContainsComponent>(); 3468 for (ValueSetExpansionContainsComponent i : contains) 3469 dst.contains.add(i.copy()); 3470 }; 3471 } 3472 3473 @Override 3474 public boolean equalsDeep(Base other_) { 3475 if (!super.equalsDeep(other_)) 3476 return false; 3477 if (!(other_ instanceof ValueSetExpansionContainsComponent)) 3478 return false; 3479 ValueSetExpansionContainsComponent o = (ValueSetExpansionContainsComponent) other_; 3480 return compareDeep(system, o.system, true) && compareDeep(abstract_, o.abstract_, true) && compareDeep(inactive, o.inactive, true) 3481 && compareDeep(version, o.version, true) && compareDeep(code, o.code, true) && compareDeep(display, o.display, true) 3482 && compareDeep(designation, o.designation, true) && compareDeep(contains, o.contains, true); 3483 } 3484 3485 @Override 3486 public boolean equalsShallow(Base other_) { 3487 if (!super.equalsShallow(other_)) 3488 return false; 3489 if (!(other_ instanceof ValueSetExpansionContainsComponent)) 3490 return false; 3491 ValueSetExpansionContainsComponent o = (ValueSetExpansionContainsComponent) other_; 3492 return compareValues(system, o.system, true) && compareValues(abstract_, o.abstract_, true) && compareValues(inactive, o.inactive, true) 3493 && compareValues(version, o.version, true) && compareValues(code, o.code, true) && compareValues(display, o.display, true) 3494 ; 3495 } 3496 3497 public boolean isEmpty() { 3498 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(system, abstract_, inactive 3499 , version, code, display, designation, contains); 3500 } 3501 3502 public String fhirType() { 3503 return "ValueSet.expansion.contains"; 3504 3505 } 3506 3507 } 3508 3509 /** 3510 * An absolute URI that is used to identify this value set when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this value set is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the value set is stored on different servers. 3511 */ 3512 @Child(name = "url", type = {UriType.class}, order=0, min=0, max=1, modifier=false, summary=true) 3513 @Description(shortDefinition="Canonical identifier for this value set, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this value set when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this value set is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the value set is stored on different servers." ) 3514 protected UriType url; 3515 3516 /** 3517 * A formal identifier that is used to identify this value set when it is represented in other formats, or referenced in a specification, model, design or an instance. 3518 */ 3519 @Child(name = "identifier", type = {Identifier.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 3520 @Description(shortDefinition="Additional identifier for the value set (business identifier)", formalDefinition="A formal identifier that is used to identify this value set when it is represented in other formats, or referenced in a specification, model, design or an instance." ) 3521 protected List<Identifier> identifier; 3522 3523 /** 3524 * The identifier that is used to identify this version of the value set when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the value set author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. 3525 */ 3526 @Child(name = "version", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=true) 3527 @Description(shortDefinition="Business version of the value set", formalDefinition="The identifier that is used to identify this version of the value set when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the value set author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence." ) 3528 protected StringType version; 3529 3530 /** 3531 * A natural language name identifying the value set. This name should be usable as an identifier for the module by machine processing applications such as code generation. 3532 */ 3533 @Child(name = "name", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=true) 3534 @Description(shortDefinition="Name for this value set (computer friendly)", formalDefinition="A natural language name identifying the value set. This name should be usable as an identifier for the module by machine processing applications such as code generation." ) 3535 protected StringType name; 3536 3537 /** 3538 * A short, descriptive, user-friendly title for the value set. 3539 */ 3540 @Child(name = "title", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=true) 3541 @Description(shortDefinition="Name for this value set (human friendly)", formalDefinition="A short, descriptive, user-friendly title for the value set." ) 3542 protected StringType title; 3543 3544 /** 3545 * The status of this value set. Enables tracking the life-cycle of the content. The status of the value set applies to the value set definition (ValueSet.compose) and the associated ValueSet metadata. Expansions do not have a state. 3546 */ 3547 @Child(name = "status", type = {CodeType.class}, order=5, min=1, max=1, modifier=true, summary=true) 3548 @Description(shortDefinition="draft | active | retired | unknown", formalDefinition="The status of this value set. Enables tracking the life-cycle of the content. The status of the value set applies to the value set definition (ValueSet.compose) and the associated ValueSet metadata. Expansions do not have a state." ) 3549 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/publication-status") 3550 protected Enumeration<PublicationStatus> status; 3551 3552 /** 3553 * A Boolean value to indicate that this value set is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. 3554 */ 3555 @Child(name = "experimental", type = {BooleanType.class}, order=6, min=0, max=1, modifier=false, summary=true) 3556 @Description(shortDefinition="For testing purposes, not real usage", formalDefinition="A Boolean value to indicate that this value set is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage." ) 3557 protected BooleanType experimental; 3558 3559 /** 3560 * The date (and optionally time) when the value set was created or revised (e.g. the 'content logical definition'). 3561 */ 3562 @Child(name = "date", type = {DateTimeType.class}, order=7, min=0, max=1, modifier=false, summary=true) 3563 @Description(shortDefinition="Date last changed", formalDefinition="The date (and optionally time) when the value set was created or revised (e.g. the 'content logical definition')." ) 3564 protected DateTimeType date; 3565 3566 /** 3567 * The name of the organization or individual that published the value set. 3568 */ 3569 @Child(name = "publisher", type = {StringType.class}, order=8, min=0, max=1, modifier=false, summary=true) 3570 @Description(shortDefinition="Name of the publisher (organization or individual)", formalDefinition="The name of the organization or individual that published the value set." ) 3571 protected StringType publisher; 3572 3573 /** 3574 * Contact details to assist a user in finding and communicating with the publisher. 3575 */ 3576 @Child(name = "contact", type = {ContactDetail.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 3577 @Description(shortDefinition="Contact details for the publisher", formalDefinition="Contact details to assist a user in finding and communicating with the publisher." ) 3578 protected List<ContactDetail> contact; 3579 3580 /** 3581 * A free text natural language description of the value set from a consumer's perspective. The textual description specifies the span of meanings for concepts to be included within the Value Set Expansion, and also may specify the intended use and limitations of the Value Set. 3582 */ 3583 @Child(name = "description", type = {MarkdownType.class}, order=10, min=0, max=1, modifier=false, summary=false) 3584 @Description(shortDefinition="Natural language description of the value set", formalDefinition="A free text natural language description of the value set from a consumer's perspective. The textual description specifies the span of meanings for concepts to be included within the Value Set Expansion, and also may specify the intended use and limitations of the Value Set." ) 3585 protected MarkdownType description; 3586 3587 /** 3588 * The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate value set instances. 3589 */ 3590 @Child(name = "useContext", type = {UsageContext.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 3591 @Description(shortDefinition="The context that the content is intended to support", formalDefinition="The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate value set instances." ) 3592 protected List<UsageContext> useContext; 3593 3594 /** 3595 * A legal or geographic region in which the value set is intended to be used. 3596 */ 3597 @Child(name = "jurisdiction", type = {CodeableConcept.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 3598 @Description(shortDefinition="Intended jurisdiction for value set (if applicable)", formalDefinition="A legal or geographic region in which the value set is intended to be used." ) 3599 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/jurisdiction") 3600 protected List<CodeableConcept> jurisdiction; 3601 3602 /** 3603 * If this is set to 'true', then no new versions of the content logical definition can be created. Note: Other metadata might still change. 3604 */ 3605 @Child(name = "immutable", type = {BooleanType.class}, order=13, min=0, max=1, modifier=false, summary=true) 3606 @Description(shortDefinition="Indicates whether or not any change to the content logical definition may occur", formalDefinition="If this is set to 'true', then no new versions of the content logical definition can be created. Note: Other metadata might still change." ) 3607 protected BooleanType immutable; 3608 3609 /** 3610 * Explanation of why this value set is needed and why it has been designed as it has. 3611 */ 3612 @Child(name = "purpose", type = {MarkdownType.class}, order=14, min=0, max=1, modifier=false, summary=false) 3613 @Description(shortDefinition="Why this value set is defined", formalDefinition="Explanation of why this value set is needed and why it has been designed as it has." ) 3614 protected MarkdownType purpose; 3615 3616 /** 3617 * A copyright statement relating to the value set and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the value set. 3618 */ 3619 @Child(name = "copyright", type = {MarkdownType.class}, order=15, min=0, max=1, modifier=false, summary=false) 3620 @Description(shortDefinition="Use and/or publishing restrictions", formalDefinition="A copyright statement relating to the value set and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the value set." ) 3621 protected MarkdownType copyright; 3622 3623 /** 3624 * A set of criteria that define the contents of the value set by including or excluding codes selected from the specified code system(s) that the value set draws from. This is also known as the Content Logical Definition (CLD). 3625 */ 3626 @Child(name = "compose", type = {}, order=16, min=0, max=1, modifier=false, summary=false) 3627 @Description(shortDefinition="Content logical definition of the value set (CLD)", formalDefinition="A set of criteria that define the contents of the value set by including or excluding codes selected from the specified code system(s) that the value set draws from. This is also known as the Content Logical Definition (CLD)." ) 3628 protected ValueSetComposeComponent compose; 3629 3630 /** 3631 * A value set can also be "expanded", where the value set is turned into a simple collection of enumerated codes. This element holds the expansion, if it has been performed. 3632 */ 3633 @Child(name = "expansion", type = {}, order=17, min=0, max=1, modifier=false, summary=false) 3634 @Description(shortDefinition="Used when the value set is \"expanded\"", formalDefinition="A value set can also be \"expanded\", where the value set is turned into a simple collection of enumerated codes. This element holds the expansion, if it has been performed." ) 3635 protected ValueSetExpansionComponent expansion; 3636 3637 private static final long serialVersionUID = 1466998405L; 3638 3639 /** 3640 * Constructor 3641 */ 3642 public ValueSet() { 3643 super(); 3644 } 3645 3646 /** 3647 * Constructor 3648 */ 3649 public ValueSet(PublicationStatus status) { 3650 super(); 3651 this.setStatus(status); 3652 } 3653 3654 /** 3655 * @return {@link #url} (An absolute URI that is used to identify this value set when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this value set is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the value set is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 3656 */ 3657 public UriType getUrlElement() { 3658 if (this.url == null) 3659 if (Configuration.errorOnAutoCreate()) 3660 throw new Error("Attempt to auto-create ValueSet.url"); 3661 else if (Configuration.doAutoCreate()) 3662 this.url = new UriType(); // bb 3663 return this.url; 3664 } 3665 3666 public boolean hasUrlElement() { 3667 return this.url != null && !this.url.isEmpty(); 3668 } 3669 3670 public boolean hasUrl() { 3671 return this.url != null && !this.url.isEmpty(); 3672 } 3673 3674 /** 3675 * @param value {@link #url} (An absolute URI that is used to identify this value set when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this value set is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the value set is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 3676 */ 3677 public ValueSet setUrlElement(UriType value) { 3678 this.url = value; 3679 return this; 3680 } 3681 3682 /** 3683 * @return An absolute URI that is used to identify this value set when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this value set is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the value set is stored on different servers. 3684 */ 3685 public String getUrl() { 3686 return this.url == null ? null : this.url.getValue(); 3687 } 3688 3689 /** 3690 * @param value An absolute URI that is used to identify this value set when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this value set is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the value set is stored on different servers. 3691 */ 3692 public ValueSet setUrl(String value) { 3693 if (Utilities.noString(value)) 3694 this.url = null; 3695 else { 3696 if (this.url == null) 3697 this.url = new UriType(); 3698 this.url.setValue(value); 3699 } 3700 return this; 3701 } 3702 3703 /** 3704 * @return {@link #identifier} (A formal identifier that is used to identify this value set when it is represented in other formats, or referenced in a specification, model, design or an instance.) 3705 */ 3706 public List<Identifier> getIdentifier() { 3707 if (this.identifier == null) 3708 this.identifier = new ArrayList<Identifier>(); 3709 return this.identifier; 3710 } 3711 3712 /** 3713 * @return Returns a reference to <code>this</code> for easy method chaining 3714 */ 3715 public ValueSet setIdentifier(List<Identifier> theIdentifier) { 3716 this.identifier = theIdentifier; 3717 return this; 3718 } 3719 3720 public boolean hasIdentifier() { 3721 if (this.identifier == null) 3722 return false; 3723 for (Identifier item : this.identifier) 3724 if (!item.isEmpty()) 3725 return true; 3726 return false; 3727 } 3728 3729 public Identifier addIdentifier() { //3 3730 Identifier t = new Identifier(); 3731 if (this.identifier == null) 3732 this.identifier = new ArrayList<Identifier>(); 3733 this.identifier.add(t); 3734 return t; 3735 } 3736 3737 public ValueSet addIdentifier(Identifier t) { //3 3738 if (t == null) 3739 return this; 3740 if (this.identifier == null) 3741 this.identifier = new ArrayList<Identifier>(); 3742 this.identifier.add(t); 3743 return this; 3744 } 3745 3746 /** 3747 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} 3748 */ 3749 public Identifier getIdentifierFirstRep() { 3750 if (getIdentifier().isEmpty()) { 3751 addIdentifier(); 3752 } 3753 return getIdentifier().get(0); 3754 } 3755 3756 /** 3757 * @return {@link #version} (The identifier that is used to identify this version of the value set when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the value set author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 3758 */ 3759 public StringType getVersionElement() { 3760 if (this.version == null) 3761 if (Configuration.errorOnAutoCreate()) 3762 throw new Error("Attempt to auto-create ValueSet.version"); 3763 else if (Configuration.doAutoCreate()) 3764 this.version = new StringType(); // bb 3765 return this.version; 3766 } 3767 3768 public boolean hasVersionElement() { 3769 return this.version != null && !this.version.isEmpty(); 3770 } 3771 3772 public boolean hasVersion() { 3773 return this.version != null && !this.version.isEmpty(); 3774 } 3775 3776 /** 3777 * @param value {@link #version} (The identifier that is used to identify this version of the value set when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the value set author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 3778 */ 3779 public ValueSet setVersionElement(StringType value) { 3780 this.version = value; 3781 return this; 3782 } 3783 3784 /** 3785 * @return The identifier that is used to identify this version of the value set when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the value set author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. 3786 */ 3787 public String getVersion() { 3788 return this.version == null ? null : this.version.getValue(); 3789 } 3790 3791 /** 3792 * @param value The identifier that is used to identify this version of the value set when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the value set author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. 3793 */ 3794 public ValueSet setVersion(String value) { 3795 if (Utilities.noString(value)) 3796 this.version = null; 3797 else { 3798 if (this.version == null) 3799 this.version = new StringType(); 3800 this.version.setValue(value); 3801 } 3802 return this; 3803 } 3804 3805 /** 3806 * @return {@link #name} (A natural language name identifying the value set. This name should be usable as an identifier for the module by machine processing applications such as code generation.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 3807 */ 3808 public StringType getNameElement() { 3809 if (this.name == null) 3810 if (Configuration.errorOnAutoCreate()) 3811 throw new Error("Attempt to auto-create ValueSet.name"); 3812 else if (Configuration.doAutoCreate()) 3813 this.name = new StringType(); // bb 3814 return this.name; 3815 } 3816 3817 public boolean hasNameElement() { 3818 return this.name != null && !this.name.isEmpty(); 3819 } 3820 3821 public boolean hasName() { 3822 return this.name != null && !this.name.isEmpty(); 3823 } 3824 3825 /** 3826 * @param value {@link #name} (A natural language name identifying the value set. This name should be usable as an identifier for the module by machine processing applications such as code generation.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 3827 */ 3828 public ValueSet setNameElement(StringType value) { 3829 this.name = value; 3830 return this; 3831 } 3832 3833 /** 3834 * @return A natural language name identifying the value set. This name should be usable as an identifier for the module by machine processing applications such as code generation. 3835 */ 3836 public String getName() { 3837 return this.name == null ? null : this.name.getValue(); 3838 } 3839 3840 /** 3841 * @param value A natural language name identifying the value set. This name should be usable as an identifier for the module by machine processing applications such as code generation. 3842 */ 3843 public ValueSet setName(String value) { 3844 if (Utilities.noString(value)) 3845 this.name = null; 3846 else { 3847 if (this.name == null) 3848 this.name = new StringType(); 3849 this.name.setValue(value); 3850 } 3851 return this; 3852 } 3853 3854 /** 3855 * @return {@link #title} (A short, descriptive, user-friendly title for the value set.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 3856 */ 3857 public StringType getTitleElement() { 3858 if (this.title == null) 3859 if (Configuration.errorOnAutoCreate()) 3860 throw new Error("Attempt to auto-create ValueSet.title"); 3861 else if (Configuration.doAutoCreate()) 3862 this.title = new StringType(); // bb 3863 return this.title; 3864 } 3865 3866 public boolean hasTitleElement() { 3867 return this.title != null && !this.title.isEmpty(); 3868 } 3869 3870 public boolean hasTitle() { 3871 return this.title != null && !this.title.isEmpty(); 3872 } 3873 3874 /** 3875 * @param value {@link #title} (A short, descriptive, user-friendly title for the value set.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 3876 */ 3877 public ValueSet setTitleElement(StringType value) { 3878 this.title = value; 3879 return this; 3880 } 3881 3882 /** 3883 * @return A short, descriptive, user-friendly title for the value set. 3884 */ 3885 public String getTitle() { 3886 return this.title == null ? null : this.title.getValue(); 3887 } 3888 3889 /** 3890 * @param value A short, descriptive, user-friendly title for the value set. 3891 */ 3892 public ValueSet setTitle(String value) { 3893 if (Utilities.noString(value)) 3894 this.title = null; 3895 else { 3896 if (this.title == null) 3897 this.title = new StringType(); 3898 this.title.setValue(value); 3899 } 3900 return this; 3901 } 3902 3903 /** 3904 * @return {@link #status} (The status of this value set. Enables tracking the life-cycle of the content. The status of the value set applies to the value set definition (ValueSet.compose) and the associated ValueSet metadata. Expansions do not have a state.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 3905 */ 3906 public Enumeration<PublicationStatus> getStatusElement() { 3907 if (this.status == null) 3908 if (Configuration.errorOnAutoCreate()) 3909 throw new Error("Attempt to auto-create ValueSet.status"); 3910 else if (Configuration.doAutoCreate()) 3911 this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); // bb 3912 return this.status; 3913 } 3914 3915 public boolean hasStatusElement() { 3916 return this.status != null && !this.status.isEmpty(); 3917 } 3918 3919 public boolean hasStatus() { 3920 return this.status != null && !this.status.isEmpty(); 3921 } 3922 3923 /** 3924 * @param value {@link #status} (The status of this value set. Enables tracking the life-cycle of the content. The status of the value set applies to the value set definition (ValueSet.compose) and the associated ValueSet metadata. Expansions do not have a state.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 3925 */ 3926 public ValueSet setStatusElement(Enumeration<PublicationStatus> value) { 3927 this.status = value; 3928 return this; 3929 } 3930 3931 /** 3932 * @return The status of this value set. Enables tracking the life-cycle of the content. The status of the value set applies to the value set definition (ValueSet.compose) and the associated ValueSet metadata. Expansions do not have a state. 3933 */ 3934 public PublicationStatus getStatus() { 3935 return this.status == null ? null : this.status.getValue(); 3936 } 3937 3938 /** 3939 * @param value The status of this value set. Enables tracking the life-cycle of the content. The status of the value set applies to the value set definition (ValueSet.compose) and the associated ValueSet metadata. Expansions do not have a state. 3940 */ 3941 public ValueSet setStatus(PublicationStatus value) { 3942 if (this.status == null) 3943 this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); 3944 this.status.setValue(value); 3945 return this; 3946 } 3947 3948 /** 3949 * @return {@link #experimental} (A Boolean value to indicate that this value set is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.). This is the underlying object with id, value and extensions. The accessor "getExperimental" gives direct access to the value 3950 */ 3951 public BooleanType getExperimentalElement() { 3952 if (this.experimental == null) 3953 if (Configuration.errorOnAutoCreate()) 3954 throw new Error("Attempt to auto-create ValueSet.experimental"); 3955 else if (Configuration.doAutoCreate()) 3956 this.experimental = new BooleanType(); // bb 3957 return this.experimental; 3958 } 3959 3960 public boolean hasExperimentalElement() { 3961 return this.experimental != null && !this.experimental.isEmpty(); 3962 } 3963 3964 public boolean hasExperimental() { 3965 return this.experimental != null && !this.experimental.isEmpty(); 3966 } 3967 3968 /** 3969 * @param value {@link #experimental} (A Boolean value to indicate that this value set is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.). This is the underlying object with id, value and extensions. The accessor "getExperimental" gives direct access to the value 3970 */ 3971 public ValueSet setExperimentalElement(BooleanType value) { 3972 this.experimental = value; 3973 return this; 3974 } 3975 3976 /** 3977 * @return A Boolean value to indicate that this value set is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. 3978 */ 3979 public boolean getExperimental() { 3980 return this.experimental == null || this.experimental.isEmpty() ? false : this.experimental.getValue(); 3981 } 3982 3983 /** 3984 * @param value A Boolean value to indicate that this value set is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. 3985 */ 3986 public ValueSet setExperimental(boolean value) { 3987 if (this.experimental == null) 3988 this.experimental = new BooleanType(); 3989 this.experimental.setValue(value); 3990 return this; 3991 } 3992 3993 /** 3994 * @return {@link #date} (The date (and optionally time) when the value set was created or revised (e.g. the 'content logical definition').). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 3995 */ 3996 public DateTimeType getDateElement() { 3997 if (this.date == null) 3998 if (Configuration.errorOnAutoCreate()) 3999 throw new Error("Attempt to auto-create ValueSet.date"); 4000 else if (Configuration.doAutoCreate()) 4001 this.date = new DateTimeType(); // bb 4002 return this.date; 4003 } 4004 4005 public boolean hasDateElement() { 4006 return this.date != null && !this.date.isEmpty(); 4007 } 4008 4009 public boolean hasDate() { 4010 return this.date != null && !this.date.isEmpty(); 4011 } 4012 4013 /** 4014 * @param value {@link #date} (The date (and optionally time) when the value set was created or revised (e.g. the 'content logical definition').). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 4015 */ 4016 public ValueSet setDateElement(DateTimeType value) { 4017 this.date = value; 4018 return this; 4019 } 4020 4021 /** 4022 * @return The date (and optionally time) when the value set was created or revised (e.g. the 'content logical definition'). 4023 */ 4024 public Date getDate() { 4025 return this.date == null ? null : this.date.getValue(); 4026 } 4027 4028 /** 4029 * @param value The date (and optionally time) when the value set was created or revised (e.g. the 'content logical definition'). 4030 */ 4031 public ValueSet setDate(Date value) { 4032 if (value == null) 4033 this.date = null; 4034 else { 4035 if (this.date == null) 4036 this.date = new DateTimeType(); 4037 this.date.setValue(value); 4038 } 4039 return this; 4040 } 4041 4042 /** 4043 * @return {@link #publisher} (The name of the organization or individual that published the value set.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value 4044 */ 4045 public StringType getPublisherElement() { 4046 if (this.publisher == null) 4047 if (Configuration.errorOnAutoCreate()) 4048 throw new Error("Attempt to auto-create ValueSet.publisher"); 4049 else if (Configuration.doAutoCreate()) 4050 this.publisher = new StringType(); // bb 4051 return this.publisher; 4052 } 4053 4054 public boolean hasPublisherElement() { 4055 return this.publisher != null && !this.publisher.isEmpty(); 4056 } 4057 4058 public boolean hasPublisher() { 4059 return this.publisher != null && !this.publisher.isEmpty(); 4060 } 4061 4062 /** 4063 * @param value {@link #publisher} (The name of the organization or individual that published the value set.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value 4064 */ 4065 public ValueSet setPublisherElement(StringType value) { 4066 this.publisher = value; 4067 return this; 4068 } 4069 4070 /** 4071 * @return The name of the organization or individual that published the value set. 4072 */ 4073 public String getPublisher() { 4074 return this.publisher == null ? null : this.publisher.getValue(); 4075 } 4076 4077 /** 4078 * @param value The name of the organization or individual that published the value set. 4079 */ 4080 public ValueSet setPublisher(String value) { 4081 if (Utilities.noString(value)) 4082 this.publisher = null; 4083 else { 4084 if (this.publisher == null) 4085 this.publisher = new StringType(); 4086 this.publisher.setValue(value); 4087 } 4088 return this; 4089 } 4090 4091 /** 4092 * @return {@link #contact} (Contact details to assist a user in finding and communicating with the publisher.) 4093 */ 4094 public List<ContactDetail> getContact() { 4095 if (this.contact == null) 4096 this.contact = new ArrayList<ContactDetail>(); 4097 return this.contact; 4098 } 4099 4100 /** 4101 * @return Returns a reference to <code>this</code> for easy method chaining 4102 */ 4103 public ValueSet setContact(List<ContactDetail> theContact) { 4104 this.contact = theContact; 4105 return this; 4106 } 4107 4108 public boolean hasContact() { 4109 if (this.contact == null) 4110 return false; 4111 for (ContactDetail item : this.contact) 4112 if (!item.isEmpty()) 4113 return true; 4114 return false; 4115 } 4116 4117 public ContactDetail addContact() { //3 4118 ContactDetail t = new ContactDetail(); 4119 if (this.contact == null) 4120 this.contact = new ArrayList<ContactDetail>(); 4121 this.contact.add(t); 4122 return t; 4123 } 4124 4125 public ValueSet addContact(ContactDetail t) { //3 4126 if (t == null) 4127 return this; 4128 if (this.contact == null) 4129 this.contact = new ArrayList<ContactDetail>(); 4130 this.contact.add(t); 4131 return this; 4132 } 4133 4134 /** 4135 * @return The first repetition of repeating field {@link #contact}, creating it if it does not already exist {3} 4136 */ 4137 public ContactDetail getContactFirstRep() { 4138 if (getContact().isEmpty()) { 4139 addContact(); 4140 } 4141 return getContact().get(0); 4142 } 4143 4144 /** 4145 * @return {@link #description} (A free text natural language description of the value set from a consumer's perspective. The textual description specifies the span of meanings for concepts to be included within the Value Set Expansion, and also may specify the intended use and limitations of the Value Set.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 4146 */ 4147 public MarkdownType getDescriptionElement() { 4148 if (this.description == null) 4149 if (Configuration.errorOnAutoCreate()) 4150 throw new Error("Attempt to auto-create ValueSet.description"); 4151 else if (Configuration.doAutoCreate()) 4152 this.description = new MarkdownType(); // bb 4153 return this.description; 4154 } 4155 4156 public boolean hasDescriptionElement() { 4157 return this.description != null && !this.description.isEmpty(); 4158 } 4159 4160 public boolean hasDescription() { 4161 return this.description != null && !this.description.isEmpty(); 4162 } 4163 4164 /** 4165 * @param value {@link #description} (A free text natural language description of the value set from a consumer's perspective. The textual description specifies the span of meanings for concepts to be included within the Value Set Expansion, and also may specify the intended use and limitations of the Value Set.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 4166 */ 4167 public ValueSet setDescriptionElement(MarkdownType value) { 4168 this.description = value; 4169 return this; 4170 } 4171 4172 /** 4173 * @return A free text natural language description of the value set from a consumer's perspective. The textual description specifies the span of meanings for concepts to be included within the Value Set Expansion, and also may specify the intended use and limitations of the Value Set. 4174 */ 4175 public String getDescription() { 4176 return this.description == null ? null : this.description.getValue(); 4177 } 4178 4179 /** 4180 * @param value A free text natural language description of the value set from a consumer's perspective. The textual description specifies the span of meanings for concepts to be included within the Value Set Expansion, and also may specify the intended use and limitations of the Value Set. 4181 */ 4182 public ValueSet setDescription(String value) { 4183 if (value == null) 4184 this.description = null; 4185 else { 4186 if (this.description == null) 4187 this.description = new MarkdownType(); 4188 this.description.setValue(value); 4189 } 4190 return this; 4191 } 4192 4193 /** 4194 * @return {@link #useContext} (The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate value set instances.) 4195 */ 4196 public List<UsageContext> getUseContext() { 4197 if (this.useContext == null) 4198 this.useContext = new ArrayList<UsageContext>(); 4199 return this.useContext; 4200 } 4201 4202 /** 4203 * @return Returns a reference to <code>this</code> for easy method chaining 4204 */ 4205 public ValueSet setUseContext(List<UsageContext> theUseContext) { 4206 this.useContext = theUseContext; 4207 return this; 4208 } 4209 4210 public boolean hasUseContext() { 4211 if (this.useContext == null) 4212 return false; 4213 for (UsageContext item : this.useContext) 4214 if (!item.isEmpty()) 4215 return true; 4216 return false; 4217 } 4218 4219 public UsageContext addUseContext() { //3 4220 UsageContext t = new UsageContext(); 4221 if (this.useContext == null) 4222 this.useContext = new ArrayList<UsageContext>(); 4223 this.useContext.add(t); 4224 return t; 4225 } 4226 4227 public ValueSet addUseContext(UsageContext t) { //3 4228 if (t == null) 4229 return this; 4230 if (this.useContext == null) 4231 this.useContext = new ArrayList<UsageContext>(); 4232 this.useContext.add(t); 4233 return this; 4234 } 4235 4236 /** 4237 * @return The first repetition of repeating field {@link #useContext}, creating it if it does not already exist {3} 4238 */ 4239 public UsageContext getUseContextFirstRep() { 4240 if (getUseContext().isEmpty()) { 4241 addUseContext(); 4242 } 4243 return getUseContext().get(0); 4244 } 4245 4246 /** 4247 * @return {@link #jurisdiction} (A legal or geographic region in which the value set is intended to be used.) 4248 */ 4249 public List<CodeableConcept> getJurisdiction() { 4250 if (this.jurisdiction == null) 4251 this.jurisdiction = new ArrayList<CodeableConcept>(); 4252 return this.jurisdiction; 4253 } 4254 4255 /** 4256 * @return Returns a reference to <code>this</code> for easy method chaining 4257 */ 4258 public ValueSet setJurisdiction(List<CodeableConcept> theJurisdiction) { 4259 this.jurisdiction = theJurisdiction; 4260 return this; 4261 } 4262 4263 public boolean hasJurisdiction() { 4264 if (this.jurisdiction == null) 4265 return false; 4266 for (CodeableConcept item : this.jurisdiction) 4267 if (!item.isEmpty()) 4268 return true; 4269 return false; 4270 } 4271 4272 public CodeableConcept addJurisdiction() { //3 4273 CodeableConcept t = new CodeableConcept(); 4274 if (this.jurisdiction == null) 4275 this.jurisdiction = new ArrayList<CodeableConcept>(); 4276 this.jurisdiction.add(t); 4277 return t; 4278 } 4279 4280 public ValueSet addJurisdiction(CodeableConcept t) { //3 4281 if (t == null) 4282 return this; 4283 if (this.jurisdiction == null) 4284 this.jurisdiction = new ArrayList<CodeableConcept>(); 4285 this.jurisdiction.add(t); 4286 return this; 4287 } 4288 4289 /** 4290 * @return The first repetition of repeating field {@link #jurisdiction}, creating it if it does not already exist {3} 4291 */ 4292 public CodeableConcept getJurisdictionFirstRep() { 4293 if (getJurisdiction().isEmpty()) { 4294 addJurisdiction(); 4295 } 4296 return getJurisdiction().get(0); 4297 } 4298 4299 /** 4300 * @return {@link #immutable} (If this is set to 'true', then no new versions of the content logical definition can be created. Note: Other metadata might still change.). This is the underlying object with id, value and extensions. The accessor "getImmutable" gives direct access to the value 4301 */ 4302 public BooleanType getImmutableElement() { 4303 if (this.immutable == null) 4304 if (Configuration.errorOnAutoCreate()) 4305 throw new Error("Attempt to auto-create ValueSet.immutable"); 4306 else if (Configuration.doAutoCreate()) 4307 this.immutable = new BooleanType(); // bb 4308 return this.immutable; 4309 } 4310 4311 public boolean hasImmutableElement() { 4312 return this.immutable != null && !this.immutable.isEmpty(); 4313 } 4314 4315 public boolean hasImmutable() { 4316 return this.immutable != null && !this.immutable.isEmpty(); 4317 } 4318 4319 /** 4320 * @param value {@link #immutable} (If this is set to 'true', then no new versions of the content logical definition can be created. Note: Other metadata might still change.). This is the underlying object with id, value and extensions. The accessor "getImmutable" gives direct access to the value 4321 */ 4322 public ValueSet setImmutableElement(BooleanType value) { 4323 this.immutable = value; 4324 return this; 4325 } 4326 4327 /** 4328 * @return If this is set to 'true', then no new versions of the content logical definition can be created. Note: Other metadata might still change. 4329 */ 4330 public boolean getImmutable() { 4331 return this.immutable == null || this.immutable.isEmpty() ? false : this.immutable.getValue(); 4332 } 4333 4334 /** 4335 * @param value If this is set to 'true', then no new versions of the content logical definition can be created. Note: Other metadata might still change. 4336 */ 4337 public ValueSet setImmutable(boolean value) { 4338 if (this.immutable == null) 4339 this.immutable = new BooleanType(); 4340 this.immutable.setValue(value); 4341 return this; 4342 } 4343 4344 /** 4345 * @return {@link #purpose} (Explanation of why this value set is needed and why it has been designed as it has.). This is the underlying object with id, value and extensions. The accessor "getPurpose" gives direct access to the value 4346 */ 4347 public MarkdownType getPurposeElement() { 4348 if (this.purpose == null) 4349 if (Configuration.errorOnAutoCreate()) 4350 throw new Error("Attempt to auto-create ValueSet.purpose"); 4351 else if (Configuration.doAutoCreate()) 4352 this.purpose = new MarkdownType(); // bb 4353 return this.purpose; 4354 } 4355 4356 public boolean hasPurposeElement() { 4357 return this.purpose != null && !this.purpose.isEmpty(); 4358 } 4359 4360 public boolean hasPurpose() { 4361 return this.purpose != null && !this.purpose.isEmpty(); 4362 } 4363 4364 /** 4365 * @param value {@link #purpose} (Explanation of why this value set is needed and why it has been designed as it has.). This is the underlying object with id, value and extensions. The accessor "getPurpose" gives direct access to the value 4366 */ 4367 public ValueSet setPurposeElement(MarkdownType value) { 4368 this.purpose = value; 4369 return this; 4370 } 4371 4372 /** 4373 * @return Explanation of why this value set is needed and why it has been designed as it has. 4374 */ 4375 public String getPurpose() { 4376 return this.purpose == null ? null : this.purpose.getValue(); 4377 } 4378 4379 /** 4380 * @param value Explanation of why this value set is needed and why it has been designed as it has. 4381 */ 4382 public ValueSet setPurpose(String value) { 4383 if (value == null) 4384 this.purpose = null; 4385 else { 4386 if (this.purpose == null) 4387 this.purpose = new MarkdownType(); 4388 this.purpose.setValue(value); 4389 } 4390 return this; 4391 } 4392 4393 /** 4394 * @return {@link #copyright} (A copyright statement relating to the value set and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the value set.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value 4395 */ 4396 public MarkdownType getCopyrightElement() { 4397 if (this.copyright == null) 4398 if (Configuration.errorOnAutoCreate()) 4399 throw new Error("Attempt to auto-create ValueSet.copyright"); 4400 else if (Configuration.doAutoCreate()) 4401 this.copyright = new MarkdownType(); // bb 4402 return this.copyright; 4403 } 4404 4405 public boolean hasCopyrightElement() { 4406 return this.copyright != null && !this.copyright.isEmpty(); 4407 } 4408 4409 public boolean hasCopyright() { 4410 return this.copyright != null && !this.copyright.isEmpty(); 4411 } 4412 4413 /** 4414 * @param value {@link #copyright} (A copyright statement relating to the value set and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the value set.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value 4415 */ 4416 public ValueSet setCopyrightElement(MarkdownType value) { 4417 this.copyright = value; 4418 return this; 4419 } 4420 4421 /** 4422 * @return A copyright statement relating to the value set and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the value set. 4423 */ 4424 public String getCopyright() { 4425 return this.copyright == null ? null : this.copyright.getValue(); 4426 } 4427 4428 /** 4429 * @param value A copyright statement relating to the value set and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the value set. 4430 */ 4431 public ValueSet setCopyright(String value) { 4432 if (value == null) 4433 this.copyright = null; 4434 else { 4435 if (this.copyright == null) 4436 this.copyright = new MarkdownType(); 4437 this.copyright.setValue(value); 4438 } 4439 return this; 4440 } 4441 4442 /** 4443 * @return {@link #compose} (A set of criteria that define the contents of the value set by including or excluding codes selected from the specified code system(s) that the value set draws from. This is also known as the Content Logical Definition (CLD).) 4444 */ 4445 public ValueSetComposeComponent getCompose() { 4446 if (this.compose == null) 4447 if (Configuration.errorOnAutoCreate()) 4448 throw new Error("Attempt to auto-create ValueSet.compose"); 4449 else if (Configuration.doAutoCreate()) 4450 this.compose = new ValueSetComposeComponent(); // cc 4451 return this.compose; 4452 } 4453 4454 public boolean hasCompose() { 4455 return this.compose != null && !this.compose.isEmpty(); 4456 } 4457 4458 /** 4459 * @param value {@link #compose} (A set of criteria that define the contents of the value set by including or excluding codes selected from the specified code system(s) that the value set draws from. This is also known as the Content Logical Definition (CLD).) 4460 */ 4461 public ValueSet setCompose(ValueSetComposeComponent value) { 4462 this.compose = value; 4463 return this; 4464 } 4465 4466 /** 4467 * @return {@link #expansion} (A value set can also be "expanded", where the value set is turned into a simple collection of enumerated codes. This element holds the expansion, if it has been performed.) 4468 */ 4469 public ValueSetExpansionComponent getExpansion() { 4470 if (this.expansion == null) 4471 if (Configuration.errorOnAutoCreate()) 4472 throw new Error("Attempt to auto-create ValueSet.expansion"); 4473 else if (Configuration.doAutoCreate()) 4474 this.expansion = new ValueSetExpansionComponent(); // cc 4475 return this.expansion; 4476 } 4477 4478 public boolean hasExpansion() { 4479 return this.expansion != null && !this.expansion.isEmpty(); 4480 } 4481 4482 /** 4483 * @param value {@link #expansion} (A value set can also be "expanded", where the value set is turned into a simple collection of enumerated codes. This element holds the expansion, if it has been performed.) 4484 */ 4485 public ValueSet setExpansion(ValueSetExpansionComponent value) { 4486 this.expansion = value; 4487 return this; 4488 } 4489 4490 protected void listChildren(List<Property> children) { 4491 super.listChildren(children); 4492 children.add(new Property("url", "uri", "An absolute URI that is used to identify this value set when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this value set is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the value set is stored on different servers.", 0, 1, url)); 4493 children.add(new Property("identifier", "Identifier", "A formal identifier that is used to identify this value set when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier)); 4494 children.add(new Property("version", "string", "The identifier that is used to identify this version of the value set when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the value set author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version)); 4495 children.add(new Property("name", "string", "A natural language name identifying the value set. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name)); 4496 children.add(new Property("title", "string", "A short, descriptive, user-friendly title for the value set.", 0, 1, title)); 4497 children.add(new Property("status", "code", "The status of this value set. Enables tracking the life-cycle of the content. The status of the value set applies to the value set definition (ValueSet.compose) and the associated ValueSet metadata. Expansions do not have a state.", 0, 1, status)); 4498 children.add(new Property("experimental", "boolean", "A Boolean value to indicate that this value set is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental)); 4499 children.add(new Property("date", "dateTime", "The date (and optionally time) when the value set was created or revised (e.g. the 'content logical definition').", 0, 1, date)); 4500 children.add(new Property("publisher", "string", "The name of the organization or individual that published the value set.", 0, 1, publisher)); 4501 children.add(new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact)); 4502 children.add(new Property("description", "markdown", "A free text natural language description of the value set from a consumer's perspective. The textual description specifies the span of meanings for concepts to be included within the Value Set Expansion, and also may specify the intended use and limitations of the Value Set.", 0, 1, description)); 4503 children.add(new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate value set instances.", 0, java.lang.Integer.MAX_VALUE, useContext)); 4504 children.add(new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the value set is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction)); 4505 children.add(new Property("immutable", "boolean", "If this is set to 'true', then no new versions of the content logical definition can be created. Note: Other metadata might still change.", 0, 1, immutable)); 4506 children.add(new Property("purpose", "markdown", "Explanation of why this value set is needed and why it has been designed as it has.", 0, 1, purpose)); 4507 children.add(new Property("copyright", "markdown", "A copyright statement relating to the value set and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the value set.", 0, 1, copyright)); 4508 children.add(new Property("compose", "", "A set of criteria that define the contents of the value set by including or excluding codes selected from the specified code system(s) that the value set draws from. This is also known as the Content Logical Definition (CLD).", 0, 1, compose)); 4509 children.add(new Property("expansion", "", "A value set can also be \"expanded\", where the value set is turned into a simple collection of enumerated codes. This element holds the expansion, if it has been performed.", 0, 1, expansion)); 4510 } 4511 4512 @Override 4513 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 4514 switch (_hash) { 4515 case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this value set when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this value set is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the value set is stored on different servers.", 0, 1, url); 4516 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "A formal identifier that is used to identify this value set when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier); 4517 case 351608024: /*version*/ return new Property("version", "string", "The identifier that is used to identify this version of the value set when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the value set author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version); 4518 case 3373707: /*name*/ return new Property("name", "string", "A natural language name identifying the value set. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name); 4519 case 110371416: /*title*/ return new Property("title", "string", "A short, descriptive, user-friendly title for the value set.", 0, 1, title); 4520 case -892481550: /*status*/ return new Property("status", "code", "The status of this value set. Enables tracking the life-cycle of the content. The status of the value set applies to the value set definition (ValueSet.compose) and the associated ValueSet metadata. Expansions do not have a state.", 0, 1, status); 4521 case -404562712: /*experimental*/ return new Property("experimental", "boolean", "A Boolean value to indicate that this value set is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental); 4522 case 3076014: /*date*/ return new Property("date", "dateTime", "The date (and optionally time) when the value set was created or revised (e.g. the 'content logical definition').", 0, 1, date); 4523 case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual that published the value set.", 0, 1, publisher); 4524 case 951526432: /*contact*/ return new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact); 4525 case -1724546052: /*description*/ return new Property("description", "markdown", "A free text natural language description of the value set from a consumer's perspective. The textual description specifies the span of meanings for concepts to be included within the Value Set Expansion, and also may specify the intended use and limitations of the Value Set.", 0, 1, description); 4526 case -669707736: /*useContext*/ return new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate value set instances.", 0, java.lang.Integer.MAX_VALUE, useContext); 4527 case -507075711: /*jurisdiction*/ return new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the value set is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction); 4528 case 1596987778: /*immutable*/ return new Property("immutable", "boolean", "If this is set to 'true', then no new versions of the content logical definition can be created. Note: Other metadata might still change.", 0, 1, immutable); 4529 case -220463842: /*purpose*/ return new Property("purpose", "markdown", "Explanation of why this value set is needed and why it has been designed as it has.", 0, 1, purpose); 4530 case 1522889671: /*copyright*/ return new Property("copyright", "markdown", "A copyright statement relating to the value set and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the value set.", 0, 1, copyright); 4531 case 950497682: /*compose*/ return new Property("compose", "", "A set of criteria that define the contents of the value set by including or excluding codes selected from the specified code system(s) that the value set draws from. This is also known as the Content Logical Definition (CLD).", 0, 1, compose); 4532 case 17878207: /*expansion*/ return new Property("expansion", "", "A value set can also be \"expanded\", where the value set is turned into a simple collection of enumerated codes. This element holds the expansion, if it has been performed.", 0, 1, expansion); 4533 default: return super.getNamedProperty(_hash, _name, _checkValid); 4534 } 4535 4536 } 4537 4538 @Override 4539 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 4540 switch (hash) { 4541 case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType 4542 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 4543 case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType 4544 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType 4545 case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType 4546 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<PublicationStatus> 4547 case -404562712: /*experimental*/ return this.experimental == null ? new Base[0] : new Base[] {this.experimental}; // BooleanType 4548 case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType 4549 case 1447404028: /*publisher*/ return this.publisher == null ? new Base[0] : new Base[] {this.publisher}; // StringType 4550 case 951526432: /*contact*/ return this.contact == null ? new Base[0] : this.contact.toArray(new Base[this.contact.size()]); // ContactDetail 4551 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType 4552 case -669707736: /*useContext*/ return this.useContext == null ? new Base[0] : this.useContext.toArray(new Base[this.useContext.size()]); // UsageContext 4553 case -507075711: /*jurisdiction*/ return this.jurisdiction == null ? new Base[0] : this.jurisdiction.toArray(new Base[this.jurisdiction.size()]); // CodeableConcept 4554 case 1596987778: /*immutable*/ return this.immutable == null ? new Base[0] : new Base[] {this.immutable}; // BooleanType 4555 case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : new Base[] {this.purpose}; // MarkdownType 4556 case 1522889671: /*copyright*/ return this.copyright == null ? new Base[0] : new Base[] {this.copyright}; // MarkdownType 4557 case 950497682: /*compose*/ return this.compose == null ? new Base[0] : new Base[] {this.compose}; // ValueSetComposeComponent 4558 case 17878207: /*expansion*/ return this.expansion == null ? new Base[0] : new Base[] {this.expansion}; // ValueSetExpansionComponent 4559 default: return super.getProperty(hash, name, checkValid); 4560 } 4561 4562 } 4563 4564 @Override 4565 public Base setProperty(int hash, String name, Base value) throws FHIRException { 4566 switch (hash) { 4567 case 116079: // url 4568 this.url = TypeConvertor.castToUri(value); // UriType 4569 return value; 4570 case -1618432855: // identifier 4571 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier 4572 return value; 4573 case 351608024: // version 4574 this.version = TypeConvertor.castToString(value); // StringType 4575 return value; 4576 case 3373707: // name 4577 this.name = TypeConvertor.castToString(value); // StringType 4578 return value; 4579 case 110371416: // title 4580 this.title = TypeConvertor.castToString(value); // StringType 4581 return value; 4582 case -892481550: // status 4583 value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 4584 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 4585 return value; 4586 case -404562712: // experimental 4587 this.experimental = TypeConvertor.castToBoolean(value); // BooleanType 4588 return value; 4589 case 3076014: // date 4590 this.date = TypeConvertor.castToDateTime(value); // DateTimeType 4591 return value; 4592 case 1447404028: // publisher 4593 this.publisher = TypeConvertor.castToString(value); // StringType 4594 return value; 4595 case 951526432: // contact 4596 this.getContact().add(TypeConvertor.castToContactDetail(value)); // ContactDetail 4597 return value; 4598 case -1724546052: // description 4599 this.description = TypeConvertor.castToMarkdown(value); // MarkdownType 4600 return value; 4601 case -669707736: // useContext 4602 this.getUseContext().add(TypeConvertor.castToUsageContext(value)); // UsageContext 4603 return value; 4604 case -507075711: // jurisdiction 4605 this.getJurisdiction().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 4606 return value; 4607 case 1596987778: // immutable 4608 this.immutable = TypeConvertor.castToBoolean(value); // BooleanType 4609 return value; 4610 case -220463842: // purpose 4611 this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType 4612 return value; 4613 case 1522889671: // copyright 4614 this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType 4615 return value; 4616 case 950497682: // compose 4617 this.compose = (ValueSetComposeComponent) value; // ValueSetComposeComponent 4618 return value; 4619 case 17878207: // expansion 4620 this.expansion = (ValueSetExpansionComponent) value; // ValueSetExpansionComponent 4621 return value; 4622 default: return super.setProperty(hash, name, value); 4623 } 4624 4625 } 4626 4627 @Override 4628 public Base setProperty(String name, Base value) throws FHIRException { 4629 if (name.equals("url")) { 4630 this.url = TypeConvertor.castToUri(value); // UriType 4631 } else if (name.equals("identifier")) { 4632 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); 4633 } else if (name.equals("version")) { 4634 this.version = TypeConvertor.castToString(value); // StringType 4635 } else if (name.equals("name")) { 4636 this.name = TypeConvertor.castToString(value); // StringType 4637 } else if (name.equals("title")) { 4638 this.title = TypeConvertor.castToString(value); // StringType 4639 } else if (name.equals("status")) { 4640 value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 4641 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 4642 } else if (name.equals("experimental")) { 4643 this.experimental = TypeConvertor.castToBoolean(value); // BooleanType 4644 } else if (name.equals("date")) { 4645 this.date = TypeConvertor.castToDateTime(value); // DateTimeType 4646 } else if (name.equals("publisher")) { 4647 this.publisher = TypeConvertor.castToString(value); // StringType 4648 } else if (name.equals("contact")) { 4649 this.getContact().add(TypeConvertor.castToContactDetail(value)); 4650 } else if (name.equals("description")) { 4651 this.description = TypeConvertor.castToMarkdown(value); // MarkdownType 4652 } else if (name.equals("useContext")) { 4653 this.getUseContext().add(TypeConvertor.castToUsageContext(value)); 4654 } else if (name.equals("jurisdiction")) { 4655 this.getJurisdiction().add(TypeConvertor.castToCodeableConcept(value)); 4656 } else if (name.equals("immutable")) { 4657 this.immutable = TypeConvertor.castToBoolean(value); // BooleanType 4658 } else if (name.equals("purpose")) { 4659 this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType 4660 } else if (name.equals("copyright")) { 4661 this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType 4662 } else if (name.equals("compose")) { 4663 this.compose = (ValueSetComposeComponent) value; // ValueSetComposeComponent 4664 } else if (name.equals("expansion")) { 4665 this.expansion = (ValueSetExpansionComponent) value; // ValueSetExpansionComponent 4666 } else 4667 return super.setProperty(name, value); 4668 return value; 4669 } 4670 4671 @Override 4672 public Base makeProperty(int hash, String name) throws FHIRException { 4673 switch (hash) { 4674 case 116079: return getUrlElement(); 4675 case -1618432855: return addIdentifier(); 4676 case 351608024: return getVersionElement(); 4677 case 3373707: return getNameElement(); 4678 case 110371416: return getTitleElement(); 4679 case -892481550: return getStatusElement(); 4680 case -404562712: return getExperimentalElement(); 4681 case 3076014: return getDateElement(); 4682 case 1447404028: return getPublisherElement(); 4683 case 951526432: return addContact(); 4684 case -1724546052: return getDescriptionElement(); 4685 case -669707736: return addUseContext(); 4686 case -507075711: return addJurisdiction(); 4687 case 1596987778: return getImmutableElement(); 4688 case -220463842: return getPurposeElement(); 4689 case 1522889671: return getCopyrightElement(); 4690 case 950497682: return getCompose(); 4691 case 17878207: return getExpansion(); 4692 default: return super.makeProperty(hash, name); 4693 } 4694 4695 } 4696 4697 @Override 4698 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 4699 switch (hash) { 4700 case 116079: /*url*/ return new String[] {"uri"}; 4701 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 4702 case 351608024: /*version*/ return new String[] {"string"}; 4703 case 3373707: /*name*/ return new String[] {"string"}; 4704 case 110371416: /*title*/ return new String[] {"string"}; 4705 case -892481550: /*status*/ return new String[] {"code"}; 4706 case -404562712: /*experimental*/ return new String[] {"boolean"}; 4707 case 3076014: /*date*/ return new String[] {"dateTime"}; 4708 case 1447404028: /*publisher*/ return new String[] {"string"}; 4709 case 951526432: /*contact*/ return new String[] {"ContactDetail"}; 4710 case -1724546052: /*description*/ return new String[] {"markdown"}; 4711 case -669707736: /*useContext*/ return new String[] {"UsageContext"}; 4712 case -507075711: /*jurisdiction*/ return new String[] {"CodeableConcept"}; 4713 case 1596987778: /*immutable*/ return new String[] {"boolean"}; 4714 case -220463842: /*purpose*/ return new String[] {"markdown"}; 4715 case 1522889671: /*copyright*/ return new String[] {"markdown"}; 4716 case 950497682: /*compose*/ return new String[] {}; 4717 case 17878207: /*expansion*/ return new String[] {}; 4718 default: return super.getTypesForProperty(hash, name); 4719 } 4720 4721 } 4722 4723 @Override 4724 public Base addChild(String name) throws FHIRException { 4725 if (name.equals("url")) { 4726 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.url"); 4727 } 4728 else if (name.equals("identifier")) { 4729 return addIdentifier(); 4730 } 4731 else if (name.equals("version")) { 4732 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.version"); 4733 } 4734 else if (name.equals("name")) { 4735 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.name"); 4736 } 4737 else if (name.equals("title")) { 4738 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.title"); 4739 } 4740 else if (name.equals("status")) { 4741 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.status"); 4742 } 4743 else if (name.equals("experimental")) { 4744 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.experimental"); 4745 } 4746 else if (name.equals("date")) { 4747 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.date"); 4748 } 4749 else if (name.equals("publisher")) { 4750 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.publisher"); 4751 } 4752 else if (name.equals("contact")) { 4753 return addContact(); 4754 } 4755 else if (name.equals("description")) { 4756 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.description"); 4757 } 4758 else if (name.equals("useContext")) { 4759 return addUseContext(); 4760 } 4761 else if (name.equals("jurisdiction")) { 4762 return addJurisdiction(); 4763 } 4764 else if (name.equals("immutable")) { 4765 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.immutable"); 4766 } 4767 else if (name.equals("purpose")) { 4768 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.purpose"); 4769 } 4770 else if (name.equals("copyright")) { 4771 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.copyright"); 4772 } 4773 else if (name.equals("compose")) { 4774 this.compose = new ValueSetComposeComponent(); 4775 return this.compose; 4776 } 4777 else if (name.equals("expansion")) { 4778 this.expansion = new ValueSetExpansionComponent(); 4779 return this.expansion; 4780 } 4781 else 4782 return super.addChild(name); 4783 } 4784 4785 public String fhirType() { 4786 return "ValueSet"; 4787 4788 } 4789 4790 public ValueSet copy() { 4791 ValueSet dst = new ValueSet(); 4792 copyValues(dst); 4793 return dst; 4794 } 4795 4796 public void copyValues(ValueSet dst) { 4797 super.copyValues(dst); 4798 dst.url = url == null ? null : url.copy(); 4799 if (identifier != null) { 4800 dst.identifier = new ArrayList<Identifier>(); 4801 for (Identifier i : identifier) 4802 dst.identifier.add(i.copy()); 4803 }; 4804 dst.version = version == null ? null : version.copy(); 4805 dst.name = name == null ? null : name.copy(); 4806 dst.title = title == null ? null : title.copy(); 4807 dst.status = status == null ? null : status.copy(); 4808 dst.experimental = experimental == null ? null : experimental.copy(); 4809 dst.date = date == null ? null : date.copy(); 4810 dst.publisher = publisher == null ? null : publisher.copy(); 4811 if (contact != null) { 4812 dst.contact = new ArrayList<ContactDetail>(); 4813 for (ContactDetail i : contact) 4814 dst.contact.add(i.copy()); 4815 }; 4816 dst.description = description == null ? null : description.copy(); 4817 if (useContext != null) { 4818 dst.useContext = new ArrayList<UsageContext>(); 4819 for (UsageContext i : useContext) 4820 dst.useContext.add(i.copy()); 4821 }; 4822 if (jurisdiction != null) { 4823 dst.jurisdiction = new ArrayList<CodeableConcept>(); 4824 for (CodeableConcept i : jurisdiction) 4825 dst.jurisdiction.add(i.copy()); 4826 }; 4827 dst.immutable = immutable == null ? null : immutable.copy(); 4828 dst.purpose = purpose == null ? null : purpose.copy(); 4829 dst.copyright = copyright == null ? null : copyright.copy(); 4830 dst.compose = compose == null ? null : compose.copy(); 4831 dst.expansion = expansion == null ? null : expansion.copy(); 4832 } 4833 4834 protected ValueSet typedCopy() { 4835 return copy(); 4836 } 4837 4838 @Override 4839 public boolean equalsDeep(Base other_) { 4840 if (!super.equalsDeep(other_)) 4841 return false; 4842 if (!(other_ instanceof ValueSet)) 4843 return false; 4844 ValueSet o = (ValueSet) other_; 4845 return compareDeep(url, o.url, true) && compareDeep(identifier, o.identifier, true) && compareDeep(version, o.version, true) 4846 && compareDeep(name, o.name, true) && compareDeep(title, o.title, true) && compareDeep(status, o.status, true) 4847 && compareDeep(experimental, o.experimental, true) && compareDeep(date, o.date, true) && compareDeep(publisher, o.publisher, true) 4848 && compareDeep(contact, o.contact, true) && compareDeep(description, o.description, true) && compareDeep(useContext, o.useContext, true) 4849 && compareDeep(jurisdiction, o.jurisdiction, true) && compareDeep(immutable, o.immutable, true) 4850 && compareDeep(purpose, o.purpose, true) && compareDeep(copyright, o.copyright, true) && compareDeep(compose, o.compose, true) 4851 && compareDeep(expansion, o.expansion, true); 4852 } 4853 4854 @Override 4855 public boolean equalsShallow(Base other_) { 4856 if (!super.equalsShallow(other_)) 4857 return false; 4858 if (!(other_ instanceof ValueSet)) 4859 return false; 4860 ValueSet o = (ValueSet) other_; 4861 return compareValues(url, o.url, true) && compareValues(version, o.version, true) && compareValues(name, o.name, true) 4862 && compareValues(title, o.title, true) && compareValues(status, o.status, true) && compareValues(experimental, o.experimental, true) 4863 && compareValues(date, o.date, true) && compareValues(publisher, o.publisher, true) && compareValues(description, o.description, true) 4864 && compareValues(immutable, o.immutable, true) && compareValues(purpose, o.purpose, true) && compareValues(copyright, o.copyright, true) 4865 ; 4866 } 4867 4868 public boolean isEmpty() { 4869 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(url, identifier, version 4870 , name, title, status, experimental, date, publisher, contact, description, useContext 4871 , jurisdiction, immutable, purpose, copyright, compose, expansion); 4872 } 4873 4874 @Override 4875 public ResourceType getResourceType() { 4876 return ResourceType.ValueSet; 4877 } 4878 4879 /** 4880 * Search parameter: <b>code</b> 4881 * <p> 4882 * Description: <b>This special parameter searches for codes in the value set. See additional notes on the ValueSet resource</b><br> 4883 * Type: <b>token</b><br> 4884 * Path: <b>ValueSet.expansion.contains.code | ValueSet.compose.include.concept.code</b><br> 4885 * </p> 4886 */ 4887 @SearchParamDefinition(name="code", path="ValueSet.expansion.contains.code | ValueSet.compose.include.concept.code", description="This special parameter searches for codes in the value set. See additional notes on the ValueSet resource", type="token" ) 4888 public static final String SP_CODE = "code"; 4889 /** 4890 * <b>Fluent Client</b> search parameter constant for <b>code</b> 4891 * <p> 4892 * Description: <b>This special parameter searches for codes in the value set. See additional notes on the ValueSet resource</b><br> 4893 * Type: <b>token</b><br> 4894 * Path: <b>ValueSet.expansion.contains.code | ValueSet.compose.include.concept.code</b><br> 4895 * </p> 4896 */ 4897 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CODE); 4898 4899 /** 4900 * Search parameter: <b>expansion</b> 4901 * <p> 4902 * Description: <b>Identifies the value set expansion (business identifier)</b><br> 4903 * Type: <b>uri</b><br> 4904 * Path: <b>ValueSet.expansion.identifier</b><br> 4905 * </p> 4906 */ 4907 @SearchParamDefinition(name="expansion", path="ValueSet.expansion.identifier", description="Identifies the value set expansion (business identifier)", type="uri" ) 4908 public static final String SP_EXPANSION = "expansion"; 4909 /** 4910 * <b>Fluent Client</b> search parameter constant for <b>expansion</b> 4911 * <p> 4912 * Description: <b>Identifies the value set expansion (business identifier)</b><br> 4913 * Type: <b>uri</b><br> 4914 * Path: <b>ValueSet.expansion.identifier</b><br> 4915 * </p> 4916 */ 4917 public static final ca.uhn.fhir.rest.gclient.UriClientParam EXPANSION = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_EXPANSION); 4918 4919 /** 4920 * Search parameter: <b>reference</b> 4921 * <p> 4922 * Description: <b>A code system included or excluded in the value set or an imported value set</b><br> 4923 * Type: <b>uri</b><br> 4924 * Path: <b>ValueSet.compose.include.system</b><br> 4925 * </p> 4926 */ 4927 @SearchParamDefinition(name="reference", path="ValueSet.compose.include.system", description="A code system included or excluded in the value set or an imported value set", type="uri" ) 4928 public static final String SP_REFERENCE = "reference"; 4929 /** 4930 * <b>Fluent Client</b> search parameter constant for <b>reference</b> 4931 * <p> 4932 * Description: <b>A code system included or excluded in the value set or an imported value set</b><br> 4933 * Type: <b>uri</b><br> 4934 * Path: <b>ValueSet.compose.include.system</b><br> 4935 * </p> 4936 */ 4937 public static final ca.uhn.fhir.rest.gclient.UriClientParam REFERENCE = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_REFERENCE); 4938 4939 /** 4940 * Search parameter: <b>context-quantity</b> 4941 * <p> 4942 * Description: <b>Multiple Resources: 4943 4944* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement 4945* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system 4946* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition 4947* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map 4948* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition 4949* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide 4950* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition 4951* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system 4952* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition 4953* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter 4954* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition 4955* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map 4956* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities 4957* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set 4958</b><br> 4959 * Type: <b>quantity</b><br> 4960 * Path: <b>(CapabilityStatement.useContext.value as Quantity) | (CapabilityStatement.useContext.value as Range) | (CodeSystem.useContext.value as Quantity) | (CodeSystem.useContext.value as Range) | (CompartmentDefinition.useContext.value as Quantity) | (CompartmentDefinition.useContext.value as Range) | (ConceptMap.useContext.value as Quantity) | (ConceptMap.useContext.value as Range) | (GraphDefinition.useContext.value as Quantity) | (GraphDefinition.useContext.value as Range) | (ImplementationGuide.useContext.value as Quantity) | (ImplementationGuide.useContext.value as Range) | (MessageDefinition.useContext.value as Quantity) | (MessageDefinition.useContext.value as Range) | (NamingSystem.useContext.value as Quantity) | (NamingSystem.useContext.value as Range) | (OperationDefinition.useContext.value as Quantity) | (OperationDefinition.useContext.value as Range) | (SearchParameter.useContext.value as Quantity) | (SearchParameter.useContext.value as Range) | (StructureDefinition.useContext.value as Quantity) | (StructureDefinition.useContext.value as Range) | (StructureMap.useContext.value as Quantity) | (StructureMap.useContext.value as Range) | (TerminologyCapabilities.useContext.value as Quantity) | (TerminologyCapabilities.useContext.value as Range) | (ValueSet.useContext.value as Quantity) | (ValueSet.useContext.value as Range)</b><br> 4961 * </p> 4962 */ 4963 @SearchParamDefinition(name="context-quantity", path="(CapabilityStatement.useContext.value as Quantity) | (CapabilityStatement.useContext.value as Range) | (CodeSystem.useContext.value as Quantity) | (CodeSystem.useContext.value as Range) | (CompartmentDefinition.useContext.value as Quantity) | (CompartmentDefinition.useContext.value as Range) | (ConceptMap.useContext.value as Quantity) | (ConceptMap.useContext.value as Range) | (GraphDefinition.useContext.value as Quantity) | (GraphDefinition.useContext.value as Range) | (ImplementationGuide.useContext.value as Quantity) | (ImplementationGuide.useContext.value as Range) | (MessageDefinition.useContext.value as Quantity) | (MessageDefinition.useContext.value as Range) | (NamingSystem.useContext.value as Quantity) | (NamingSystem.useContext.value as Range) | (OperationDefinition.useContext.value as Quantity) | (OperationDefinition.useContext.value as Range) | (SearchParameter.useContext.value as Quantity) | (SearchParameter.useContext.value as Range) | (StructureDefinition.useContext.value as Quantity) | (StructureDefinition.useContext.value as Range) | (StructureMap.useContext.value as Quantity) | (StructureMap.useContext.value as Range) | (TerminologyCapabilities.useContext.value as Quantity) | (TerminologyCapabilities.useContext.value as Range) | (ValueSet.useContext.value as Quantity) | (ValueSet.useContext.value as Range)", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set\r\n", type="quantity" ) 4964 public static final String SP_CONTEXT_QUANTITY = "context-quantity"; 4965 /** 4966 * <b>Fluent Client</b> search parameter constant for <b>context-quantity</b> 4967 * <p> 4968 * Description: <b>Multiple Resources: 4969 4970* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement 4971* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system 4972* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition 4973* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map 4974* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition 4975* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide 4976* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition 4977* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system 4978* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition 4979* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter 4980* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition 4981* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map 4982* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities 4983* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set 4984</b><br> 4985 * Type: <b>quantity</b><br> 4986 * Path: <b>(CapabilityStatement.useContext.value as Quantity) | (CapabilityStatement.useContext.value as Range) | (CodeSystem.useContext.value as Quantity) | (CodeSystem.useContext.value as Range) | (CompartmentDefinition.useContext.value as Quantity) | (CompartmentDefinition.useContext.value as Range) | (ConceptMap.useContext.value as Quantity) | (ConceptMap.useContext.value as Range) | (GraphDefinition.useContext.value as Quantity) | (GraphDefinition.useContext.value as Range) | (ImplementationGuide.useContext.value as Quantity) | (ImplementationGuide.useContext.value as Range) | (MessageDefinition.useContext.value as Quantity) | (MessageDefinition.useContext.value as Range) | (NamingSystem.useContext.value as Quantity) | (NamingSystem.useContext.value as Range) | (OperationDefinition.useContext.value as Quantity) | (OperationDefinition.useContext.value as Range) | (SearchParameter.useContext.value as Quantity) | (SearchParameter.useContext.value as Range) | (StructureDefinition.useContext.value as Quantity) | (StructureDefinition.useContext.value as Range) | (StructureMap.useContext.value as Quantity) | (StructureMap.useContext.value as Range) | (TerminologyCapabilities.useContext.value as Quantity) | (TerminologyCapabilities.useContext.value as Range) | (ValueSet.useContext.value as Quantity) | (ValueSet.useContext.value as Range)</b><br> 4987 * </p> 4988 */ 4989 public static final ca.uhn.fhir.rest.gclient.QuantityClientParam CONTEXT_QUANTITY = new ca.uhn.fhir.rest.gclient.QuantityClientParam(SP_CONTEXT_QUANTITY); 4990 4991 /** 4992 * Search parameter: <b>context-type-quantity</b> 4993 * <p> 4994 * Description: <b>Multiple Resources: 4995 4996* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement 4997* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system 4998* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition 4999* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map 5000* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition 5001* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide 5002* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition 5003* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system 5004* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition 5005* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter 5006* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition 5007* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map 5008* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities 5009* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set 5010</b><br> 5011 * Type: <b>composite</b><br> 5012 * Path: <b>CapabilityStatement.useContext | CodeSystem.useContext | CompartmentDefinition.useContext | ConceptMap.useContext | GraphDefinition.useContext | ImplementationGuide.useContext | MessageDefinition.useContext | NamingSystem.useContext | OperationDefinition.useContext | SearchParameter.useContext | StructureDefinition.useContext | StructureMap.useContext | TerminologyCapabilities.useContext | ValueSet.useContext</b><br> 5013 * </p> 5014 */ 5015 @SearchParamDefinition(name="context-type-quantity", path="CapabilityStatement.useContext | CodeSystem.useContext | CompartmentDefinition.useContext | ConceptMap.useContext | GraphDefinition.useContext | ImplementationGuide.useContext | MessageDefinition.useContext | NamingSystem.useContext | OperationDefinition.useContext | SearchParameter.useContext | StructureDefinition.useContext | StructureMap.useContext | TerminologyCapabilities.useContext | ValueSet.useContext", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set\r\n", type="composite", compositeOf={"context-type", "context-quantity"} ) 5016 public static final String SP_CONTEXT_TYPE_QUANTITY = "context-type-quantity"; 5017 /** 5018 * <b>Fluent Client</b> search parameter constant for <b>context-type-quantity</b> 5019 * <p> 5020 * Description: <b>Multiple Resources: 5021 5022* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement 5023* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system 5024* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition 5025* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map 5026* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition 5027* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide 5028* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition 5029* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system 5030* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition 5031* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter 5032* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition 5033* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map 5034* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities 5035* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set 5036</b><br> 5037 * Type: <b>composite</b><br> 5038 * Path: <b>CapabilityStatement.useContext | CodeSystem.useContext | CompartmentDefinition.useContext | ConceptMap.useContext | GraphDefinition.useContext | ImplementationGuide.useContext | MessageDefinition.useContext | NamingSystem.useContext | OperationDefinition.useContext | SearchParameter.useContext | StructureDefinition.useContext | StructureMap.useContext | TerminologyCapabilities.useContext | ValueSet.useContext</b><br> 5039 * </p> 5040 */ 5041 public static final ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.QuantityClientParam> CONTEXT_TYPE_QUANTITY = new ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.QuantityClientParam>(SP_CONTEXT_TYPE_QUANTITY); 5042 5043 /** 5044 * Search parameter: <b>context-type-value</b> 5045 * <p> 5046 * Description: <b>Multiple Resources: 5047 5048* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement 5049* [CodeSystem](codesystem.html): A use context type and value assigned to the code system 5050* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition 5051* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map 5052* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition 5053* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide 5054* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition 5055* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system 5056* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition 5057* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter 5058* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition 5059* [StructureMap](structuremap.html): A use context type and value assigned to the structure map 5060* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities 5061* [ValueSet](valueset.html): A use context type and value assigned to the value set 5062</b><br> 5063 * Type: <b>composite</b><br> 5064 * Path: <b>CapabilityStatement.useContext | CodeSystem.useContext | CompartmentDefinition.useContext | ConceptMap.useContext | GraphDefinition.useContext | ImplementationGuide.useContext | MessageDefinition.useContext | NamingSystem.useContext | OperationDefinition.useContext | SearchParameter.useContext | StructureDefinition.useContext | StructureMap.useContext | TerminologyCapabilities.useContext | ValueSet.useContext</b><br> 5065 * </p> 5066 */ 5067 @SearchParamDefinition(name="context-type-value", path="CapabilityStatement.useContext | CodeSystem.useContext | CompartmentDefinition.useContext | ConceptMap.useContext | GraphDefinition.useContext | ImplementationGuide.useContext | MessageDefinition.useContext | NamingSystem.useContext | OperationDefinition.useContext | SearchParameter.useContext | StructureDefinition.useContext | StructureMap.useContext | TerminologyCapabilities.useContext | ValueSet.useContext", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and value assigned to the value set\r\n", type="composite", compositeOf={"context-type", "context"} ) 5068 public static final String SP_CONTEXT_TYPE_VALUE = "context-type-value"; 5069 /** 5070 * <b>Fluent Client</b> search parameter constant for <b>context-type-value</b> 5071 * <p> 5072 * Description: <b>Multiple Resources: 5073 5074* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement 5075* [CodeSystem](codesystem.html): A use context type and value assigned to the code system 5076* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition 5077* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map 5078* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition 5079* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide 5080* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition 5081* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system 5082* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition 5083* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter 5084* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition 5085* [StructureMap](structuremap.html): A use context type and value assigned to the structure map 5086* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities 5087* [ValueSet](valueset.html): A use context type and value assigned to the value set 5088</b><br> 5089 * Type: <b>composite</b><br> 5090 * Path: <b>CapabilityStatement.useContext | CodeSystem.useContext | CompartmentDefinition.useContext | ConceptMap.useContext | GraphDefinition.useContext | ImplementationGuide.useContext | MessageDefinition.useContext | NamingSystem.useContext | OperationDefinition.useContext | SearchParameter.useContext | StructureDefinition.useContext | StructureMap.useContext | TerminologyCapabilities.useContext | ValueSet.useContext</b><br> 5091 * </p> 5092 */ 5093 public static final ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.TokenClientParam> CONTEXT_TYPE_VALUE = new ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.TokenClientParam>(SP_CONTEXT_TYPE_VALUE); 5094 5095 /** 5096 * Search parameter: <b>context-type</b> 5097 * <p> 5098 * Description: <b>Multiple Resources: 5099 5100* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement 5101* [CodeSystem](codesystem.html): A type of use context assigned to the code system 5102* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition 5103* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map 5104* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition 5105* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide 5106* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition 5107* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system 5108* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition 5109* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter 5110* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition 5111* [StructureMap](structuremap.html): A type of use context assigned to the structure map 5112* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities 5113* [ValueSet](valueset.html): A type of use context assigned to the value set 5114</b><br> 5115 * Type: <b>token</b><br> 5116 * Path: <b>CapabilityStatement.useContext.code | CodeSystem.useContext.code | CompartmentDefinition.useContext.code | ConceptMap.useContext.code | GraphDefinition.useContext.code | ImplementationGuide.useContext.code | MessageDefinition.useContext.code | NamingSystem.useContext.code | OperationDefinition.useContext.code | SearchParameter.useContext.code | StructureDefinition.useContext.code | StructureMap.useContext.code | TerminologyCapabilities.useContext.code | ValueSet.useContext.code</b><br> 5117 * </p> 5118 */ 5119 @SearchParamDefinition(name="context-type", path="CapabilityStatement.useContext.code | CodeSystem.useContext.code | CompartmentDefinition.useContext.code | ConceptMap.useContext.code | GraphDefinition.useContext.code | ImplementationGuide.useContext.code | MessageDefinition.useContext.code | NamingSystem.useContext.code | OperationDefinition.useContext.code | SearchParameter.useContext.code | StructureDefinition.useContext.code | StructureMap.useContext.code | TerminologyCapabilities.useContext.code | ValueSet.useContext.code", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A type of use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A type of use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A type of use context assigned to the value set\r\n", type="token" ) 5120 public static final String SP_CONTEXT_TYPE = "context-type"; 5121 /** 5122 * <b>Fluent Client</b> search parameter constant for <b>context-type</b> 5123 * <p> 5124 * Description: <b>Multiple Resources: 5125 5126* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement 5127* [CodeSystem](codesystem.html): A type of use context assigned to the code system 5128* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition 5129* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map 5130* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition 5131* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide 5132* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition 5133* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system 5134* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition 5135* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter 5136* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition 5137* [StructureMap](structuremap.html): A type of use context assigned to the structure map 5138* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities 5139* [ValueSet](valueset.html): A type of use context assigned to the value set 5140</b><br> 5141 * Type: <b>token</b><br> 5142 * Path: <b>CapabilityStatement.useContext.code | CodeSystem.useContext.code | CompartmentDefinition.useContext.code | ConceptMap.useContext.code | GraphDefinition.useContext.code | ImplementationGuide.useContext.code | MessageDefinition.useContext.code | NamingSystem.useContext.code | OperationDefinition.useContext.code | SearchParameter.useContext.code | StructureDefinition.useContext.code | StructureMap.useContext.code | TerminologyCapabilities.useContext.code | ValueSet.useContext.code</b><br> 5143 * </p> 5144 */ 5145 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT_TYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONTEXT_TYPE); 5146 5147 /** 5148 * Search parameter: <b>context</b> 5149 * <p> 5150 * Description: <b>Multiple Resources: 5151 5152* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement 5153* [CodeSystem](codesystem.html): A use context assigned to the code system 5154* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition 5155* [ConceptMap](conceptmap.html): A use context assigned to the concept map 5156* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition 5157* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide 5158* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition 5159* [NamingSystem](namingsystem.html): A use context assigned to the naming system 5160* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition 5161* [SearchParameter](searchparameter.html): A use context assigned to the search parameter 5162* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition 5163* [StructureMap](structuremap.html): A use context assigned to the structure map 5164* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities 5165* [ValueSet](valueset.html): A use context assigned to the value set 5166</b><br> 5167 * Type: <b>token</b><br> 5168 * Path: <b>(CapabilityStatement.useContext.value as CodeableConcept) | (CodeSystem.useContext.value as CodeableConcept) | (CompartmentDefinition.useContext.value as CodeableConcept) | (ConceptMap.useContext.value as CodeableConcept) | (GraphDefinition.useContext.value as CodeableConcept) | (ImplementationGuide.useContext.value as CodeableConcept) | (MessageDefinition.useContext.value as CodeableConcept) | (NamingSystem.useContext.value as CodeableConcept) | (OperationDefinition.useContext.value as CodeableConcept) | (SearchParameter.useContext.value as CodeableConcept) | (StructureDefinition.useContext.value as CodeableConcept) | (StructureMap.useContext.value as CodeableConcept) | (TerminologyCapabilities.useContext.value as CodeableConcept) | (ValueSet.useContext.value as CodeableConcept)</b><br> 5169 * </p> 5170 */ 5171 @SearchParamDefinition(name="context", path="(CapabilityStatement.useContext.value as CodeableConcept) | (CodeSystem.useContext.value as CodeableConcept) | (CompartmentDefinition.useContext.value as CodeableConcept) | (ConceptMap.useContext.value as CodeableConcept) | (GraphDefinition.useContext.value as CodeableConcept) | (ImplementationGuide.useContext.value as CodeableConcept) | (MessageDefinition.useContext.value as CodeableConcept) | (NamingSystem.useContext.value as CodeableConcept) | (OperationDefinition.useContext.value as CodeableConcept) | (SearchParameter.useContext.value as CodeableConcept) | (StructureDefinition.useContext.value as CodeableConcept) | (StructureMap.useContext.value as CodeableConcept) | (TerminologyCapabilities.useContext.value as CodeableConcept) | (ValueSet.useContext.value as CodeableConcept)", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context assigned to the value set\r\n", type="token" ) 5172 public static final String SP_CONTEXT = "context"; 5173 /** 5174 * <b>Fluent Client</b> search parameter constant for <b>context</b> 5175 * <p> 5176 * Description: <b>Multiple Resources: 5177 5178* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement 5179* [CodeSystem](codesystem.html): A use context assigned to the code system 5180* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition 5181* [ConceptMap](conceptmap.html): A use context assigned to the concept map 5182* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition 5183* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide 5184* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition 5185* [NamingSystem](namingsystem.html): A use context assigned to the naming system 5186* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition 5187* [SearchParameter](searchparameter.html): A use context assigned to the search parameter 5188* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition 5189* [StructureMap](structuremap.html): A use context assigned to the structure map 5190* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities 5191* [ValueSet](valueset.html): A use context assigned to the value set 5192</b><br> 5193 * Type: <b>token</b><br> 5194 * Path: <b>(CapabilityStatement.useContext.value as CodeableConcept) | (CodeSystem.useContext.value as CodeableConcept) | (CompartmentDefinition.useContext.value as CodeableConcept) | (ConceptMap.useContext.value as CodeableConcept) | (GraphDefinition.useContext.value as CodeableConcept) | (ImplementationGuide.useContext.value as CodeableConcept) | (MessageDefinition.useContext.value as CodeableConcept) | (NamingSystem.useContext.value as CodeableConcept) | (OperationDefinition.useContext.value as CodeableConcept) | (SearchParameter.useContext.value as CodeableConcept) | (StructureDefinition.useContext.value as CodeableConcept) | (StructureMap.useContext.value as CodeableConcept) | (TerminologyCapabilities.useContext.value as CodeableConcept) | (ValueSet.useContext.value as CodeableConcept)</b><br> 5195 * </p> 5196 */ 5197 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONTEXT); 5198 5199 /** 5200 * Search parameter: <b>date</b> 5201 * <p> 5202 * Description: <b>Multiple Resources: 5203 5204* [CapabilityStatement](capabilitystatement.html): The capability statement publication date 5205* [CodeSystem](codesystem.html): The code system publication date 5206* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date 5207* [ConceptMap](conceptmap.html): The concept map publication date 5208* [GraphDefinition](graphdefinition.html): The graph definition publication date 5209* [ImplementationGuide](implementationguide.html): The implementation guide publication date 5210* [MessageDefinition](messagedefinition.html): The message definition publication date 5211* [NamingSystem](namingsystem.html): The naming system publication date 5212* [OperationDefinition](operationdefinition.html): The operation definition publication date 5213* [SearchParameter](searchparameter.html): The search parameter publication date 5214* [StructureDefinition](structuredefinition.html): The structure definition publication date 5215* [StructureMap](structuremap.html): The structure map publication date 5216* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date 5217* [ValueSet](valueset.html): The value set publication date 5218</b><br> 5219 * Type: <b>date</b><br> 5220 * Path: <b>CapabilityStatement.date | CodeSystem.date | CompartmentDefinition.date | ConceptMap.date | GraphDefinition.date | ImplementationGuide.date | MessageDefinition.date | NamingSystem.date | OperationDefinition.date | SearchParameter.date | StructureDefinition.date | StructureMap.date | TerminologyCapabilities.date | ValueSet.date</b><br> 5221 * </p> 5222 */ 5223 @SearchParamDefinition(name="date", path="CapabilityStatement.date | CodeSystem.date | CompartmentDefinition.date | ConceptMap.date | GraphDefinition.date | ImplementationGuide.date | MessageDefinition.date | NamingSystem.date | OperationDefinition.date | SearchParameter.date | StructureDefinition.date | StructureMap.date | TerminologyCapabilities.date | ValueSet.date", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The capability statement publication date\r\n* [CodeSystem](codesystem.html): The code system publication date\r\n* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date\r\n* [ConceptMap](conceptmap.html): The concept map publication date\r\n* [GraphDefinition](graphdefinition.html): The graph definition publication date\r\n* [ImplementationGuide](implementationguide.html): The implementation guide publication date\r\n* [MessageDefinition](messagedefinition.html): The message definition publication date\r\n* [NamingSystem](namingsystem.html): The naming system publication date\r\n* [OperationDefinition](operationdefinition.html): The operation definition publication date\r\n* [SearchParameter](searchparameter.html): The search parameter publication date\r\n* [StructureDefinition](structuredefinition.html): The structure definition publication date\r\n* [StructureMap](structuremap.html): The structure map publication date\r\n* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date\r\n* [ValueSet](valueset.html): The value set publication date\r\n", type="date" ) 5224 public static final String SP_DATE = "date"; 5225 /** 5226 * <b>Fluent Client</b> search parameter constant for <b>date</b> 5227 * <p> 5228 * Description: <b>Multiple Resources: 5229 5230* [CapabilityStatement](capabilitystatement.html): The capability statement publication date 5231* [CodeSystem](codesystem.html): The code system publication date 5232* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date 5233* [ConceptMap](conceptmap.html): The concept map publication date 5234* [GraphDefinition](graphdefinition.html): The graph definition publication date 5235* [ImplementationGuide](implementationguide.html): The implementation guide publication date 5236* [MessageDefinition](messagedefinition.html): The message definition publication date 5237* [NamingSystem](namingsystem.html): The naming system publication date 5238* [OperationDefinition](operationdefinition.html): The operation definition publication date 5239* [SearchParameter](searchparameter.html): The search parameter publication date 5240* [StructureDefinition](structuredefinition.html): The structure definition publication date 5241* [StructureMap](structuremap.html): The structure map publication date 5242* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date 5243* [ValueSet](valueset.html): The value set publication date 5244</b><br> 5245 * Type: <b>date</b><br> 5246 * Path: <b>CapabilityStatement.date | CodeSystem.date | CompartmentDefinition.date | ConceptMap.date | GraphDefinition.date | ImplementationGuide.date | MessageDefinition.date | NamingSystem.date | OperationDefinition.date | SearchParameter.date | StructureDefinition.date | StructureMap.date | TerminologyCapabilities.date | ValueSet.date</b><br> 5247 * </p> 5248 */ 5249 public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE); 5250 5251 /** 5252 * Search parameter: <b>description</b> 5253 * <p> 5254 * Description: <b>Multiple Resources: 5255 5256* [CapabilityStatement](capabilitystatement.html): The description of the capability statement 5257* [CodeSystem](codesystem.html): The description of the code system 5258* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition 5259* [ConceptMap](conceptmap.html): The description of the concept map 5260* [GraphDefinition](graphdefinition.html): The description of the graph definition 5261* [ImplementationGuide](implementationguide.html): The description of the implementation guide 5262* [MessageDefinition](messagedefinition.html): The description of the message definition 5263* [NamingSystem](namingsystem.html): The description of the naming system 5264* [OperationDefinition](operationdefinition.html): The description of the operation definition 5265* [SearchParameter](searchparameter.html): The description of the search parameter 5266* [StructureDefinition](structuredefinition.html): The description of the structure definition 5267* [StructureMap](structuremap.html): The description of the structure map 5268* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities 5269* [ValueSet](valueset.html): The description of the value set 5270</b><br> 5271 * Type: <b>string</b><br> 5272 * Path: <b>CapabilityStatement.description | CodeSystem.description | CompartmentDefinition.description | ConceptMap.description | GraphDefinition.description | ImplementationGuide.description | MessageDefinition.description | NamingSystem.description | OperationDefinition.description | SearchParameter.description | StructureDefinition.description | StructureMap.description | TerminologyCapabilities.description | ValueSet.description</b><br> 5273 * </p> 5274 */ 5275 @SearchParamDefinition(name="description", path="CapabilityStatement.description | CodeSystem.description | CompartmentDefinition.description | ConceptMap.description | GraphDefinition.description | ImplementationGuide.description | MessageDefinition.description | NamingSystem.description | OperationDefinition.description | SearchParameter.description | StructureDefinition.description | StructureMap.description | TerminologyCapabilities.description | ValueSet.description", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The description of the capability statement\r\n* [CodeSystem](codesystem.html): The description of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition\r\n* [ConceptMap](conceptmap.html): The description of the concept map\r\n* [GraphDefinition](graphdefinition.html): The description of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The description of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The description of the message definition\r\n* [NamingSystem](namingsystem.html): The description of the naming system\r\n* [OperationDefinition](operationdefinition.html): The description of the operation definition\r\n* [SearchParameter](searchparameter.html): The description of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The description of the structure definition\r\n* [StructureMap](structuremap.html): The description of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities\r\n* [ValueSet](valueset.html): The description of the value set\r\n", type="string" ) 5276 public static final String SP_DESCRIPTION = "description"; 5277 /** 5278 * <b>Fluent Client</b> search parameter constant for <b>description</b> 5279 * <p> 5280 * Description: <b>Multiple Resources: 5281 5282* [CapabilityStatement](capabilitystatement.html): The description of the capability statement 5283* [CodeSystem](codesystem.html): The description of the code system 5284* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition 5285* [ConceptMap](conceptmap.html): The description of the concept map 5286* [GraphDefinition](graphdefinition.html): The description of the graph definition 5287* [ImplementationGuide](implementationguide.html): The description of the implementation guide 5288* [MessageDefinition](messagedefinition.html): The description of the message definition 5289* [NamingSystem](namingsystem.html): The description of the naming system 5290* [OperationDefinition](operationdefinition.html): The description of the operation definition 5291* [SearchParameter](searchparameter.html): The description of the search parameter 5292* [StructureDefinition](structuredefinition.html): The description of the structure definition 5293* [StructureMap](structuremap.html): The description of the structure map 5294* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities 5295* [ValueSet](valueset.html): The description of the value set 5296</b><br> 5297 * Type: <b>string</b><br> 5298 * Path: <b>CapabilityStatement.description | CodeSystem.description | CompartmentDefinition.description | ConceptMap.description | GraphDefinition.description | ImplementationGuide.description | MessageDefinition.description | NamingSystem.description | OperationDefinition.description | SearchParameter.description | StructureDefinition.description | StructureMap.description | TerminologyCapabilities.description | ValueSet.description</b><br> 5299 * </p> 5300 */ 5301 public static final ca.uhn.fhir.rest.gclient.StringClientParam DESCRIPTION = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_DESCRIPTION); 5302 5303 /** 5304 * Search parameter: <b>identifier</b> 5305 * <p> 5306 * Description: <b>Multiple Resources: 5307 5308* [CodeSystem](codesystem.html): External identifier for the code system 5309* [ConceptMap](conceptmap.html): External identifier for the concept map 5310* [MessageDefinition](messagedefinition.html): External identifier for the message definition 5311* [StructureDefinition](structuredefinition.html): External identifier for the structure definition 5312* [StructureMap](structuremap.html): External identifier for the structure map 5313* [ValueSet](valueset.html): External identifier for the value set 5314</b><br> 5315 * Type: <b>token</b><br> 5316 * Path: <b>CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | ValueSet.identifier</b><br> 5317 * </p> 5318 */ 5319 @SearchParamDefinition(name="identifier", path="CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | ValueSet.identifier", description="Multiple Resources: \r\n\r\n* [CodeSystem](codesystem.html): External identifier for the code system\r\n* [ConceptMap](conceptmap.html): External identifier for the concept map\r\n* [MessageDefinition](messagedefinition.html): External identifier for the message definition\r\n* [StructureDefinition](structuredefinition.html): External identifier for the structure definition\r\n* [StructureMap](structuremap.html): External identifier for the structure map\r\n* [ValueSet](valueset.html): External identifier for the value set\r\n", type="token" ) 5320 public static final String SP_IDENTIFIER = "identifier"; 5321 /** 5322 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 5323 * <p> 5324 * Description: <b>Multiple Resources: 5325 5326* [CodeSystem](codesystem.html): External identifier for the code system 5327* [ConceptMap](conceptmap.html): External identifier for the concept map 5328* [MessageDefinition](messagedefinition.html): External identifier for the message definition 5329* [StructureDefinition](structuredefinition.html): External identifier for the structure definition 5330* [StructureMap](structuremap.html): External identifier for the structure map 5331* [ValueSet](valueset.html): External identifier for the value set 5332</b><br> 5333 * Type: <b>token</b><br> 5334 * Path: <b>CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | ValueSet.identifier</b><br> 5335 * </p> 5336 */ 5337 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 5338 5339 /** 5340 * Search parameter: <b>jurisdiction</b> 5341 * <p> 5342 * Description: <b>Multiple Resources: 5343 5344* [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement 5345* [CodeSystem](codesystem.html): Intended jurisdiction for the code system 5346* [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map 5347* [GraphDefinition](graphdefinition.html): Intended jurisdiction for the graph definition 5348* [ImplementationGuide](implementationguide.html): Intended jurisdiction for the implementation guide 5349* [MessageDefinition](messagedefinition.html): Intended jurisdiction for the message definition 5350* [NamingSystem](namingsystem.html): Intended jurisdiction for the naming system 5351* [OperationDefinition](operationdefinition.html): Intended jurisdiction for the operation definition 5352* [SearchParameter](searchparameter.html): Intended jurisdiction for the search parameter 5353* [StructureDefinition](structuredefinition.html): Intended jurisdiction for the structure definition 5354* [StructureMap](structuremap.html): Intended jurisdiction for the structure map 5355* [TerminologyCapabilities](terminologycapabilities.html): Intended jurisdiction for the terminology capabilities 5356* [ValueSet](valueset.html): Intended jurisdiction for the value set 5357</b><br> 5358 * Type: <b>token</b><br> 5359 * Path: <b>CapabilityStatement.jurisdiction | CodeSystem.jurisdiction | ConceptMap.jurisdiction | GraphDefinition.jurisdiction | ImplementationGuide.jurisdiction | MessageDefinition.jurisdiction | NamingSystem.jurisdiction | OperationDefinition.jurisdiction | SearchParameter.jurisdiction | StructureDefinition.jurisdiction | StructureMap.jurisdiction | TerminologyCapabilities.jurisdiction | ValueSet.jurisdiction</b><br> 5360 * </p> 5361 */ 5362 @SearchParamDefinition(name="jurisdiction", path="CapabilityStatement.jurisdiction | CodeSystem.jurisdiction | ConceptMap.jurisdiction | GraphDefinition.jurisdiction | ImplementationGuide.jurisdiction | MessageDefinition.jurisdiction | NamingSystem.jurisdiction | OperationDefinition.jurisdiction | SearchParameter.jurisdiction | StructureDefinition.jurisdiction | StructureMap.jurisdiction | TerminologyCapabilities.jurisdiction | ValueSet.jurisdiction", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement\r\n* [CodeSystem](codesystem.html): Intended jurisdiction for the code system\r\n* [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map\r\n* [GraphDefinition](graphdefinition.html): Intended jurisdiction for the graph definition\r\n* [ImplementationGuide](implementationguide.html): Intended jurisdiction for the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Intended jurisdiction for the message definition\r\n* [NamingSystem](namingsystem.html): Intended jurisdiction for the naming system\r\n* [OperationDefinition](operationdefinition.html): Intended jurisdiction for the operation definition\r\n* [SearchParameter](searchparameter.html): Intended jurisdiction for the search parameter\r\n* [StructureDefinition](structuredefinition.html): Intended jurisdiction for the structure definition\r\n* [StructureMap](structuremap.html): Intended jurisdiction for the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Intended jurisdiction for the terminology capabilities\r\n* [ValueSet](valueset.html): Intended jurisdiction for the value set\r\n", type="token" ) 5363 public static final String SP_JURISDICTION = "jurisdiction"; 5364 /** 5365 * <b>Fluent Client</b> search parameter constant for <b>jurisdiction</b> 5366 * <p> 5367 * Description: <b>Multiple Resources: 5368 5369* [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement 5370* [CodeSystem](codesystem.html): Intended jurisdiction for the code system 5371* [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map 5372* [GraphDefinition](graphdefinition.html): Intended jurisdiction for the graph definition 5373* [ImplementationGuide](implementationguide.html): Intended jurisdiction for the implementation guide 5374* [MessageDefinition](messagedefinition.html): Intended jurisdiction for the message definition 5375* [NamingSystem](namingsystem.html): Intended jurisdiction for the naming system 5376* [OperationDefinition](operationdefinition.html): Intended jurisdiction for the operation definition 5377* [SearchParameter](searchparameter.html): Intended jurisdiction for the search parameter 5378* [StructureDefinition](structuredefinition.html): Intended jurisdiction for the structure definition 5379* [StructureMap](structuremap.html): Intended jurisdiction for the structure map 5380* [TerminologyCapabilities](terminologycapabilities.html): Intended jurisdiction for the terminology capabilities 5381* [ValueSet](valueset.html): Intended jurisdiction for the value set 5382</b><br> 5383 * Type: <b>token</b><br> 5384 * Path: <b>CapabilityStatement.jurisdiction | CodeSystem.jurisdiction | ConceptMap.jurisdiction | GraphDefinition.jurisdiction | ImplementationGuide.jurisdiction | MessageDefinition.jurisdiction | NamingSystem.jurisdiction | OperationDefinition.jurisdiction | SearchParameter.jurisdiction | StructureDefinition.jurisdiction | StructureMap.jurisdiction | TerminologyCapabilities.jurisdiction | ValueSet.jurisdiction</b><br> 5385 * </p> 5386 */ 5387 public static final ca.uhn.fhir.rest.gclient.TokenClientParam JURISDICTION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_JURISDICTION); 5388 5389 /** 5390 * Search parameter: <b>name</b> 5391 * <p> 5392 * Description: <b>Multiple Resources: 5393 5394* [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement 5395* [CodeSystem](codesystem.html): Computationally friendly name of the code system 5396* [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition 5397* [ConceptMap](conceptmap.html): Computationally friendly name of the concept map 5398* [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition 5399* [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide 5400* [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition 5401* [NamingSystem](namingsystem.html): Computationally friendly name of the naming system 5402* [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition 5403* [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter 5404* [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition 5405* [StructureMap](structuremap.html): Computationally friendly name of the structure map 5406* [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities 5407* [ValueSet](valueset.html): Computationally friendly name of the value set 5408</b><br> 5409 * Type: <b>string</b><br> 5410 * Path: <b>CapabilityStatement.name | CodeSystem.name | CompartmentDefinition.name | ConceptMap.name | GraphDefinition.name | ImplementationGuide.name | MessageDefinition.name | NamingSystem.name | OperationDefinition.name | SearchParameter.name | StructureDefinition.name | StructureMap.name | TerminologyCapabilities.name | ValueSet.name</b><br> 5411 * </p> 5412 */ 5413 @SearchParamDefinition(name="name", path="CapabilityStatement.name | CodeSystem.name | CompartmentDefinition.name | ConceptMap.name | GraphDefinition.name | ImplementationGuide.name | MessageDefinition.name | NamingSystem.name | OperationDefinition.name | SearchParameter.name | StructureDefinition.name | StructureMap.name | TerminologyCapabilities.name | ValueSet.name", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement\r\n* [CodeSystem](codesystem.html): Computationally friendly name of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition\r\n* [ConceptMap](conceptmap.html): Computationally friendly name of the concept map\r\n* [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition\r\n* [NamingSystem](namingsystem.html): Computationally friendly name of the naming system\r\n* [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition\r\n* [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition\r\n* [StructureMap](structuremap.html): Computationally friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html): Computationally friendly name of the value set\r\n", type="string" ) 5414 public static final String SP_NAME = "name"; 5415 /** 5416 * <b>Fluent Client</b> search parameter constant for <b>name</b> 5417 * <p> 5418 * Description: <b>Multiple Resources: 5419 5420* [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement 5421* [CodeSystem](codesystem.html): Computationally friendly name of the code system 5422* [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition 5423* [ConceptMap](conceptmap.html): Computationally friendly name of the concept map 5424* [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition 5425* [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide 5426* [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition 5427* [NamingSystem](namingsystem.html): Computationally friendly name of the naming system 5428* [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition 5429* [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter 5430* [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition 5431* [StructureMap](structuremap.html): Computationally friendly name of the structure map 5432* [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities 5433* [ValueSet](valueset.html): Computationally friendly name of the value set 5434</b><br> 5435 * Type: <b>string</b><br> 5436 * Path: <b>CapabilityStatement.name | CodeSystem.name | CompartmentDefinition.name | ConceptMap.name | GraphDefinition.name | ImplementationGuide.name | MessageDefinition.name | NamingSystem.name | OperationDefinition.name | SearchParameter.name | StructureDefinition.name | StructureMap.name | TerminologyCapabilities.name | ValueSet.name</b><br> 5437 * </p> 5438 */ 5439 public static final ca.uhn.fhir.rest.gclient.StringClientParam NAME = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_NAME); 5440 5441 /** 5442 * Search parameter: <b>publisher</b> 5443 * <p> 5444 * Description: <b>Multiple Resources: 5445 5446* [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement 5447* [CodeSystem](codesystem.html): Name of the publisher of the code system 5448* [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition 5449* [ConceptMap](conceptmap.html): Name of the publisher of the concept map 5450* [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition 5451* [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide 5452* [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition 5453* [NamingSystem](namingsystem.html): Name of the publisher of the naming system 5454* [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition 5455* [SearchParameter](searchparameter.html): Name of the publisher of the search parameter 5456* [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition 5457* [StructureMap](structuremap.html): Name of the publisher of the structure map 5458* [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities 5459* [ValueSet](valueset.html): Name of the publisher of the value set 5460</b><br> 5461 * Type: <b>string</b><br> 5462 * Path: <b>CapabilityStatement.publisher | CodeSystem.publisher | CompartmentDefinition.publisher | ConceptMap.publisher | GraphDefinition.publisher | ImplementationGuide.publisher | MessageDefinition.publisher | NamingSystem.publisher | OperationDefinition.publisher | SearchParameter.publisher | StructureDefinition.publisher | StructureMap.publisher | TerminologyCapabilities.publisher | ValueSet.publisher</b><br> 5463 * </p> 5464 */ 5465 @SearchParamDefinition(name="publisher", path="CapabilityStatement.publisher | CodeSystem.publisher | CompartmentDefinition.publisher | ConceptMap.publisher | GraphDefinition.publisher | ImplementationGuide.publisher | MessageDefinition.publisher | NamingSystem.publisher | OperationDefinition.publisher | SearchParameter.publisher | StructureDefinition.publisher | StructureMap.publisher | TerminologyCapabilities.publisher | ValueSet.publisher", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement\r\n* [CodeSystem](codesystem.html): Name of the publisher of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition\r\n* [ConceptMap](conceptmap.html): Name of the publisher of the concept map\r\n* [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition\r\n* [NamingSystem](namingsystem.html): Name of the publisher of the naming system\r\n* [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition\r\n* [SearchParameter](searchparameter.html): Name of the publisher of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition\r\n* [StructureMap](structuremap.html): Name of the publisher of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities\r\n* [ValueSet](valueset.html): Name of the publisher of the value set\r\n", type="string" ) 5466 public static final String SP_PUBLISHER = "publisher"; 5467 /** 5468 * <b>Fluent Client</b> search parameter constant for <b>publisher</b> 5469 * <p> 5470 * Description: <b>Multiple Resources: 5471 5472* [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement 5473* [CodeSystem](codesystem.html): Name of the publisher of the code system 5474* [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition 5475* [ConceptMap](conceptmap.html): Name of the publisher of the concept map 5476* [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition 5477* [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide 5478* [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition 5479* [NamingSystem](namingsystem.html): Name of the publisher of the naming system 5480* [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition 5481* [SearchParameter](searchparameter.html): Name of the publisher of the search parameter 5482* [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition 5483* [StructureMap](structuremap.html): Name of the publisher of the structure map 5484* [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities 5485* [ValueSet](valueset.html): Name of the publisher of the value set 5486</b><br> 5487 * Type: <b>string</b><br> 5488 * Path: <b>CapabilityStatement.publisher | CodeSystem.publisher | CompartmentDefinition.publisher | ConceptMap.publisher | GraphDefinition.publisher | ImplementationGuide.publisher | MessageDefinition.publisher | NamingSystem.publisher | OperationDefinition.publisher | SearchParameter.publisher | StructureDefinition.publisher | StructureMap.publisher | TerminologyCapabilities.publisher | ValueSet.publisher</b><br> 5489 * </p> 5490 */ 5491 public static final ca.uhn.fhir.rest.gclient.StringClientParam PUBLISHER = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_PUBLISHER); 5492 5493 /** 5494 * Search parameter: <b>status</b> 5495 * <p> 5496 * Description: <b>Multiple Resources: 5497 5498* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement 5499* [CodeSystem](codesystem.html): The current status of the code system 5500* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition 5501* [ConceptMap](conceptmap.html): The current status of the concept map 5502* [GraphDefinition](graphdefinition.html): The current status of the graph definition 5503* [ImplementationGuide](implementationguide.html): The current status of the implementation guide 5504* [MessageDefinition](messagedefinition.html): The current status of the message definition 5505* [NamingSystem](namingsystem.html): The current status of the naming system 5506* [OperationDefinition](operationdefinition.html): The current status of the operation definition 5507* [SearchParameter](searchparameter.html): The current status of the search parameter 5508* [StructureDefinition](structuredefinition.html): The current status of the structure definition 5509* [StructureMap](structuremap.html): The current status of the structure map 5510* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities 5511* [ValueSet](valueset.html): The current status of the value set 5512</b><br> 5513 * Type: <b>token</b><br> 5514 * Path: <b>CapabilityStatement.status | CodeSystem.status | CompartmentDefinition.status | ConceptMap.status | GraphDefinition.status | ImplementationGuide.status | MessageDefinition.status | NamingSystem.status | OperationDefinition.status | SearchParameter.status | StructureDefinition.status | StructureMap.status | TerminologyCapabilities.status | ValueSet.status</b><br> 5515 * </p> 5516 */ 5517 @SearchParamDefinition(name="status", path="CapabilityStatement.status | CodeSystem.status | CompartmentDefinition.status | ConceptMap.status | GraphDefinition.status | ImplementationGuide.status | MessageDefinition.status | NamingSystem.status | OperationDefinition.status | SearchParameter.status | StructureDefinition.status | StructureMap.status | TerminologyCapabilities.status | ValueSet.status", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement\r\n* [CodeSystem](codesystem.html): The current status of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition\r\n* [ConceptMap](conceptmap.html): The current status of the concept map\r\n* [GraphDefinition](graphdefinition.html): The current status of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The current status of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The current status of the message definition\r\n* [NamingSystem](namingsystem.html): The current status of the naming system\r\n* [OperationDefinition](operationdefinition.html): The current status of the operation definition\r\n* [SearchParameter](searchparameter.html): The current status of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The current status of the structure definition\r\n* [StructureMap](structuremap.html): The current status of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities\r\n* [ValueSet](valueset.html): The current status of the value set\r\n", type="token" ) 5518 public static final String SP_STATUS = "status"; 5519 /** 5520 * <b>Fluent Client</b> search parameter constant for <b>status</b> 5521 * <p> 5522 * Description: <b>Multiple Resources: 5523 5524* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement 5525* [CodeSystem](codesystem.html): The current status of the code system 5526* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition 5527* [ConceptMap](conceptmap.html): The current status of the concept map 5528* [GraphDefinition](graphdefinition.html): The current status of the graph definition 5529* [ImplementationGuide](implementationguide.html): The current status of the implementation guide 5530* [MessageDefinition](messagedefinition.html): The current status of the message definition 5531* [NamingSystem](namingsystem.html): The current status of the naming system 5532* [OperationDefinition](operationdefinition.html): The current status of the operation definition 5533* [SearchParameter](searchparameter.html): The current status of the search parameter 5534* [StructureDefinition](structuredefinition.html): The current status of the structure definition 5535* [StructureMap](structuremap.html): The current status of the structure map 5536* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities 5537* [ValueSet](valueset.html): The current status of the value set 5538</b><br> 5539 * Type: <b>token</b><br> 5540 * Path: <b>CapabilityStatement.status | CodeSystem.status | CompartmentDefinition.status | ConceptMap.status | GraphDefinition.status | ImplementationGuide.status | MessageDefinition.status | NamingSystem.status | OperationDefinition.status | SearchParameter.status | StructureDefinition.status | StructureMap.status | TerminologyCapabilities.status | ValueSet.status</b><br> 5541 * </p> 5542 */ 5543 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 5544 5545 /** 5546 * Search parameter: <b>title</b> 5547 * <p> 5548 * Description: <b>Multiple Resources: 5549 5550* [CapabilityStatement](capabilitystatement.html): The human-friendly name of the capability statement 5551* [CodeSystem](codesystem.html): The human-friendly name of the code system 5552* [ConceptMap](conceptmap.html): The human-friendly name of the concept map 5553* [ImplementationGuide](implementationguide.html): The human-friendly name of the implementation guide 5554* [MessageDefinition](messagedefinition.html): The human-friendly name of the message definition 5555* [OperationDefinition](operationdefinition.html): The human-friendly name of the operation definition 5556* [StructureDefinition](structuredefinition.html): The human-friendly name of the structure definition 5557* [StructureMap](structuremap.html): The human-friendly name of the structure map 5558* [TerminologyCapabilities](terminologycapabilities.html): The human-friendly name of the terminology capabilities 5559* [ValueSet](valueset.html): The human-friendly name of the value set 5560</b><br> 5561 * Type: <b>string</b><br> 5562 * Path: <b>CapabilityStatement.title | CodeSystem.title | ConceptMap.title | ImplementationGuide.title | MessageDefinition.title | OperationDefinition.title | StructureDefinition.title | StructureMap.title | TerminologyCapabilities.title | ValueSet.title</b><br> 5563 * </p> 5564 */ 5565 @SearchParamDefinition(name="title", path="CapabilityStatement.title | CodeSystem.title | ConceptMap.title | ImplementationGuide.title | MessageDefinition.title | OperationDefinition.title | StructureDefinition.title | StructureMap.title | TerminologyCapabilities.title | ValueSet.title", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The human-friendly name of the capability statement\r\n* [CodeSystem](codesystem.html): The human-friendly name of the code system\r\n* [ConceptMap](conceptmap.html): The human-friendly name of the concept map\r\n* [ImplementationGuide](implementationguide.html): The human-friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The human-friendly name of the message definition\r\n* [OperationDefinition](operationdefinition.html): The human-friendly name of the operation definition\r\n* [StructureDefinition](structuredefinition.html): The human-friendly name of the structure definition\r\n* [StructureMap](structuremap.html): The human-friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The human-friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html): The human-friendly name of the value set\r\n", type="string" ) 5566 public static final String SP_TITLE = "title"; 5567 /** 5568 * <b>Fluent Client</b> search parameter constant for <b>title</b> 5569 * <p> 5570 * Description: <b>Multiple Resources: 5571 5572* [CapabilityStatement](capabilitystatement.html): The human-friendly name of the capability statement 5573* [CodeSystem](codesystem.html): The human-friendly name of the code system 5574* [ConceptMap](conceptmap.html): The human-friendly name of the concept map 5575* [ImplementationGuide](implementationguide.html): The human-friendly name of the implementation guide 5576* [MessageDefinition](messagedefinition.html): The human-friendly name of the message definition 5577* [OperationDefinition](operationdefinition.html): The human-friendly name of the operation definition 5578* [StructureDefinition](structuredefinition.html): The human-friendly name of the structure definition 5579* [StructureMap](structuremap.html): The human-friendly name of the structure map 5580* [TerminologyCapabilities](terminologycapabilities.html): The human-friendly name of the terminology capabilities 5581* [ValueSet](valueset.html): The human-friendly name of the value set 5582</b><br> 5583 * Type: <b>string</b><br> 5584 * Path: <b>CapabilityStatement.title | CodeSystem.title | ConceptMap.title | ImplementationGuide.title | MessageDefinition.title | OperationDefinition.title | StructureDefinition.title | StructureMap.title | TerminologyCapabilities.title | ValueSet.title</b><br> 5585 * </p> 5586 */ 5587 public static final ca.uhn.fhir.rest.gclient.StringClientParam TITLE = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_TITLE); 5588 5589 /** 5590 * Search parameter: <b>url</b> 5591 * <p> 5592 * Description: <b>Multiple Resources: 5593 5594* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement 5595* [CodeSystem](codesystem.html): The uri that identifies the code system 5596* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition 5597* [ConceptMap](conceptmap.html): The uri that identifies the concept map 5598* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition 5599* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide 5600* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition 5601* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition 5602* [SearchParameter](searchparameter.html): The uri that identifies the search parameter 5603* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition 5604* [StructureMap](structuremap.html): The uri that identifies the structure map 5605* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities 5606* [ValueSet](valueset.html): The uri that identifies the value set 5607</b><br> 5608 * Type: <b>uri</b><br> 5609 * Path: <b>CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url</b><br> 5610 * </p> 5611 */ 5612 @SearchParamDefinition(name="url", path="CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The uri that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", type="uri" ) 5613 public static final String SP_URL = "url"; 5614 /** 5615 * <b>Fluent Client</b> search parameter constant for <b>url</b> 5616 * <p> 5617 * Description: <b>Multiple Resources: 5618 5619* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement 5620* [CodeSystem](codesystem.html): The uri that identifies the code system 5621* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition 5622* [ConceptMap](conceptmap.html): The uri that identifies the concept map 5623* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition 5624* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide 5625* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition 5626* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition 5627* [SearchParameter](searchparameter.html): The uri that identifies the search parameter 5628* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition 5629* [StructureMap](structuremap.html): The uri that identifies the structure map 5630* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities 5631* [ValueSet](valueset.html): The uri that identifies the value set 5632</b><br> 5633 * Type: <b>uri</b><br> 5634 * Path: <b>CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url</b><br> 5635 * </p> 5636 */ 5637 public static final ca.uhn.fhir.rest.gclient.UriClientParam URL = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_URL); 5638 5639 /** 5640 * Search parameter: <b>version</b> 5641 * <p> 5642 * Description: <b>Multiple Resources: 5643 5644* [CapabilityStatement](capabilitystatement.html): The business version of the capability statement 5645* [CodeSystem](codesystem.html): The business version of the code system 5646* [CompartmentDefinition](compartmentdefinition.html): The business version of the compartment definition 5647* [ConceptMap](conceptmap.html): The business version of the concept map 5648* [GraphDefinition](graphdefinition.html): The business version of the graph definition 5649* [ImplementationGuide](implementationguide.html): The business version of the implementation guide 5650* [MessageDefinition](messagedefinition.html): The business version of the message definition 5651* [OperationDefinition](operationdefinition.html): The business version of the operation definition 5652* [SearchParameter](searchparameter.html): The business version of the search parameter 5653* [StructureDefinition](structuredefinition.html): The business version of the structure definition 5654* [StructureMap](structuremap.html): The business version of the structure map 5655* [TerminologyCapabilities](terminologycapabilities.html): The business version of the terminology capabilities 5656* [ValueSet](valueset.html): The business version of the value set 5657</b><br> 5658 * Type: <b>token</b><br> 5659 * Path: <b>CapabilityStatement.version | CodeSystem.version | CompartmentDefinition.version | ConceptMap.version | GraphDefinition.version | ImplementationGuide.version | MessageDefinition.version | OperationDefinition.version | SearchParameter.version | StructureDefinition.version | StructureMap.version | TerminologyCapabilities.version | ValueSet.version</b><br> 5660 * </p> 5661 */ 5662 @SearchParamDefinition(name="version", path="CapabilityStatement.version | CodeSystem.version | CompartmentDefinition.version | ConceptMap.version | GraphDefinition.version | ImplementationGuide.version | MessageDefinition.version | OperationDefinition.version | SearchParameter.version | StructureDefinition.version | StructureMap.version | TerminologyCapabilities.version | ValueSet.version", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The business version of the capability statement\r\n* [CodeSystem](codesystem.html): The business version of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The business version of the compartment definition\r\n* [ConceptMap](conceptmap.html): The business version of the concept map\r\n* [GraphDefinition](graphdefinition.html): The business version of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The business version of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The business version of the message definition\r\n* [OperationDefinition](operationdefinition.html): The business version of the operation definition\r\n* [SearchParameter](searchparameter.html): The business version of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The business version of the structure definition\r\n* [StructureMap](structuremap.html): The business version of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The business version of the terminology capabilities\r\n* [ValueSet](valueset.html): The business version of the value set\r\n", type="token" ) 5663 public static final String SP_VERSION = "version"; 5664 /** 5665 * <b>Fluent Client</b> search parameter constant for <b>version</b> 5666 * <p> 5667 * Description: <b>Multiple Resources: 5668 5669* [CapabilityStatement](capabilitystatement.html): The business version of the capability statement 5670* [CodeSystem](codesystem.html): The business version of the code system 5671* [CompartmentDefinition](compartmentdefinition.html): The business version of the compartment definition 5672* [ConceptMap](conceptmap.html): The business version of the concept map 5673* [GraphDefinition](graphdefinition.html): The business version of the graph definition 5674* [ImplementationGuide](implementationguide.html): The business version of the implementation guide 5675* [MessageDefinition](messagedefinition.html): The business version of the message definition 5676* [OperationDefinition](operationdefinition.html): The business version of the operation definition 5677* [SearchParameter](searchparameter.html): The business version of the search parameter 5678* [StructureDefinition](structuredefinition.html): The business version of the structure definition 5679* [StructureMap](structuremap.html): The business version of the structure map 5680* [TerminologyCapabilities](terminologycapabilities.html): The business version of the terminology capabilities 5681* [ValueSet](valueset.html): The business version of the value set 5682</b><br> 5683 * Type: <b>token</b><br> 5684 * Path: <b>CapabilityStatement.version | CodeSystem.version | CompartmentDefinition.version | ConceptMap.version | GraphDefinition.version | ImplementationGuide.version | MessageDefinition.version | OperationDefinition.version | SearchParameter.version | StructureDefinition.version | StructureMap.version | TerminologyCapabilities.version | ValueSet.version</b><br> 5685 * </p> 5686 */ 5687 public static final ca.uhn.fhir.rest.gclient.TokenClientParam VERSION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_VERSION); 5688 5689 5690} 5691