
001package org.hl7.fhir.r5.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 Tue, Dec 28, 2021 07:16+1100 for FHIR v5.0.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.r5.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 /** 087 * A property to return in the expansion, if the client doesn't ask for any particular properties. May be either a code from the code system definition (convenient) or a the formal URI that refers to the property. The special value '*' means all properties known to the server. 088 */ 089 @Child(name = "property", type = {StringType.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 090 @Description(shortDefinition="Property to return if client doesn't override", formalDefinition="A property to return in the expansion, if the client doesn't ask for any particular properties. May be either a code from the code system definition (convenient) or a the formal URI that refers to the property. The special value '*' means all properties known to the server." ) 091 protected List<StringType> property; 092 093 private static final long serialVersionUID = -15414259L; 094 095 /** 096 * Constructor 097 */ 098 public ValueSetComposeComponent() { 099 super(); 100 } 101 102 /** 103 * Constructor 104 */ 105 public ValueSetComposeComponent(ConceptSetComponent include) { 106 super(); 107 this.addInclude(include); 108 } 109 110 /** 111 * @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 112 */ 113 public DateType getLockedDateElement() { 114 if (this.lockedDate == null) 115 if (Configuration.errorOnAutoCreate()) 116 throw new Error("Attempt to auto-create ValueSetComposeComponent.lockedDate"); 117 else if (Configuration.doAutoCreate()) 118 this.lockedDate = new DateType(); // bb 119 return this.lockedDate; 120 } 121 122 public boolean hasLockedDateElement() { 123 return this.lockedDate != null && !this.lockedDate.isEmpty(); 124 } 125 126 public boolean hasLockedDate() { 127 return this.lockedDate != null && !this.lockedDate.isEmpty(); 128 } 129 130 /** 131 * @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 132 */ 133 public ValueSetComposeComponent setLockedDateElement(DateType value) { 134 this.lockedDate = value; 135 return this; 136 } 137 138 /** 139 * @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. 140 */ 141 public Date getLockedDate() { 142 return this.lockedDate == null ? null : this.lockedDate.getValue(); 143 } 144 145 /** 146 * @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. 147 */ 148 public ValueSetComposeComponent setLockedDate(Date value) { 149 if (value == null) 150 this.lockedDate = null; 151 else { 152 if (this.lockedDate == null) 153 this.lockedDate = new DateType(); 154 this.lockedDate.setValue(value); 155 } 156 return this; 157 } 158 159 /** 160 * @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 161 */ 162 public BooleanType getInactiveElement() { 163 if (this.inactive == null) 164 if (Configuration.errorOnAutoCreate()) 165 throw new Error("Attempt to auto-create ValueSetComposeComponent.inactive"); 166 else if (Configuration.doAutoCreate()) 167 this.inactive = new BooleanType(); // bb 168 return this.inactive; 169 } 170 171 public boolean hasInactiveElement() { 172 return this.inactive != null && !this.inactive.isEmpty(); 173 } 174 175 public boolean hasInactive() { 176 return this.inactive != null && !this.inactive.isEmpty(); 177 } 178 179 /** 180 * @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 181 */ 182 public ValueSetComposeComponent setInactiveElement(BooleanType value) { 183 this.inactive = value; 184 return this; 185 } 186 187 /** 188 * @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). 189 */ 190 public boolean getInactive() { 191 return this.inactive == null || this.inactive.isEmpty() ? false : this.inactive.getValue(); 192 } 193 194 /** 195 * @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). 196 */ 197 public ValueSetComposeComponent setInactive(boolean value) { 198 if (this.inactive == null) 199 this.inactive = new BooleanType(); 200 this.inactive.setValue(value); 201 return this; 202 } 203 204 /** 205 * @return {@link #include} (Include one or more codes from a code system or other value set(s).) 206 */ 207 public List<ConceptSetComponent> getInclude() { 208 if (this.include == null) 209 this.include = new ArrayList<ConceptSetComponent>(); 210 return this.include; 211 } 212 213 /** 214 * @return Returns a reference to <code>this</code> for easy method chaining 215 */ 216 public ValueSetComposeComponent setInclude(List<ConceptSetComponent> theInclude) { 217 this.include = theInclude; 218 return this; 219 } 220 221 public boolean hasInclude() { 222 if (this.include == null) 223 return false; 224 for (ConceptSetComponent item : this.include) 225 if (!item.isEmpty()) 226 return true; 227 return false; 228 } 229 230 public ConceptSetComponent addInclude() { //3 231 ConceptSetComponent t = new ConceptSetComponent(); 232 if (this.include == null) 233 this.include = new ArrayList<ConceptSetComponent>(); 234 this.include.add(t); 235 return t; 236 } 237 238 public ValueSetComposeComponent addInclude(ConceptSetComponent t) { //3 239 if (t == null) 240 return this; 241 if (this.include == null) 242 this.include = new ArrayList<ConceptSetComponent>(); 243 this.include.add(t); 244 return this; 245 } 246 247 /** 248 * @return The first repetition of repeating field {@link #include}, creating it if it does not already exist {3} 249 */ 250 public ConceptSetComponent getIncludeFirstRep() { 251 if (getInclude().isEmpty()) { 252 addInclude(); 253 } 254 return getInclude().get(0); 255 } 256 257 /** 258 * @return {@link #exclude} (Exclude one or more codes from the value set based on code system filters and/or other value sets.) 259 */ 260 public List<ConceptSetComponent> getExclude() { 261 if (this.exclude == null) 262 this.exclude = new ArrayList<ConceptSetComponent>(); 263 return this.exclude; 264 } 265 266 /** 267 * @return Returns a reference to <code>this</code> for easy method chaining 268 */ 269 public ValueSetComposeComponent setExclude(List<ConceptSetComponent> theExclude) { 270 this.exclude = theExclude; 271 return this; 272 } 273 274 public boolean hasExclude() { 275 if (this.exclude == null) 276 return false; 277 for (ConceptSetComponent item : this.exclude) 278 if (!item.isEmpty()) 279 return true; 280 return false; 281 } 282 283 public ConceptSetComponent addExclude() { //3 284 ConceptSetComponent t = new ConceptSetComponent(); 285 if (this.exclude == null) 286 this.exclude = new ArrayList<ConceptSetComponent>(); 287 this.exclude.add(t); 288 return t; 289 } 290 291 public ValueSetComposeComponent addExclude(ConceptSetComponent t) { //3 292 if (t == null) 293 return this; 294 if (this.exclude == null) 295 this.exclude = new ArrayList<ConceptSetComponent>(); 296 this.exclude.add(t); 297 return this; 298 } 299 300 /** 301 * @return The first repetition of repeating field {@link #exclude}, creating it if it does not already exist {3} 302 */ 303 public ConceptSetComponent getExcludeFirstRep() { 304 if (getExclude().isEmpty()) { 305 addExclude(); 306 } 307 return getExclude().get(0); 308 } 309 310 /** 311 * @return {@link #property} (A property to return in the expansion, if the client doesn't ask for any particular properties. May be either a code from the code system definition (convenient) or a the formal URI that refers to the property. The special value '*' means all properties known to the server.) 312 */ 313 public List<StringType> getProperty() { 314 if (this.property == null) 315 this.property = new ArrayList<StringType>(); 316 return this.property; 317 } 318 319 /** 320 * @return Returns a reference to <code>this</code> for easy method chaining 321 */ 322 public ValueSetComposeComponent setProperty(List<StringType> theProperty) { 323 this.property = theProperty; 324 return this; 325 } 326 327 public boolean hasProperty() { 328 if (this.property == null) 329 return false; 330 for (StringType item : this.property) 331 if (!item.isEmpty()) 332 return true; 333 return false; 334 } 335 336 /** 337 * @return {@link #property} (A property to return in the expansion, if the client doesn't ask for any particular properties. May be either a code from the code system definition (convenient) or a the formal URI that refers to the property. The special value '*' means all properties known to the server.) 338 */ 339 public StringType addPropertyElement() {//2 340 StringType t = new StringType(); 341 if (this.property == null) 342 this.property = new ArrayList<StringType>(); 343 this.property.add(t); 344 return t; 345 } 346 347 /** 348 * @param value {@link #property} (A property to return in the expansion, if the client doesn't ask for any particular properties. May be either a code from the code system definition (convenient) or a the formal URI that refers to the property. The special value '*' means all properties known to the server.) 349 */ 350 public ValueSetComposeComponent addProperty(String value) { //1 351 StringType t = new StringType(); 352 t.setValue(value); 353 if (this.property == null) 354 this.property = new ArrayList<StringType>(); 355 this.property.add(t); 356 return this; 357 } 358 359 /** 360 * @param value {@link #property} (A property to return in the expansion, if the client doesn't ask for any particular properties. May be either a code from the code system definition (convenient) or a the formal URI that refers to the property. The special value '*' means all properties known to the server.) 361 */ 362 public boolean hasProperty(String value) { 363 if (this.property == null) 364 return false; 365 for (StringType v : this.property) 366 if (v.getValue().equals(value)) // string 367 return true; 368 return false; 369 } 370 371 protected void listChildren(List<Property> children) { 372 super.listChildren(children); 373 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)); 374 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)); 375 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)); 376 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)); 377 children.add(new Property("property", "string", "A property to return in the expansion, if the client doesn't ask for any particular properties. May be either a code from the code system definition (convenient) or a the formal URI that refers to the property. The special value '*' means all properties known to the server.", 0, java.lang.Integer.MAX_VALUE, property)); 378 } 379 380 @Override 381 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 382 switch (_hash) { 383 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); 384 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); 385 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); 386 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); 387 case -993141291: /*property*/ return new Property("property", "string", "A property to return in the expansion, if the client doesn't ask for any particular properties. May be either a code from the code system definition (convenient) or a the formal URI that refers to the property. The special value '*' means all properties known to the server.", 0, java.lang.Integer.MAX_VALUE, property); 388 default: return super.getNamedProperty(_hash, _name, _checkValid); 389 } 390 391 } 392 393 @Override 394 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 395 switch (hash) { 396 case 1391591896: /*lockedDate*/ return this.lockedDate == null ? new Base[0] : new Base[] {this.lockedDate}; // DateType 397 case 24665195: /*inactive*/ return this.inactive == null ? new Base[0] : new Base[] {this.inactive}; // BooleanType 398 case 1942574248: /*include*/ return this.include == null ? new Base[0] : this.include.toArray(new Base[this.include.size()]); // ConceptSetComponent 399 case -1321148966: /*exclude*/ return this.exclude == null ? new Base[0] : this.exclude.toArray(new Base[this.exclude.size()]); // ConceptSetComponent 400 case -993141291: /*property*/ return this.property == null ? new Base[0] : this.property.toArray(new Base[this.property.size()]); // StringType 401 default: return super.getProperty(hash, name, checkValid); 402 } 403 404 } 405 406 @Override 407 public Base setProperty(int hash, String name, Base value) throws FHIRException { 408 switch (hash) { 409 case 1391591896: // lockedDate 410 this.lockedDate = TypeConvertor.castToDate(value); // DateType 411 return value; 412 case 24665195: // inactive 413 this.inactive = TypeConvertor.castToBoolean(value); // BooleanType 414 return value; 415 case 1942574248: // include 416 this.getInclude().add((ConceptSetComponent) value); // ConceptSetComponent 417 return value; 418 case -1321148966: // exclude 419 this.getExclude().add((ConceptSetComponent) value); // ConceptSetComponent 420 return value; 421 case -993141291: // property 422 this.getProperty().add(TypeConvertor.castToString(value)); // StringType 423 return value; 424 default: return super.setProperty(hash, name, value); 425 } 426 427 } 428 429 @Override 430 public Base setProperty(String name, Base value) throws FHIRException { 431 if (name.equals("lockedDate")) { 432 this.lockedDate = TypeConvertor.castToDate(value); // DateType 433 } else if (name.equals("inactive")) { 434 this.inactive = TypeConvertor.castToBoolean(value); // BooleanType 435 } else if (name.equals("include")) { 436 this.getInclude().add((ConceptSetComponent) value); 437 } else if (name.equals("exclude")) { 438 this.getExclude().add((ConceptSetComponent) value); 439 } else if (name.equals("property")) { 440 this.getProperty().add(TypeConvertor.castToString(value)); 441 } else 442 return super.setProperty(name, value); 443 return value; 444 } 445 446 @Override 447 public Base makeProperty(int hash, String name) throws FHIRException { 448 switch (hash) { 449 case 1391591896: return getLockedDateElement(); 450 case 24665195: return getInactiveElement(); 451 case 1942574248: return addInclude(); 452 case -1321148966: return addExclude(); 453 case -993141291: return addPropertyElement(); 454 default: return super.makeProperty(hash, name); 455 } 456 457 } 458 459 @Override 460 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 461 switch (hash) { 462 case 1391591896: /*lockedDate*/ return new String[] {"date"}; 463 case 24665195: /*inactive*/ return new String[] {"boolean"}; 464 case 1942574248: /*include*/ return new String[] {}; 465 case -1321148966: /*exclude*/ return new String[] {"@ValueSet.compose.include"}; 466 case -993141291: /*property*/ return new String[] {"string"}; 467 default: return super.getTypesForProperty(hash, name); 468 } 469 470 } 471 472 @Override 473 public Base addChild(String name) throws FHIRException { 474 if (name.equals("lockedDate")) { 475 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.compose.lockedDate"); 476 } 477 else if (name.equals("inactive")) { 478 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.compose.inactive"); 479 } 480 else if (name.equals("include")) { 481 return addInclude(); 482 } 483 else if (name.equals("exclude")) { 484 return addExclude(); 485 } 486 else if (name.equals("property")) { 487 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.compose.property"); 488 } 489 else 490 return super.addChild(name); 491 } 492 493 public ValueSetComposeComponent copy() { 494 ValueSetComposeComponent dst = new ValueSetComposeComponent(); 495 copyValues(dst); 496 return dst; 497 } 498 499 public void copyValues(ValueSetComposeComponent dst) { 500 super.copyValues(dst); 501 dst.lockedDate = lockedDate == null ? null : lockedDate.copy(); 502 dst.inactive = inactive == null ? null : inactive.copy(); 503 if (include != null) { 504 dst.include = new ArrayList<ConceptSetComponent>(); 505 for (ConceptSetComponent i : include) 506 dst.include.add(i.copy()); 507 }; 508 if (exclude != null) { 509 dst.exclude = new ArrayList<ConceptSetComponent>(); 510 for (ConceptSetComponent i : exclude) 511 dst.exclude.add(i.copy()); 512 }; 513 if (property != null) { 514 dst.property = new ArrayList<StringType>(); 515 for (StringType i : property) 516 dst.property.add(i.copy()); 517 }; 518 } 519 520 @Override 521 public boolean equalsDeep(Base other_) { 522 if (!super.equalsDeep(other_)) 523 return false; 524 if (!(other_ instanceof ValueSetComposeComponent)) 525 return false; 526 ValueSetComposeComponent o = (ValueSetComposeComponent) other_; 527 return compareDeep(lockedDate, o.lockedDate, true) && compareDeep(inactive, o.inactive, true) && compareDeep(include, o.include, true) 528 && compareDeep(exclude, o.exclude, true) && compareDeep(property, o.property, true); 529 } 530 531 @Override 532 public boolean equalsShallow(Base other_) { 533 if (!super.equalsShallow(other_)) 534 return false; 535 if (!(other_ instanceof ValueSetComposeComponent)) 536 return false; 537 ValueSetComposeComponent o = (ValueSetComposeComponent) other_; 538 return compareValues(lockedDate, o.lockedDate, true) && compareValues(inactive, o.inactive, true) && compareValues(property, o.property, true) 539 ; 540 } 541 542 public boolean isEmpty() { 543 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(lockedDate, inactive, include 544 , exclude, property); 545 } 546 547 public String fhirType() { 548 return "ValueSet.compose"; 549 550 } 551 552 } 553 554 @Block() 555 public static class ConceptSetComponent extends BackboneElement implements IBaseBackboneElement { 556 /** 557 * An absolute URI which is the code system from which the selected codes come from. 558 */ 559 @Child(name = "system", type = {UriType.class}, order=1, min=0, max=1, modifier=false, summary=true) 560 @Description(shortDefinition="The system the codes come from", formalDefinition="An absolute URI which is the code system from which the selected codes come from." ) 561 protected UriType system; 562 563 /** 564 * The version of the code system that the codes are selected from, or the special version '*' for all versions. 565 */ 566 @Child(name = "version", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=true) 567 @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." ) 568 protected StringType version; 569 570 /** 571 * Specifies a concept to be included or excluded. 572 */ 573 @Child(name = "concept", type = {}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 574 @Description(shortDefinition="A concept defined in the system", formalDefinition="Specifies a concept to be included or excluded." ) 575 protected List<ConceptReferenceComponent> concept; 576 577 /** 578 * 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. 579 */ 580 @Child(name = "filter", type = {}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 581 @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." ) 582 protected List<ConceptSetFilterComponent> filter; 583 584 /** 585 * 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 intersection of the contents of all of the referenced value sets. 586 */ 587 @Child(name = "valueSet", type = {CanonicalType.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 588 @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 intersection of the contents of all of the referenced value sets." ) 589 protected List<CanonicalType> valueSet; 590 591 /** 592 * A copyright statement for the specific code system asserted by the containing ValueSet.compose.include element's system value (if the associated ValueSet.compose.include.version element is not present); or the code system and version combination (if the associated ValueSet.compose.include.version element is present). 593 */ 594 @Child(name = "copyright", type = {StringType.class}, order=6, min=0, max=1, modifier=false, summary=false) 595 @Description(shortDefinition="A copyright statement for the specific code system included in the value set", formalDefinition="A copyright statement for the specific code system asserted by the containing ValueSet.compose.include element's system value (if the associated ValueSet.compose.include.version element is not present); or the code system and version combination (if the associated ValueSet.compose.include.version element is present)." ) 596 protected StringType copyright; 597 598 private static final long serialVersionUID = -517139062L; 599 600 /** 601 * Constructor 602 */ 603 public ConceptSetComponent() { 604 super(); 605 } 606 607 /** 608 * @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 609 */ 610 public UriType getSystemElement() { 611 if (this.system == null) 612 if (Configuration.errorOnAutoCreate()) 613 throw new Error("Attempt to auto-create ConceptSetComponent.system"); 614 else if (Configuration.doAutoCreate()) 615 this.system = new UriType(); // bb 616 return this.system; 617 } 618 619 public boolean hasSystemElement() { 620 return this.system != null && !this.system.isEmpty(); 621 } 622 623 public boolean hasSystem() { 624 return this.system != null && !this.system.isEmpty(); 625 } 626 627 /** 628 * @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 629 */ 630 public ConceptSetComponent setSystemElement(UriType value) { 631 this.system = value; 632 return this; 633 } 634 635 /** 636 * @return An absolute URI which is the code system from which the selected codes come from. 637 */ 638 public String getSystem() { 639 return this.system == null ? null : this.system.getValue(); 640 } 641 642 /** 643 * @param value An absolute URI which is the code system from which the selected codes come from. 644 */ 645 public ConceptSetComponent setSystem(String value) { 646 if (Utilities.noString(value)) 647 this.system = null; 648 else { 649 if (this.system == null) 650 this.system = new UriType(); 651 this.system.setValue(value); 652 } 653 return this; 654 } 655 656 /** 657 * @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 658 */ 659 public StringType getVersionElement() { 660 if (this.version == null) 661 if (Configuration.errorOnAutoCreate()) 662 throw new Error("Attempt to auto-create ConceptSetComponent.version"); 663 else if (Configuration.doAutoCreate()) 664 this.version = new StringType(); // bb 665 return this.version; 666 } 667 668 public boolean hasVersionElement() { 669 return this.version != null && !this.version.isEmpty(); 670 } 671 672 public boolean hasVersion() { 673 return this.version != null && !this.version.isEmpty(); 674 } 675 676 /** 677 * @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 678 */ 679 public ConceptSetComponent setVersionElement(StringType value) { 680 this.version = value; 681 return this; 682 } 683 684 /** 685 * @return The version of the code system that the codes are selected from, or the special version '*' for all versions. 686 */ 687 public String getVersion() { 688 return this.version == null ? null : this.version.getValue(); 689 } 690 691 /** 692 * @param value The version of the code system that the codes are selected from, or the special version '*' for all versions. 693 */ 694 public ConceptSetComponent setVersion(String value) { 695 if (Utilities.noString(value)) 696 this.version = null; 697 else { 698 if (this.version == null) 699 this.version = new StringType(); 700 this.version.setValue(value); 701 } 702 return this; 703 } 704 705 /** 706 * @return {@link #concept} (Specifies a concept to be included or excluded.) 707 */ 708 public List<ConceptReferenceComponent> getConcept() { 709 if (this.concept == null) 710 this.concept = new ArrayList<ConceptReferenceComponent>(); 711 return this.concept; 712 } 713 714 /** 715 * @return Returns a reference to <code>this</code> for easy method chaining 716 */ 717 public ConceptSetComponent setConcept(List<ConceptReferenceComponent> theConcept) { 718 this.concept = theConcept; 719 return this; 720 } 721 722 public boolean hasConcept() { 723 if (this.concept == null) 724 return false; 725 for (ConceptReferenceComponent item : this.concept) 726 if (!item.isEmpty()) 727 return true; 728 return false; 729 } 730 731 public ConceptReferenceComponent addConcept() { //3 732 ConceptReferenceComponent t = new ConceptReferenceComponent(); 733 if (this.concept == null) 734 this.concept = new ArrayList<ConceptReferenceComponent>(); 735 this.concept.add(t); 736 return t; 737 } 738 739 public ConceptSetComponent addConcept(ConceptReferenceComponent t) { //3 740 if (t == null) 741 return this; 742 if (this.concept == null) 743 this.concept = new ArrayList<ConceptReferenceComponent>(); 744 this.concept.add(t); 745 return this; 746 } 747 748 /** 749 * @return The first repetition of repeating field {@link #concept}, creating it if it does not already exist {3} 750 */ 751 public ConceptReferenceComponent getConceptFirstRep() { 752 if (getConcept().isEmpty()) { 753 addConcept(); 754 } 755 return getConcept().get(0); 756 } 757 758 /** 759 * @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.) 760 */ 761 public List<ConceptSetFilterComponent> getFilter() { 762 if (this.filter == null) 763 this.filter = new ArrayList<ConceptSetFilterComponent>(); 764 return this.filter; 765 } 766 767 /** 768 * @return Returns a reference to <code>this</code> for easy method chaining 769 */ 770 public ConceptSetComponent setFilter(List<ConceptSetFilterComponent> theFilter) { 771 this.filter = theFilter; 772 return this; 773 } 774 775 public boolean hasFilter() { 776 if (this.filter == null) 777 return false; 778 for (ConceptSetFilterComponent item : this.filter) 779 if (!item.isEmpty()) 780 return true; 781 return false; 782 } 783 784 public ConceptSetFilterComponent addFilter() { //3 785 ConceptSetFilterComponent t = new ConceptSetFilterComponent(); 786 if (this.filter == null) 787 this.filter = new ArrayList<ConceptSetFilterComponent>(); 788 this.filter.add(t); 789 return t; 790 } 791 792 public ConceptSetComponent addFilter(ConceptSetFilterComponent t) { //3 793 if (t == null) 794 return this; 795 if (this.filter == null) 796 this.filter = new ArrayList<ConceptSetFilterComponent>(); 797 this.filter.add(t); 798 return this; 799 } 800 801 /** 802 * @return The first repetition of repeating field {@link #filter}, creating it if it does not already exist {3} 803 */ 804 public ConceptSetFilterComponent getFilterFirstRep() { 805 if (getFilter().isEmpty()) { 806 addFilter(); 807 } 808 return getFilter().get(0); 809 } 810 811 /** 812 * @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 intersection of the contents of all of the referenced value sets.) 813 */ 814 public List<CanonicalType> getValueSet() { 815 if (this.valueSet == null) 816 this.valueSet = new ArrayList<CanonicalType>(); 817 return this.valueSet; 818 } 819 820 /** 821 * @return Returns a reference to <code>this</code> for easy method chaining 822 */ 823 public ConceptSetComponent setValueSet(List<CanonicalType> theValueSet) { 824 this.valueSet = theValueSet; 825 return this; 826 } 827 828 public boolean hasValueSet() { 829 if (this.valueSet == null) 830 return false; 831 for (CanonicalType item : this.valueSet) 832 if (!item.isEmpty()) 833 return true; 834 return false; 835 } 836 837 /** 838 * @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 intersection of the contents of all of the referenced value sets.) 839 */ 840 public CanonicalType addValueSetElement() {//2 841 CanonicalType t = new CanonicalType(); 842 if (this.valueSet == null) 843 this.valueSet = new ArrayList<CanonicalType>(); 844 this.valueSet.add(t); 845 return t; 846 } 847 848 /** 849 * @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 intersection of the contents of all of the referenced value sets.) 850 */ 851 public ConceptSetComponent addValueSet(String value) { //1 852 CanonicalType t = new CanonicalType(); 853 t.setValue(value); 854 if (this.valueSet == null) 855 this.valueSet = new ArrayList<CanonicalType>(); 856 this.valueSet.add(t); 857 return this; 858 } 859 860 /** 861 * @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 intersection of the contents of all of the referenced value sets.) 862 */ 863 public boolean hasValueSet(String value) { 864 if (this.valueSet == null) 865 return false; 866 for (CanonicalType v : this.valueSet) 867 if (v.getValue().equals(value)) // canonical 868 return true; 869 return false; 870 } 871 872 /** 873 * @return {@link #copyright} (A copyright statement for the specific code system asserted by the containing ValueSet.compose.include element's system value (if the associated ValueSet.compose.include.version element is not present); or the code system and version combination (if the associated ValueSet.compose.include.version element is present).). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value 874 */ 875 public StringType getCopyrightElement() { 876 if (this.copyright == null) 877 if (Configuration.errorOnAutoCreate()) 878 throw new Error("Attempt to auto-create ConceptSetComponent.copyright"); 879 else if (Configuration.doAutoCreate()) 880 this.copyright = new StringType(); // bb 881 return this.copyright; 882 } 883 884 public boolean hasCopyrightElement() { 885 return this.copyright != null && !this.copyright.isEmpty(); 886 } 887 888 public boolean hasCopyright() { 889 return this.copyright != null && !this.copyright.isEmpty(); 890 } 891 892 /** 893 * @param value {@link #copyright} (A copyright statement for the specific code system asserted by the containing ValueSet.compose.include element's system value (if the associated ValueSet.compose.include.version element is not present); or the code system and version combination (if the associated ValueSet.compose.include.version element is present).). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value 894 */ 895 public ConceptSetComponent setCopyrightElement(StringType value) { 896 this.copyright = value; 897 return this; 898 } 899 900 /** 901 * @return A copyright statement for the specific code system asserted by the containing ValueSet.compose.include element's system value (if the associated ValueSet.compose.include.version element is not present); or the code system and version combination (if the associated ValueSet.compose.include.version element is present). 902 */ 903 public String getCopyright() { 904 return this.copyright == null ? null : this.copyright.getValue(); 905 } 906 907 /** 908 * @param value A copyright statement for the specific code system asserted by the containing ValueSet.compose.include element's system value (if the associated ValueSet.compose.include.version element is not present); or the code system and version combination (if the associated ValueSet.compose.include.version element is present). 909 */ 910 public ConceptSetComponent setCopyright(String value) { 911 if (Utilities.noString(value)) 912 this.copyright = null; 913 else { 914 if (this.copyright == null) 915 this.copyright = new StringType(); 916 this.copyright.setValue(value); 917 } 918 return this; 919 } 920 921 protected void listChildren(List<Property> children) { 922 super.listChildren(children); 923 children.add(new Property("system", "uri", "An absolute URI which is the code system from which the selected codes come from.", 0, 1, system)); 924 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)); 925 children.add(new Property("concept", "", "Specifies a concept to be included or excluded.", 0, java.lang.Integer.MAX_VALUE, concept)); 926 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)); 927 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 intersection of the contents of all of the referenced value sets.", 0, java.lang.Integer.MAX_VALUE, valueSet)); 928 children.add(new Property("copyright", "string", "A copyright statement for the specific code system asserted by the containing ValueSet.compose.include element's system value (if the associated ValueSet.compose.include.version element is not present); or the code system and version combination (if the associated ValueSet.compose.include.version element is present).", 0, 1, copyright)); 929 } 930 931 @Override 932 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 933 switch (_hash) { 934 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); 935 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); 936 case 951024232: /*concept*/ return new Property("concept", "", "Specifies a concept to be included or excluded.", 0, java.lang.Integer.MAX_VALUE, concept); 937 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); 938 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 intersection of the contents of all of the referenced value sets.", 0, java.lang.Integer.MAX_VALUE, valueSet); 939 case 1522889671: /*copyright*/ return new Property("copyright", "string", "A copyright statement for the specific code system asserted by the containing ValueSet.compose.include element's system value (if the associated ValueSet.compose.include.version element is not present); or the code system and version combination (if the associated ValueSet.compose.include.version element is present).", 0, 1, copyright); 940 default: return super.getNamedProperty(_hash, _name, _checkValid); 941 } 942 943 } 944 945 @Override 946 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 947 switch (hash) { 948 case -887328209: /*system*/ return this.system == null ? new Base[0] : new Base[] {this.system}; // UriType 949 case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType 950 case 951024232: /*concept*/ return this.concept == null ? new Base[0] : this.concept.toArray(new Base[this.concept.size()]); // ConceptReferenceComponent 951 case -1274492040: /*filter*/ return this.filter == null ? new Base[0] : this.filter.toArray(new Base[this.filter.size()]); // ConceptSetFilterComponent 952 case -1410174671: /*valueSet*/ return this.valueSet == null ? new Base[0] : this.valueSet.toArray(new Base[this.valueSet.size()]); // CanonicalType 953 case 1522889671: /*copyright*/ return this.copyright == null ? new Base[0] : new Base[] {this.copyright}; // StringType 954 default: return super.getProperty(hash, name, checkValid); 955 } 956 957 } 958 959 @Override 960 public Base setProperty(int hash, String name, Base value) throws FHIRException { 961 switch (hash) { 962 case -887328209: // system 963 this.system = TypeConvertor.castToUri(value); // UriType 964 return value; 965 case 351608024: // version 966 this.version = TypeConvertor.castToString(value); // StringType 967 return value; 968 case 951024232: // concept 969 this.getConcept().add((ConceptReferenceComponent) value); // ConceptReferenceComponent 970 return value; 971 case -1274492040: // filter 972 this.getFilter().add((ConceptSetFilterComponent) value); // ConceptSetFilterComponent 973 return value; 974 case -1410174671: // valueSet 975 this.getValueSet().add(TypeConvertor.castToCanonical(value)); // CanonicalType 976 return value; 977 case 1522889671: // copyright 978 this.copyright = TypeConvertor.castToString(value); // StringType 979 return value; 980 default: return super.setProperty(hash, name, value); 981 } 982 983 } 984 985 @Override 986 public Base setProperty(String name, Base value) throws FHIRException { 987 if (name.equals("system")) { 988 this.system = TypeConvertor.castToUri(value); // UriType 989 } else if (name.equals("version")) { 990 this.version = TypeConvertor.castToString(value); // StringType 991 } else if (name.equals("concept")) { 992 this.getConcept().add((ConceptReferenceComponent) value); 993 } else if (name.equals("filter")) { 994 this.getFilter().add((ConceptSetFilterComponent) value); 995 } else if (name.equals("valueSet")) { 996 this.getValueSet().add(TypeConvertor.castToCanonical(value)); 997 } else if (name.equals("copyright")) { 998 this.copyright = TypeConvertor.castToString(value); // StringType 999 } else 1000 return super.setProperty(name, value); 1001 return value; 1002 } 1003 1004 @Override 1005 public Base makeProperty(int hash, String name) throws FHIRException { 1006 switch (hash) { 1007 case -887328209: return getSystemElement(); 1008 case 351608024: return getVersionElement(); 1009 case 951024232: return addConcept(); 1010 case -1274492040: return addFilter(); 1011 case -1410174671: return addValueSetElement(); 1012 case 1522889671: return getCopyrightElement(); 1013 default: return super.makeProperty(hash, name); 1014 } 1015 1016 } 1017 1018 @Override 1019 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1020 switch (hash) { 1021 case -887328209: /*system*/ return new String[] {"uri"}; 1022 case 351608024: /*version*/ return new String[] {"string"}; 1023 case 951024232: /*concept*/ return new String[] {}; 1024 case -1274492040: /*filter*/ return new String[] {}; 1025 case -1410174671: /*valueSet*/ return new String[] {"canonical"}; 1026 case 1522889671: /*copyright*/ return new String[] {"string"}; 1027 default: return super.getTypesForProperty(hash, name); 1028 } 1029 1030 } 1031 1032 @Override 1033 public Base addChild(String name) throws FHIRException { 1034 if (name.equals("system")) { 1035 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.compose.include.system"); 1036 } 1037 else if (name.equals("version")) { 1038 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.compose.include.version"); 1039 } 1040 else if (name.equals("concept")) { 1041 return addConcept(); 1042 } 1043 else if (name.equals("filter")) { 1044 return addFilter(); 1045 } 1046 else if (name.equals("valueSet")) { 1047 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.compose.include.valueSet"); 1048 } 1049 else if (name.equals("copyright")) { 1050 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.compose.include.copyright"); 1051 } 1052 else 1053 return super.addChild(name); 1054 } 1055 1056 public ConceptSetComponent copy() { 1057 ConceptSetComponent dst = new ConceptSetComponent(); 1058 copyValues(dst); 1059 return dst; 1060 } 1061 1062 public void copyValues(ConceptSetComponent dst) { 1063 super.copyValues(dst); 1064 dst.system = system == null ? null : system.copy(); 1065 dst.version = version == null ? null : version.copy(); 1066 if (concept != null) { 1067 dst.concept = new ArrayList<ConceptReferenceComponent>(); 1068 for (ConceptReferenceComponent i : concept) 1069 dst.concept.add(i.copy()); 1070 }; 1071 if (filter != null) { 1072 dst.filter = new ArrayList<ConceptSetFilterComponent>(); 1073 for (ConceptSetFilterComponent i : filter) 1074 dst.filter.add(i.copy()); 1075 }; 1076 if (valueSet != null) { 1077 dst.valueSet = new ArrayList<CanonicalType>(); 1078 for (CanonicalType i : valueSet) 1079 dst.valueSet.add(i.copy()); 1080 }; 1081 dst.copyright = copyright == null ? null : copyright.copy(); 1082 } 1083 1084 @Override 1085 public boolean equalsDeep(Base other_) { 1086 if (!super.equalsDeep(other_)) 1087 return false; 1088 if (!(other_ instanceof ConceptSetComponent)) 1089 return false; 1090 ConceptSetComponent o = (ConceptSetComponent) other_; 1091 return compareDeep(system, o.system, true) && compareDeep(version, o.version, true) && compareDeep(concept, o.concept, true) 1092 && compareDeep(filter, o.filter, true) && compareDeep(valueSet, o.valueSet, true) && compareDeep(copyright, o.copyright, true) 1093 ; 1094 } 1095 1096 @Override 1097 public boolean equalsShallow(Base other_) { 1098 if (!super.equalsShallow(other_)) 1099 return false; 1100 if (!(other_ instanceof ConceptSetComponent)) 1101 return false; 1102 ConceptSetComponent o = (ConceptSetComponent) other_; 1103 return compareValues(system, o.system, true) && compareValues(version, o.version, true) && compareValues(valueSet, o.valueSet, true) 1104 && compareValues(copyright, o.copyright, true); 1105 } 1106 1107 public boolean isEmpty() { 1108 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(system, version, concept 1109 , filter, valueSet, copyright); 1110 } 1111 1112 public String fhirType() { 1113 return "ValueSet.compose.include"; 1114 1115 } 1116 1117 } 1118 1119 @Block() 1120 public static class ConceptReferenceComponent extends BackboneElement implements IBaseBackboneElement { 1121 /** 1122 * Specifies a code for the concept to be included or excluded. 1123 */ 1124 @Child(name = "code", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=false) 1125 @Description(shortDefinition="Code or expression from system", formalDefinition="Specifies a code for the concept to be included or excluded." ) 1126 protected CodeType code; 1127 1128 /** 1129 * 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. 1130 */ 1131 @Child(name = "display", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=false) 1132 @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." ) 1133 protected StringType display; 1134 1135 /** 1136 * Additional representations for this concept when used in this value set - other languages, aliases, specialized purposes, used for particular purposes, etc. 1137 */ 1138 @Child(name = "designation", type = {}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1139 @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." ) 1140 protected List<ConceptReferenceDesignationComponent> designation; 1141 1142 private static final long serialVersionUID = 260579971L; 1143 1144 /** 1145 * Constructor 1146 */ 1147 public ConceptReferenceComponent() { 1148 super(); 1149 } 1150 1151 /** 1152 * Constructor 1153 */ 1154 public ConceptReferenceComponent(String code) { 1155 super(); 1156 this.setCode(code); 1157 } 1158 1159 /** 1160 * @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 1161 */ 1162 public CodeType getCodeElement() { 1163 if (this.code == null) 1164 if (Configuration.errorOnAutoCreate()) 1165 throw new Error("Attempt to auto-create ConceptReferenceComponent.code"); 1166 else if (Configuration.doAutoCreate()) 1167 this.code = new CodeType(); // bb 1168 return this.code; 1169 } 1170 1171 public boolean hasCodeElement() { 1172 return this.code != null && !this.code.isEmpty(); 1173 } 1174 1175 public boolean hasCode() { 1176 return this.code != null && !this.code.isEmpty(); 1177 } 1178 1179 /** 1180 * @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 1181 */ 1182 public ConceptReferenceComponent setCodeElement(CodeType value) { 1183 this.code = value; 1184 return this; 1185 } 1186 1187 /** 1188 * @return Specifies a code for the concept to be included or excluded. 1189 */ 1190 public String getCode() { 1191 return this.code == null ? null : this.code.getValue(); 1192 } 1193 1194 /** 1195 * @param value Specifies a code for the concept to be included or excluded. 1196 */ 1197 public ConceptReferenceComponent setCode(String value) { 1198 if (this.code == null) 1199 this.code = new CodeType(); 1200 this.code.setValue(value); 1201 return this; 1202 } 1203 1204 /** 1205 * @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 1206 */ 1207 public StringType getDisplayElement() { 1208 if (this.display == null) 1209 if (Configuration.errorOnAutoCreate()) 1210 throw new Error("Attempt to auto-create ConceptReferenceComponent.display"); 1211 else if (Configuration.doAutoCreate()) 1212 this.display = new StringType(); // bb 1213 return this.display; 1214 } 1215 1216 public boolean hasDisplayElement() { 1217 return this.display != null && !this.display.isEmpty(); 1218 } 1219 1220 public boolean hasDisplay() { 1221 return this.display != null && !this.display.isEmpty(); 1222 } 1223 1224 /** 1225 * @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 1226 */ 1227 public ConceptReferenceComponent setDisplayElement(StringType value) { 1228 this.display = value; 1229 return this; 1230 } 1231 1232 /** 1233 * @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. 1234 */ 1235 public String getDisplay() { 1236 return this.display == null ? null : this.display.getValue(); 1237 } 1238 1239 /** 1240 * @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. 1241 */ 1242 public ConceptReferenceComponent setDisplay(String value) { 1243 if (Utilities.noString(value)) 1244 this.display = null; 1245 else { 1246 if (this.display == null) 1247 this.display = new StringType(); 1248 this.display.setValue(value); 1249 } 1250 return this; 1251 } 1252 1253 /** 1254 * @return {@link #designation} (Additional representations for this concept when used in this value set - other languages, aliases, specialized purposes, used for particular purposes, etc.) 1255 */ 1256 public List<ConceptReferenceDesignationComponent> getDesignation() { 1257 if (this.designation == null) 1258 this.designation = new ArrayList<ConceptReferenceDesignationComponent>(); 1259 return this.designation; 1260 } 1261 1262 /** 1263 * @return Returns a reference to <code>this</code> for easy method chaining 1264 */ 1265 public ConceptReferenceComponent setDesignation(List<ConceptReferenceDesignationComponent> theDesignation) { 1266 this.designation = theDesignation; 1267 return this; 1268 } 1269 1270 public boolean hasDesignation() { 1271 if (this.designation == null) 1272 return false; 1273 for (ConceptReferenceDesignationComponent item : this.designation) 1274 if (!item.isEmpty()) 1275 return true; 1276 return false; 1277 } 1278 1279 public ConceptReferenceDesignationComponent addDesignation() { //3 1280 ConceptReferenceDesignationComponent t = new ConceptReferenceDesignationComponent(); 1281 if (this.designation == null) 1282 this.designation = new ArrayList<ConceptReferenceDesignationComponent>(); 1283 this.designation.add(t); 1284 return t; 1285 } 1286 1287 public ConceptReferenceComponent addDesignation(ConceptReferenceDesignationComponent t) { //3 1288 if (t == null) 1289 return this; 1290 if (this.designation == null) 1291 this.designation = new ArrayList<ConceptReferenceDesignationComponent>(); 1292 this.designation.add(t); 1293 return this; 1294 } 1295 1296 /** 1297 * @return The first repetition of repeating field {@link #designation}, creating it if it does not already exist {3} 1298 */ 1299 public ConceptReferenceDesignationComponent getDesignationFirstRep() { 1300 if (getDesignation().isEmpty()) { 1301 addDesignation(); 1302 } 1303 return getDesignation().get(0); 1304 } 1305 1306 protected void listChildren(List<Property> children) { 1307 super.listChildren(children); 1308 children.add(new Property("code", "code", "Specifies a code for the concept to be included or excluded.", 0, 1, code)); 1309 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)); 1310 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)); 1311 } 1312 1313 @Override 1314 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1315 switch (_hash) { 1316 case 3059181: /*code*/ return new Property("code", "code", "Specifies a code for the concept to be included or excluded.", 0, 1, code); 1317 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); 1318 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); 1319 default: return super.getNamedProperty(_hash, _name, _checkValid); 1320 } 1321 1322 } 1323 1324 @Override 1325 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1326 switch (hash) { 1327 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeType 1328 case 1671764162: /*display*/ return this.display == null ? new Base[0] : new Base[] {this.display}; // StringType 1329 case -900931593: /*designation*/ return this.designation == null ? new Base[0] : this.designation.toArray(new Base[this.designation.size()]); // ConceptReferenceDesignationComponent 1330 default: return super.getProperty(hash, name, checkValid); 1331 } 1332 1333 } 1334 1335 @Override 1336 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1337 switch (hash) { 1338 case 3059181: // code 1339 this.code = TypeConvertor.castToCode(value); // CodeType 1340 return value; 1341 case 1671764162: // display 1342 this.display = TypeConvertor.castToString(value); // StringType 1343 return value; 1344 case -900931593: // designation 1345 this.getDesignation().add((ConceptReferenceDesignationComponent) value); // ConceptReferenceDesignationComponent 1346 return value; 1347 default: return super.setProperty(hash, name, value); 1348 } 1349 1350 } 1351 1352 @Override 1353 public Base setProperty(String name, Base value) throws FHIRException { 1354 if (name.equals("code")) { 1355 this.code = TypeConvertor.castToCode(value); // CodeType 1356 } else if (name.equals("display")) { 1357 this.display = TypeConvertor.castToString(value); // StringType 1358 } else if (name.equals("designation")) { 1359 this.getDesignation().add((ConceptReferenceDesignationComponent) value); 1360 } else 1361 return super.setProperty(name, value); 1362 return value; 1363 } 1364 1365 @Override 1366 public Base makeProperty(int hash, String name) throws FHIRException { 1367 switch (hash) { 1368 case 3059181: return getCodeElement(); 1369 case 1671764162: return getDisplayElement(); 1370 case -900931593: return addDesignation(); 1371 default: return super.makeProperty(hash, name); 1372 } 1373 1374 } 1375 1376 @Override 1377 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1378 switch (hash) { 1379 case 3059181: /*code*/ return new String[] {"code"}; 1380 case 1671764162: /*display*/ return new String[] {"string"}; 1381 case -900931593: /*designation*/ return new String[] {}; 1382 default: return super.getTypesForProperty(hash, name); 1383 } 1384 1385 } 1386 1387 @Override 1388 public Base addChild(String name) throws FHIRException { 1389 if (name.equals("code")) { 1390 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.compose.include.concept.code"); 1391 } 1392 else if (name.equals("display")) { 1393 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.compose.include.concept.display"); 1394 } 1395 else if (name.equals("designation")) { 1396 return addDesignation(); 1397 } 1398 else 1399 return super.addChild(name); 1400 } 1401 1402 public ConceptReferenceComponent copy() { 1403 ConceptReferenceComponent dst = new ConceptReferenceComponent(); 1404 copyValues(dst); 1405 return dst; 1406 } 1407 1408 public void copyValues(ConceptReferenceComponent dst) { 1409 super.copyValues(dst); 1410 dst.code = code == null ? null : code.copy(); 1411 dst.display = display == null ? null : display.copy(); 1412 if (designation != null) { 1413 dst.designation = new ArrayList<ConceptReferenceDesignationComponent>(); 1414 for (ConceptReferenceDesignationComponent i : designation) 1415 dst.designation.add(i.copy()); 1416 }; 1417 } 1418 1419 @Override 1420 public boolean equalsDeep(Base other_) { 1421 if (!super.equalsDeep(other_)) 1422 return false; 1423 if (!(other_ instanceof ConceptReferenceComponent)) 1424 return false; 1425 ConceptReferenceComponent o = (ConceptReferenceComponent) other_; 1426 return compareDeep(code, o.code, true) && compareDeep(display, o.display, true) && compareDeep(designation, o.designation, true) 1427 ; 1428 } 1429 1430 @Override 1431 public boolean equalsShallow(Base other_) { 1432 if (!super.equalsShallow(other_)) 1433 return false; 1434 if (!(other_ instanceof ConceptReferenceComponent)) 1435 return false; 1436 ConceptReferenceComponent o = (ConceptReferenceComponent) other_; 1437 return compareValues(code, o.code, true) && compareValues(display, o.display, true); 1438 } 1439 1440 public boolean isEmpty() { 1441 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(code, display, designation 1442 ); 1443 } 1444 1445 public String fhirType() { 1446 return "ValueSet.compose.include.concept"; 1447 1448 } 1449 1450 } 1451 1452 @Block() 1453 public static class ConceptReferenceDesignationComponent extends BackboneElement implements IBaseBackboneElement { 1454 /** 1455 * The language this designation is defined for. 1456 */ 1457 @Child(name = "language", type = {CodeType.class}, order=1, min=0, max=1, modifier=false, summary=false) 1458 @Description(shortDefinition="Human language of the designation", formalDefinition="The language this designation is defined for." ) 1459 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/languages") 1460 protected CodeType language; 1461 1462 /** 1463 * A code that represents types of uses of designations. 1464 */ 1465 @Child(name = "use", type = {Coding.class}, order=2, min=0, max=1, modifier=false, summary=false) 1466 @Description(shortDefinition="Types of uses of designations", formalDefinition="A code that represents types of uses of designations." ) 1467 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/designation-use") 1468 protected Coding use; 1469 1470 /** 1471 * The text value for this designation. 1472 */ 1473 @Child(name = "value", type = {StringType.class}, order=3, min=1, max=1, modifier=false, summary=false) 1474 @Description(shortDefinition="The text value for this designation", formalDefinition="The text value for this designation." ) 1475 protected StringType value; 1476 1477 private static final long serialVersionUID = 1515662414L; 1478 1479 /** 1480 * Constructor 1481 */ 1482 public ConceptReferenceDesignationComponent() { 1483 super(); 1484 } 1485 1486 /** 1487 * Constructor 1488 */ 1489 public ConceptReferenceDesignationComponent(String value) { 1490 super(); 1491 this.setValue(value); 1492 } 1493 1494 /** 1495 * @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 1496 */ 1497 public CodeType getLanguageElement() { 1498 if (this.language == null) 1499 if (Configuration.errorOnAutoCreate()) 1500 throw new Error("Attempt to auto-create ConceptReferenceDesignationComponent.language"); 1501 else if (Configuration.doAutoCreate()) 1502 this.language = new CodeType(); // bb 1503 return this.language; 1504 } 1505 1506 public boolean hasLanguageElement() { 1507 return this.language != null && !this.language.isEmpty(); 1508 } 1509 1510 public boolean hasLanguage() { 1511 return this.language != null && !this.language.isEmpty(); 1512 } 1513 1514 /** 1515 * @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 1516 */ 1517 public ConceptReferenceDesignationComponent setLanguageElement(CodeType value) { 1518 this.language = value; 1519 return this; 1520 } 1521 1522 /** 1523 * @return The language this designation is defined for. 1524 */ 1525 public String getLanguage() { 1526 return this.language == null ? null : this.language.getValue(); 1527 } 1528 1529 /** 1530 * @param value The language this designation is defined for. 1531 */ 1532 public ConceptReferenceDesignationComponent setLanguage(String value) { 1533 if (Utilities.noString(value)) 1534 this.language = null; 1535 else { 1536 if (this.language == null) 1537 this.language = new CodeType(); 1538 this.language.setValue(value); 1539 } 1540 return this; 1541 } 1542 1543 /** 1544 * @return {@link #use} (A code that represents types of uses of designations.) 1545 */ 1546 public Coding getUse() { 1547 if (this.use == null) 1548 if (Configuration.errorOnAutoCreate()) 1549 throw new Error("Attempt to auto-create ConceptReferenceDesignationComponent.use"); 1550 else if (Configuration.doAutoCreate()) 1551 this.use = new Coding(); // cc 1552 return this.use; 1553 } 1554 1555 public boolean hasUse() { 1556 return this.use != null && !this.use.isEmpty(); 1557 } 1558 1559 /** 1560 * @param value {@link #use} (A code that represents types of uses of designations.) 1561 */ 1562 public ConceptReferenceDesignationComponent setUse(Coding value) { 1563 this.use = value; 1564 return this; 1565 } 1566 1567 /** 1568 * @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 1569 */ 1570 public StringType getValueElement() { 1571 if (this.value == null) 1572 if (Configuration.errorOnAutoCreate()) 1573 throw new Error("Attempt to auto-create ConceptReferenceDesignationComponent.value"); 1574 else if (Configuration.doAutoCreate()) 1575 this.value = new StringType(); // bb 1576 return this.value; 1577 } 1578 1579 public boolean hasValueElement() { 1580 return this.value != null && !this.value.isEmpty(); 1581 } 1582 1583 public boolean hasValue() { 1584 return this.value != null && !this.value.isEmpty(); 1585 } 1586 1587 /** 1588 * @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 1589 */ 1590 public ConceptReferenceDesignationComponent setValueElement(StringType value) { 1591 this.value = value; 1592 return this; 1593 } 1594 1595 /** 1596 * @return The text value for this designation. 1597 */ 1598 public String getValue() { 1599 return this.value == null ? null : this.value.getValue(); 1600 } 1601 1602 /** 1603 * @param value The text value for this designation. 1604 */ 1605 public ConceptReferenceDesignationComponent setValue(String value) { 1606 if (this.value == null) 1607 this.value = new StringType(); 1608 this.value.setValue(value); 1609 return this; 1610 } 1611 1612 protected void listChildren(List<Property> children) { 1613 super.listChildren(children); 1614 children.add(new Property("language", "code", "The language this designation is defined for.", 0, 1, language)); 1615 children.add(new Property("use", "Coding", "A code that represents types of uses of designations.", 0, 1, use)); 1616 children.add(new Property("value", "string", "The text value for this designation.", 0, 1, value)); 1617 } 1618 1619 @Override 1620 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1621 switch (_hash) { 1622 case -1613589672: /*language*/ return new Property("language", "code", "The language this designation is defined for.", 0, 1, language); 1623 case 116103: /*use*/ return new Property("use", "Coding", "A code that represents types of uses of designations.", 0, 1, use); 1624 case 111972721: /*value*/ return new Property("value", "string", "The text value for this designation.", 0, 1, value); 1625 default: return super.getNamedProperty(_hash, _name, _checkValid); 1626 } 1627 1628 } 1629 1630 @Override 1631 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1632 switch (hash) { 1633 case -1613589672: /*language*/ return this.language == null ? new Base[0] : new Base[] {this.language}; // CodeType 1634 case 116103: /*use*/ return this.use == null ? new Base[0] : new Base[] {this.use}; // Coding 1635 case 111972721: /*value*/ return this.value == null ? new Base[0] : new Base[] {this.value}; // StringType 1636 default: return super.getProperty(hash, name, checkValid); 1637 } 1638 1639 } 1640 1641 @Override 1642 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1643 switch (hash) { 1644 case -1613589672: // language 1645 this.language = TypeConvertor.castToCode(value); // CodeType 1646 return value; 1647 case 116103: // use 1648 this.use = TypeConvertor.castToCoding(value); // Coding 1649 return value; 1650 case 111972721: // value 1651 this.value = TypeConvertor.castToString(value); // StringType 1652 return value; 1653 default: return super.setProperty(hash, name, value); 1654 } 1655 1656 } 1657 1658 @Override 1659 public Base setProperty(String name, Base value) throws FHIRException { 1660 if (name.equals("language")) { 1661 this.language = TypeConvertor.castToCode(value); // CodeType 1662 } else if (name.equals("use")) { 1663 this.use = TypeConvertor.castToCoding(value); // Coding 1664 } else if (name.equals("value")) { 1665 this.value = TypeConvertor.castToString(value); // StringType 1666 } else 1667 return super.setProperty(name, value); 1668 return value; 1669 } 1670 1671 @Override 1672 public Base makeProperty(int hash, String name) throws FHIRException { 1673 switch (hash) { 1674 case -1613589672: return getLanguageElement(); 1675 case 116103: return getUse(); 1676 case 111972721: return getValueElement(); 1677 default: return super.makeProperty(hash, name); 1678 } 1679 1680 } 1681 1682 @Override 1683 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1684 switch (hash) { 1685 case -1613589672: /*language*/ return new String[] {"code"}; 1686 case 116103: /*use*/ return new String[] {"Coding"}; 1687 case 111972721: /*value*/ return new String[] {"string"}; 1688 default: return super.getTypesForProperty(hash, name); 1689 } 1690 1691 } 1692 1693 @Override 1694 public Base addChild(String name) throws FHIRException { 1695 if (name.equals("language")) { 1696 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.compose.include.concept.designation.language"); 1697 } 1698 else if (name.equals("use")) { 1699 this.use = new Coding(); 1700 return this.use; 1701 } 1702 else if (name.equals("value")) { 1703 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.compose.include.concept.designation.value"); 1704 } 1705 else 1706 return super.addChild(name); 1707 } 1708 1709 public ConceptReferenceDesignationComponent copy() { 1710 ConceptReferenceDesignationComponent dst = new ConceptReferenceDesignationComponent(); 1711 copyValues(dst); 1712 return dst; 1713 } 1714 1715 public void copyValues(ConceptReferenceDesignationComponent dst) { 1716 super.copyValues(dst); 1717 dst.language = language == null ? null : language.copy(); 1718 dst.use = use == null ? null : use.copy(); 1719 dst.value = value == null ? null : value.copy(); 1720 } 1721 1722 @Override 1723 public boolean equalsDeep(Base other_) { 1724 if (!super.equalsDeep(other_)) 1725 return false; 1726 if (!(other_ instanceof ConceptReferenceDesignationComponent)) 1727 return false; 1728 ConceptReferenceDesignationComponent o = (ConceptReferenceDesignationComponent) other_; 1729 return compareDeep(language, o.language, true) && compareDeep(use, o.use, true) && compareDeep(value, o.value, true) 1730 ; 1731 } 1732 1733 @Override 1734 public boolean equalsShallow(Base other_) { 1735 if (!super.equalsShallow(other_)) 1736 return false; 1737 if (!(other_ instanceof ConceptReferenceDesignationComponent)) 1738 return false; 1739 ConceptReferenceDesignationComponent o = (ConceptReferenceDesignationComponent) other_; 1740 return compareValues(language, o.language, true) && compareValues(value, o.value, true); 1741 } 1742 1743 public boolean isEmpty() { 1744 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(language, use, value); 1745 } 1746 1747 public String fhirType() { 1748 return "ValueSet.compose.include.concept.designation"; 1749 1750 } 1751 1752 } 1753 1754 @Block() 1755 public static class ConceptSetFilterComponent extends BackboneElement implements IBaseBackboneElement { 1756 /** 1757 * A code that identifies a property or a filter defined in the code system. 1758 */ 1759 @Child(name = "property", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=true) 1760 @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." ) 1761 protected CodeType property; 1762 1763 /** 1764 * The kind of operation to perform as a part of the filter criteria. 1765 */ 1766 @Child(name = "op", type = {CodeType.class}, order=2, min=1, max=1, modifier=false, summary=true) 1767 @Description(shortDefinition="= | is-a | descendent-of | is-not-a | regex | in | not-in | generalizes | child-of | descendent-leaf | exists", formalDefinition="The kind of operation to perform as a part of the filter criteria." ) 1768 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/filter-operator") 1769 protected Enumeration<FilterOperator> op; 1770 1771 /** 1772 * 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'. 1773 */ 1774 @Child(name = "value", type = {StringType.class}, order=3, min=1, max=1, modifier=false, summary=true) 1775 @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'." ) 1776 protected StringType value; 1777 1778 private static final long serialVersionUID = 1259153492L; 1779 1780 /** 1781 * Constructor 1782 */ 1783 public ConceptSetFilterComponent() { 1784 super(); 1785 } 1786 1787 /** 1788 * Constructor 1789 */ 1790 public ConceptSetFilterComponent(String property, FilterOperator op, String value) { 1791 super(); 1792 this.setProperty(property); 1793 this.setOp(op); 1794 this.setValue(value); 1795 } 1796 1797 /** 1798 * @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 1799 */ 1800 public CodeType getPropertyElement() { 1801 if (this.property == null) 1802 if (Configuration.errorOnAutoCreate()) 1803 throw new Error("Attempt to auto-create ConceptSetFilterComponent.property"); 1804 else if (Configuration.doAutoCreate()) 1805 this.property = new CodeType(); // bb 1806 return this.property; 1807 } 1808 1809 public boolean hasPropertyElement() { 1810 return this.property != null && !this.property.isEmpty(); 1811 } 1812 1813 public boolean hasProperty() { 1814 return this.property != null && !this.property.isEmpty(); 1815 } 1816 1817 /** 1818 * @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 1819 */ 1820 public ConceptSetFilterComponent setPropertyElement(CodeType value) { 1821 this.property = value; 1822 return this; 1823 } 1824 1825 /** 1826 * @return A code that identifies a property or a filter defined in the code system. 1827 */ 1828 public String getProperty() { 1829 return this.property == null ? null : this.property.getValue(); 1830 } 1831 1832 /** 1833 * @param value A code that identifies a property or a filter defined in the code system. 1834 */ 1835 public ConceptSetFilterComponent setProperty(String value) { 1836 if (this.property == null) 1837 this.property = new CodeType(); 1838 this.property.setValue(value); 1839 return this; 1840 } 1841 1842 /** 1843 * @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 1844 */ 1845 public Enumeration<FilterOperator> getOpElement() { 1846 if (this.op == null) 1847 if (Configuration.errorOnAutoCreate()) 1848 throw new Error("Attempt to auto-create ConceptSetFilterComponent.op"); 1849 else if (Configuration.doAutoCreate()) 1850 this.op = new Enumeration<FilterOperator>(new FilterOperatorEnumFactory()); // bb 1851 return this.op; 1852 } 1853 1854 public boolean hasOpElement() { 1855 return this.op != null && !this.op.isEmpty(); 1856 } 1857 1858 public boolean hasOp() { 1859 return this.op != null && !this.op.isEmpty(); 1860 } 1861 1862 /** 1863 * @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 1864 */ 1865 public ConceptSetFilterComponent setOpElement(Enumeration<FilterOperator> value) { 1866 this.op = value; 1867 return this; 1868 } 1869 1870 /** 1871 * @return The kind of operation to perform as a part of the filter criteria. 1872 */ 1873 public FilterOperator getOp() { 1874 return this.op == null ? null : this.op.getValue(); 1875 } 1876 1877 /** 1878 * @param value The kind of operation to perform as a part of the filter criteria. 1879 */ 1880 public ConceptSetFilterComponent setOp(FilterOperator value) { 1881 if (this.op == null) 1882 this.op = new Enumeration<FilterOperator>(new FilterOperatorEnumFactory()); 1883 this.op.setValue(value); 1884 return this; 1885 } 1886 1887 /** 1888 * @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 1889 */ 1890 public StringType getValueElement() { 1891 if (this.value == null) 1892 if (Configuration.errorOnAutoCreate()) 1893 throw new Error("Attempt to auto-create ConceptSetFilterComponent.value"); 1894 else if (Configuration.doAutoCreate()) 1895 this.value = new StringType(); // bb 1896 return this.value; 1897 } 1898 1899 public boolean hasValueElement() { 1900 return this.value != null && !this.value.isEmpty(); 1901 } 1902 1903 public boolean hasValue() { 1904 return this.value != null && !this.value.isEmpty(); 1905 } 1906 1907 /** 1908 * @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 1909 */ 1910 public ConceptSetFilterComponent setValueElement(StringType value) { 1911 this.value = value; 1912 return this; 1913 } 1914 1915 /** 1916 * @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'. 1917 */ 1918 public String getValue() { 1919 return this.value == null ? null : this.value.getValue(); 1920 } 1921 1922 /** 1923 * @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'. 1924 */ 1925 public ConceptSetFilterComponent setValue(String value) { 1926 if (this.value == null) 1927 this.value = new StringType(); 1928 this.value.setValue(value); 1929 return this; 1930 } 1931 1932 protected void listChildren(List<Property> children) { 1933 super.listChildren(children); 1934 children.add(new Property("property", "code", "A code that identifies a property or a filter defined in the code system.", 0, 1, property)); 1935 children.add(new Property("op", "code", "The kind of operation to perform as a part of the filter criteria.", 0, 1, op)); 1936 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)); 1937 } 1938 1939 @Override 1940 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1941 switch (_hash) { 1942 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); 1943 case 3553: /*op*/ return new Property("op", "code", "The kind of operation to perform as a part of the filter criteria.", 0, 1, op); 1944 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); 1945 default: return super.getNamedProperty(_hash, _name, _checkValid); 1946 } 1947 1948 } 1949 1950 @Override 1951 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1952 switch (hash) { 1953 case -993141291: /*property*/ return this.property == null ? new Base[0] : new Base[] {this.property}; // CodeType 1954 case 3553: /*op*/ return this.op == null ? new Base[0] : new Base[] {this.op}; // Enumeration<FilterOperator> 1955 case 111972721: /*value*/ return this.value == null ? new Base[0] : new Base[] {this.value}; // StringType 1956 default: return super.getProperty(hash, name, checkValid); 1957 } 1958 1959 } 1960 1961 @Override 1962 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1963 switch (hash) { 1964 case -993141291: // property 1965 this.property = TypeConvertor.castToCode(value); // CodeType 1966 return value; 1967 case 3553: // op 1968 value = new FilterOperatorEnumFactory().fromType(TypeConvertor.castToCode(value)); 1969 this.op = (Enumeration) value; // Enumeration<FilterOperator> 1970 return value; 1971 case 111972721: // value 1972 this.value = TypeConvertor.castToString(value); // StringType 1973 return value; 1974 default: return super.setProperty(hash, name, value); 1975 } 1976 1977 } 1978 1979 @Override 1980 public Base setProperty(String name, Base value) throws FHIRException { 1981 if (name.equals("property")) { 1982 this.property = TypeConvertor.castToCode(value); // CodeType 1983 } else if (name.equals("op")) { 1984 value = new FilterOperatorEnumFactory().fromType(TypeConvertor.castToCode(value)); 1985 this.op = (Enumeration) value; // Enumeration<FilterOperator> 1986 } else if (name.equals("value")) { 1987 this.value = TypeConvertor.castToString(value); // StringType 1988 } else 1989 return super.setProperty(name, value); 1990 return value; 1991 } 1992 1993 @Override 1994 public Base makeProperty(int hash, String name) throws FHIRException { 1995 switch (hash) { 1996 case -993141291: return getPropertyElement(); 1997 case 3553: return getOpElement(); 1998 case 111972721: return getValueElement(); 1999 default: return super.makeProperty(hash, name); 2000 } 2001 2002 } 2003 2004 @Override 2005 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2006 switch (hash) { 2007 case -993141291: /*property*/ return new String[] {"code"}; 2008 case 3553: /*op*/ return new String[] {"code"}; 2009 case 111972721: /*value*/ return new String[] {"string"}; 2010 default: return super.getTypesForProperty(hash, name); 2011 } 2012 2013 } 2014 2015 @Override 2016 public Base addChild(String name) throws FHIRException { 2017 if (name.equals("property")) { 2018 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.compose.include.filter.property"); 2019 } 2020 else if (name.equals("op")) { 2021 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.compose.include.filter.op"); 2022 } 2023 else if (name.equals("value")) { 2024 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.compose.include.filter.value"); 2025 } 2026 else 2027 return super.addChild(name); 2028 } 2029 2030 public ConceptSetFilterComponent copy() { 2031 ConceptSetFilterComponent dst = new ConceptSetFilterComponent(); 2032 copyValues(dst); 2033 return dst; 2034 } 2035 2036 public void copyValues(ConceptSetFilterComponent dst) { 2037 super.copyValues(dst); 2038 dst.property = property == null ? null : property.copy(); 2039 dst.op = op == null ? null : op.copy(); 2040 dst.value = value == null ? null : value.copy(); 2041 } 2042 2043 @Override 2044 public boolean equalsDeep(Base other_) { 2045 if (!super.equalsDeep(other_)) 2046 return false; 2047 if (!(other_ instanceof ConceptSetFilterComponent)) 2048 return false; 2049 ConceptSetFilterComponent o = (ConceptSetFilterComponent) other_; 2050 return compareDeep(property, o.property, true) && compareDeep(op, o.op, true) && compareDeep(value, o.value, true) 2051 ; 2052 } 2053 2054 @Override 2055 public boolean equalsShallow(Base other_) { 2056 if (!super.equalsShallow(other_)) 2057 return false; 2058 if (!(other_ instanceof ConceptSetFilterComponent)) 2059 return false; 2060 ConceptSetFilterComponent o = (ConceptSetFilterComponent) other_; 2061 return compareValues(property, o.property, true) && compareValues(op, o.op, true) && compareValues(value, o.value, true) 2062 ; 2063 } 2064 2065 public boolean isEmpty() { 2066 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(property, op, value); 2067 } 2068 2069 public String fhirType() { 2070 return "ValueSet.compose.include.filter"; 2071 2072 } 2073 2074 } 2075 2076 @Block() 2077 public static class ValueSetExpansionComponent extends BackboneElement implements IBaseBackboneElement { 2078 /** 2079 * 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. 2080 */ 2081 @Child(name = "identifier", type = {UriType.class}, order=1, min=0, max=1, modifier=false, summary=false) 2082 @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." ) 2083 protected UriType identifier; 2084 2085 /** 2086 * The time at which the expansion was produced by the expanding system. 2087 */ 2088 @Child(name = "timestamp", type = {DateTimeType.class}, order=2, min=1, max=1, modifier=false, summary=false) 2089 @Description(shortDefinition="Time ValueSet expansion happened", formalDefinition="The time at which the expansion was produced by the expanding system." ) 2090 protected DateTimeType timestamp; 2091 2092 /** 2093 * 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. 2094 */ 2095 @Child(name = "total", type = {IntegerType.class}, order=3, min=0, max=1, modifier=false, summary=false) 2096 @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." ) 2097 protected IntegerType total; 2098 2099 /** 2100 * 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. 2101 */ 2102 @Child(name = "offset", type = {IntegerType.class}, order=4, min=0, max=1, modifier=false, summary=false) 2103 @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." ) 2104 protected IntegerType offset; 2105 2106 /** 2107 * 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. 2108 */ 2109 @Child(name = "parameter", type = {}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2110 @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." ) 2111 protected List<ValueSetExpansionParameterComponent> parameter; 2112 2113 /** 2114 * A property defines an additional slot through which additional information can be provided about a concept. 2115 */ 2116 @Child(name = "property", type = {}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2117 @Description(shortDefinition="Additional information supplied about each concept", formalDefinition="A property defines an additional slot through which additional information can be provided about a concept." ) 2118 protected List<ValueSetExpansionPropertyComponent> property; 2119 2120 /** 2121 * The codes that are contained in the value set expansion. 2122 */ 2123 @Child(name = "contains", type = {}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2124 @Description(shortDefinition="Codes in the value set", formalDefinition="The codes that are contained in the value set expansion." ) 2125 protected List<ValueSetExpansionContainsComponent> contains; 2126 2127 private static final long serialVersionUID = 12372258L; 2128 2129 /** 2130 * Constructor 2131 */ 2132 public ValueSetExpansionComponent() { 2133 super(); 2134 } 2135 2136 /** 2137 * Constructor 2138 */ 2139 public ValueSetExpansionComponent(Date timestamp) { 2140 super(); 2141 this.setTimestamp(timestamp); 2142 } 2143 2144 /** 2145 * @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 2146 */ 2147 public UriType getIdentifierElement() { 2148 if (this.identifier == null) 2149 if (Configuration.errorOnAutoCreate()) 2150 throw new Error("Attempt to auto-create ValueSetExpansionComponent.identifier"); 2151 else if (Configuration.doAutoCreate()) 2152 this.identifier = new UriType(); // bb 2153 return this.identifier; 2154 } 2155 2156 public boolean hasIdentifierElement() { 2157 return this.identifier != null && !this.identifier.isEmpty(); 2158 } 2159 2160 public boolean hasIdentifier() { 2161 return this.identifier != null && !this.identifier.isEmpty(); 2162 } 2163 2164 /** 2165 * @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 2166 */ 2167 public ValueSetExpansionComponent setIdentifierElement(UriType value) { 2168 this.identifier = value; 2169 return this; 2170 } 2171 2172 /** 2173 * @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. 2174 */ 2175 public String getIdentifier() { 2176 return this.identifier == null ? null : this.identifier.getValue(); 2177 } 2178 2179 /** 2180 * @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. 2181 */ 2182 public ValueSetExpansionComponent setIdentifier(String value) { 2183 if (Utilities.noString(value)) 2184 this.identifier = null; 2185 else { 2186 if (this.identifier == null) 2187 this.identifier = new UriType(); 2188 this.identifier.setValue(value); 2189 } 2190 return this; 2191 } 2192 2193 /** 2194 * @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 2195 */ 2196 public DateTimeType getTimestampElement() { 2197 if (this.timestamp == null) 2198 if (Configuration.errorOnAutoCreate()) 2199 throw new Error("Attempt to auto-create ValueSetExpansionComponent.timestamp"); 2200 else if (Configuration.doAutoCreate()) 2201 this.timestamp = new DateTimeType(); // bb 2202 return this.timestamp; 2203 } 2204 2205 public boolean hasTimestampElement() { 2206 return this.timestamp != null && !this.timestamp.isEmpty(); 2207 } 2208 2209 public boolean hasTimestamp() { 2210 return this.timestamp != null && !this.timestamp.isEmpty(); 2211 } 2212 2213 /** 2214 * @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 2215 */ 2216 public ValueSetExpansionComponent setTimestampElement(DateTimeType value) { 2217 this.timestamp = value; 2218 return this; 2219 } 2220 2221 /** 2222 * @return The time at which the expansion was produced by the expanding system. 2223 */ 2224 public Date getTimestamp() { 2225 return this.timestamp == null ? null : this.timestamp.getValue(); 2226 } 2227 2228 /** 2229 * @param value The time at which the expansion was produced by the expanding system. 2230 */ 2231 public ValueSetExpansionComponent setTimestamp(Date value) { 2232 if (this.timestamp == null) 2233 this.timestamp = new DateTimeType(); 2234 this.timestamp.setValue(value); 2235 return this; 2236 } 2237 2238 /** 2239 * @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 2240 */ 2241 public IntegerType getTotalElement() { 2242 if (this.total == null) 2243 if (Configuration.errorOnAutoCreate()) 2244 throw new Error("Attempt to auto-create ValueSetExpansionComponent.total"); 2245 else if (Configuration.doAutoCreate()) 2246 this.total = new IntegerType(); // bb 2247 return this.total; 2248 } 2249 2250 public boolean hasTotalElement() { 2251 return this.total != null && !this.total.isEmpty(); 2252 } 2253 2254 public boolean hasTotal() { 2255 return this.total != null && !this.total.isEmpty(); 2256 } 2257 2258 /** 2259 * @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 2260 */ 2261 public ValueSetExpansionComponent setTotalElement(IntegerType value) { 2262 this.total = value; 2263 return this; 2264 } 2265 2266 /** 2267 * @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. 2268 */ 2269 public int getTotal() { 2270 return this.total == null || this.total.isEmpty() ? 0 : this.total.getValue(); 2271 } 2272 2273 /** 2274 * @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. 2275 */ 2276 public ValueSetExpansionComponent setTotal(int value) { 2277 if (this.total == null) 2278 this.total = new IntegerType(); 2279 this.total.setValue(value); 2280 return this; 2281 } 2282 2283 /** 2284 * @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 2285 */ 2286 public IntegerType getOffsetElement() { 2287 if (this.offset == null) 2288 if (Configuration.errorOnAutoCreate()) 2289 throw new Error("Attempt to auto-create ValueSetExpansionComponent.offset"); 2290 else if (Configuration.doAutoCreate()) 2291 this.offset = new IntegerType(); // bb 2292 return this.offset; 2293 } 2294 2295 public boolean hasOffsetElement() { 2296 return this.offset != null && !this.offset.isEmpty(); 2297 } 2298 2299 public boolean hasOffset() { 2300 return this.offset != null && !this.offset.isEmpty(); 2301 } 2302 2303 /** 2304 * @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 2305 */ 2306 public ValueSetExpansionComponent setOffsetElement(IntegerType value) { 2307 this.offset = value; 2308 return this; 2309 } 2310 2311 /** 2312 * @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. 2313 */ 2314 public int getOffset() { 2315 return this.offset == null || this.offset.isEmpty() ? 0 : this.offset.getValue(); 2316 } 2317 2318 /** 2319 * @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. 2320 */ 2321 public ValueSetExpansionComponent setOffset(int value) { 2322 if (this.offset == null) 2323 this.offset = new IntegerType(); 2324 this.offset.setValue(value); 2325 return this; 2326 } 2327 2328 /** 2329 * @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.) 2330 */ 2331 public List<ValueSetExpansionParameterComponent> getParameter() { 2332 if (this.parameter == null) 2333 this.parameter = new ArrayList<ValueSetExpansionParameterComponent>(); 2334 return this.parameter; 2335 } 2336 2337 /** 2338 * @return Returns a reference to <code>this</code> for easy method chaining 2339 */ 2340 public ValueSetExpansionComponent setParameter(List<ValueSetExpansionParameterComponent> theParameter) { 2341 this.parameter = theParameter; 2342 return this; 2343 } 2344 2345 public boolean hasParameter() { 2346 if (this.parameter == null) 2347 return false; 2348 for (ValueSetExpansionParameterComponent item : this.parameter) 2349 if (!item.isEmpty()) 2350 return true; 2351 return false; 2352 } 2353 2354 public ValueSetExpansionParameterComponent addParameter() { //3 2355 ValueSetExpansionParameterComponent t = new ValueSetExpansionParameterComponent(); 2356 if (this.parameter == null) 2357 this.parameter = new ArrayList<ValueSetExpansionParameterComponent>(); 2358 this.parameter.add(t); 2359 return t; 2360 } 2361 2362 public ValueSetExpansionComponent addParameter(ValueSetExpansionParameterComponent t) { //3 2363 if (t == null) 2364 return this; 2365 if (this.parameter == null) 2366 this.parameter = new ArrayList<ValueSetExpansionParameterComponent>(); 2367 this.parameter.add(t); 2368 return this; 2369 } 2370 2371 /** 2372 * @return The first repetition of repeating field {@link #parameter}, creating it if it does not already exist {3} 2373 */ 2374 public ValueSetExpansionParameterComponent getParameterFirstRep() { 2375 if (getParameter().isEmpty()) { 2376 addParameter(); 2377 } 2378 return getParameter().get(0); 2379 } 2380 2381 /** 2382 * @return {@link #property} (A property defines an additional slot through which additional information can be provided about a concept.) 2383 */ 2384 public List<ValueSetExpansionPropertyComponent> getProperty() { 2385 if (this.property == null) 2386 this.property = new ArrayList<ValueSetExpansionPropertyComponent>(); 2387 return this.property; 2388 } 2389 2390 /** 2391 * @return Returns a reference to <code>this</code> for easy method chaining 2392 */ 2393 public ValueSetExpansionComponent setProperty(List<ValueSetExpansionPropertyComponent> theProperty) { 2394 this.property = theProperty; 2395 return this; 2396 } 2397 2398 public boolean hasProperty() { 2399 if (this.property == null) 2400 return false; 2401 for (ValueSetExpansionPropertyComponent item : this.property) 2402 if (!item.isEmpty()) 2403 return true; 2404 return false; 2405 } 2406 2407 public ValueSetExpansionPropertyComponent addProperty() { //3 2408 ValueSetExpansionPropertyComponent t = new ValueSetExpansionPropertyComponent(); 2409 if (this.property == null) 2410 this.property = new ArrayList<ValueSetExpansionPropertyComponent>(); 2411 this.property.add(t); 2412 return t; 2413 } 2414 2415 public ValueSetExpansionComponent addProperty(ValueSetExpansionPropertyComponent t) { //3 2416 if (t == null) 2417 return this; 2418 if (this.property == null) 2419 this.property = new ArrayList<ValueSetExpansionPropertyComponent>(); 2420 this.property.add(t); 2421 return this; 2422 } 2423 2424 /** 2425 * @return The first repetition of repeating field {@link #property}, creating it if it does not already exist {3} 2426 */ 2427 public ValueSetExpansionPropertyComponent getPropertyFirstRep() { 2428 if (getProperty().isEmpty()) { 2429 addProperty(); 2430 } 2431 return getProperty().get(0); 2432 } 2433 2434 /** 2435 * @return {@link #contains} (The codes that are contained in the value set expansion.) 2436 */ 2437 public List<ValueSetExpansionContainsComponent> getContains() { 2438 if (this.contains == null) 2439 this.contains = new ArrayList<ValueSetExpansionContainsComponent>(); 2440 return this.contains; 2441 } 2442 2443 /** 2444 * @return Returns a reference to <code>this</code> for easy method chaining 2445 */ 2446 public ValueSetExpansionComponent setContains(List<ValueSetExpansionContainsComponent> theContains) { 2447 this.contains = theContains; 2448 return this; 2449 } 2450 2451 public boolean hasContains() { 2452 if (this.contains == null) 2453 return false; 2454 for (ValueSetExpansionContainsComponent item : this.contains) 2455 if (!item.isEmpty()) 2456 return true; 2457 return false; 2458 } 2459 2460 public ValueSetExpansionContainsComponent addContains() { //3 2461 ValueSetExpansionContainsComponent t = new ValueSetExpansionContainsComponent(); 2462 if (this.contains == null) 2463 this.contains = new ArrayList<ValueSetExpansionContainsComponent>(); 2464 this.contains.add(t); 2465 return t; 2466 } 2467 2468 public ValueSetExpansionComponent addContains(ValueSetExpansionContainsComponent t) { //3 2469 if (t == null) 2470 return this; 2471 if (this.contains == null) 2472 this.contains = new ArrayList<ValueSetExpansionContainsComponent>(); 2473 this.contains.add(t); 2474 return this; 2475 } 2476 2477 /** 2478 * @return The first repetition of repeating field {@link #contains}, creating it if it does not already exist {3} 2479 */ 2480 public ValueSetExpansionContainsComponent getContainsFirstRep() { 2481 if (getContains().isEmpty()) { 2482 addContains(); 2483 } 2484 return getContains().get(0); 2485 } 2486 2487 protected void listChildren(List<Property> children) { 2488 super.listChildren(children); 2489 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)); 2490 children.add(new Property("timestamp", "dateTime", "The time at which the expansion was produced by the expanding system.", 0, 1, timestamp)); 2491 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)); 2492 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)); 2493 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)); 2494 children.add(new Property("property", "", "A property defines an additional slot through which additional information can be provided about a concept.", 0, java.lang.Integer.MAX_VALUE, property)); 2495 children.add(new Property("contains", "", "The codes that are contained in the value set expansion.", 0, java.lang.Integer.MAX_VALUE, contains)); 2496 } 2497 2498 @Override 2499 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 2500 switch (_hash) { 2501 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); 2502 case 55126294: /*timestamp*/ return new Property("timestamp", "dateTime", "The time at which the expansion was produced by the expanding system.", 0, 1, timestamp); 2503 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); 2504 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); 2505 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); 2506 case -993141291: /*property*/ return new Property("property", "", "A property defines an additional slot through which additional information can be provided about a concept.", 0, java.lang.Integer.MAX_VALUE, property); 2507 case -567445985: /*contains*/ return new Property("contains", "", "The codes that are contained in the value set expansion.", 0, java.lang.Integer.MAX_VALUE, contains); 2508 default: return super.getNamedProperty(_hash, _name, _checkValid); 2509 } 2510 2511 } 2512 2513 @Override 2514 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 2515 switch (hash) { 2516 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : new Base[] {this.identifier}; // UriType 2517 case 55126294: /*timestamp*/ return this.timestamp == null ? new Base[0] : new Base[] {this.timestamp}; // DateTimeType 2518 case 110549828: /*total*/ return this.total == null ? new Base[0] : new Base[] {this.total}; // IntegerType 2519 case -1019779949: /*offset*/ return this.offset == null ? new Base[0] : new Base[] {this.offset}; // IntegerType 2520 case 1954460585: /*parameter*/ return this.parameter == null ? new Base[0] : this.parameter.toArray(new Base[this.parameter.size()]); // ValueSetExpansionParameterComponent 2521 case -993141291: /*property*/ return this.property == null ? new Base[0] : this.property.toArray(new Base[this.property.size()]); // ValueSetExpansionPropertyComponent 2522 case -567445985: /*contains*/ return this.contains == null ? new Base[0] : this.contains.toArray(new Base[this.contains.size()]); // ValueSetExpansionContainsComponent 2523 default: return super.getProperty(hash, name, checkValid); 2524 } 2525 2526 } 2527 2528 @Override 2529 public Base setProperty(int hash, String name, Base value) throws FHIRException { 2530 switch (hash) { 2531 case -1618432855: // identifier 2532 this.identifier = TypeConvertor.castToUri(value); // UriType 2533 return value; 2534 case 55126294: // timestamp 2535 this.timestamp = TypeConvertor.castToDateTime(value); // DateTimeType 2536 return value; 2537 case 110549828: // total 2538 this.total = TypeConvertor.castToInteger(value); // IntegerType 2539 return value; 2540 case -1019779949: // offset 2541 this.offset = TypeConvertor.castToInteger(value); // IntegerType 2542 return value; 2543 case 1954460585: // parameter 2544 this.getParameter().add((ValueSetExpansionParameterComponent) value); // ValueSetExpansionParameterComponent 2545 return value; 2546 case -993141291: // property 2547 this.getProperty().add((ValueSetExpansionPropertyComponent) value); // ValueSetExpansionPropertyComponent 2548 return value; 2549 case -567445985: // contains 2550 this.getContains().add((ValueSetExpansionContainsComponent) value); // ValueSetExpansionContainsComponent 2551 return value; 2552 default: return super.setProperty(hash, name, value); 2553 } 2554 2555 } 2556 2557 @Override 2558 public Base setProperty(String name, Base value) throws FHIRException { 2559 if (name.equals("identifier")) { 2560 this.identifier = TypeConvertor.castToUri(value); // UriType 2561 } else if (name.equals("timestamp")) { 2562 this.timestamp = TypeConvertor.castToDateTime(value); // DateTimeType 2563 } else if (name.equals("total")) { 2564 this.total = TypeConvertor.castToInteger(value); // IntegerType 2565 } else if (name.equals("offset")) { 2566 this.offset = TypeConvertor.castToInteger(value); // IntegerType 2567 } else if (name.equals("parameter")) { 2568 this.getParameter().add((ValueSetExpansionParameterComponent) value); 2569 } else if (name.equals("property")) { 2570 this.getProperty().add((ValueSetExpansionPropertyComponent) value); 2571 } else if (name.equals("contains")) { 2572 this.getContains().add((ValueSetExpansionContainsComponent) value); 2573 } else 2574 return super.setProperty(name, value); 2575 return value; 2576 } 2577 2578 @Override 2579 public Base makeProperty(int hash, String name) throws FHIRException { 2580 switch (hash) { 2581 case -1618432855: return getIdentifierElement(); 2582 case 55126294: return getTimestampElement(); 2583 case 110549828: return getTotalElement(); 2584 case -1019779949: return getOffsetElement(); 2585 case 1954460585: return addParameter(); 2586 case -993141291: return addProperty(); 2587 case -567445985: return addContains(); 2588 default: return super.makeProperty(hash, name); 2589 } 2590 2591 } 2592 2593 @Override 2594 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2595 switch (hash) { 2596 case -1618432855: /*identifier*/ return new String[] {"uri"}; 2597 case 55126294: /*timestamp*/ return new String[] {"dateTime"}; 2598 case 110549828: /*total*/ return new String[] {"integer"}; 2599 case -1019779949: /*offset*/ return new String[] {"integer"}; 2600 case 1954460585: /*parameter*/ return new String[] {}; 2601 case -993141291: /*property*/ return new String[] {}; 2602 case -567445985: /*contains*/ return new String[] {}; 2603 default: return super.getTypesForProperty(hash, name); 2604 } 2605 2606 } 2607 2608 @Override 2609 public Base addChild(String name) throws FHIRException { 2610 if (name.equals("identifier")) { 2611 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.expansion.identifier"); 2612 } 2613 else if (name.equals("timestamp")) { 2614 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.expansion.timestamp"); 2615 } 2616 else if (name.equals("total")) { 2617 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.expansion.total"); 2618 } 2619 else if (name.equals("offset")) { 2620 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.expansion.offset"); 2621 } 2622 else if (name.equals("parameter")) { 2623 return addParameter(); 2624 } 2625 else if (name.equals("property")) { 2626 return addProperty(); 2627 } 2628 else if (name.equals("contains")) { 2629 return addContains(); 2630 } 2631 else 2632 return super.addChild(name); 2633 } 2634 2635 public ValueSetExpansionComponent copy() { 2636 ValueSetExpansionComponent dst = new ValueSetExpansionComponent(); 2637 copyValues(dst); 2638 return dst; 2639 } 2640 2641 public void copyValues(ValueSetExpansionComponent dst) { 2642 super.copyValues(dst); 2643 dst.identifier = identifier == null ? null : identifier.copy(); 2644 dst.timestamp = timestamp == null ? null : timestamp.copy(); 2645 dst.total = total == null ? null : total.copy(); 2646 dst.offset = offset == null ? null : offset.copy(); 2647 if (parameter != null) { 2648 dst.parameter = new ArrayList<ValueSetExpansionParameterComponent>(); 2649 for (ValueSetExpansionParameterComponent i : parameter) 2650 dst.parameter.add(i.copy()); 2651 }; 2652 if (property != null) { 2653 dst.property = new ArrayList<ValueSetExpansionPropertyComponent>(); 2654 for (ValueSetExpansionPropertyComponent i : property) 2655 dst.property.add(i.copy()); 2656 }; 2657 if (contains != null) { 2658 dst.contains = new ArrayList<ValueSetExpansionContainsComponent>(); 2659 for (ValueSetExpansionContainsComponent i : contains) 2660 dst.contains.add(i.copy()); 2661 }; 2662 } 2663 2664 @Override 2665 public boolean equalsDeep(Base other_) { 2666 if (!super.equalsDeep(other_)) 2667 return false; 2668 if (!(other_ instanceof ValueSetExpansionComponent)) 2669 return false; 2670 ValueSetExpansionComponent o = (ValueSetExpansionComponent) other_; 2671 return compareDeep(identifier, o.identifier, true) && compareDeep(timestamp, o.timestamp, true) 2672 && compareDeep(total, o.total, true) && compareDeep(offset, o.offset, true) && compareDeep(parameter, o.parameter, true) 2673 && compareDeep(property, o.property, true) && compareDeep(contains, o.contains, true); 2674 } 2675 2676 @Override 2677 public boolean equalsShallow(Base other_) { 2678 if (!super.equalsShallow(other_)) 2679 return false; 2680 if (!(other_ instanceof ValueSetExpansionComponent)) 2681 return false; 2682 ValueSetExpansionComponent o = (ValueSetExpansionComponent) other_; 2683 return compareValues(identifier, o.identifier, true) && compareValues(timestamp, o.timestamp, true) 2684 && compareValues(total, o.total, true) && compareValues(offset, o.offset, true); 2685 } 2686 2687 public boolean isEmpty() { 2688 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, timestamp, total 2689 , offset, parameter, property, contains); 2690 } 2691 2692 public String fhirType() { 2693 return "ValueSet.expansion"; 2694 2695 } 2696 2697 } 2698 2699 @Block() 2700 public static class ValueSetExpansionParameterComponent extends BackboneElement implements IBaseBackboneElement { 2701 /** 2702 * 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. 2703 */ 2704 @Child(name = "name", type = {StringType.class}, order=1, min=1, max=1, modifier=false, summary=false) 2705 @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." ) 2706 protected StringType name; 2707 2708 /** 2709 * The value of the parameter. 2710 */ 2711 @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) 2712 @Description(shortDefinition="Value of the named parameter", formalDefinition="The value of the parameter." ) 2713 protected DataType value; 2714 2715 private static final long serialVersionUID = 1839679495L; 2716 2717 /** 2718 * Constructor 2719 */ 2720 public ValueSetExpansionParameterComponent() { 2721 super(); 2722 } 2723 2724 /** 2725 * Constructor 2726 */ 2727 public ValueSetExpansionParameterComponent(String name) { 2728 super(); 2729 this.setName(name); 2730 } 2731 2732 /** 2733 * @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 2734 */ 2735 public StringType getNameElement() { 2736 if (this.name == null) 2737 if (Configuration.errorOnAutoCreate()) 2738 throw new Error("Attempt to auto-create ValueSetExpansionParameterComponent.name"); 2739 else if (Configuration.doAutoCreate()) 2740 this.name = new StringType(); // bb 2741 return this.name; 2742 } 2743 2744 public boolean hasNameElement() { 2745 return this.name != null && !this.name.isEmpty(); 2746 } 2747 2748 public boolean hasName() { 2749 return this.name != null && !this.name.isEmpty(); 2750 } 2751 2752 /** 2753 * @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 2754 */ 2755 public ValueSetExpansionParameterComponent setNameElement(StringType value) { 2756 this.name = value; 2757 return this; 2758 } 2759 2760 /** 2761 * @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. 2762 */ 2763 public String getName() { 2764 return this.name == null ? null : this.name.getValue(); 2765 } 2766 2767 /** 2768 * @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. 2769 */ 2770 public ValueSetExpansionParameterComponent setName(String value) { 2771 if (this.name == null) 2772 this.name = new StringType(); 2773 this.name.setValue(value); 2774 return this; 2775 } 2776 2777 /** 2778 * @return {@link #value} (The value of the parameter.) 2779 */ 2780 public DataType getValue() { 2781 return this.value; 2782 } 2783 2784 /** 2785 * @return {@link #value} (The value of the parameter.) 2786 */ 2787 public StringType getValueStringType() throws FHIRException { 2788 if (this.value == null) 2789 this.value = new StringType(); 2790 if (!(this.value instanceof StringType)) 2791 throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.value.getClass().getName()+" was encountered"); 2792 return (StringType) this.value; 2793 } 2794 2795 public boolean hasValueStringType() { 2796 return this != null && this.value instanceof StringType; 2797 } 2798 2799 /** 2800 * @return {@link #value} (The value of the parameter.) 2801 */ 2802 public BooleanType getValueBooleanType() throws FHIRException { 2803 if (this.value == null) 2804 this.value = new BooleanType(); 2805 if (!(this.value instanceof BooleanType)) 2806 throw new FHIRException("Type mismatch: the type BooleanType was expected, but "+this.value.getClass().getName()+" was encountered"); 2807 return (BooleanType) this.value; 2808 } 2809 2810 public boolean hasValueBooleanType() { 2811 return this != null && this.value instanceof BooleanType; 2812 } 2813 2814 /** 2815 * @return {@link #value} (The value of the parameter.) 2816 */ 2817 public IntegerType getValueIntegerType() throws FHIRException { 2818 if (this.value == null) 2819 this.value = new IntegerType(); 2820 if (!(this.value instanceof IntegerType)) 2821 throw new FHIRException("Type mismatch: the type IntegerType was expected, but "+this.value.getClass().getName()+" was encountered"); 2822 return (IntegerType) this.value; 2823 } 2824 2825 public boolean hasValueIntegerType() { 2826 return this != null && this.value instanceof IntegerType; 2827 } 2828 2829 /** 2830 * @return {@link #value} (The value of the parameter.) 2831 */ 2832 public DecimalType getValueDecimalType() throws FHIRException { 2833 if (this.value == null) 2834 this.value = new DecimalType(); 2835 if (!(this.value instanceof DecimalType)) 2836 throw new FHIRException("Type mismatch: the type DecimalType was expected, but "+this.value.getClass().getName()+" was encountered"); 2837 return (DecimalType) this.value; 2838 } 2839 2840 public boolean hasValueDecimalType() { 2841 return this != null && this.value instanceof DecimalType; 2842 } 2843 2844 /** 2845 * @return {@link #value} (The value of the parameter.) 2846 */ 2847 public UriType getValueUriType() throws FHIRException { 2848 if (this.value == null) 2849 this.value = new UriType(); 2850 if (!(this.value instanceof UriType)) 2851 throw new FHIRException("Type mismatch: the type UriType was expected, but "+this.value.getClass().getName()+" was encountered"); 2852 return (UriType) this.value; 2853 } 2854 2855 public boolean hasValueUriType() { 2856 return this != null && this.value instanceof UriType; 2857 } 2858 2859 /** 2860 * @return {@link #value} (The value of the parameter.) 2861 */ 2862 public CodeType getValueCodeType() throws FHIRException { 2863 if (this.value == null) 2864 this.value = new CodeType(); 2865 if (!(this.value instanceof CodeType)) 2866 throw new FHIRException("Type mismatch: the type CodeType was expected, but "+this.value.getClass().getName()+" was encountered"); 2867 return (CodeType) this.value; 2868 } 2869 2870 public boolean hasValueCodeType() { 2871 return this != null && this.value instanceof CodeType; 2872 } 2873 2874 /** 2875 * @return {@link #value} (The value of the parameter.) 2876 */ 2877 public DateTimeType getValueDateTimeType() throws FHIRException { 2878 if (this.value == null) 2879 this.value = new DateTimeType(); 2880 if (!(this.value instanceof DateTimeType)) 2881 throw new FHIRException("Type mismatch: the type DateTimeType was expected, but "+this.value.getClass().getName()+" was encountered"); 2882 return (DateTimeType) this.value; 2883 } 2884 2885 public boolean hasValueDateTimeType() { 2886 return this != null && this.value instanceof DateTimeType; 2887 } 2888 2889 public boolean hasValue() { 2890 return this.value != null && !this.value.isEmpty(); 2891 } 2892 2893 /** 2894 * @param value {@link #value} (The value of the parameter.) 2895 */ 2896 public ValueSetExpansionParameterComponent setValue(DataType value) { 2897 if (value != null && !(value instanceof StringType || value instanceof BooleanType || value instanceof IntegerType || value instanceof DecimalType || value instanceof UriType || value instanceof CodeType || value instanceof DateTimeType)) 2898 throw new Error("Not the right type for ValueSet.expansion.parameter.value[x]: "+value.fhirType()); 2899 this.value = value; 2900 return this; 2901 } 2902 2903 protected void listChildren(List<Property> children) { 2904 super.listChildren(children); 2905 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)); 2906 children.add(new Property("value[x]", "string|boolean|integer|decimal|uri|code|dateTime", "The value of the parameter.", 0, 1, value)); 2907 } 2908 2909 @Override 2910 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 2911 switch (_hash) { 2912 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); 2913 case -1410166417: /*value[x]*/ return new Property("value[x]", "string|boolean|integer|decimal|uri|code|dateTime", "The value of the parameter.", 0, 1, value); 2914 case 111972721: /*value*/ return new Property("value[x]", "string|boolean|integer|decimal|uri|code|dateTime", "The value of the parameter.", 0, 1, value); 2915 case -1424603934: /*valueString*/ return new Property("value[x]", "string", "The value of the parameter.", 0, 1, value); 2916 case 733421943: /*valueBoolean*/ return new Property("value[x]", "boolean", "The value of the parameter.", 0, 1, value); 2917 case -1668204915: /*valueInteger*/ return new Property("value[x]", "integer", "The value of the parameter.", 0, 1, value); 2918 case -2083993440: /*valueDecimal*/ return new Property("value[x]", "decimal", "The value of the parameter.", 0, 1, value); 2919 case -1410172357: /*valueUri*/ return new Property("value[x]", "uri", "The value of the parameter.", 0, 1, value); 2920 case -766209282: /*valueCode*/ return new Property("value[x]", "code", "The value of the parameter.", 0, 1, value); 2921 case 1047929900: /*valueDateTime*/ return new Property("value[x]", "dateTime", "The value of the parameter.", 0, 1, value); 2922 default: return super.getNamedProperty(_hash, _name, _checkValid); 2923 } 2924 2925 } 2926 2927 @Override 2928 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 2929 switch (hash) { 2930 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType 2931 case 111972721: /*value*/ return this.value == null ? new Base[0] : new Base[] {this.value}; // DataType 2932 default: return super.getProperty(hash, name, checkValid); 2933 } 2934 2935 } 2936 2937 @Override 2938 public Base setProperty(int hash, String name, Base value) throws FHIRException { 2939 switch (hash) { 2940 case 3373707: // name 2941 this.name = TypeConvertor.castToString(value); // StringType 2942 return value; 2943 case 111972721: // value 2944 this.value = TypeConvertor.castToType(value); // DataType 2945 return value; 2946 default: return super.setProperty(hash, name, value); 2947 } 2948 2949 } 2950 2951 @Override 2952 public Base setProperty(String name, Base value) throws FHIRException { 2953 if (name.equals("name")) { 2954 this.name = TypeConvertor.castToString(value); // StringType 2955 } else if (name.equals("value[x]")) { 2956 this.value = TypeConvertor.castToType(value); // DataType 2957 } else 2958 return super.setProperty(name, value); 2959 return value; 2960 } 2961 2962 @Override 2963 public Base makeProperty(int hash, String name) throws FHIRException { 2964 switch (hash) { 2965 case 3373707: return getNameElement(); 2966 case -1410166417: return getValue(); 2967 case 111972721: return getValue(); 2968 default: return super.makeProperty(hash, name); 2969 } 2970 2971 } 2972 2973 @Override 2974 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2975 switch (hash) { 2976 case 3373707: /*name*/ return new String[] {"string"}; 2977 case 111972721: /*value*/ return new String[] {"string", "boolean", "integer", "decimal", "uri", "code", "dateTime"}; 2978 default: return super.getTypesForProperty(hash, name); 2979 } 2980 2981 } 2982 2983 @Override 2984 public Base addChild(String name) throws FHIRException { 2985 if (name.equals("name")) { 2986 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.expansion.parameter.name"); 2987 } 2988 else if (name.equals("valueString")) { 2989 this.value = new StringType(); 2990 return this.value; 2991 } 2992 else if (name.equals("valueBoolean")) { 2993 this.value = new BooleanType(); 2994 return this.value; 2995 } 2996 else if (name.equals("valueInteger")) { 2997 this.value = new IntegerType(); 2998 return this.value; 2999 } 3000 else if (name.equals("valueDecimal")) { 3001 this.value = new DecimalType(); 3002 return this.value; 3003 } 3004 else if (name.equals("valueUri")) { 3005 this.value = new UriType(); 3006 return this.value; 3007 } 3008 else if (name.equals("valueCode")) { 3009 this.value = new CodeType(); 3010 return this.value; 3011 } 3012 else if (name.equals("valueDateTime")) { 3013 this.value = new DateTimeType(); 3014 return this.value; 3015 } 3016 else 3017 return super.addChild(name); 3018 } 3019 3020 public ValueSetExpansionParameterComponent copy() { 3021 ValueSetExpansionParameterComponent dst = new ValueSetExpansionParameterComponent(); 3022 copyValues(dst); 3023 return dst; 3024 } 3025 3026 public void copyValues(ValueSetExpansionParameterComponent dst) { 3027 super.copyValues(dst); 3028 dst.name = name == null ? null : name.copy(); 3029 dst.value = value == null ? null : value.copy(); 3030 } 3031 3032 @Override 3033 public boolean equalsDeep(Base other_) { 3034 if (!super.equalsDeep(other_)) 3035 return false; 3036 if (!(other_ instanceof ValueSetExpansionParameterComponent)) 3037 return false; 3038 ValueSetExpansionParameterComponent o = (ValueSetExpansionParameterComponent) other_; 3039 return compareDeep(name, o.name, true) && compareDeep(value, o.value, true); 3040 } 3041 3042 @Override 3043 public boolean equalsShallow(Base other_) { 3044 if (!super.equalsShallow(other_)) 3045 return false; 3046 if (!(other_ instanceof ValueSetExpansionParameterComponent)) 3047 return false; 3048 ValueSetExpansionParameterComponent o = (ValueSetExpansionParameterComponent) other_; 3049 return compareValues(name, o.name, true); 3050 } 3051 3052 public boolean isEmpty() { 3053 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(name, value); 3054 } 3055 3056 public String fhirType() { 3057 return "ValueSet.expansion.parameter"; 3058 3059 } 3060 3061 } 3062 3063 @Block() 3064 public static class ValueSetExpansionPropertyComponent extends BackboneElement implements IBaseBackboneElement { 3065 /** 3066 * A code that is used to identify the property. The code is used in ValueSet.expansion.contains.property.code. 3067 */ 3068 @Child(name = "code", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=false) 3069 @Description(shortDefinition="Identifies the property on the concepts, and when referred to in operations", formalDefinition="A code that is used to identify the property. The code is used in ValueSet.expansion.contains.property.code." ) 3070 protected CodeType code; 3071 3072 /** 3073 * Reference to the formal meaning of the property. One possible source of meaning is the [Concept Properties](codesystem-concept-properties.html) code system. 3074 */ 3075 @Child(name = "uri", type = {UriType.class}, order=2, min=0, max=1, modifier=false, summary=false) 3076 @Description(shortDefinition="Formal identifier for the property", formalDefinition="Reference to the formal meaning of the property. One possible source of meaning is the [Concept Properties](codesystem-concept-properties.html) code system." ) 3077 protected UriType uri; 3078 3079 private static final long serialVersionUID = 929575836L; 3080 3081 /** 3082 * Constructor 3083 */ 3084 public ValueSetExpansionPropertyComponent() { 3085 super(); 3086 } 3087 3088 /** 3089 * Constructor 3090 */ 3091 public ValueSetExpansionPropertyComponent(String code) { 3092 super(); 3093 this.setCode(code); 3094 } 3095 3096 /** 3097 * @return {@link #code} (A code that is used to identify the property. The code is used in ValueSet.expansion.contains.property.code.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value 3098 */ 3099 public CodeType getCodeElement() { 3100 if (this.code == null) 3101 if (Configuration.errorOnAutoCreate()) 3102 throw new Error("Attempt to auto-create ValueSetExpansionPropertyComponent.code"); 3103 else if (Configuration.doAutoCreate()) 3104 this.code = new CodeType(); // bb 3105 return this.code; 3106 } 3107 3108 public boolean hasCodeElement() { 3109 return this.code != null && !this.code.isEmpty(); 3110 } 3111 3112 public boolean hasCode() { 3113 return this.code != null && !this.code.isEmpty(); 3114 } 3115 3116 /** 3117 * @param value {@link #code} (A code that is used to identify the property. The code is used in ValueSet.expansion.contains.property.code.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value 3118 */ 3119 public ValueSetExpansionPropertyComponent setCodeElement(CodeType value) { 3120 this.code = value; 3121 return this; 3122 } 3123 3124 /** 3125 * @return A code that is used to identify the property. The code is used in ValueSet.expansion.contains.property.code. 3126 */ 3127 public String getCode() { 3128 return this.code == null ? null : this.code.getValue(); 3129 } 3130 3131 /** 3132 * @param value A code that is used to identify the property. The code is used in ValueSet.expansion.contains.property.code. 3133 */ 3134 public ValueSetExpansionPropertyComponent setCode(String value) { 3135 if (this.code == null) 3136 this.code = new CodeType(); 3137 this.code.setValue(value); 3138 return this; 3139 } 3140 3141 /** 3142 * @return {@link #uri} (Reference to the formal meaning of the property. One possible source of meaning is the [Concept Properties](codesystem-concept-properties.html) code system.). This is the underlying object with id, value and extensions. The accessor "getUri" gives direct access to the value 3143 */ 3144 public UriType getUriElement() { 3145 if (this.uri == null) 3146 if (Configuration.errorOnAutoCreate()) 3147 throw new Error("Attempt to auto-create ValueSetExpansionPropertyComponent.uri"); 3148 else if (Configuration.doAutoCreate()) 3149 this.uri = new UriType(); // bb 3150 return this.uri; 3151 } 3152 3153 public boolean hasUriElement() { 3154 return this.uri != null && !this.uri.isEmpty(); 3155 } 3156 3157 public boolean hasUri() { 3158 return this.uri != null && !this.uri.isEmpty(); 3159 } 3160 3161 /** 3162 * @param value {@link #uri} (Reference to the formal meaning of the property. One possible source of meaning is the [Concept Properties](codesystem-concept-properties.html) code system.). This is the underlying object with id, value and extensions. The accessor "getUri" gives direct access to the value 3163 */ 3164 public ValueSetExpansionPropertyComponent setUriElement(UriType value) { 3165 this.uri = value; 3166 return this; 3167 } 3168 3169 /** 3170 * @return Reference to the formal meaning of the property. One possible source of meaning is the [Concept Properties](codesystem-concept-properties.html) code system. 3171 */ 3172 public String getUri() { 3173 return this.uri == null ? null : this.uri.getValue(); 3174 } 3175 3176 /** 3177 * @param value Reference to the formal meaning of the property. One possible source of meaning is the [Concept Properties](codesystem-concept-properties.html) code system. 3178 */ 3179 public ValueSetExpansionPropertyComponent setUri(String value) { 3180 if (Utilities.noString(value)) 3181 this.uri = null; 3182 else { 3183 if (this.uri == null) 3184 this.uri = new UriType(); 3185 this.uri.setValue(value); 3186 } 3187 return this; 3188 } 3189 3190 protected void listChildren(List<Property> children) { 3191 super.listChildren(children); 3192 children.add(new Property("code", "code", "A code that is used to identify the property. The code is used in ValueSet.expansion.contains.property.code.", 0, 1, code)); 3193 children.add(new Property("uri", "uri", "Reference to the formal meaning of the property. One possible source of meaning is the [Concept Properties](codesystem-concept-properties.html) code system.", 0, 1, uri)); 3194 } 3195 3196 @Override 3197 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 3198 switch (_hash) { 3199 case 3059181: /*code*/ return new Property("code", "code", "A code that is used to identify the property. The code is used in ValueSet.expansion.contains.property.code.", 0, 1, code); 3200 case 116076: /*uri*/ return new Property("uri", "uri", "Reference to the formal meaning of the property. One possible source of meaning is the [Concept Properties](codesystem-concept-properties.html) code system.", 0, 1, uri); 3201 default: return super.getNamedProperty(_hash, _name, _checkValid); 3202 } 3203 3204 } 3205 3206 @Override 3207 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 3208 switch (hash) { 3209 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeType 3210 case 116076: /*uri*/ return this.uri == null ? new Base[0] : new Base[] {this.uri}; // UriType 3211 default: return super.getProperty(hash, name, checkValid); 3212 } 3213 3214 } 3215 3216 @Override 3217 public Base setProperty(int hash, String name, Base value) throws FHIRException { 3218 switch (hash) { 3219 case 3059181: // code 3220 this.code = TypeConvertor.castToCode(value); // CodeType 3221 return value; 3222 case 116076: // uri 3223 this.uri = TypeConvertor.castToUri(value); // UriType 3224 return value; 3225 default: return super.setProperty(hash, name, value); 3226 } 3227 3228 } 3229 3230 @Override 3231 public Base setProperty(String name, Base value) throws FHIRException { 3232 if (name.equals("code")) { 3233 this.code = TypeConvertor.castToCode(value); // CodeType 3234 } else if (name.equals("uri")) { 3235 this.uri = TypeConvertor.castToUri(value); // UriType 3236 } else 3237 return super.setProperty(name, value); 3238 return value; 3239 } 3240 3241 @Override 3242 public Base makeProperty(int hash, String name) throws FHIRException { 3243 switch (hash) { 3244 case 3059181: return getCodeElement(); 3245 case 116076: return getUriElement(); 3246 default: return super.makeProperty(hash, name); 3247 } 3248 3249 } 3250 3251 @Override 3252 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 3253 switch (hash) { 3254 case 3059181: /*code*/ return new String[] {"code"}; 3255 case 116076: /*uri*/ return new String[] {"uri"}; 3256 default: return super.getTypesForProperty(hash, name); 3257 } 3258 3259 } 3260 3261 @Override 3262 public Base addChild(String name) throws FHIRException { 3263 if (name.equals("code")) { 3264 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.expansion.property.code"); 3265 } 3266 else if (name.equals("uri")) { 3267 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.expansion.property.uri"); 3268 } 3269 else 3270 return super.addChild(name); 3271 } 3272 3273 public ValueSetExpansionPropertyComponent copy() { 3274 ValueSetExpansionPropertyComponent dst = new ValueSetExpansionPropertyComponent(); 3275 copyValues(dst); 3276 return dst; 3277 } 3278 3279 public void copyValues(ValueSetExpansionPropertyComponent dst) { 3280 super.copyValues(dst); 3281 dst.code = code == null ? null : code.copy(); 3282 dst.uri = uri == null ? null : uri.copy(); 3283 } 3284 3285 @Override 3286 public boolean equalsDeep(Base other_) { 3287 if (!super.equalsDeep(other_)) 3288 return false; 3289 if (!(other_ instanceof ValueSetExpansionPropertyComponent)) 3290 return false; 3291 ValueSetExpansionPropertyComponent o = (ValueSetExpansionPropertyComponent) other_; 3292 return compareDeep(code, o.code, true) && compareDeep(uri, o.uri, true); 3293 } 3294 3295 @Override 3296 public boolean equalsShallow(Base other_) { 3297 if (!super.equalsShallow(other_)) 3298 return false; 3299 if (!(other_ instanceof ValueSetExpansionPropertyComponent)) 3300 return false; 3301 ValueSetExpansionPropertyComponent o = (ValueSetExpansionPropertyComponent) other_; 3302 return compareValues(code, o.code, true) && compareValues(uri, o.uri, true); 3303 } 3304 3305 public boolean isEmpty() { 3306 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(code, uri); 3307 } 3308 3309 public String fhirType() { 3310 return "ValueSet.expansion.property"; 3311 3312 } 3313 3314 } 3315 3316 @Block() 3317 public static class ValueSetExpansionContainsComponent extends BackboneElement implements IBaseBackboneElement { 3318 /** 3319 * An absolute URI which is the code system in which the code for this item in the expansion is defined. 3320 */ 3321 @Child(name = "system", type = {UriType.class}, order=1, min=0, max=1, modifier=false, summary=false) 3322 @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." ) 3323 protected UriType system; 3324 3325 /** 3326 * If true, this entry is included in the expansion for navigational purposes, and the user cannot select the code directly as a proper value. 3327 */ 3328 @Child(name = "abstract", type = {BooleanType.class}, order=2, min=0, max=1, modifier=false, summary=false) 3329 @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." ) 3330 protected BooleanType abstract_; 3331 3332 /** 3333 * 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). 3334 */ 3335 @Child(name = "inactive", type = {BooleanType.class}, order=3, min=0, max=1, modifier=false, summary=false) 3336 @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)." ) 3337 protected BooleanType inactive; 3338 3339 /** 3340 * 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. 3341 */ 3342 @Child(name = "version", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=false) 3343 @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." ) 3344 protected StringType version; 3345 3346 /** 3347 * 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. 3348 */ 3349 @Child(name = "code", type = {CodeType.class}, order=5, min=0, max=1, modifier=false, summary=false) 3350 @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." ) 3351 protected CodeType code; 3352 3353 /** 3354 * The recommended display for this item in the expansion. 3355 */ 3356 @Child(name = "display", type = {StringType.class}, order=6, min=0, max=1, modifier=false, summary=false) 3357 @Description(shortDefinition="User display for the concept", formalDefinition="The recommended display for this item in the expansion." ) 3358 protected StringType display; 3359 3360 /** 3361 * 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. 3362 */ 3363 @Child(name = "designation", type = {ConceptReferenceDesignationComponent.class}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 3364 @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." ) 3365 protected List<ConceptReferenceDesignationComponent> designation; 3366 3367 /** 3368 * A property value for this concept. 3369 */ 3370 @Child(name = "property", type = {}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 3371 @Description(shortDefinition="Property value for the concept", formalDefinition="A property value for this concept." ) 3372 protected List<ConceptPropertyComponent> property; 3373 3374 /** 3375 * Other codes and entries contained under this entry in the hierarchy. 3376 */ 3377 @Child(name = "contains", type = {ValueSetExpansionContainsComponent.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 3378 @Description(shortDefinition="Codes contained under this entry", formalDefinition="Other codes and entries contained under this entry in the hierarchy." ) 3379 protected List<ValueSetExpansionContainsComponent> contains; 3380 3381 private static final long serialVersionUID = -1370569439L; 3382 3383 /** 3384 * Constructor 3385 */ 3386 public ValueSetExpansionContainsComponent() { 3387 super(); 3388 } 3389 3390 /** 3391 * @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 3392 */ 3393 public UriType getSystemElement() { 3394 if (this.system == null) 3395 if (Configuration.errorOnAutoCreate()) 3396 throw new Error("Attempt to auto-create ValueSetExpansionContainsComponent.system"); 3397 else if (Configuration.doAutoCreate()) 3398 this.system = new UriType(); // bb 3399 return this.system; 3400 } 3401 3402 public boolean hasSystemElement() { 3403 return this.system != null && !this.system.isEmpty(); 3404 } 3405 3406 public boolean hasSystem() { 3407 return this.system != null && !this.system.isEmpty(); 3408 } 3409 3410 /** 3411 * @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 3412 */ 3413 public ValueSetExpansionContainsComponent setSystemElement(UriType value) { 3414 this.system = value; 3415 return this; 3416 } 3417 3418 /** 3419 * @return An absolute URI which is the code system in which the code for this item in the expansion is defined. 3420 */ 3421 public String getSystem() { 3422 return this.system == null ? null : this.system.getValue(); 3423 } 3424 3425 /** 3426 * @param value An absolute URI which is the code system in which the code for this item in the expansion is defined. 3427 */ 3428 public ValueSetExpansionContainsComponent setSystem(String value) { 3429 if (Utilities.noString(value)) 3430 this.system = null; 3431 else { 3432 if (this.system == null) 3433 this.system = new UriType(); 3434 this.system.setValue(value); 3435 } 3436 return this; 3437 } 3438 3439 /** 3440 * @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 3441 */ 3442 public BooleanType getAbstractElement() { 3443 if (this.abstract_ == null) 3444 if (Configuration.errorOnAutoCreate()) 3445 throw new Error("Attempt to auto-create ValueSetExpansionContainsComponent.abstract_"); 3446 else if (Configuration.doAutoCreate()) 3447 this.abstract_ = new BooleanType(); // bb 3448 return this.abstract_; 3449 } 3450 3451 public boolean hasAbstractElement() { 3452 return this.abstract_ != null && !this.abstract_.isEmpty(); 3453 } 3454 3455 public boolean hasAbstract() { 3456 return this.abstract_ != null && !this.abstract_.isEmpty(); 3457 } 3458 3459 /** 3460 * @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 3461 */ 3462 public ValueSetExpansionContainsComponent setAbstractElement(BooleanType value) { 3463 this.abstract_ = value; 3464 return this; 3465 } 3466 3467 /** 3468 * @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. 3469 */ 3470 public boolean getAbstract() { 3471 return this.abstract_ == null || this.abstract_.isEmpty() ? false : this.abstract_.getValue(); 3472 } 3473 3474 /** 3475 * @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. 3476 */ 3477 public ValueSetExpansionContainsComponent setAbstract(boolean value) { 3478 if (this.abstract_ == null) 3479 this.abstract_ = new BooleanType(); 3480 this.abstract_.setValue(value); 3481 return this; 3482 } 3483 3484 /** 3485 * @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 3486 */ 3487 public BooleanType getInactiveElement() { 3488 if (this.inactive == null) 3489 if (Configuration.errorOnAutoCreate()) 3490 throw new Error("Attempt to auto-create ValueSetExpansionContainsComponent.inactive"); 3491 else if (Configuration.doAutoCreate()) 3492 this.inactive = new BooleanType(); // bb 3493 return this.inactive; 3494 } 3495 3496 public boolean hasInactiveElement() { 3497 return this.inactive != null && !this.inactive.isEmpty(); 3498 } 3499 3500 public boolean hasInactive() { 3501 return this.inactive != null && !this.inactive.isEmpty(); 3502 } 3503 3504 /** 3505 * @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 3506 */ 3507 public ValueSetExpansionContainsComponent setInactiveElement(BooleanType value) { 3508 this.inactive = value; 3509 return this; 3510 } 3511 3512 /** 3513 * @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). 3514 */ 3515 public boolean getInactive() { 3516 return this.inactive == null || this.inactive.isEmpty() ? false : this.inactive.getValue(); 3517 } 3518 3519 /** 3520 * @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). 3521 */ 3522 public ValueSetExpansionContainsComponent setInactive(boolean value) { 3523 if (this.inactive == null) 3524 this.inactive = new BooleanType(); 3525 this.inactive.setValue(value); 3526 return this; 3527 } 3528 3529 /** 3530 * @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 3531 */ 3532 public StringType getVersionElement() { 3533 if (this.version == null) 3534 if (Configuration.errorOnAutoCreate()) 3535 throw new Error("Attempt to auto-create ValueSetExpansionContainsComponent.version"); 3536 else if (Configuration.doAutoCreate()) 3537 this.version = new StringType(); // bb 3538 return this.version; 3539 } 3540 3541 public boolean hasVersionElement() { 3542 return this.version != null && !this.version.isEmpty(); 3543 } 3544 3545 public boolean hasVersion() { 3546 return this.version != null && !this.version.isEmpty(); 3547 } 3548 3549 /** 3550 * @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 3551 */ 3552 public ValueSetExpansionContainsComponent setVersionElement(StringType value) { 3553 this.version = value; 3554 return this; 3555 } 3556 3557 /** 3558 * @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. 3559 */ 3560 public String getVersion() { 3561 return this.version == null ? null : this.version.getValue(); 3562 } 3563 3564 /** 3565 * @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. 3566 */ 3567 public ValueSetExpansionContainsComponent setVersion(String value) { 3568 if (Utilities.noString(value)) 3569 this.version = null; 3570 else { 3571 if (this.version == null) 3572 this.version = new StringType(); 3573 this.version.setValue(value); 3574 } 3575 return this; 3576 } 3577 3578 /** 3579 * @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 3580 */ 3581 public CodeType getCodeElement() { 3582 if (this.code == null) 3583 if (Configuration.errorOnAutoCreate()) 3584 throw new Error("Attempt to auto-create ValueSetExpansionContainsComponent.code"); 3585 else if (Configuration.doAutoCreate()) 3586 this.code = new CodeType(); // bb 3587 return this.code; 3588 } 3589 3590 public boolean hasCodeElement() { 3591 return this.code != null && !this.code.isEmpty(); 3592 } 3593 3594 public boolean hasCode() { 3595 return this.code != null && !this.code.isEmpty(); 3596 } 3597 3598 /** 3599 * @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 3600 */ 3601 public ValueSetExpansionContainsComponent setCodeElement(CodeType value) { 3602 this.code = value; 3603 return this; 3604 } 3605 3606 /** 3607 * @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. 3608 */ 3609 public String getCode() { 3610 return this.code == null ? null : this.code.getValue(); 3611 } 3612 3613 /** 3614 * @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. 3615 */ 3616 public ValueSetExpansionContainsComponent setCode(String value) { 3617 if (Utilities.noString(value)) 3618 this.code = null; 3619 else { 3620 if (this.code == null) 3621 this.code = new CodeType(); 3622 this.code.setValue(value); 3623 } 3624 return this; 3625 } 3626 3627 /** 3628 * @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 3629 */ 3630 public StringType getDisplayElement() { 3631 if (this.display == null) 3632 if (Configuration.errorOnAutoCreate()) 3633 throw new Error("Attempt to auto-create ValueSetExpansionContainsComponent.display"); 3634 else if (Configuration.doAutoCreate()) 3635 this.display = new StringType(); // bb 3636 return this.display; 3637 } 3638 3639 public boolean hasDisplayElement() { 3640 return this.display != null && !this.display.isEmpty(); 3641 } 3642 3643 public boolean hasDisplay() { 3644 return this.display != null && !this.display.isEmpty(); 3645 } 3646 3647 /** 3648 * @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 3649 */ 3650 public ValueSetExpansionContainsComponent setDisplayElement(StringType value) { 3651 this.display = value; 3652 return this; 3653 } 3654 3655 /** 3656 * @return The recommended display for this item in the expansion. 3657 */ 3658 public String getDisplay() { 3659 return this.display == null ? null : this.display.getValue(); 3660 } 3661 3662 /** 3663 * @param value The recommended display for this item in the expansion. 3664 */ 3665 public ValueSetExpansionContainsComponent setDisplay(String value) { 3666 if (Utilities.noString(value)) 3667 this.display = null; 3668 else { 3669 if (this.display == null) 3670 this.display = new StringType(); 3671 this.display.setValue(value); 3672 } 3673 return this; 3674 } 3675 3676 /** 3677 * @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.) 3678 */ 3679 public List<ConceptReferenceDesignationComponent> getDesignation() { 3680 if (this.designation == null) 3681 this.designation = new ArrayList<ConceptReferenceDesignationComponent>(); 3682 return this.designation; 3683 } 3684 3685 /** 3686 * @return Returns a reference to <code>this</code> for easy method chaining 3687 */ 3688 public ValueSetExpansionContainsComponent setDesignation(List<ConceptReferenceDesignationComponent> theDesignation) { 3689 this.designation = theDesignation; 3690 return this; 3691 } 3692 3693 public boolean hasDesignation() { 3694 if (this.designation == null) 3695 return false; 3696 for (ConceptReferenceDesignationComponent item : this.designation) 3697 if (!item.isEmpty()) 3698 return true; 3699 return false; 3700 } 3701 3702 public ConceptReferenceDesignationComponent addDesignation() { //3 3703 ConceptReferenceDesignationComponent t = new ConceptReferenceDesignationComponent(); 3704 if (this.designation == null) 3705 this.designation = new ArrayList<ConceptReferenceDesignationComponent>(); 3706 this.designation.add(t); 3707 return t; 3708 } 3709 3710 public ValueSetExpansionContainsComponent addDesignation(ConceptReferenceDesignationComponent t) { //3 3711 if (t == null) 3712 return this; 3713 if (this.designation == null) 3714 this.designation = new ArrayList<ConceptReferenceDesignationComponent>(); 3715 this.designation.add(t); 3716 return this; 3717 } 3718 3719 /** 3720 * @return The first repetition of repeating field {@link #designation}, creating it if it does not already exist {3} 3721 */ 3722 public ConceptReferenceDesignationComponent getDesignationFirstRep() { 3723 if (getDesignation().isEmpty()) { 3724 addDesignation(); 3725 } 3726 return getDesignation().get(0); 3727 } 3728 3729 /** 3730 * @return {@link #property} (A property value for this concept.) 3731 */ 3732 public List<ConceptPropertyComponent> getProperty() { 3733 if (this.property == null) 3734 this.property = new ArrayList<ConceptPropertyComponent>(); 3735 return this.property; 3736 } 3737 3738 /** 3739 * @return Returns a reference to <code>this</code> for easy method chaining 3740 */ 3741 public ValueSetExpansionContainsComponent setProperty(List<ConceptPropertyComponent> theProperty) { 3742 this.property = theProperty; 3743 return this; 3744 } 3745 3746 public boolean hasProperty() { 3747 if (this.property == null) 3748 return false; 3749 for (ConceptPropertyComponent item : this.property) 3750 if (!item.isEmpty()) 3751 return true; 3752 return false; 3753 } 3754 3755 public ConceptPropertyComponent addProperty() { //3 3756 ConceptPropertyComponent t = new ConceptPropertyComponent(); 3757 if (this.property == null) 3758 this.property = new ArrayList<ConceptPropertyComponent>(); 3759 this.property.add(t); 3760 return t; 3761 } 3762 3763 public ValueSetExpansionContainsComponent addProperty(ConceptPropertyComponent t) { //3 3764 if (t == null) 3765 return this; 3766 if (this.property == null) 3767 this.property = new ArrayList<ConceptPropertyComponent>(); 3768 this.property.add(t); 3769 return this; 3770 } 3771 3772 /** 3773 * @return The first repetition of repeating field {@link #property}, creating it if it does not already exist {3} 3774 */ 3775 public ConceptPropertyComponent getPropertyFirstRep() { 3776 if (getProperty().isEmpty()) { 3777 addProperty(); 3778 } 3779 return getProperty().get(0); 3780 } 3781 3782 /** 3783 * @return {@link #contains} (Other codes and entries contained under this entry in the hierarchy.) 3784 */ 3785 public List<ValueSetExpansionContainsComponent> getContains() { 3786 if (this.contains == null) 3787 this.contains = new ArrayList<ValueSetExpansionContainsComponent>(); 3788 return this.contains; 3789 } 3790 3791 /** 3792 * @return Returns a reference to <code>this</code> for easy method chaining 3793 */ 3794 public ValueSetExpansionContainsComponent setContains(List<ValueSetExpansionContainsComponent> theContains) { 3795 this.contains = theContains; 3796 return this; 3797 } 3798 3799 public boolean hasContains() { 3800 if (this.contains == null) 3801 return false; 3802 for (ValueSetExpansionContainsComponent item : this.contains) 3803 if (!item.isEmpty()) 3804 return true; 3805 return false; 3806 } 3807 3808 public ValueSetExpansionContainsComponent addContains() { //3 3809 ValueSetExpansionContainsComponent t = new ValueSetExpansionContainsComponent(); 3810 if (this.contains == null) 3811 this.contains = new ArrayList<ValueSetExpansionContainsComponent>(); 3812 this.contains.add(t); 3813 return t; 3814 } 3815 3816 public ValueSetExpansionContainsComponent addContains(ValueSetExpansionContainsComponent t) { //3 3817 if (t == null) 3818 return this; 3819 if (this.contains == null) 3820 this.contains = new ArrayList<ValueSetExpansionContainsComponent>(); 3821 this.contains.add(t); 3822 return this; 3823 } 3824 3825 /** 3826 * @return The first repetition of repeating field {@link #contains}, creating it if it does not already exist {3} 3827 */ 3828 public ValueSetExpansionContainsComponent getContainsFirstRep() { 3829 if (getContains().isEmpty()) { 3830 addContains(); 3831 } 3832 return getContains().get(0); 3833 } 3834 3835 protected void listChildren(List<Property> children) { 3836 super.listChildren(children); 3837 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)); 3838 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_)); 3839 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)); 3840 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)); 3841 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)); 3842 children.add(new Property("display", "string", "The recommended display for this item in the expansion.", 0, 1, display)); 3843 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)); 3844 children.add(new Property("property", "", "A property value for this concept.", 0, java.lang.Integer.MAX_VALUE, property)); 3845 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)); 3846 } 3847 3848 @Override 3849 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 3850 switch (_hash) { 3851 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); 3852 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_); 3853 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); 3854 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); 3855 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); 3856 case 1671764162: /*display*/ return new Property("display", "string", "The recommended display for this item in the expansion.", 0, 1, display); 3857 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); 3858 case -993141291: /*property*/ return new Property("property", "", "A property value for this concept.", 0, java.lang.Integer.MAX_VALUE, property); 3859 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); 3860 default: return super.getNamedProperty(_hash, _name, _checkValid); 3861 } 3862 3863 } 3864 3865 @Override 3866 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 3867 switch (hash) { 3868 case -887328209: /*system*/ return this.system == null ? new Base[0] : new Base[] {this.system}; // UriType 3869 case 1732898850: /*abstract*/ return this.abstract_ == null ? new Base[0] : new Base[] {this.abstract_}; // BooleanType 3870 case 24665195: /*inactive*/ return this.inactive == null ? new Base[0] : new Base[] {this.inactive}; // BooleanType 3871 case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType 3872 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeType 3873 case 1671764162: /*display*/ return this.display == null ? new Base[0] : new Base[] {this.display}; // StringType 3874 case -900931593: /*designation*/ return this.designation == null ? new Base[0] : this.designation.toArray(new Base[this.designation.size()]); // ConceptReferenceDesignationComponent 3875 case -993141291: /*property*/ return this.property == null ? new Base[0] : this.property.toArray(new Base[this.property.size()]); // ConceptPropertyComponent 3876 case -567445985: /*contains*/ return this.contains == null ? new Base[0] : this.contains.toArray(new Base[this.contains.size()]); // ValueSetExpansionContainsComponent 3877 default: return super.getProperty(hash, name, checkValid); 3878 } 3879 3880 } 3881 3882 @Override 3883 public Base setProperty(int hash, String name, Base value) throws FHIRException { 3884 switch (hash) { 3885 case -887328209: // system 3886 this.system = TypeConvertor.castToUri(value); // UriType 3887 return value; 3888 case 1732898850: // abstract 3889 this.abstract_ = TypeConvertor.castToBoolean(value); // BooleanType 3890 return value; 3891 case 24665195: // inactive 3892 this.inactive = TypeConvertor.castToBoolean(value); // BooleanType 3893 return value; 3894 case 351608024: // version 3895 this.version = TypeConvertor.castToString(value); // StringType 3896 return value; 3897 case 3059181: // code 3898 this.code = TypeConvertor.castToCode(value); // CodeType 3899 return value; 3900 case 1671764162: // display 3901 this.display = TypeConvertor.castToString(value); // StringType 3902 return value; 3903 case -900931593: // designation 3904 this.getDesignation().add((ConceptReferenceDesignationComponent) value); // ConceptReferenceDesignationComponent 3905 return value; 3906 case -993141291: // property 3907 this.getProperty().add((ConceptPropertyComponent) value); // ConceptPropertyComponent 3908 return value; 3909 case -567445985: // contains 3910 this.getContains().add((ValueSetExpansionContainsComponent) value); // ValueSetExpansionContainsComponent 3911 return value; 3912 default: return super.setProperty(hash, name, value); 3913 } 3914 3915 } 3916 3917 @Override 3918 public Base setProperty(String name, Base value) throws FHIRException { 3919 if (name.equals("system")) { 3920 this.system = TypeConvertor.castToUri(value); // UriType 3921 } else if (name.equals("abstract")) { 3922 this.abstract_ = TypeConvertor.castToBoolean(value); // BooleanType 3923 } else if (name.equals("inactive")) { 3924 this.inactive = TypeConvertor.castToBoolean(value); // BooleanType 3925 } else if (name.equals("version")) { 3926 this.version = TypeConvertor.castToString(value); // StringType 3927 } else if (name.equals("code")) { 3928 this.code = TypeConvertor.castToCode(value); // CodeType 3929 } else if (name.equals("display")) { 3930 this.display = TypeConvertor.castToString(value); // StringType 3931 } else if (name.equals("designation")) { 3932 this.getDesignation().add((ConceptReferenceDesignationComponent) value); 3933 } else if (name.equals("property")) { 3934 this.getProperty().add((ConceptPropertyComponent) value); 3935 } else if (name.equals("contains")) { 3936 this.getContains().add((ValueSetExpansionContainsComponent) value); 3937 } else 3938 return super.setProperty(name, value); 3939 return value; 3940 } 3941 3942 @Override 3943 public Base makeProperty(int hash, String name) throws FHIRException { 3944 switch (hash) { 3945 case -887328209: return getSystemElement(); 3946 case 1732898850: return getAbstractElement(); 3947 case 24665195: return getInactiveElement(); 3948 case 351608024: return getVersionElement(); 3949 case 3059181: return getCodeElement(); 3950 case 1671764162: return getDisplayElement(); 3951 case -900931593: return addDesignation(); 3952 case -993141291: return addProperty(); 3953 case -567445985: return addContains(); 3954 default: return super.makeProperty(hash, name); 3955 } 3956 3957 } 3958 3959 @Override 3960 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 3961 switch (hash) { 3962 case -887328209: /*system*/ return new String[] {"uri"}; 3963 case 1732898850: /*abstract*/ return new String[] {"boolean"}; 3964 case 24665195: /*inactive*/ return new String[] {"boolean"}; 3965 case 351608024: /*version*/ return new String[] {"string"}; 3966 case 3059181: /*code*/ return new String[] {"code"}; 3967 case 1671764162: /*display*/ return new String[] {"string"}; 3968 case -900931593: /*designation*/ return new String[] {"@ValueSet.compose.include.concept.designation"}; 3969 case -993141291: /*property*/ return new String[] {}; 3970 case -567445985: /*contains*/ return new String[] {"@ValueSet.expansion.contains"}; 3971 default: return super.getTypesForProperty(hash, name); 3972 } 3973 3974 } 3975 3976 @Override 3977 public Base addChild(String name) throws FHIRException { 3978 if (name.equals("system")) { 3979 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.expansion.contains.system"); 3980 } 3981 else if (name.equals("abstract")) { 3982 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.expansion.contains.abstract"); 3983 } 3984 else if (name.equals("inactive")) { 3985 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.expansion.contains.inactive"); 3986 } 3987 else if (name.equals("version")) { 3988 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.expansion.contains.version"); 3989 } 3990 else if (name.equals("code")) { 3991 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.expansion.contains.code"); 3992 } 3993 else if (name.equals("display")) { 3994 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.expansion.contains.display"); 3995 } 3996 else if (name.equals("designation")) { 3997 return addDesignation(); 3998 } 3999 else if (name.equals("property")) { 4000 return addProperty(); 4001 } 4002 else if (name.equals("contains")) { 4003 return addContains(); 4004 } 4005 else 4006 return super.addChild(name); 4007 } 4008 4009 public ValueSetExpansionContainsComponent copy() { 4010 ValueSetExpansionContainsComponent dst = new ValueSetExpansionContainsComponent(); 4011 copyValues(dst); 4012 return dst; 4013 } 4014 4015 public void copyValues(ValueSetExpansionContainsComponent dst) { 4016 super.copyValues(dst); 4017 dst.system = system == null ? null : system.copy(); 4018 dst.abstract_ = abstract_ == null ? null : abstract_.copy(); 4019 dst.inactive = inactive == null ? null : inactive.copy(); 4020 dst.version = version == null ? null : version.copy(); 4021 dst.code = code == null ? null : code.copy(); 4022 dst.display = display == null ? null : display.copy(); 4023 if (designation != null) { 4024 dst.designation = new ArrayList<ConceptReferenceDesignationComponent>(); 4025 for (ConceptReferenceDesignationComponent i : designation) 4026 dst.designation.add(i.copy()); 4027 }; 4028 if (property != null) { 4029 dst.property = new ArrayList<ConceptPropertyComponent>(); 4030 for (ConceptPropertyComponent i : property) 4031 dst.property.add(i.copy()); 4032 }; 4033 if (contains != null) { 4034 dst.contains = new ArrayList<ValueSetExpansionContainsComponent>(); 4035 for (ValueSetExpansionContainsComponent i : contains) 4036 dst.contains.add(i.copy()); 4037 }; 4038 } 4039 4040 @Override 4041 public boolean equalsDeep(Base other_) { 4042 if (!super.equalsDeep(other_)) 4043 return false; 4044 if (!(other_ instanceof ValueSetExpansionContainsComponent)) 4045 return false; 4046 ValueSetExpansionContainsComponent o = (ValueSetExpansionContainsComponent) other_; 4047 return compareDeep(system, o.system, true) && compareDeep(abstract_, o.abstract_, true) && compareDeep(inactive, o.inactive, true) 4048 && compareDeep(version, o.version, true) && compareDeep(code, o.code, true) && compareDeep(display, o.display, true) 4049 && compareDeep(designation, o.designation, true) && compareDeep(property, o.property, true) && compareDeep(contains, o.contains, true) 4050 ; 4051 } 4052 4053 @Override 4054 public boolean equalsShallow(Base other_) { 4055 if (!super.equalsShallow(other_)) 4056 return false; 4057 if (!(other_ instanceof ValueSetExpansionContainsComponent)) 4058 return false; 4059 ValueSetExpansionContainsComponent o = (ValueSetExpansionContainsComponent) other_; 4060 return compareValues(system, o.system, true) && compareValues(abstract_, o.abstract_, true) && compareValues(inactive, o.inactive, true) 4061 && compareValues(version, o.version, true) && compareValues(code, o.code, true) && compareValues(display, o.display, true) 4062 ; 4063 } 4064 4065 public boolean isEmpty() { 4066 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(system, abstract_, inactive 4067 , version, code, display, designation, property, contains); 4068 } 4069 4070 public String fhirType() { 4071 return "ValueSet.expansion.contains"; 4072 4073 } 4074 4075 } 4076 4077 @Block() 4078 public static class ConceptPropertyComponent extends BackboneElement implements IBaseBackboneElement { 4079 /** 4080 * A code that is a reference to ValueSet.expansion.property.code. 4081 */ 4082 @Child(name = "code", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=false) 4083 @Description(shortDefinition="Reference to ValueSet.expansion.property.code", formalDefinition="A code that is a reference to ValueSet.expansion.property.code." ) 4084 protected CodeType code; 4085 4086 /** 4087 * The value of this property. 4088 */ 4089 @Child(name = "value", type = {CodeType.class, Coding.class, StringType.class, IntegerType.class, BooleanType.class, DateTimeType.class, DecimalType.class}, order=2, min=1, max=1, modifier=false, summary=false) 4090 @Description(shortDefinition="Value of the property for this concept", formalDefinition="The value of this property." ) 4091 protected DataType value; 4092 4093 private static final long serialVersionUID = -422546419L; 4094 4095 /** 4096 * Constructor 4097 */ 4098 public ConceptPropertyComponent() { 4099 super(); 4100 } 4101 4102 /** 4103 * Constructor 4104 */ 4105 public ConceptPropertyComponent(String code, DataType value) { 4106 super(); 4107 this.setCode(code); 4108 this.setValue(value); 4109 } 4110 4111 /** 4112 * @return {@link #code} (A code that is a reference to ValueSet.expansion.property.code.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value 4113 */ 4114 public CodeType getCodeElement() { 4115 if (this.code == null) 4116 if (Configuration.errorOnAutoCreate()) 4117 throw new Error("Attempt to auto-create ConceptPropertyComponent.code"); 4118 else if (Configuration.doAutoCreate()) 4119 this.code = new CodeType(); // bb 4120 return this.code; 4121 } 4122 4123 public boolean hasCodeElement() { 4124 return this.code != null && !this.code.isEmpty(); 4125 } 4126 4127 public boolean hasCode() { 4128 return this.code != null && !this.code.isEmpty(); 4129 } 4130 4131 /** 4132 * @param value {@link #code} (A code that is a reference to ValueSet.expansion.property.code.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value 4133 */ 4134 public ConceptPropertyComponent setCodeElement(CodeType value) { 4135 this.code = value; 4136 return this; 4137 } 4138 4139 /** 4140 * @return A code that is a reference to ValueSet.expansion.property.code. 4141 */ 4142 public String getCode() { 4143 return this.code == null ? null : this.code.getValue(); 4144 } 4145 4146 /** 4147 * @param value A code that is a reference to ValueSet.expansion.property.code. 4148 */ 4149 public ConceptPropertyComponent setCode(String value) { 4150 if (this.code == null) 4151 this.code = new CodeType(); 4152 this.code.setValue(value); 4153 return this; 4154 } 4155 4156 /** 4157 * @return {@link #value} (The value of this property.) 4158 */ 4159 public DataType getValue() { 4160 return this.value; 4161 } 4162 4163 /** 4164 * @return {@link #value} (The value of this property.) 4165 */ 4166 public CodeType getValueCodeType() throws FHIRException { 4167 if (this.value == null) 4168 this.value = new CodeType(); 4169 if (!(this.value instanceof CodeType)) 4170 throw new FHIRException("Type mismatch: the type CodeType was expected, but "+this.value.getClass().getName()+" was encountered"); 4171 return (CodeType) this.value; 4172 } 4173 4174 public boolean hasValueCodeType() { 4175 return this != null && this.value instanceof CodeType; 4176 } 4177 4178 /** 4179 * @return {@link #value} (The value of this property.) 4180 */ 4181 public Coding getValueCoding() throws FHIRException { 4182 if (this.value == null) 4183 this.value = new Coding(); 4184 if (!(this.value instanceof Coding)) 4185 throw new FHIRException("Type mismatch: the type Coding was expected, but "+this.value.getClass().getName()+" was encountered"); 4186 return (Coding) this.value; 4187 } 4188 4189 public boolean hasValueCoding() { 4190 return this != null && this.value instanceof Coding; 4191 } 4192 4193 /** 4194 * @return {@link #value} (The value of this property.) 4195 */ 4196 public StringType getValueStringType() throws FHIRException { 4197 if (this.value == null) 4198 this.value = new StringType(); 4199 if (!(this.value instanceof StringType)) 4200 throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.value.getClass().getName()+" was encountered"); 4201 return (StringType) this.value; 4202 } 4203 4204 public boolean hasValueStringType() { 4205 return this != null && this.value instanceof StringType; 4206 } 4207 4208 /** 4209 * @return {@link #value} (The value of this property.) 4210 */ 4211 public IntegerType getValueIntegerType() throws FHIRException { 4212 if (this.value == null) 4213 this.value = new IntegerType(); 4214 if (!(this.value instanceof IntegerType)) 4215 throw new FHIRException("Type mismatch: the type IntegerType was expected, but "+this.value.getClass().getName()+" was encountered"); 4216 return (IntegerType) this.value; 4217 } 4218 4219 public boolean hasValueIntegerType() { 4220 return this != null && this.value instanceof IntegerType; 4221 } 4222 4223 /** 4224 * @return {@link #value} (The value of this property.) 4225 */ 4226 public BooleanType getValueBooleanType() throws FHIRException { 4227 if (this.value == null) 4228 this.value = new BooleanType(); 4229 if (!(this.value instanceof BooleanType)) 4230 throw new FHIRException("Type mismatch: the type BooleanType was expected, but "+this.value.getClass().getName()+" was encountered"); 4231 return (BooleanType) this.value; 4232 } 4233 4234 public boolean hasValueBooleanType() { 4235 return this != null && this.value instanceof BooleanType; 4236 } 4237 4238 /** 4239 * @return {@link #value} (The value of this property.) 4240 */ 4241 public DateTimeType getValueDateTimeType() throws FHIRException { 4242 if (this.value == null) 4243 this.value = new DateTimeType(); 4244 if (!(this.value instanceof DateTimeType)) 4245 throw new FHIRException("Type mismatch: the type DateTimeType was expected, but "+this.value.getClass().getName()+" was encountered"); 4246 return (DateTimeType) this.value; 4247 } 4248 4249 public boolean hasValueDateTimeType() { 4250 return this != null && this.value instanceof DateTimeType; 4251 } 4252 4253 /** 4254 * @return {@link #value} (The value of this property.) 4255 */ 4256 public DecimalType getValueDecimalType() throws FHIRException { 4257 if (this.value == null) 4258 this.value = new DecimalType(); 4259 if (!(this.value instanceof DecimalType)) 4260 throw new FHIRException("Type mismatch: the type DecimalType was expected, but "+this.value.getClass().getName()+" was encountered"); 4261 return (DecimalType) this.value; 4262 } 4263 4264 public boolean hasValueDecimalType() { 4265 return this != null && this.value instanceof DecimalType; 4266 } 4267 4268 public boolean hasValue() { 4269 return this.value != null && !this.value.isEmpty(); 4270 } 4271 4272 /** 4273 * @param value {@link #value} (The value of this property.) 4274 */ 4275 public ConceptPropertyComponent setValue(DataType value) { 4276 if (value != null && !(value instanceof CodeType || value instanceof Coding || value instanceof StringType || value instanceof IntegerType || value instanceof BooleanType || value instanceof DateTimeType || value instanceof DecimalType)) 4277 throw new Error("Not the right type for ValueSet.expansion.contains.property.value[x]: "+value.fhirType()); 4278 this.value = value; 4279 return this; 4280 } 4281 4282 protected void listChildren(List<Property> children) { 4283 super.listChildren(children); 4284 children.add(new Property("code", "code", "A code that is a reference to ValueSet.expansion.property.code.", 0, 1, code)); 4285 children.add(new Property("value[x]", "code|Coding|string|integer|boolean|dateTime|decimal", "The value of this property.", 0, 1, value)); 4286 } 4287 4288 @Override 4289 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 4290 switch (_hash) { 4291 case 3059181: /*code*/ return new Property("code", "code", "A code that is a reference to ValueSet.expansion.property.code.", 0, 1, code); 4292 case -1410166417: /*value[x]*/ return new Property("value[x]", "code|Coding|string|integer|boolean|dateTime|decimal", "The value of this property.", 0, 1, value); 4293 case 111972721: /*value*/ return new Property("value[x]", "code|Coding|string|integer|boolean|dateTime|decimal", "The value of this property.", 0, 1, value); 4294 case -766209282: /*valueCode*/ return new Property("value[x]", "code", "The value of this property.", 0, 1, value); 4295 case -1887705029: /*valueCoding*/ return new Property("value[x]", "Coding", "The value of this property.", 0, 1, value); 4296 case -1424603934: /*valueString*/ return new Property("value[x]", "string", "The value of this property.", 0, 1, value); 4297 case -1668204915: /*valueInteger*/ return new Property("value[x]", "integer", "The value of this property.", 0, 1, value); 4298 case 733421943: /*valueBoolean*/ return new Property("value[x]", "boolean", "The value of this property.", 0, 1, value); 4299 case 1047929900: /*valueDateTime*/ return new Property("value[x]", "dateTime", "The value of this property.", 0, 1, value); 4300 case -2083993440: /*valueDecimal*/ return new Property("value[x]", "decimal", "The value of this property.", 0, 1, value); 4301 default: return super.getNamedProperty(_hash, _name, _checkValid); 4302 } 4303 4304 } 4305 4306 @Override 4307 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 4308 switch (hash) { 4309 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeType 4310 case 111972721: /*value*/ return this.value == null ? new Base[0] : new Base[] {this.value}; // DataType 4311 default: return super.getProperty(hash, name, checkValid); 4312 } 4313 4314 } 4315 4316 @Override 4317 public Base setProperty(int hash, String name, Base value) throws FHIRException { 4318 switch (hash) { 4319 case 3059181: // code 4320 this.code = TypeConvertor.castToCode(value); // CodeType 4321 return value; 4322 case 111972721: // value 4323 this.value = TypeConvertor.castToType(value); // DataType 4324 return value; 4325 default: return super.setProperty(hash, name, value); 4326 } 4327 4328 } 4329 4330 @Override 4331 public Base setProperty(String name, Base value) throws FHIRException { 4332 if (name.equals("code")) { 4333 this.code = TypeConvertor.castToCode(value); // CodeType 4334 } else if (name.equals("value[x]")) { 4335 this.value = TypeConvertor.castToType(value); // DataType 4336 } else 4337 return super.setProperty(name, value); 4338 return value; 4339 } 4340 4341 @Override 4342 public Base makeProperty(int hash, String name) throws FHIRException { 4343 switch (hash) { 4344 case 3059181: return getCodeElement(); 4345 case -1410166417: return getValue(); 4346 case 111972721: return getValue(); 4347 default: return super.makeProperty(hash, name); 4348 } 4349 4350 } 4351 4352 @Override 4353 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 4354 switch (hash) { 4355 case 3059181: /*code*/ return new String[] {"code"}; 4356 case 111972721: /*value*/ return new String[] {"code", "Coding", "string", "integer", "boolean", "dateTime", "decimal"}; 4357 default: return super.getTypesForProperty(hash, name); 4358 } 4359 4360 } 4361 4362 @Override 4363 public Base addChild(String name) throws FHIRException { 4364 if (name.equals("code")) { 4365 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.expansion.contains.property.code"); 4366 } 4367 else if (name.equals("valueCode")) { 4368 this.value = new CodeType(); 4369 return this.value; 4370 } 4371 else if (name.equals("valueCoding")) { 4372 this.value = new Coding(); 4373 return this.value; 4374 } 4375 else if (name.equals("valueString")) { 4376 this.value = new StringType(); 4377 return this.value; 4378 } 4379 else if (name.equals("valueInteger")) { 4380 this.value = new IntegerType(); 4381 return this.value; 4382 } 4383 else if (name.equals("valueBoolean")) { 4384 this.value = new BooleanType(); 4385 return this.value; 4386 } 4387 else if (name.equals("valueDateTime")) { 4388 this.value = new DateTimeType(); 4389 return this.value; 4390 } 4391 else if (name.equals("valueDecimal")) { 4392 this.value = new DecimalType(); 4393 return this.value; 4394 } 4395 else 4396 return super.addChild(name); 4397 } 4398 4399 public ConceptPropertyComponent copy() { 4400 ConceptPropertyComponent dst = new ConceptPropertyComponent(); 4401 copyValues(dst); 4402 return dst; 4403 } 4404 4405 public void copyValues(ConceptPropertyComponent dst) { 4406 super.copyValues(dst); 4407 dst.code = code == null ? null : code.copy(); 4408 dst.value = value == null ? null : value.copy(); 4409 } 4410 4411 @Override 4412 public boolean equalsDeep(Base other_) { 4413 if (!super.equalsDeep(other_)) 4414 return false; 4415 if (!(other_ instanceof ConceptPropertyComponent)) 4416 return false; 4417 ConceptPropertyComponent o = (ConceptPropertyComponent) other_; 4418 return compareDeep(code, o.code, true) && compareDeep(value, o.value, true); 4419 } 4420 4421 @Override 4422 public boolean equalsShallow(Base other_) { 4423 if (!super.equalsShallow(other_)) 4424 return false; 4425 if (!(other_ instanceof ConceptPropertyComponent)) 4426 return false; 4427 ConceptPropertyComponent o = (ConceptPropertyComponent) other_; 4428 return compareValues(code, o.code, true); 4429 } 4430 4431 public boolean isEmpty() { 4432 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(code, value); 4433 } 4434 4435 public String fhirType() { 4436 return "ValueSet.expansion.contains.property"; 4437 4438 } 4439 4440 } 4441 4442 @Block() 4443 public static class ValueSetScopeComponent extends BackboneElement implements IBaseBackboneElement { 4444 /** 4445 * The general focus of the Value Set as it relates to the intended semantic space. This can be the information about clinical relevancy or the statement about the general focus of the Value Set, such as a description of types of messages, payment options, geographic locations, etc. 4446 */ 4447 @Child(name = "focus", type = {StringType.class}, order=1, min=0, max=1, modifier=false, summary=false) 4448 @Description(shortDefinition="General focus of the Value Set as it relates to the intended semantic space", formalDefinition="The general focus of the Value Set as it relates to the intended semantic space. This can be the information about clinical relevancy or the statement about the general focus of the Value Set, such as a description of types of messages, payment options, geographic locations, etc." ) 4449 protected StringType focus; 4450 4451 /** 4452 * Criteria describing which concepts or codes should be included and why. 4453 */ 4454 @Child(name = "inclusionCriteria", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=false) 4455 @Description(shortDefinition="Criteria describing which concepts or codes should be included and why", formalDefinition="Criteria describing which concepts or codes should be included and why." ) 4456 protected StringType inclusionCriteria; 4457 4458 /** 4459 * Criteria describing which concepts or codes should be excluded and why. 4460 */ 4461 @Child(name = "exclusionCriteria", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=false) 4462 @Description(shortDefinition="Criteria describing which concepts or codes should be excluded and why", formalDefinition="Criteria describing which concepts or codes should be excluded and why." ) 4463 protected StringType exclusionCriteria; 4464 4465 private static final long serialVersionUID = -467705711L; 4466 4467 /** 4468 * Constructor 4469 */ 4470 public ValueSetScopeComponent() { 4471 super(); 4472 } 4473 4474 /** 4475 * @return {@link #focus} (The general focus of the Value Set as it relates to the intended semantic space. This can be the information about clinical relevancy or the statement about the general focus of the Value Set, such as a description of types of messages, payment options, geographic locations, etc.). This is the underlying object with id, value and extensions. The accessor "getFocus" gives direct access to the value 4476 */ 4477 public StringType getFocusElement() { 4478 if (this.focus == null) 4479 if (Configuration.errorOnAutoCreate()) 4480 throw new Error("Attempt to auto-create ValueSetScopeComponent.focus"); 4481 else if (Configuration.doAutoCreate()) 4482 this.focus = new StringType(); // bb 4483 return this.focus; 4484 } 4485 4486 public boolean hasFocusElement() { 4487 return this.focus != null && !this.focus.isEmpty(); 4488 } 4489 4490 public boolean hasFocus() { 4491 return this.focus != null && !this.focus.isEmpty(); 4492 } 4493 4494 /** 4495 * @param value {@link #focus} (The general focus of the Value Set as it relates to the intended semantic space. This can be the information about clinical relevancy or the statement about the general focus of the Value Set, such as a description of types of messages, payment options, geographic locations, etc.). This is the underlying object with id, value and extensions. The accessor "getFocus" gives direct access to the value 4496 */ 4497 public ValueSetScopeComponent setFocusElement(StringType value) { 4498 this.focus = value; 4499 return this; 4500 } 4501 4502 /** 4503 * @return The general focus of the Value Set as it relates to the intended semantic space. This can be the information about clinical relevancy or the statement about the general focus of the Value Set, such as a description of types of messages, payment options, geographic locations, etc. 4504 */ 4505 public String getFocus() { 4506 return this.focus == null ? null : this.focus.getValue(); 4507 } 4508 4509 /** 4510 * @param value The general focus of the Value Set as it relates to the intended semantic space. This can be the information about clinical relevancy or the statement about the general focus of the Value Set, such as a description of types of messages, payment options, geographic locations, etc. 4511 */ 4512 public ValueSetScopeComponent setFocus(String value) { 4513 if (Utilities.noString(value)) 4514 this.focus = null; 4515 else { 4516 if (this.focus == null) 4517 this.focus = new StringType(); 4518 this.focus.setValue(value); 4519 } 4520 return this; 4521 } 4522 4523 /** 4524 * @return {@link #inclusionCriteria} (Criteria describing which concepts or codes should be included and why.). This is the underlying object with id, value and extensions. The accessor "getInclusionCriteria" gives direct access to the value 4525 */ 4526 public StringType getInclusionCriteriaElement() { 4527 if (this.inclusionCriteria == null) 4528 if (Configuration.errorOnAutoCreate()) 4529 throw new Error("Attempt to auto-create ValueSetScopeComponent.inclusionCriteria"); 4530 else if (Configuration.doAutoCreate()) 4531 this.inclusionCriteria = new StringType(); // bb 4532 return this.inclusionCriteria; 4533 } 4534 4535 public boolean hasInclusionCriteriaElement() { 4536 return this.inclusionCriteria != null && !this.inclusionCriteria.isEmpty(); 4537 } 4538 4539 public boolean hasInclusionCriteria() { 4540 return this.inclusionCriteria != null && !this.inclusionCriteria.isEmpty(); 4541 } 4542 4543 /** 4544 * @param value {@link #inclusionCriteria} (Criteria describing which concepts or codes should be included and why.). This is the underlying object with id, value and extensions. The accessor "getInclusionCriteria" gives direct access to the value 4545 */ 4546 public ValueSetScopeComponent setInclusionCriteriaElement(StringType value) { 4547 this.inclusionCriteria = value; 4548 return this; 4549 } 4550 4551 /** 4552 * @return Criteria describing which concepts or codes should be included and why. 4553 */ 4554 public String getInclusionCriteria() { 4555 return this.inclusionCriteria == null ? null : this.inclusionCriteria.getValue(); 4556 } 4557 4558 /** 4559 * @param value Criteria describing which concepts or codes should be included and why. 4560 */ 4561 public ValueSetScopeComponent setInclusionCriteria(String value) { 4562 if (Utilities.noString(value)) 4563 this.inclusionCriteria = null; 4564 else { 4565 if (this.inclusionCriteria == null) 4566 this.inclusionCriteria = new StringType(); 4567 this.inclusionCriteria.setValue(value); 4568 } 4569 return this; 4570 } 4571 4572 /** 4573 * @return {@link #exclusionCriteria} (Criteria describing which concepts or codes should be excluded and why.). This is the underlying object with id, value and extensions. The accessor "getExclusionCriteria" gives direct access to the value 4574 */ 4575 public StringType getExclusionCriteriaElement() { 4576 if (this.exclusionCriteria == null) 4577 if (Configuration.errorOnAutoCreate()) 4578 throw new Error("Attempt to auto-create ValueSetScopeComponent.exclusionCriteria"); 4579 else if (Configuration.doAutoCreate()) 4580 this.exclusionCriteria = new StringType(); // bb 4581 return this.exclusionCriteria; 4582 } 4583 4584 public boolean hasExclusionCriteriaElement() { 4585 return this.exclusionCriteria != null && !this.exclusionCriteria.isEmpty(); 4586 } 4587 4588 public boolean hasExclusionCriteria() { 4589 return this.exclusionCriteria != null && !this.exclusionCriteria.isEmpty(); 4590 } 4591 4592 /** 4593 * @param value {@link #exclusionCriteria} (Criteria describing which concepts or codes should be excluded and why.). This is the underlying object with id, value and extensions. The accessor "getExclusionCriteria" gives direct access to the value 4594 */ 4595 public ValueSetScopeComponent setExclusionCriteriaElement(StringType value) { 4596 this.exclusionCriteria = value; 4597 return this; 4598 } 4599 4600 /** 4601 * @return Criteria describing which concepts or codes should be excluded and why. 4602 */ 4603 public String getExclusionCriteria() { 4604 return this.exclusionCriteria == null ? null : this.exclusionCriteria.getValue(); 4605 } 4606 4607 /** 4608 * @param value Criteria describing which concepts or codes should be excluded and why. 4609 */ 4610 public ValueSetScopeComponent setExclusionCriteria(String value) { 4611 if (Utilities.noString(value)) 4612 this.exclusionCriteria = null; 4613 else { 4614 if (this.exclusionCriteria == null) 4615 this.exclusionCriteria = new StringType(); 4616 this.exclusionCriteria.setValue(value); 4617 } 4618 return this; 4619 } 4620 4621 protected void listChildren(List<Property> children) { 4622 super.listChildren(children); 4623 children.add(new Property("focus", "string", "The general focus of the Value Set as it relates to the intended semantic space. This can be the information about clinical relevancy or the statement about the general focus of the Value Set, such as a description of types of messages, payment options, geographic locations, etc.", 0, 1, focus)); 4624 children.add(new Property("inclusionCriteria", "string", "Criteria describing which concepts or codes should be included and why.", 0, 1, inclusionCriteria)); 4625 children.add(new Property("exclusionCriteria", "string", "Criteria describing which concepts or codes should be excluded and why.", 0, 1, exclusionCriteria)); 4626 } 4627 4628 @Override 4629 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 4630 switch (_hash) { 4631 case 97604824: /*focus*/ return new Property("focus", "string", "The general focus of the Value Set as it relates to the intended semantic space. This can be the information about clinical relevancy or the statement about the general focus of the Value Set, such as a description of types of messages, payment options, geographic locations, etc.", 0, 1, focus); 4632 case -1380638565: /*inclusionCriteria*/ return new Property("inclusionCriteria", "string", "Criteria describing which concepts or codes should be included and why.", 0, 1, inclusionCriteria); 4633 case 985682765: /*exclusionCriteria*/ return new Property("exclusionCriteria", "string", "Criteria describing which concepts or codes should be excluded and why.", 0, 1, exclusionCriteria); 4634 default: return super.getNamedProperty(_hash, _name, _checkValid); 4635 } 4636 4637 } 4638 4639 @Override 4640 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 4641 switch (hash) { 4642 case 97604824: /*focus*/ return this.focus == null ? new Base[0] : new Base[] {this.focus}; // StringType 4643 case -1380638565: /*inclusionCriteria*/ return this.inclusionCriteria == null ? new Base[0] : new Base[] {this.inclusionCriteria}; // StringType 4644 case 985682765: /*exclusionCriteria*/ return this.exclusionCriteria == null ? new Base[0] : new Base[] {this.exclusionCriteria}; // StringType 4645 default: return super.getProperty(hash, name, checkValid); 4646 } 4647 4648 } 4649 4650 @Override 4651 public Base setProperty(int hash, String name, Base value) throws FHIRException { 4652 switch (hash) { 4653 case 97604824: // focus 4654 this.focus = TypeConvertor.castToString(value); // StringType 4655 return value; 4656 case -1380638565: // inclusionCriteria 4657 this.inclusionCriteria = TypeConvertor.castToString(value); // StringType 4658 return value; 4659 case 985682765: // exclusionCriteria 4660 this.exclusionCriteria = TypeConvertor.castToString(value); // StringType 4661 return value; 4662 default: return super.setProperty(hash, name, value); 4663 } 4664 4665 } 4666 4667 @Override 4668 public Base setProperty(String name, Base value) throws FHIRException { 4669 if (name.equals("focus")) { 4670 this.focus = TypeConvertor.castToString(value); // StringType 4671 } else if (name.equals("inclusionCriteria")) { 4672 this.inclusionCriteria = TypeConvertor.castToString(value); // StringType 4673 } else if (name.equals("exclusionCriteria")) { 4674 this.exclusionCriteria = TypeConvertor.castToString(value); // StringType 4675 } else 4676 return super.setProperty(name, value); 4677 return value; 4678 } 4679 4680 @Override 4681 public Base makeProperty(int hash, String name) throws FHIRException { 4682 switch (hash) { 4683 case 97604824: return getFocusElement(); 4684 case -1380638565: return getInclusionCriteriaElement(); 4685 case 985682765: return getExclusionCriteriaElement(); 4686 default: return super.makeProperty(hash, name); 4687 } 4688 4689 } 4690 4691 @Override 4692 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 4693 switch (hash) { 4694 case 97604824: /*focus*/ return new String[] {"string"}; 4695 case -1380638565: /*inclusionCriteria*/ return new String[] {"string"}; 4696 case 985682765: /*exclusionCriteria*/ return new String[] {"string"}; 4697 default: return super.getTypesForProperty(hash, name); 4698 } 4699 4700 } 4701 4702 @Override 4703 public Base addChild(String name) throws FHIRException { 4704 if (name.equals("focus")) { 4705 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.scope.focus"); 4706 } 4707 else if (name.equals("inclusionCriteria")) { 4708 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.scope.inclusionCriteria"); 4709 } 4710 else if (name.equals("exclusionCriteria")) { 4711 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.scope.exclusionCriteria"); 4712 } 4713 else 4714 return super.addChild(name); 4715 } 4716 4717 public ValueSetScopeComponent copy() { 4718 ValueSetScopeComponent dst = new ValueSetScopeComponent(); 4719 copyValues(dst); 4720 return dst; 4721 } 4722 4723 public void copyValues(ValueSetScopeComponent dst) { 4724 super.copyValues(dst); 4725 dst.focus = focus == null ? null : focus.copy(); 4726 dst.inclusionCriteria = inclusionCriteria == null ? null : inclusionCriteria.copy(); 4727 dst.exclusionCriteria = exclusionCriteria == null ? null : exclusionCriteria.copy(); 4728 } 4729 4730 @Override 4731 public boolean equalsDeep(Base other_) { 4732 if (!super.equalsDeep(other_)) 4733 return false; 4734 if (!(other_ instanceof ValueSetScopeComponent)) 4735 return false; 4736 ValueSetScopeComponent o = (ValueSetScopeComponent) other_; 4737 return compareDeep(focus, o.focus, true) && compareDeep(inclusionCriteria, o.inclusionCriteria, true) 4738 && compareDeep(exclusionCriteria, o.exclusionCriteria, true); 4739 } 4740 4741 @Override 4742 public boolean equalsShallow(Base other_) { 4743 if (!super.equalsShallow(other_)) 4744 return false; 4745 if (!(other_ instanceof ValueSetScopeComponent)) 4746 return false; 4747 ValueSetScopeComponent o = (ValueSetScopeComponent) other_; 4748 return compareValues(focus, o.focus, true) && compareValues(inclusionCriteria, o.inclusionCriteria, true) 4749 && compareValues(exclusionCriteria, o.exclusionCriteria, true); 4750 } 4751 4752 public boolean isEmpty() { 4753 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(focus, inclusionCriteria, exclusionCriteria 4754 ); 4755 } 4756 4757 public String fhirType() { 4758 return "ValueSet.scope"; 4759 4760 } 4761 4762 } 4763 4764 /** 4765 * 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 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. 4766 */ 4767 @Child(name = "url", type = {UriType.class}, order=0, min=0, max=1, modifier=false, summary=true) 4768 @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 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." ) 4769 protected UriType url; 4770 4771 /** 4772 * 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. 4773 */ 4774 @Child(name = "identifier", type = {Identifier.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 4775 @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." ) 4776 protected List<Identifier> identifier; 4777 4778 /** 4779 * 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. 4780 */ 4781 @Child(name = "version", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=true) 4782 @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." ) 4783 protected StringType version; 4784 4785 /** 4786 * 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. 4787 */ 4788 @Child(name = "name", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=true) 4789 @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." ) 4790 protected StringType name; 4791 4792 /** 4793 * A short, descriptive, user-friendly title for the value set. 4794 */ 4795 @Child(name = "title", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=true) 4796 @Description(shortDefinition="Name for this value set (human friendly)", formalDefinition="A short, descriptive, user-friendly title for the value set." ) 4797 protected StringType title; 4798 4799 /** 4800 * 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. 4801 */ 4802 @Child(name = "status", type = {CodeType.class}, order=5, min=1, max=1, modifier=true, summary=true) 4803 @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." ) 4804 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/publication-status") 4805 protected Enumeration<PublicationStatus> status; 4806 4807 /** 4808 * 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. 4809 */ 4810 @Child(name = "experimental", type = {BooleanType.class}, order=6, min=0, max=1, modifier=false, summary=true) 4811 @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." ) 4812 protected BooleanType experimental; 4813 4814 /** 4815 * The date (and optionally time) when the value set was created or revised (e.g. the 'content logical definition'). 4816 */ 4817 @Child(name = "date", type = {DateTimeType.class}, order=7, min=0, max=1, modifier=false, summary=true) 4818 @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')." ) 4819 protected DateTimeType date; 4820 4821 /** 4822 * The name of the organization or individual that published the value set. 4823 */ 4824 @Child(name = "publisher", type = {StringType.class}, order=8, min=0, max=1, modifier=false, summary=true) 4825 @Description(shortDefinition="Name of the publisher (organization or individual)", formalDefinition="The name of the organization or individual that published the value set." ) 4826 protected StringType publisher; 4827 4828 /** 4829 * Contact details to assist a user in finding and communicating with the publisher. 4830 */ 4831 @Child(name = "contact", type = {ContactDetail.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 4832 @Description(shortDefinition="Contact details for the publisher", formalDefinition="Contact details to assist a user in finding and communicating with the publisher." ) 4833 protected List<ContactDetail> contact; 4834 4835 /** 4836 * 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. 4837 */ 4838 @Child(name = "description", type = {MarkdownType.class}, order=10, min=0, max=1, modifier=false, summary=false) 4839 @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." ) 4840 protected MarkdownType description; 4841 4842 /** 4843 * 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. 4844 */ 4845 @Child(name = "useContext", type = {UsageContext.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 4846 @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." ) 4847 protected List<UsageContext> useContext; 4848 4849 /** 4850 * A legal or geographic region in which the value set is intended to be used. 4851 */ 4852 @Child(name = "jurisdiction", type = {CodeableConcept.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 4853 @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." ) 4854 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/jurisdiction") 4855 protected List<CodeableConcept> jurisdiction; 4856 4857 /** 4858 * If this is set to 'true', then no new versions of the content logical definition can be created. Note: Other metadata might still change. 4859 */ 4860 @Child(name = "immutable", type = {BooleanType.class}, order=13, min=0, max=1, modifier=false, summary=true) 4861 @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." ) 4862 protected BooleanType immutable; 4863 4864 /** 4865 * Explanation of why this value set is needed and why it has been designed as it has. 4866 */ 4867 @Child(name = "purpose", type = {MarkdownType.class}, order=14, min=0, max=1, modifier=false, summary=false) 4868 @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." ) 4869 protected MarkdownType purpose; 4870 4871 /** 4872 * 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. 4873 */ 4874 @Child(name = "copyright", type = {MarkdownType.class}, order=15, min=0, max=1, modifier=false, summary=false) 4875 @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." ) 4876 protected MarkdownType copyright; 4877 4878 /** 4879 * 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). 4880 */ 4881 @Child(name = "compose", type = {}, order=16, min=0, max=1, modifier=false, summary=false) 4882 @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)." ) 4883 protected ValueSetComposeComponent compose; 4884 4885 /** 4886 * 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. 4887 */ 4888 @Child(name = "expansion", type = {}, order=17, min=0, max=1, modifier=false, summary=false) 4889 @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." ) 4890 protected ValueSetExpansionComponent expansion; 4891 4892 /** 4893 * Description of the semantic space the Value Set Expansion is intended to cover. 4894 */ 4895 @Child(name = "scope", type = {}, order=18, min=0, max=1, modifier=false, summary=false) 4896 @Description(shortDefinition="Description of the semantic space the Value Set Expansion is intended to cover", formalDefinition="Description of the semantic space the Value Set Expansion is intended to cover." ) 4897 protected ValueSetScopeComponent scope; 4898 4899 private static final long serialVersionUID = 1111958035L; 4900 4901 /** 4902 * Constructor 4903 */ 4904 public ValueSet() { 4905 super(); 4906 } 4907 4908 /** 4909 * Constructor 4910 */ 4911 public ValueSet(PublicationStatus status) { 4912 super(); 4913 this.setStatus(status); 4914 } 4915 4916 /** 4917 * @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 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 4918 */ 4919 public UriType getUrlElement() { 4920 if (this.url == null) 4921 if (Configuration.errorOnAutoCreate()) 4922 throw new Error("Attempt to auto-create ValueSet.url"); 4923 else if (Configuration.doAutoCreate()) 4924 this.url = new UriType(); // bb 4925 return this.url; 4926 } 4927 4928 public boolean hasUrlElement() { 4929 return this.url != null && !this.url.isEmpty(); 4930 } 4931 4932 public boolean hasUrl() { 4933 return this.url != null && !this.url.isEmpty(); 4934 } 4935 4936 /** 4937 * @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 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 4938 */ 4939 public ValueSet setUrlElement(UriType value) { 4940 this.url = value; 4941 return this; 4942 } 4943 4944 /** 4945 * @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 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. 4946 */ 4947 public String getUrl() { 4948 return this.url == null ? null : this.url.getValue(); 4949 } 4950 4951 /** 4952 * @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 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. 4953 */ 4954 public ValueSet setUrl(String value) { 4955 if (Utilities.noString(value)) 4956 this.url = null; 4957 else { 4958 if (this.url == null) 4959 this.url = new UriType(); 4960 this.url.setValue(value); 4961 } 4962 return this; 4963 } 4964 4965 /** 4966 * @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.) 4967 */ 4968 public List<Identifier> getIdentifier() { 4969 if (this.identifier == null) 4970 this.identifier = new ArrayList<Identifier>(); 4971 return this.identifier; 4972 } 4973 4974 /** 4975 * @return Returns a reference to <code>this</code> for easy method chaining 4976 */ 4977 public ValueSet setIdentifier(List<Identifier> theIdentifier) { 4978 this.identifier = theIdentifier; 4979 return this; 4980 } 4981 4982 public boolean hasIdentifier() { 4983 if (this.identifier == null) 4984 return false; 4985 for (Identifier item : this.identifier) 4986 if (!item.isEmpty()) 4987 return true; 4988 return false; 4989 } 4990 4991 public Identifier addIdentifier() { //3 4992 Identifier t = new Identifier(); 4993 if (this.identifier == null) 4994 this.identifier = new ArrayList<Identifier>(); 4995 this.identifier.add(t); 4996 return t; 4997 } 4998 4999 public ValueSet addIdentifier(Identifier t) { //3 5000 if (t == null) 5001 return this; 5002 if (this.identifier == null) 5003 this.identifier = new ArrayList<Identifier>(); 5004 this.identifier.add(t); 5005 return this; 5006 } 5007 5008 /** 5009 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} 5010 */ 5011 public Identifier getIdentifierFirstRep() { 5012 if (getIdentifier().isEmpty()) { 5013 addIdentifier(); 5014 } 5015 return getIdentifier().get(0); 5016 } 5017 5018 /** 5019 * @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 5020 */ 5021 public StringType getVersionElement() { 5022 if (this.version == null) 5023 if (Configuration.errorOnAutoCreate()) 5024 throw new Error("Attempt to auto-create ValueSet.version"); 5025 else if (Configuration.doAutoCreate()) 5026 this.version = new StringType(); // bb 5027 return this.version; 5028 } 5029 5030 public boolean hasVersionElement() { 5031 return this.version != null && !this.version.isEmpty(); 5032 } 5033 5034 public boolean hasVersion() { 5035 return this.version != null && !this.version.isEmpty(); 5036 } 5037 5038 /** 5039 * @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 5040 */ 5041 public ValueSet setVersionElement(StringType value) { 5042 this.version = value; 5043 return this; 5044 } 5045 5046 /** 5047 * @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. 5048 */ 5049 public String getVersion() { 5050 return this.version == null ? null : this.version.getValue(); 5051 } 5052 5053 /** 5054 * @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. 5055 */ 5056 public ValueSet setVersion(String value) { 5057 if (Utilities.noString(value)) 5058 this.version = null; 5059 else { 5060 if (this.version == null) 5061 this.version = new StringType(); 5062 this.version.setValue(value); 5063 } 5064 return this; 5065 } 5066 5067 /** 5068 * @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 5069 */ 5070 public StringType getNameElement() { 5071 if (this.name == null) 5072 if (Configuration.errorOnAutoCreate()) 5073 throw new Error("Attempt to auto-create ValueSet.name"); 5074 else if (Configuration.doAutoCreate()) 5075 this.name = new StringType(); // bb 5076 return this.name; 5077 } 5078 5079 public boolean hasNameElement() { 5080 return this.name != null && !this.name.isEmpty(); 5081 } 5082 5083 public boolean hasName() { 5084 return this.name != null && !this.name.isEmpty(); 5085 } 5086 5087 /** 5088 * @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 5089 */ 5090 public ValueSet setNameElement(StringType value) { 5091 this.name = value; 5092 return this; 5093 } 5094 5095 /** 5096 * @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. 5097 */ 5098 public String getName() { 5099 return this.name == null ? null : this.name.getValue(); 5100 } 5101 5102 /** 5103 * @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. 5104 */ 5105 public ValueSet setName(String value) { 5106 if (Utilities.noString(value)) 5107 this.name = null; 5108 else { 5109 if (this.name == null) 5110 this.name = new StringType(); 5111 this.name.setValue(value); 5112 } 5113 return this; 5114 } 5115 5116 /** 5117 * @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 5118 */ 5119 public StringType getTitleElement() { 5120 if (this.title == null) 5121 if (Configuration.errorOnAutoCreate()) 5122 throw new Error("Attempt to auto-create ValueSet.title"); 5123 else if (Configuration.doAutoCreate()) 5124 this.title = new StringType(); // bb 5125 return this.title; 5126 } 5127 5128 public boolean hasTitleElement() { 5129 return this.title != null && !this.title.isEmpty(); 5130 } 5131 5132 public boolean hasTitle() { 5133 return this.title != null && !this.title.isEmpty(); 5134 } 5135 5136 /** 5137 * @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 5138 */ 5139 public ValueSet setTitleElement(StringType value) { 5140 this.title = value; 5141 return this; 5142 } 5143 5144 /** 5145 * @return A short, descriptive, user-friendly title for the value set. 5146 */ 5147 public String getTitle() { 5148 return this.title == null ? null : this.title.getValue(); 5149 } 5150 5151 /** 5152 * @param value A short, descriptive, user-friendly title for the value set. 5153 */ 5154 public ValueSet setTitle(String value) { 5155 if (Utilities.noString(value)) 5156 this.title = null; 5157 else { 5158 if (this.title == null) 5159 this.title = new StringType(); 5160 this.title.setValue(value); 5161 } 5162 return this; 5163 } 5164 5165 /** 5166 * @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 5167 */ 5168 public Enumeration<PublicationStatus> getStatusElement() { 5169 if (this.status == null) 5170 if (Configuration.errorOnAutoCreate()) 5171 throw new Error("Attempt to auto-create ValueSet.status"); 5172 else if (Configuration.doAutoCreate()) 5173 this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); // bb 5174 return this.status; 5175 } 5176 5177 public boolean hasStatusElement() { 5178 return this.status != null && !this.status.isEmpty(); 5179 } 5180 5181 public boolean hasStatus() { 5182 return this.status != null && !this.status.isEmpty(); 5183 } 5184 5185 /** 5186 * @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 5187 */ 5188 public ValueSet setStatusElement(Enumeration<PublicationStatus> value) { 5189 this.status = value; 5190 return this; 5191 } 5192 5193 /** 5194 * @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. 5195 */ 5196 public PublicationStatus getStatus() { 5197 return this.status == null ? null : this.status.getValue(); 5198 } 5199 5200 /** 5201 * @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. 5202 */ 5203 public ValueSet setStatus(PublicationStatus value) { 5204 if (this.status == null) 5205 this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); 5206 this.status.setValue(value); 5207 return this; 5208 } 5209 5210 /** 5211 * @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 5212 */ 5213 public BooleanType getExperimentalElement() { 5214 if (this.experimental == null) 5215 if (Configuration.errorOnAutoCreate()) 5216 throw new Error("Attempt to auto-create ValueSet.experimental"); 5217 else if (Configuration.doAutoCreate()) 5218 this.experimental = new BooleanType(); // bb 5219 return this.experimental; 5220 } 5221 5222 public boolean hasExperimentalElement() { 5223 return this.experimental != null && !this.experimental.isEmpty(); 5224 } 5225 5226 public boolean hasExperimental() { 5227 return this.experimental != null && !this.experimental.isEmpty(); 5228 } 5229 5230 /** 5231 * @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 5232 */ 5233 public ValueSet setExperimentalElement(BooleanType value) { 5234 this.experimental = value; 5235 return this; 5236 } 5237 5238 /** 5239 * @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. 5240 */ 5241 public boolean getExperimental() { 5242 return this.experimental == null || this.experimental.isEmpty() ? false : this.experimental.getValue(); 5243 } 5244 5245 /** 5246 * @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. 5247 */ 5248 public ValueSet setExperimental(boolean value) { 5249 if (this.experimental == null) 5250 this.experimental = new BooleanType(); 5251 this.experimental.setValue(value); 5252 return this; 5253 } 5254 5255 /** 5256 * @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 5257 */ 5258 public DateTimeType getDateElement() { 5259 if (this.date == null) 5260 if (Configuration.errorOnAutoCreate()) 5261 throw new Error("Attempt to auto-create ValueSet.date"); 5262 else if (Configuration.doAutoCreate()) 5263 this.date = new DateTimeType(); // bb 5264 return this.date; 5265 } 5266 5267 public boolean hasDateElement() { 5268 return this.date != null && !this.date.isEmpty(); 5269 } 5270 5271 public boolean hasDate() { 5272 return this.date != null && !this.date.isEmpty(); 5273 } 5274 5275 /** 5276 * @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 5277 */ 5278 public ValueSet setDateElement(DateTimeType value) { 5279 this.date = value; 5280 return this; 5281 } 5282 5283 /** 5284 * @return The date (and optionally time) when the value set was created or revised (e.g. the 'content logical definition'). 5285 */ 5286 public Date getDate() { 5287 return this.date == null ? null : this.date.getValue(); 5288 } 5289 5290 /** 5291 * @param value The date (and optionally time) when the value set was created or revised (e.g. the 'content logical definition'). 5292 */ 5293 public ValueSet setDate(Date value) { 5294 if (value == null) 5295 this.date = null; 5296 else { 5297 if (this.date == null) 5298 this.date = new DateTimeType(); 5299 this.date.setValue(value); 5300 } 5301 return this; 5302 } 5303 5304 /** 5305 * @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 5306 */ 5307 public StringType getPublisherElement() { 5308 if (this.publisher == null) 5309 if (Configuration.errorOnAutoCreate()) 5310 throw new Error("Attempt to auto-create ValueSet.publisher"); 5311 else if (Configuration.doAutoCreate()) 5312 this.publisher = new StringType(); // bb 5313 return this.publisher; 5314 } 5315 5316 public boolean hasPublisherElement() { 5317 return this.publisher != null && !this.publisher.isEmpty(); 5318 } 5319 5320 public boolean hasPublisher() { 5321 return this.publisher != null && !this.publisher.isEmpty(); 5322 } 5323 5324 /** 5325 * @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 5326 */ 5327 public ValueSet setPublisherElement(StringType value) { 5328 this.publisher = value; 5329 return this; 5330 } 5331 5332 /** 5333 * @return The name of the organization or individual that published the value set. 5334 */ 5335 public String getPublisher() { 5336 return this.publisher == null ? null : this.publisher.getValue(); 5337 } 5338 5339 /** 5340 * @param value The name of the organization or individual that published the value set. 5341 */ 5342 public ValueSet setPublisher(String value) { 5343 if (Utilities.noString(value)) 5344 this.publisher = null; 5345 else { 5346 if (this.publisher == null) 5347 this.publisher = new StringType(); 5348 this.publisher.setValue(value); 5349 } 5350 return this; 5351 } 5352 5353 /** 5354 * @return {@link #contact} (Contact details to assist a user in finding and communicating with the publisher.) 5355 */ 5356 public List<ContactDetail> getContact() { 5357 if (this.contact == null) 5358 this.contact = new ArrayList<ContactDetail>(); 5359 return this.contact; 5360 } 5361 5362 /** 5363 * @return Returns a reference to <code>this</code> for easy method chaining 5364 */ 5365 public ValueSet setContact(List<ContactDetail> theContact) { 5366 this.contact = theContact; 5367 return this; 5368 } 5369 5370 public boolean hasContact() { 5371 if (this.contact == null) 5372 return false; 5373 for (ContactDetail item : this.contact) 5374 if (!item.isEmpty()) 5375 return true; 5376 return false; 5377 } 5378 5379 public ContactDetail addContact() { //3 5380 ContactDetail t = new ContactDetail(); 5381 if (this.contact == null) 5382 this.contact = new ArrayList<ContactDetail>(); 5383 this.contact.add(t); 5384 return t; 5385 } 5386 5387 public ValueSet addContact(ContactDetail t) { //3 5388 if (t == null) 5389 return this; 5390 if (this.contact == null) 5391 this.contact = new ArrayList<ContactDetail>(); 5392 this.contact.add(t); 5393 return this; 5394 } 5395 5396 /** 5397 * @return The first repetition of repeating field {@link #contact}, creating it if it does not already exist {3} 5398 */ 5399 public ContactDetail getContactFirstRep() { 5400 if (getContact().isEmpty()) { 5401 addContact(); 5402 } 5403 return getContact().get(0); 5404 } 5405 5406 /** 5407 * @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 5408 */ 5409 public MarkdownType getDescriptionElement() { 5410 if (this.description == null) 5411 if (Configuration.errorOnAutoCreate()) 5412 throw new Error("Attempt to auto-create ValueSet.description"); 5413 else if (Configuration.doAutoCreate()) 5414 this.description = new MarkdownType(); // bb 5415 return this.description; 5416 } 5417 5418 public boolean hasDescriptionElement() { 5419 return this.description != null && !this.description.isEmpty(); 5420 } 5421 5422 public boolean hasDescription() { 5423 return this.description != null && !this.description.isEmpty(); 5424 } 5425 5426 /** 5427 * @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 5428 */ 5429 public ValueSet setDescriptionElement(MarkdownType value) { 5430 this.description = value; 5431 return this; 5432 } 5433 5434 /** 5435 * @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. 5436 */ 5437 public String getDescription() { 5438 return this.description == null ? null : this.description.getValue(); 5439 } 5440 5441 /** 5442 * @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. 5443 */ 5444 public ValueSet setDescription(String value) { 5445 if (value == null) 5446 this.description = null; 5447 else { 5448 if (this.description == null) 5449 this.description = new MarkdownType(); 5450 this.description.setValue(value); 5451 } 5452 return this; 5453 } 5454 5455 /** 5456 * @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.) 5457 */ 5458 public List<UsageContext> getUseContext() { 5459 if (this.useContext == null) 5460 this.useContext = new ArrayList<UsageContext>(); 5461 return this.useContext; 5462 } 5463 5464 /** 5465 * @return Returns a reference to <code>this</code> for easy method chaining 5466 */ 5467 public ValueSet setUseContext(List<UsageContext> theUseContext) { 5468 this.useContext = theUseContext; 5469 return this; 5470 } 5471 5472 public boolean hasUseContext() { 5473 if (this.useContext == null) 5474 return false; 5475 for (UsageContext item : this.useContext) 5476 if (!item.isEmpty()) 5477 return true; 5478 return false; 5479 } 5480 5481 public UsageContext addUseContext() { //3 5482 UsageContext t = new UsageContext(); 5483 if (this.useContext == null) 5484 this.useContext = new ArrayList<UsageContext>(); 5485 this.useContext.add(t); 5486 return t; 5487 } 5488 5489 public ValueSet addUseContext(UsageContext t) { //3 5490 if (t == null) 5491 return this; 5492 if (this.useContext == null) 5493 this.useContext = new ArrayList<UsageContext>(); 5494 this.useContext.add(t); 5495 return this; 5496 } 5497 5498 /** 5499 * @return The first repetition of repeating field {@link #useContext}, creating it if it does not already exist {3} 5500 */ 5501 public UsageContext getUseContextFirstRep() { 5502 if (getUseContext().isEmpty()) { 5503 addUseContext(); 5504 } 5505 return getUseContext().get(0); 5506 } 5507 5508 /** 5509 * @return {@link #jurisdiction} (A legal or geographic region in which the value set is intended to be used.) 5510 */ 5511 public List<CodeableConcept> getJurisdiction() { 5512 if (this.jurisdiction == null) 5513 this.jurisdiction = new ArrayList<CodeableConcept>(); 5514 return this.jurisdiction; 5515 } 5516 5517 /** 5518 * @return Returns a reference to <code>this</code> for easy method chaining 5519 */ 5520 public ValueSet setJurisdiction(List<CodeableConcept> theJurisdiction) { 5521 this.jurisdiction = theJurisdiction; 5522 return this; 5523 } 5524 5525 public boolean hasJurisdiction() { 5526 if (this.jurisdiction == null) 5527 return false; 5528 for (CodeableConcept item : this.jurisdiction) 5529 if (!item.isEmpty()) 5530 return true; 5531 return false; 5532 } 5533 5534 public CodeableConcept addJurisdiction() { //3 5535 CodeableConcept t = new CodeableConcept(); 5536 if (this.jurisdiction == null) 5537 this.jurisdiction = new ArrayList<CodeableConcept>(); 5538 this.jurisdiction.add(t); 5539 return t; 5540 } 5541 5542 public ValueSet addJurisdiction(CodeableConcept t) { //3 5543 if (t == null) 5544 return this; 5545 if (this.jurisdiction == null) 5546 this.jurisdiction = new ArrayList<CodeableConcept>(); 5547 this.jurisdiction.add(t); 5548 return this; 5549 } 5550 5551 /** 5552 * @return The first repetition of repeating field {@link #jurisdiction}, creating it if it does not already exist {3} 5553 */ 5554 public CodeableConcept getJurisdictionFirstRep() { 5555 if (getJurisdiction().isEmpty()) { 5556 addJurisdiction(); 5557 } 5558 return getJurisdiction().get(0); 5559 } 5560 5561 /** 5562 * @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 5563 */ 5564 public BooleanType getImmutableElement() { 5565 if (this.immutable == null) 5566 if (Configuration.errorOnAutoCreate()) 5567 throw new Error("Attempt to auto-create ValueSet.immutable"); 5568 else if (Configuration.doAutoCreate()) 5569 this.immutable = new BooleanType(); // bb 5570 return this.immutable; 5571 } 5572 5573 public boolean hasImmutableElement() { 5574 return this.immutable != null && !this.immutable.isEmpty(); 5575 } 5576 5577 public boolean hasImmutable() { 5578 return this.immutable != null && !this.immutable.isEmpty(); 5579 } 5580 5581 /** 5582 * @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 5583 */ 5584 public ValueSet setImmutableElement(BooleanType value) { 5585 this.immutable = value; 5586 return this; 5587 } 5588 5589 /** 5590 * @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. 5591 */ 5592 public boolean getImmutable() { 5593 return this.immutable == null || this.immutable.isEmpty() ? false : this.immutable.getValue(); 5594 } 5595 5596 /** 5597 * @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. 5598 */ 5599 public ValueSet setImmutable(boolean value) { 5600 if (this.immutable == null) 5601 this.immutable = new BooleanType(); 5602 this.immutable.setValue(value); 5603 return this; 5604 } 5605 5606 /** 5607 * @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 5608 */ 5609 public MarkdownType getPurposeElement() { 5610 if (this.purpose == null) 5611 if (Configuration.errorOnAutoCreate()) 5612 throw new Error("Attempt to auto-create ValueSet.purpose"); 5613 else if (Configuration.doAutoCreate()) 5614 this.purpose = new MarkdownType(); // bb 5615 return this.purpose; 5616 } 5617 5618 public boolean hasPurposeElement() { 5619 return this.purpose != null && !this.purpose.isEmpty(); 5620 } 5621 5622 public boolean hasPurpose() { 5623 return this.purpose != null && !this.purpose.isEmpty(); 5624 } 5625 5626 /** 5627 * @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 5628 */ 5629 public ValueSet setPurposeElement(MarkdownType value) { 5630 this.purpose = value; 5631 return this; 5632 } 5633 5634 /** 5635 * @return Explanation of why this value set is needed and why it has been designed as it has. 5636 */ 5637 public String getPurpose() { 5638 return this.purpose == null ? null : this.purpose.getValue(); 5639 } 5640 5641 /** 5642 * @param value Explanation of why this value set is needed and why it has been designed as it has. 5643 */ 5644 public ValueSet setPurpose(String value) { 5645 if (value == null) 5646 this.purpose = null; 5647 else { 5648 if (this.purpose == null) 5649 this.purpose = new MarkdownType(); 5650 this.purpose.setValue(value); 5651 } 5652 return this; 5653 } 5654 5655 /** 5656 * @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 5657 */ 5658 public MarkdownType getCopyrightElement() { 5659 if (this.copyright == null) 5660 if (Configuration.errorOnAutoCreate()) 5661 throw new Error("Attempt to auto-create ValueSet.copyright"); 5662 else if (Configuration.doAutoCreate()) 5663 this.copyright = new MarkdownType(); // bb 5664 return this.copyright; 5665 } 5666 5667 public boolean hasCopyrightElement() { 5668 return this.copyright != null && !this.copyright.isEmpty(); 5669 } 5670 5671 public boolean hasCopyright() { 5672 return this.copyright != null && !this.copyright.isEmpty(); 5673 } 5674 5675 /** 5676 * @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 5677 */ 5678 public ValueSet setCopyrightElement(MarkdownType value) { 5679 this.copyright = value; 5680 return this; 5681 } 5682 5683 /** 5684 * @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. 5685 */ 5686 public String getCopyright() { 5687 return this.copyright == null ? null : this.copyright.getValue(); 5688 } 5689 5690 /** 5691 * @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. 5692 */ 5693 public ValueSet setCopyright(String value) { 5694 if (value == null) 5695 this.copyright = null; 5696 else { 5697 if (this.copyright == null) 5698 this.copyright = new MarkdownType(); 5699 this.copyright.setValue(value); 5700 } 5701 return this; 5702 } 5703 5704 /** 5705 * @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).) 5706 */ 5707 public ValueSetComposeComponent getCompose() { 5708 if (this.compose == null) 5709 if (Configuration.errorOnAutoCreate()) 5710 throw new Error("Attempt to auto-create ValueSet.compose"); 5711 else if (Configuration.doAutoCreate()) 5712 this.compose = new ValueSetComposeComponent(); // cc 5713 return this.compose; 5714 } 5715 5716 public boolean hasCompose() { 5717 return this.compose != null && !this.compose.isEmpty(); 5718 } 5719 5720 /** 5721 * @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).) 5722 */ 5723 public ValueSet setCompose(ValueSetComposeComponent value) { 5724 this.compose = value; 5725 return this; 5726 } 5727 5728 /** 5729 * @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.) 5730 */ 5731 public ValueSetExpansionComponent getExpansion() { 5732 if (this.expansion == null) 5733 if (Configuration.errorOnAutoCreate()) 5734 throw new Error("Attempt to auto-create ValueSet.expansion"); 5735 else if (Configuration.doAutoCreate()) 5736 this.expansion = new ValueSetExpansionComponent(); // cc 5737 return this.expansion; 5738 } 5739 5740 public boolean hasExpansion() { 5741 return this.expansion != null && !this.expansion.isEmpty(); 5742 } 5743 5744 /** 5745 * @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.) 5746 */ 5747 public ValueSet setExpansion(ValueSetExpansionComponent value) { 5748 this.expansion = value; 5749 return this; 5750 } 5751 5752 /** 5753 * @return {@link #scope} (Description of the semantic space the Value Set Expansion is intended to cover.) 5754 */ 5755 public ValueSetScopeComponent getScope() { 5756 if (this.scope == null) 5757 if (Configuration.errorOnAutoCreate()) 5758 throw new Error("Attempt to auto-create ValueSet.scope"); 5759 else if (Configuration.doAutoCreate()) 5760 this.scope = new ValueSetScopeComponent(); // cc 5761 return this.scope; 5762 } 5763 5764 public boolean hasScope() { 5765 return this.scope != null && !this.scope.isEmpty(); 5766 } 5767 5768 /** 5769 * @param value {@link #scope} (Description of the semantic space the Value Set Expansion is intended to cover.) 5770 */ 5771 public ValueSet setScope(ValueSetScopeComponent value) { 5772 this.scope = value; 5773 return this; 5774 } 5775 5776 protected void listChildren(List<Property> children) { 5777 super.listChildren(children); 5778 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 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)); 5779 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)); 5780 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)); 5781 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)); 5782 children.add(new Property("title", "string", "A short, descriptive, user-friendly title for the value set.", 0, 1, title)); 5783 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)); 5784 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)); 5785 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)); 5786 children.add(new Property("publisher", "string", "The name of the organization or individual that published the value set.", 0, 1, publisher)); 5787 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)); 5788 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)); 5789 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)); 5790 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)); 5791 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)); 5792 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)); 5793 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)); 5794 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)); 5795 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)); 5796 children.add(new Property("scope", "", "Description of the semantic space the Value Set Expansion is intended to cover.", 0, 1, scope)); 5797 } 5798 5799 @Override 5800 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 5801 switch (_hash) { 5802 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 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); 5803 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); 5804 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); 5805 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); 5806 case 110371416: /*title*/ return new Property("title", "string", "A short, descriptive, user-friendly title for the value set.", 0, 1, title); 5807 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); 5808 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); 5809 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); 5810 case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual that published the value set.", 0, 1, publisher); 5811 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); 5812 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); 5813 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); 5814 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); 5815 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); 5816 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); 5817 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); 5818 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); 5819 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); 5820 case 109264468: /*scope*/ return new Property("scope", "", "Description of the semantic space the Value Set Expansion is intended to cover.", 0, 1, scope); 5821 default: return super.getNamedProperty(_hash, _name, _checkValid); 5822 } 5823 5824 } 5825 5826 @Override 5827 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 5828 switch (hash) { 5829 case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType 5830 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 5831 case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType 5832 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType 5833 case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType 5834 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<PublicationStatus> 5835 case -404562712: /*experimental*/ return this.experimental == null ? new Base[0] : new Base[] {this.experimental}; // BooleanType 5836 case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType 5837 case 1447404028: /*publisher*/ return this.publisher == null ? new Base[0] : new Base[] {this.publisher}; // StringType 5838 case 951526432: /*contact*/ return this.contact == null ? new Base[0] : this.contact.toArray(new Base[this.contact.size()]); // ContactDetail 5839 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType 5840 case -669707736: /*useContext*/ return this.useContext == null ? new Base[0] : this.useContext.toArray(new Base[this.useContext.size()]); // UsageContext 5841 case -507075711: /*jurisdiction*/ return this.jurisdiction == null ? new Base[0] : this.jurisdiction.toArray(new Base[this.jurisdiction.size()]); // CodeableConcept 5842 case 1596987778: /*immutable*/ return this.immutable == null ? new Base[0] : new Base[] {this.immutable}; // BooleanType 5843 case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : new Base[] {this.purpose}; // MarkdownType 5844 case 1522889671: /*copyright*/ return this.copyright == null ? new Base[0] : new Base[] {this.copyright}; // MarkdownType 5845 case 950497682: /*compose*/ return this.compose == null ? new Base[0] : new Base[] {this.compose}; // ValueSetComposeComponent 5846 case 17878207: /*expansion*/ return this.expansion == null ? new Base[0] : new Base[] {this.expansion}; // ValueSetExpansionComponent 5847 case 109264468: /*scope*/ return this.scope == null ? new Base[0] : new Base[] {this.scope}; // ValueSetScopeComponent 5848 default: return super.getProperty(hash, name, checkValid); 5849 } 5850 5851 } 5852 5853 @Override 5854 public Base setProperty(int hash, String name, Base value) throws FHIRException { 5855 switch (hash) { 5856 case 116079: // url 5857 this.url = TypeConvertor.castToUri(value); // UriType 5858 return value; 5859 case -1618432855: // identifier 5860 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier 5861 return value; 5862 case 351608024: // version 5863 this.version = TypeConvertor.castToString(value); // StringType 5864 return value; 5865 case 3373707: // name 5866 this.name = TypeConvertor.castToString(value); // StringType 5867 return value; 5868 case 110371416: // title 5869 this.title = TypeConvertor.castToString(value); // StringType 5870 return value; 5871 case -892481550: // status 5872 value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 5873 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 5874 return value; 5875 case -404562712: // experimental 5876 this.experimental = TypeConvertor.castToBoolean(value); // BooleanType 5877 return value; 5878 case 3076014: // date 5879 this.date = TypeConvertor.castToDateTime(value); // DateTimeType 5880 return value; 5881 case 1447404028: // publisher 5882 this.publisher = TypeConvertor.castToString(value); // StringType 5883 return value; 5884 case 951526432: // contact 5885 this.getContact().add(TypeConvertor.castToContactDetail(value)); // ContactDetail 5886 return value; 5887 case -1724546052: // description 5888 this.description = TypeConvertor.castToMarkdown(value); // MarkdownType 5889 return value; 5890 case -669707736: // useContext 5891 this.getUseContext().add(TypeConvertor.castToUsageContext(value)); // UsageContext 5892 return value; 5893 case -507075711: // jurisdiction 5894 this.getJurisdiction().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 5895 return value; 5896 case 1596987778: // immutable 5897 this.immutable = TypeConvertor.castToBoolean(value); // BooleanType 5898 return value; 5899 case -220463842: // purpose 5900 this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType 5901 return value; 5902 case 1522889671: // copyright 5903 this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType 5904 return value; 5905 case 950497682: // compose 5906 this.compose = (ValueSetComposeComponent) value; // ValueSetComposeComponent 5907 return value; 5908 case 17878207: // expansion 5909 this.expansion = (ValueSetExpansionComponent) value; // ValueSetExpansionComponent 5910 return value; 5911 case 109264468: // scope 5912 this.scope = (ValueSetScopeComponent) value; // ValueSetScopeComponent 5913 return value; 5914 default: return super.setProperty(hash, name, value); 5915 } 5916 5917 } 5918 5919 @Override 5920 public Base setProperty(String name, Base value) throws FHIRException { 5921 if (name.equals("url")) { 5922 this.url = TypeConvertor.castToUri(value); // UriType 5923 } else if (name.equals("identifier")) { 5924 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); 5925 } else if (name.equals("version")) { 5926 this.version = TypeConvertor.castToString(value); // StringType 5927 } else if (name.equals("name")) { 5928 this.name = TypeConvertor.castToString(value); // StringType 5929 } else if (name.equals("title")) { 5930 this.title = TypeConvertor.castToString(value); // StringType 5931 } else if (name.equals("status")) { 5932 value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 5933 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 5934 } else if (name.equals("experimental")) { 5935 this.experimental = TypeConvertor.castToBoolean(value); // BooleanType 5936 } else if (name.equals("date")) { 5937 this.date = TypeConvertor.castToDateTime(value); // DateTimeType 5938 } else if (name.equals("publisher")) { 5939 this.publisher = TypeConvertor.castToString(value); // StringType 5940 } else if (name.equals("contact")) { 5941 this.getContact().add(TypeConvertor.castToContactDetail(value)); 5942 } else if (name.equals("description")) { 5943 this.description = TypeConvertor.castToMarkdown(value); // MarkdownType 5944 } else if (name.equals("useContext")) { 5945 this.getUseContext().add(TypeConvertor.castToUsageContext(value)); 5946 } else if (name.equals("jurisdiction")) { 5947 this.getJurisdiction().add(TypeConvertor.castToCodeableConcept(value)); 5948 } else if (name.equals("immutable")) { 5949 this.immutable = TypeConvertor.castToBoolean(value); // BooleanType 5950 } else if (name.equals("purpose")) { 5951 this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType 5952 } else if (name.equals("copyright")) { 5953 this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType 5954 } else if (name.equals("compose")) { 5955 this.compose = (ValueSetComposeComponent) value; // ValueSetComposeComponent 5956 } else if (name.equals("expansion")) { 5957 this.expansion = (ValueSetExpansionComponent) value; // ValueSetExpansionComponent 5958 } else if (name.equals("scope")) { 5959 this.scope = (ValueSetScopeComponent) value; // ValueSetScopeComponent 5960 } else 5961 return super.setProperty(name, value); 5962 return value; 5963 } 5964 5965 @Override 5966 public Base makeProperty(int hash, String name) throws FHIRException { 5967 switch (hash) { 5968 case 116079: return getUrlElement(); 5969 case -1618432855: return addIdentifier(); 5970 case 351608024: return getVersionElement(); 5971 case 3373707: return getNameElement(); 5972 case 110371416: return getTitleElement(); 5973 case -892481550: return getStatusElement(); 5974 case -404562712: return getExperimentalElement(); 5975 case 3076014: return getDateElement(); 5976 case 1447404028: return getPublisherElement(); 5977 case 951526432: return addContact(); 5978 case -1724546052: return getDescriptionElement(); 5979 case -669707736: return addUseContext(); 5980 case -507075711: return addJurisdiction(); 5981 case 1596987778: return getImmutableElement(); 5982 case -220463842: return getPurposeElement(); 5983 case 1522889671: return getCopyrightElement(); 5984 case 950497682: return getCompose(); 5985 case 17878207: return getExpansion(); 5986 case 109264468: return getScope(); 5987 default: return super.makeProperty(hash, name); 5988 } 5989 5990 } 5991 5992 @Override 5993 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 5994 switch (hash) { 5995 case 116079: /*url*/ return new String[] {"uri"}; 5996 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 5997 case 351608024: /*version*/ return new String[] {"string"}; 5998 case 3373707: /*name*/ return new String[] {"string"}; 5999 case 110371416: /*title*/ return new String[] {"string"}; 6000 case -892481550: /*status*/ return new String[] {"code"}; 6001 case -404562712: /*experimental*/ return new String[] {"boolean"}; 6002 case 3076014: /*date*/ return new String[] {"dateTime"}; 6003 case 1447404028: /*publisher*/ return new String[] {"string"}; 6004 case 951526432: /*contact*/ return new String[] {"ContactDetail"}; 6005 case -1724546052: /*description*/ return new String[] {"markdown"}; 6006 case -669707736: /*useContext*/ return new String[] {"UsageContext"}; 6007 case -507075711: /*jurisdiction*/ return new String[] {"CodeableConcept"}; 6008 case 1596987778: /*immutable*/ return new String[] {"boolean"}; 6009 case -220463842: /*purpose*/ return new String[] {"markdown"}; 6010 case 1522889671: /*copyright*/ return new String[] {"markdown"}; 6011 case 950497682: /*compose*/ return new String[] {}; 6012 case 17878207: /*expansion*/ return new String[] {}; 6013 case 109264468: /*scope*/ return new String[] {}; 6014 default: return super.getTypesForProperty(hash, name); 6015 } 6016 6017 } 6018 6019 @Override 6020 public Base addChild(String name) throws FHIRException { 6021 if (name.equals("url")) { 6022 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.url"); 6023 } 6024 else if (name.equals("identifier")) { 6025 return addIdentifier(); 6026 } 6027 else if (name.equals("version")) { 6028 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.version"); 6029 } 6030 else if (name.equals("name")) { 6031 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.name"); 6032 } 6033 else if (name.equals("title")) { 6034 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.title"); 6035 } 6036 else if (name.equals("status")) { 6037 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.status"); 6038 } 6039 else if (name.equals("experimental")) { 6040 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.experimental"); 6041 } 6042 else if (name.equals("date")) { 6043 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.date"); 6044 } 6045 else if (name.equals("publisher")) { 6046 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.publisher"); 6047 } 6048 else if (name.equals("contact")) { 6049 return addContact(); 6050 } 6051 else if (name.equals("description")) { 6052 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.description"); 6053 } 6054 else if (name.equals("useContext")) { 6055 return addUseContext(); 6056 } 6057 else if (name.equals("jurisdiction")) { 6058 return addJurisdiction(); 6059 } 6060 else if (name.equals("immutable")) { 6061 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.immutable"); 6062 } 6063 else if (name.equals("purpose")) { 6064 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.purpose"); 6065 } 6066 else if (name.equals("copyright")) { 6067 throw new FHIRException("Cannot call addChild on a primitive type ValueSet.copyright"); 6068 } 6069 else if (name.equals("compose")) { 6070 this.compose = new ValueSetComposeComponent(); 6071 return this.compose; 6072 } 6073 else if (name.equals("expansion")) { 6074 this.expansion = new ValueSetExpansionComponent(); 6075 return this.expansion; 6076 } 6077 else if (name.equals("scope")) { 6078 this.scope = new ValueSetScopeComponent(); 6079 return this.scope; 6080 } 6081 else 6082 return super.addChild(name); 6083 } 6084 6085 public String fhirType() { 6086 return "ValueSet"; 6087 6088 } 6089 6090 public ValueSet copy() { 6091 ValueSet dst = new ValueSet(); 6092 copyValues(dst); 6093 return dst; 6094 } 6095 6096 public void copyValues(ValueSet dst) { 6097 super.copyValues(dst); 6098 dst.url = url == null ? null : url.copy(); 6099 if (identifier != null) { 6100 dst.identifier = new ArrayList<Identifier>(); 6101 for (Identifier i : identifier) 6102 dst.identifier.add(i.copy()); 6103 }; 6104 dst.version = version == null ? null : version.copy(); 6105 dst.name = name == null ? null : name.copy(); 6106 dst.title = title == null ? null : title.copy(); 6107 dst.status = status == null ? null : status.copy(); 6108 dst.experimental = experimental == null ? null : experimental.copy(); 6109 dst.date = date == null ? null : date.copy(); 6110 dst.publisher = publisher == null ? null : publisher.copy(); 6111 if (contact != null) { 6112 dst.contact = new ArrayList<ContactDetail>(); 6113 for (ContactDetail i : contact) 6114 dst.contact.add(i.copy()); 6115 }; 6116 dst.description = description == null ? null : description.copy(); 6117 if (useContext != null) { 6118 dst.useContext = new ArrayList<UsageContext>(); 6119 for (UsageContext i : useContext) 6120 dst.useContext.add(i.copy()); 6121 }; 6122 if (jurisdiction != null) { 6123 dst.jurisdiction = new ArrayList<CodeableConcept>(); 6124 for (CodeableConcept i : jurisdiction) 6125 dst.jurisdiction.add(i.copy()); 6126 }; 6127 dst.immutable = immutable == null ? null : immutable.copy(); 6128 dst.purpose = purpose == null ? null : purpose.copy(); 6129 dst.copyright = copyright == null ? null : copyright.copy(); 6130 dst.compose = compose == null ? null : compose.copy(); 6131 dst.expansion = expansion == null ? null : expansion.copy(); 6132 dst.scope = scope == null ? null : scope.copy(); 6133 } 6134 6135 protected ValueSet typedCopy() { 6136 return copy(); 6137 } 6138 6139 @Override 6140 public boolean equalsDeep(Base other_) { 6141 if (!super.equalsDeep(other_)) 6142 return false; 6143 if (!(other_ instanceof ValueSet)) 6144 return false; 6145 ValueSet o = (ValueSet) other_; 6146 return compareDeep(url, o.url, true) && compareDeep(identifier, o.identifier, true) && compareDeep(version, o.version, true) 6147 && compareDeep(name, o.name, true) && compareDeep(title, o.title, true) && compareDeep(status, o.status, true) 6148 && compareDeep(experimental, o.experimental, true) && compareDeep(date, o.date, true) && compareDeep(publisher, o.publisher, true) 6149 && compareDeep(contact, o.contact, true) && compareDeep(description, o.description, true) && compareDeep(useContext, o.useContext, true) 6150 && compareDeep(jurisdiction, o.jurisdiction, true) && compareDeep(immutable, o.immutable, true) 6151 && compareDeep(purpose, o.purpose, true) && compareDeep(copyright, o.copyright, true) && compareDeep(compose, o.compose, true) 6152 && compareDeep(expansion, o.expansion, true) && compareDeep(scope, o.scope, true); 6153 } 6154 6155 @Override 6156 public boolean equalsShallow(Base other_) { 6157 if (!super.equalsShallow(other_)) 6158 return false; 6159 if (!(other_ instanceof ValueSet)) 6160 return false; 6161 ValueSet o = (ValueSet) other_; 6162 return compareValues(url, o.url, true) && compareValues(version, o.version, true) && compareValues(name, o.name, true) 6163 && compareValues(title, o.title, true) && compareValues(status, o.status, true) && compareValues(experimental, o.experimental, true) 6164 && compareValues(date, o.date, true) && compareValues(publisher, o.publisher, true) && compareValues(description, o.description, true) 6165 && compareValues(immutable, o.immutable, true) && compareValues(purpose, o.purpose, true) && compareValues(copyright, o.copyright, true) 6166 ; 6167 } 6168 6169 public boolean isEmpty() { 6170 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(url, identifier, version 6171 , name, title, status, experimental, date, publisher, contact, description, useContext 6172 , jurisdiction, immutable, purpose, copyright, compose, expansion, scope); 6173 } 6174 6175 @Override 6176 public ResourceType getResourceType() { 6177 return ResourceType.ValueSet; 6178 } 6179 6180 /** 6181 * Search parameter: <b>code</b> 6182 * <p> 6183 * Description: <b>This special parameter searches for codes in the value set. See additional notes on the ValueSet resource</b><br> 6184 * Type: <b>token</b><br> 6185 * Path: <b>ValueSet.expansion.contains.code | ValueSet.compose.include.concept.code</b><br> 6186 * </p> 6187 */ 6188 @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" ) 6189 public static final String SP_CODE = "code"; 6190 /** 6191 * <b>Fluent Client</b> search parameter constant for <b>code</b> 6192 * <p> 6193 * Description: <b>This special parameter searches for codes in the value set. See additional notes on the ValueSet resource</b><br> 6194 * Type: <b>token</b><br> 6195 * Path: <b>ValueSet.expansion.contains.code | ValueSet.compose.include.concept.code</b><br> 6196 * </p> 6197 */ 6198 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CODE); 6199 6200 /** 6201 * Search parameter: <b>expansion</b> 6202 * <p> 6203 * Description: <b>Identifies the value set expansion (business identifier)</b><br> 6204 * Type: <b>uri</b><br> 6205 * Path: <b>ValueSet.expansion.identifier</b><br> 6206 * </p> 6207 */ 6208 @SearchParamDefinition(name="expansion", path="ValueSet.expansion.identifier", description="Identifies the value set expansion (business identifier)", type="uri" ) 6209 public static final String SP_EXPANSION = "expansion"; 6210 /** 6211 * <b>Fluent Client</b> search parameter constant for <b>expansion</b> 6212 * <p> 6213 * Description: <b>Identifies the value set expansion (business identifier)</b><br> 6214 * Type: <b>uri</b><br> 6215 * Path: <b>ValueSet.expansion.identifier</b><br> 6216 * </p> 6217 */ 6218 public static final ca.uhn.fhir.rest.gclient.UriClientParam EXPANSION = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_EXPANSION); 6219 6220 /** 6221 * Search parameter: <b>reference</b> 6222 * <p> 6223 * Description: <b>A code system included or excluded in the value set or an imported value set</b><br> 6224 * Type: <b>uri</b><br> 6225 * Path: <b>ValueSet.compose.include.system</b><br> 6226 * </p> 6227 */ 6228 @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" ) 6229 public static final String SP_REFERENCE = "reference"; 6230 /** 6231 * <b>Fluent Client</b> search parameter constant for <b>reference</b> 6232 * <p> 6233 * Description: <b>A code system included or excluded in the value set or an imported value set</b><br> 6234 * Type: <b>uri</b><br> 6235 * Path: <b>ValueSet.compose.include.system</b><br> 6236 * </p> 6237 */ 6238 public static final ca.uhn.fhir.rest.gclient.UriClientParam REFERENCE = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_REFERENCE); 6239 6240 /** 6241 * Search parameter: <b>context-quantity</b> 6242 * <p> 6243 * Description: <b>Multiple Resources: 6244 6245* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement 6246* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system 6247* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition 6248* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map 6249* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition 6250* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide 6251* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition 6252* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system 6253* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition 6254* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter 6255* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition 6256* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map 6257* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities 6258* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set 6259</b><br> 6260 * Type: <b>quantity</b><br> 6261 * 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> 6262 * </p> 6263 */ 6264 @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" ) 6265 public static final String SP_CONTEXT_QUANTITY = "context-quantity"; 6266 /** 6267 * <b>Fluent Client</b> search parameter constant for <b>context-quantity</b> 6268 * <p> 6269 * Description: <b>Multiple Resources: 6270 6271* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement 6272* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system 6273* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition 6274* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map 6275* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition 6276* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide 6277* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition 6278* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system 6279* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition 6280* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter 6281* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition 6282* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map 6283* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities 6284* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set 6285</b><br> 6286 * Type: <b>quantity</b><br> 6287 * 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> 6288 * </p> 6289 */ 6290 public static final ca.uhn.fhir.rest.gclient.QuantityClientParam CONTEXT_QUANTITY = new ca.uhn.fhir.rest.gclient.QuantityClientParam(SP_CONTEXT_QUANTITY); 6291 6292 /** 6293 * Search parameter: <b>context-type-quantity</b> 6294 * <p> 6295 * Description: <b>Multiple Resources: 6296 6297* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement 6298* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system 6299* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition 6300* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map 6301* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition 6302* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide 6303* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition 6304* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system 6305* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition 6306* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter 6307* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition 6308* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map 6309* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities 6310* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set 6311</b><br> 6312 * Type: <b>composite</b><br> 6313 * 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> 6314 * </p> 6315 */ 6316 @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"} ) 6317 public static final String SP_CONTEXT_TYPE_QUANTITY = "context-type-quantity"; 6318 /** 6319 * <b>Fluent Client</b> search parameter constant for <b>context-type-quantity</b> 6320 * <p> 6321 * Description: <b>Multiple Resources: 6322 6323* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement 6324* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system 6325* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition 6326* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map 6327* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition 6328* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide 6329* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition 6330* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system 6331* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition 6332* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter 6333* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition 6334* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map 6335* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities 6336* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set 6337</b><br> 6338 * Type: <b>composite</b><br> 6339 * 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> 6340 * </p> 6341 */ 6342 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); 6343 6344 /** 6345 * Search parameter: <b>context-type-value</b> 6346 * <p> 6347 * Description: <b>Multiple Resources: 6348 6349* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement 6350* [CodeSystem](codesystem.html): A use context type and value assigned to the code system 6351* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition 6352* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map 6353* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition 6354* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide 6355* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition 6356* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system 6357* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition 6358* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter 6359* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition 6360* [StructureMap](structuremap.html): A use context type and value assigned to the structure map 6361* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities 6362* [ValueSet](valueset.html): A use context type and value assigned to the value set 6363</b><br> 6364 * Type: <b>composite</b><br> 6365 * 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> 6366 * </p> 6367 */ 6368 @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"} ) 6369 public static final String SP_CONTEXT_TYPE_VALUE = "context-type-value"; 6370 /** 6371 * <b>Fluent Client</b> search parameter constant for <b>context-type-value</b> 6372 * <p> 6373 * Description: <b>Multiple Resources: 6374 6375* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement 6376* [CodeSystem](codesystem.html): A use context type and value assigned to the code system 6377* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition 6378* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map 6379* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition 6380* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide 6381* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition 6382* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system 6383* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition 6384* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter 6385* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition 6386* [StructureMap](structuremap.html): A use context type and value assigned to the structure map 6387* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities 6388* [ValueSet](valueset.html): A use context type and value assigned to the value set 6389</b><br> 6390 * Type: <b>composite</b><br> 6391 * 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> 6392 * </p> 6393 */ 6394 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); 6395 6396 /** 6397 * Search parameter: <b>context-type</b> 6398 * <p> 6399 * Description: <b>Multiple Resources: 6400 6401* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement 6402* [CodeSystem](codesystem.html): A type of use context assigned to the code system 6403* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition 6404* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map 6405* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition 6406* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide 6407* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition 6408* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system 6409* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition 6410* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter 6411* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition 6412* [StructureMap](structuremap.html): A type of use context assigned to the structure map 6413* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities 6414* [ValueSet](valueset.html): A type of use context assigned to the value set 6415</b><br> 6416 * Type: <b>token</b><br> 6417 * 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> 6418 * </p> 6419 */ 6420 @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" ) 6421 public static final String SP_CONTEXT_TYPE = "context-type"; 6422 /** 6423 * <b>Fluent Client</b> search parameter constant for <b>context-type</b> 6424 * <p> 6425 * Description: <b>Multiple Resources: 6426 6427* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement 6428* [CodeSystem](codesystem.html): A type of use context assigned to the code system 6429* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition 6430* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map 6431* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition 6432* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide 6433* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition 6434* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system 6435* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition 6436* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter 6437* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition 6438* [StructureMap](structuremap.html): A type of use context assigned to the structure map 6439* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities 6440* [ValueSet](valueset.html): A type of use context assigned to the value set 6441</b><br> 6442 * Type: <b>token</b><br> 6443 * 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> 6444 * </p> 6445 */ 6446 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT_TYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONTEXT_TYPE); 6447 6448 /** 6449 * Search parameter: <b>context</b> 6450 * <p> 6451 * Description: <b>Multiple Resources: 6452 6453* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement 6454* [CodeSystem](codesystem.html): A use context assigned to the code system 6455* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition 6456* [ConceptMap](conceptmap.html): A use context assigned to the concept map 6457* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition 6458* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide 6459* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition 6460* [NamingSystem](namingsystem.html): A use context assigned to the naming system 6461* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition 6462* [SearchParameter](searchparameter.html): A use context assigned to the search parameter 6463* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition 6464* [StructureMap](structuremap.html): A use context assigned to the structure map 6465* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities 6466* [ValueSet](valueset.html): A use context assigned to the value set 6467</b><br> 6468 * Type: <b>token</b><br> 6469 * 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> 6470 * </p> 6471 */ 6472 @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" ) 6473 public static final String SP_CONTEXT = "context"; 6474 /** 6475 * <b>Fluent Client</b> search parameter constant for <b>context</b> 6476 * <p> 6477 * Description: <b>Multiple Resources: 6478 6479* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement 6480* [CodeSystem](codesystem.html): A use context assigned to the code system 6481* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition 6482* [ConceptMap](conceptmap.html): A use context assigned to the concept map 6483* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition 6484* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide 6485* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition 6486* [NamingSystem](namingsystem.html): A use context assigned to the naming system 6487* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition 6488* [SearchParameter](searchparameter.html): A use context assigned to the search parameter 6489* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition 6490* [StructureMap](structuremap.html): A use context assigned to the structure map 6491* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities 6492* [ValueSet](valueset.html): A use context assigned to the value set 6493</b><br> 6494 * Type: <b>token</b><br> 6495 * 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> 6496 * </p> 6497 */ 6498 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONTEXT); 6499 6500 /** 6501 * Search parameter: <b>date</b> 6502 * <p> 6503 * Description: <b>Multiple Resources: 6504 6505* [CapabilityStatement](capabilitystatement.html): The capability statement publication date 6506* [CodeSystem](codesystem.html): The code system publication date 6507* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date 6508* [ConceptMap](conceptmap.html): The concept map publication date 6509* [GraphDefinition](graphdefinition.html): The graph definition publication date 6510* [ImplementationGuide](implementationguide.html): The implementation guide publication date 6511* [MessageDefinition](messagedefinition.html): The message definition publication date 6512* [NamingSystem](namingsystem.html): The naming system publication date 6513* [OperationDefinition](operationdefinition.html): The operation definition publication date 6514* [SearchParameter](searchparameter.html): The search parameter publication date 6515* [StructureDefinition](structuredefinition.html): The structure definition publication date 6516* [StructureMap](structuremap.html): The structure map publication date 6517* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date 6518* [ValueSet](valueset.html): The value set publication date 6519</b><br> 6520 * Type: <b>date</b><br> 6521 * 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> 6522 * </p> 6523 */ 6524 @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" ) 6525 public static final String SP_DATE = "date"; 6526 /** 6527 * <b>Fluent Client</b> search parameter constant for <b>date</b> 6528 * <p> 6529 * Description: <b>Multiple Resources: 6530 6531* [CapabilityStatement](capabilitystatement.html): The capability statement publication date 6532* [CodeSystem](codesystem.html): The code system publication date 6533* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date 6534* [ConceptMap](conceptmap.html): The concept map publication date 6535* [GraphDefinition](graphdefinition.html): The graph definition publication date 6536* [ImplementationGuide](implementationguide.html): The implementation guide publication date 6537* [MessageDefinition](messagedefinition.html): The message definition publication date 6538* [NamingSystem](namingsystem.html): The naming system publication date 6539* [OperationDefinition](operationdefinition.html): The operation definition publication date 6540* [SearchParameter](searchparameter.html): The search parameter publication date 6541* [StructureDefinition](structuredefinition.html): The structure definition publication date 6542* [StructureMap](structuremap.html): The structure map publication date 6543* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date 6544* [ValueSet](valueset.html): The value set publication date 6545</b><br> 6546 * Type: <b>date</b><br> 6547 * 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> 6548 * </p> 6549 */ 6550 public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE); 6551 6552 /** 6553 * Search parameter: <b>description</b> 6554 * <p> 6555 * Description: <b>Multiple Resources: 6556 6557* [CapabilityStatement](capabilitystatement.html): The description of the capability statement 6558* [CodeSystem](codesystem.html): The description of the code system 6559* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition 6560* [ConceptMap](conceptmap.html): The description of the concept map 6561* [GraphDefinition](graphdefinition.html): The description of the graph definition 6562* [ImplementationGuide](implementationguide.html): The description of the implementation guide 6563* [MessageDefinition](messagedefinition.html): The description of the message definition 6564* [NamingSystem](namingsystem.html): The description of the naming system 6565* [OperationDefinition](operationdefinition.html): The description of the operation definition 6566* [SearchParameter](searchparameter.html): The description of the search parameter 6567* [StructureDefinition](structuredefinition.html): The description of the structure definition 6568* [StructureMap](structuremap.html): The description of the structure map 6569* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities 6570* [ValueSet](valueset.html): The description of the value set 6571</b><br> 6572 * Type: <b>string</b><br> 6573 * 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> 6574 * </p> 6575 */ 6576 @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" ) 6577 public static final String SP_DESCRIPTION = "description"; 6578 /** 6579 * <b>Fluent Client</b> search parameter constant for <b>description</b> 6580 * <p> 6581 * Description: <b>Multiple Resources: 6582 6583* [CapabilityStatement](capabilitystatement.html): The description of the capability statement 6584* [CodeSystem](codesystem.html): The description of the code system 6585* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition 6586* [ConceptMap](conceptmap.html): The description of the concept map 6587* [GraphDefinition](graphdefinition.html): The description of the graph definition 6588* [ImplementationGuide](implementationguide.html): The description of the implementation guide 6589* [MessageDefinition](messagedefinition.html): The description of the message definition 6590* [NamingSystem](namingsystem.html): The description of the naming system 6591* [OperationDefinition](operationdefinition.html): The description of the operation definition 6592* [SearchParameter](searchparameter.html): The description of the search parameter 6593* [StructureDefinition](structuredefinition.html): The description of the structure definition 6594* [StructureMap](structuremap.html): The description of the structure map 6595* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities 6596* [ValueSet](valueset.html): The description of the value set 6597</b><br> 6598 * Type: <b>string</b><br> 6599 * 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> 6600 * </p> 6601 */ 6602 public static final ca.uhn.fhir.rest.gclient.StringClientParam DESCRIPTION = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_DESCRIPTION); 6603 6604 /** 6605 * Search parameter: <b>identifier</b> 6606 * <p> 6607 * Description: <b>Multiple Resources: 6608 6609* [CodeSystem](codesystem.html): External identifier for the code system 6610* [ConceptMap](conceptmap.html): External identifier for the concept map 6611* [MessageDefinition](messagedefinition.html): External identifier for the message definition 6612* [StructureDefinition](structuredefinition.html): External identifier for the structure definition 6613* [StructureMap](structuremap.html): External identifier for the structure map 6614* [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities 6615* [ValueSet](valueset.html): External identifier for the value set 6616</b><br> 6617 * Type: <b>token</b><br> 6618 * Path: <b>CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | TerminologyCapabilities.identifier | ValueSet.identifier</b><br> 6619 * </p> 6620 */ 6621 @SearchParamDefinition(name="identifier", path="CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | TerminologyCapabilities.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* [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities\r\n* [ValueSet](valueset.html): External identifier for the value set\r\n", type="token" ) 6622 public static final String SP_IDENTIFIER = "identifier"; 6623 /** 6624 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 6625 * <p> 6626 * Description: <b>Multiple Resources: 6627 6628* [CodeSystem](codesystem.html): External identifier for the code system 6629* [ConceptMap](conceptmap.html): External identifier for the concept map 6630* [MessageDefinition](messagedefinition.html): External identifier for the message definition 6631* [StructureDefinition](structuredefinition.html): External identifier for the structure definition 6632* [StructureMap](structuremap.html): External identifier for the structure map 6633* [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities 6634* [ValueSet](valueset.html): External identifier for the value set 6635</b><br> 6636 * Type: <b>token</b><br> 6637 * Path: <b>CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | TerminologyCapabilities.identifier | ValueSet.identifier</b><br> 6638 * </p> 6639 */ 6640 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 6641 6642 /** 6643 * Search parameter: <b>jurisdiction</b> 6644 * <p> 6645 * Description: <b>Multiple Resources: 6646 6647* [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement 6648* [CodeSystem](codesystem.html): Intended jurisdiction for the code system 6649* [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map 6650* [GraphDefinition](graphdefinition.html): Intended jurisdiction for the graph definition 6651* [ImplementationGuide](implementationguide.html): Intended jurisdiction for the implementation guide 6652* [MessageDefinition](messagedefinition.html): Intended jurisdiction for the message definition 6653* [NamingSystem](namingsystem.html): Intended jurisdiction for the naming system 6654* [OperationDefinition](operationdefinition.html): Intended jurisdiction for the operation definition 6655* [SearchParameter](searchparameter.html): Intended jurisdiction for the search parameter 6656* [StructureDefinition](structuredefinition.html): Intended jurisdiction for the structure definition 6657* [StructureMap](structuremap.html): Intended jurisdiction for the structure map 6658* [TerminologyCapabilities](terminologycapabilities.html): Intended jurisdiction for the terminology capabilities 6659* [ValueSet](valueset.html): Intended jurisdiction for the value set 6660</b><br> 6661 * Type: <b>token</b><br> 6662 * 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> 6663 * </p> 6664 */ 6665 @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" ) 6666 public static final String SP_JURISDICTION = "jurisdiction"; 6667 /** 6668 * <b>Fluent Client</b> search parameter constant for <b>jurisdiction</b> 6669 * <p> 6670 * Description: <b>Multiple Resources: 6671 6672* [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement 6673* [CodeSystem](codesystem.html): Intended jurisdiction for the code system 6674* [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map 6675* [GraphDefinition](graphdefinition.html): Intended jurisdiction for the graph definition 6676* [ImplementationGuide](implementationguide.html): Intended jurisdiction for the implementation guide 6677* [MessageDefinition](messagedefinition.html): Intended jurisdiction for the message definition 6678* [NamingSystem](namingsystem.html): Intended jurisdiction for the naming system 6679* [OperationDefinition](operationdefinition.html): Intended jurisdiction for the operation definition 6680* [SearchParameter](searchparameter.html): Intended jurisdiction for the search parameter 6681* [StructureDefinition](structuredefinition.html): Intended jurisdiction for the structure definition 6682* [StructureMap](structuremap.html): Intended jurisdiction for the structure map 6683* [TerminologyCapabilities](terminologycapabilities.html): Intended jurisdiction for the terminology capabilities 6684* [ValueSet](valueset.html): Intended jurisdiction for the value set 6685</b><br> 6686 * Type: <b>token</b><br> 6687 * 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> 6688 * </p> 6689 */ 6690 public static final ca.uhn.fhir.rest.gclient.TokenClientParam JURISDICTION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_JURISDICTION); 6691 6692 /** 6693 * Search parameter: <b>name</b> 6694 * <p> 6695 * Description: <b>Multiple Resources: 6696 6697* [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement 6698* [CodeSystem](codesystem.html): Computationally friendly name of the code system 6699* [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition 6700* [ConceptMap](conceptmap.html): Computationally friendly name of the concept map 6701* [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition 6702* [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide 6703* [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition 6704* [NamingSystem](namingsystem.html): Computationally friendly name of the naming system 6705* [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition 6706* [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter 6707* [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition 6708* [StructureMap](structuremap.html): Computationally friendly name of the structure map 6709* [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities 6710* [ValueSet](valueset.html): Computationally friendly name of the value set 6711</b><br> 6712 * Type: <b>string</b><br> 6713 * 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> 6714 * </p> 6715 */ 6716 @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" ) 6717 public static final String SP_NAME = "name"; 6718 /** 6719 * <b>Fluent Client</b> search parameter constant for <b>name</b> 6720 * <p> 6721 * Description: <b>Multiple Resources: 6722 6723* [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement 6724* [CodeSystem](codesystem.html): Computationally friendly name of the code system 6725* [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition 6726* [ConceptMap](conceptmap.html): Computationally friendly name of the concept map 6727* [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition 6728* [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide 6729* [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition 6730* [NamingSystem](namingsystem.html): Computationally friendly name of the naming system 6731* [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition 6732* [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter 6733* [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition 6734* [StructureMap](structuremap.html): Computationally friendly name of the structure map 6735* [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities 6736* [ValueSet](valueset.html): Computationally friendly name of the value set 6737</b><br> 6738 * Type: <b>string</b><br> 6739 * 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> 6740 * </p> 6741 */ 6742 public static final ca.uhn.fhir.rest.gclient.StringClientParam NAME = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_NAME); 6743 6744 /** 6745 * Search parameter: <b>publisher</b> 6746 * <p> 6747 * Description: <b>Multiple Resources: 6748 6749* [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement 6750* [CodeSystem](codesystem.html): Name of the publisher of the code system 6751* [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition 6752* [ConceptMap](conceptmap.html): Name of the publisher of the concept map 6753* [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition 6754* [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide 6755* [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition 6756* [NamingSystem](namingsystem.html): Name of the publisher of the naming system 6757* [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition 6758* [SearchParameter](searchparameter.html): Name of the publisher of the search parameter 6759* [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition 6760* [StructureMap](structuremap.html): Name of the publisher of the structure map 6761* [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities 6762* [ValueSet](valueset.html): Name of the publisher of the value set 6763</b><br> 6764 * Type: <b>string</b><br> 6765 * 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> 6766 * </p> 6767 */ 6768 @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" ) 6769 public static final String SP_PUBLISHER = "publisher"; 6770 /** 6771 * <b>Fluent Client</b> search parameter constant for <b>publisher</b> 6772 * <p> 6773 * Description: <b>Multiple Resources: 6774 6775* [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement 6776* [CodeSystem](codesystem.html): Name of the publisher of the code system 6777* [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition 6778* [ConceptMap](conceptmap.html): Name of the publisher of the concept map 6779* [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition 6780* [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide 6781* [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition 6782* [NamingSystem](namingsystem.html): Name of the publisher of the naming system 6783* [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition 6784* [SearchParameter](searchparameter.html): Name of the publisher of the search parameter 6785* [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition 6786* [StructureMap](structuremap.html): Name of the publisher of the structure map 6787* [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities 6788* [ValueSet](valueset.html): Name of the publisher of the value set 6789</b><br> 6790 * Type: <b>string</b><br> 6791 * 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> 6792 * </p> 6793 */ 6794 public static final ca.uhn.fhir.rest.gclient.StringClientParam PUBLISHER = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_PUBLISHER); 6795 6796 /** 6797 * Search parameter: <b>status</b> 6798 * <p> 6799 * Description: <b>Multiple Resources: 6800 6801* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement 6802* [CodeSystem](codesystem.html): The current status of the code system 6803* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition 6804* [ConceptMap](conceptmap.html): The current status of the concept map 6805* [GraphDefinition](graphdefinition.html): The current status of the graph definition 6806* [ImplementationGuide](implementationguide.html): The current status of the implementation guide 6807* [MessageDefinition](messagedefinition.html): The current status of the message definition 6808* [NamingSystem](namingsystem.html): The current status of the naming system 6809* [OperationDefinition](operationdefinition.html): The current status of the operation definition 6810* [SearchParameter](searchparameter.html): The current status of the search parameter 6811* [StructureDefinition](structuredefinition.html): The current status of the structure definition 6812* [StructureMap](structuremap.html): The current status of the structure map 6813* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities 6814* [ValueSet](valueset.html): The current status of the value set 6815</b><br> 6816 * Type: <b>token</b><br> 6817 * 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> 6818 * </p> 6819 */ 6820 @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" ) 6821 public static final String SP_STATUS = "status"; 6822 /** 6823 * <b>Fluent Client</b> search parameter constant for <b>status</b> 6824 * <p> 6825 * Description: <b>Multiple Resources: 6826 6827* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement 6828* [CodeSystem](codesystem.html): The current status of the code system 6829* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition 6830* [ConceptMap](conceptmap.html): The current status of the concept map 6831* [GraphDefinition](graphdefinition.html): The current status of the graph definition 6832* [ImplementationGuide](implementationguide.html): The current status of the implementation guide 6833* [MessageDefinition](messagedefinition.html): The current status of the message definition 6834* [NamingSystem](namingsystem.html): The current status of the naming system 6835* [OperationDefinition](operationdefinition.html): The current status of the operation definition 6836* [SearchParameter](searchparameter.html): The current status of the search parameter 6837* [StructureDefinition](structuredefinition.html): The current status of the structure definition 6838* [StructureMap](structuremap.html): The current status of the structure map 6839* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities 6840* [ValueSet](valueset.html): The current status of the value set 6841</b><br> 6842 * Type: <b>token</b><br> 6843 * 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> 6844 * </p> 6845 */ 6846 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 6847 6848 /** 6849 * Search parameter: <b>title</b> 6850 * <p> 6851 * Description: <b>Multiple Resources: 6852 6853* [CapabilityStatement](capabilitystatement.html): The human-friendly name of the capability statement 6854* [CodeSystem](codesystem.html): The human-friendly name of the code system 6855* [ConceptMap](conceptmap.html): The human-friendly name of the concept map 6856* [ImplementationGuide](implementationguide.html): The human-friendly name of the implementation guide 6857* [MessageDefinition](messagedefinition.html): The human-friendly name of the message definition 6858* [OperationDefinition](operationdefinition.html): The human-friendly name of the operation definition 6859* [StructureDefinition](structuredefinition.html): The human-friendly name of the structure definition 6860* [StructureMap](structuremap.html): The human-friendly name of the structure map 6861* [TerminologyCapabilities](terminologycapabilities.html): The human-friendly name of the terminology capabilities 6862* [ValueSet](valueset.html): The human-friendly name of the value set 6863</b><br> 6864 * Type: <b>string</b><br> 6865 * Path: <b>CapabilityStatement.title | CodeSystem.title | ConceptMap.title | ImplementationGuide.title | MessageDefinition.title | OperationDefinition.title | StructureDefinition.title | StructureMap.title | TerminologyCapabilities.title | ValueSet.title</b><br> 6866 * </p> 6867 */ 6868 @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" ) 6869 public static final String SP_TITLE = "title"; 6870 /** 6871 * <b>Fluent Client</b> search parameter constant for <b>title</b> 6872 * <p> 6873 * Description: <b>Multiple Resources: 6874 6875* [CapabilityStatement](capabilitystatement.html): The human-friendly name of the capability statement 6876* [CodeSystem](codesystem.html): The human-friendly name of the code system 6877* [ConceptMap](conceptmap.html): The human-friendly name of the concept map 6878* [ImplementationGuide](implementationguide.html): The human-friendly name of the implementation guide 6879* [MessageDefinition](messagedefinition.html): The human-friendly name of the message definition 6880* [OperationDefinition](operationdefinition.html): The human-friendly name of the operation definition 6881* [StructureDefinition](structuredefinition.html): The human-friendly name of the structure definition 6882* [StructureMap](structuremap.html): The human-friendly name of the structure map 6883* [TerminologyCapabilities](terminologycapabilities.html): The human-friendly name of the terminology capabilities 6884* [ValueSet](valueset.html): The human-friendly name of the value set 6885</b><br> 6886 * Type: <b>string</b><br> 6887 * Path: <b>CapabilityStatement.title | CodeSystem.title | ConceptMap.title | ImplementationGuide.title | MessageDefinition.title | OperationDefinition.title | StructureDefinition.title | StructureMap.title | TerminologyCapabilities.title | ValueSet.title</b><br> 6888 * </p> 6889 */ 6890 public static final ca.uhn.fhir.rest.gclient.StringClientParam TITLE = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_TITLE); 6891 6892 /** 6893 * Search parameter: <b>url</b> 6894 * <p> 6895 * Description: <b>Multiple Resources: 6896 6897* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement 6898* [CodeSystem](codesystem.html): The uri that identifies the code system 6899* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition 6900* [ConceptMap](conceptmap.html): The uri that identifies the concept map 6901* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition 6902* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide 6903* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition 6904* [NamingSystem](namingsystem.html): The uri that identifies the naming system 6905* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition 6906* [SearchParameter](searchparameter.html): The uri that identifies the search parameter 6907* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition 6908* [StructureMap](structuremap.html): The uri that identifies the structure map 6909* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities 6910* [ValueSet](valueset.html): The uri that identifies the value set 6911</b><br> 6912 * Type: <b>uri</b><br> 6913 * Path: <b>CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | NamingSystem.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url</b><br> 6914 * </p> 6915 */ 6916 @SearchParamDefinition(name="url", path="CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | NamingSystem.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* [NamingSystem](namingsystem.html): The uri that identifies the naming system\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" ) 6917 public static final String SP_URL = "url"; 6918 /** 6919 * <b>Fluent Client</b> search parameter constant for <b>url</b> 6920 * <p> 6921 * Description: <b>Multiple Resources: 6922 6923* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement 6924* [CodeSystem](codesystem.html): The uri that identifies the code system 6925* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition 6926* [ConceptMap](conceptmap.html): The uri that identifies the concept map 6927* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition 6928* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide 6929* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition 6930* [NamingSystem](namingsystem.html): The uri that identifies the naming system 6931* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition 6932* [SearchParameter](searchparameter.html): The uri that identifies the search parameter 6933* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition 6934* [StructureMap](structuremap.html): The uri that identifies the structure map 6935* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities 6936* [ValueSet](valueset.html): The uri that identifies the value set 6937</b><br> 6938 * Type: <b>uri</b><br> 6939 * Path: <b>CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | NamingSystem.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url</b><br> 6940 * </p> 6941 */ 6942 public static final ca.uhn.fhir.rest.gclient.UriClientParam URL = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_URL); 6943 6944 /** 6945 * Search parameter: <b>version</b> 6946 * <p> 6947 * Description: <b>Multiple Resources: 6948 6949* [CapabilityStatement](capabilitystatement.html): The business version of the capability statement 6950* [CodeSystem](codesystem.html): The business version of the code system 6951* [CompartmentDefinition](compartmentdefinition.html): The business version of the compartment definition 6952* [ConceptMap](conceptmap.html): The business version of the concept map 6953* [GraphDefinition](graphdefinition.html): The business version of the graph definition 6954* [ImplementationGuide](implementationguide.html): The business version of the implementation guide 6955* [MessageDefinition](messagedefinition.html): The business version of the message definition 6956* [NamingSystem](namingsystem.html): The business version of the naming system 6957* [OperationDefinition](operationdefinition.html): The business version of the operation definition 6958* [SearchParameter](searchparameter.html): The business version of the search parameter 6959* [StructureDefinition](structuredefinition.html): The business version of the structure definition 6960* [StructureMap](structuremap.html): The business version of the structure map 6961* [TerminologyCapabilities](terminologycapabilities.html): The business version of the terminology capabilities 6962* [ValueSet](valueset.html): The business version of the value set 6963</b><br> 6964 * Type: <b>token</b><br> 6965 * Path: <b>CapabilityStatement.version | CodeSystem.version | CompartmentDefinition.version | ConceptMap.version | GraphDefinition.version | ImplementationGuide.version | MessageDefinition.version | NamingSystem.version | OperationDefinition.version | SearchParameter.version | StructureDefinition.version | StructureMap.version | TerminologyCapabilities.version | ValueSet.version</b><br> 6966 * </p> 6967 */ 6968 @SearchParamDefinition(name="version", path="CapabilityStatement.version | CodeSystem.version | CompartmentDefinition.version | ConceptMap.version | GraphDefinition.version | ImplementationGuide.version | MessageDefinition.version | NamingSystem.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* [NamingSystem](namingsystem.html): The business version of the naming system\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" ) 6969 public static final String SP_VERSION = "version"; 6970 /** 6971 * <b>Fluent Client</b> search parameter constant for <b>version</b> 6972 * <p> 6973 * Description: <b>Multiple Resources: 6974 6975* [CapabilityStatement](capabilitystatement.html): The business version of the capability statement 6976* [CodeSystem](codesystem.html): The business version of the code system 6977* [CompartmentDefinition](compartmentdefinition.html): The business version of the compartment definition 6978* [ConceptMap](conceptmap.html): The business version of the concept map 6979* [GraphDefinition](graphdefinition.html): The business version of the graph definition 6980* [ImplementationGuide](implementationguide.html): The business version of the implementation guide 6981* [MessageDefinition](messagedefinition.html): The business version of the message definition 6982* [NamingSystem](namingsystem.html): The business version of the naming system 6983* [OperationDefinition](operationdefinition.html): The business version of the operation definition 6984* [SearchParameter](searchparameter.html): The business version of the search parameter 6985* [StructureDefinition](structuredefinition.html): The business version of the structure definition 6986* [StructureMap](structuremap.html): The business version of the structure map 6987* [TerminologyCapabilities](terminologycapabilities.html): The business version of the terminology capabilities 6988* [ValueSet](valueset.html): The business version of the value set 6989</b><br> 6990 * Type: <b>token</b><br> 6991 * Path: <b>CapabilityStatement.version | CodeSystem.version | CompartmentDefinition.version | ConceptMap.version | GraphDefinition.version | ImplementationGuide.version | MessageDefinition.version | NamingSystem.version | OperationDefinition.version | SearchParameter.version | StructureDefinition.version | StructureMap.version | TerminologyCapabilities.version | ValueSet.version</b><br> 6992 * </p> 6993 */ 6994 public static final ca.uhn.fhir.rest.gclient.TokenClientParam VERSION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_VERSION); 6995 6996 6997} 6998