
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 Thu, Mar 23, 2023 19:59+1100 for FHIR v5.0.0 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 MetadataResource { 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 singleton property ValueSet.compose.lockedDate"); 476 } 477 else if (name.equals("inactive")) { 478 throw new FHIRException("Cannot call addChild on a singleton property 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 singleton property 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 specifying 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 within the include, 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 specifying 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 within the include, 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 specifying 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 within the include, 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 specifying 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 within the include, 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 specifying 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 within the include, 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 singleton property ValueSet.compose.include.system"); 1036 } 1037 else if (name.equals("version")) { 1038 throw new FHIRException("Cannot call addChild on a singleton property 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 singleton property ValueSet.compose.include.valueSet"); 1048 } 1049 else if (name.equals("copyright")) { 1050 throw new FHIRException("Cannot call addChild on a singleton property 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 singleton property ValueSet.compose.include.concept.code"); 1391 } 1392 else if (name.equals("display")) { 1393 throw new FHIRException("Cannot call addChild on a singleton property 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/all-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 * Additional codes that detail how this designation would be used, if there is more than one use. 1472 */ 1473 @Child(name = "additionalUse", type = {Coding.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1474 @Description(shortDefinition="Additional ways how this designation would be used", formalDefinition="Additional codes that detail how this designation would be used, if there is more than one use." ) 1475 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/designation-use") 1476 protected List<Coding> additionalUse; 1477 1478 /** 1479 * The text value for this designation. 1480 */ 1481 @Child(name = "value", type = {StringType.class}, order=4, min=1, max=1, modifier=false, summary=false) 1482 @Description(shortDefinition="The text value for this designation", formalDefinition="The text value for this designation." ) 1483 protected StringType value; 1484 1485 private static final long serialVersionUID = -141147882L; 1486 1487 /** 1488 * Constructor 1489 */ 1490 public ConceptReferenceDesignationComponent() { 1491 super(); 1492 } 1493 1494 /** 1495 * Constructor 1496 */ 1497 public ConceptReferenceDesignationComponent(String value) { 1498 super(); 1499 this.setValue(value); 1500 } 1501 1502 /** 1503 * @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 1504 */ 1505 public CodeType getLanguageElement() { 1506 if (this.language == null) 1507 if (Configuration.errorOnAutoCreate()) 1508 throw new Error("Attempt to auto-create ConceptReferenceDesignationComponent.language"); 1509 else if (Configuration.doAutoCreate()) 1510 this.language = new CodeType(); // bb 1511 return this.language; 1512 } 1513 1514 public boolean hasLanguageElement() { 1515 return this.language != null && !this.language.isEmpty(); 1516 } 1517 1518 public boolean hasLanguage() { 1519 return this.language != null && !this.language.isEmpty(); 1520 } 1521 1522 /** 1523 * @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 1524 */ 1525 public ConceptReferenceDesignationComponent setLanguageElement(CodeType value) { 1526 this.language = value; 1527 return this; 1528 } 1529 1530 /** 1531 * @return The language this designation is defined for. 1532 */ 1533 public String getLanguage() { 1534 return this.language == null ? null : this.language.getValue(); 1535 } 1536 1537 /** 1538 * @param value The language this designation is defined for. 1539 */ 1540 public ConceptReferenceDesignationComponent setLanguage(String value) { 1541 if (Utilities.noString(value)) 1542 this.language = null; 1543 else { 1544 if (this.language == null) 1545 this.language = new CodeType(); 1546 this.language.setValue(value); 1547 } 1548 return this; 1549 } 1550 1551 /** 1552 * @return {@link #use} (A code that represents types of uses of designations.) 1553 */ 1554 public Coding getUse() { 1555 if (this.use == null) 1556 if (Configuration.errorOnAutoCreate()) 1557 throw new Error("Attempt to auto-create ConceptReferenceDesignationComponent.use"); 1558 else if (Configuration.doAutoCreate()) 1559 this.use = new Coding(); // cc 1560 return this.use; 1561 } 1562 1563 public boolean hasUse() { 1564 return this.use != null && !this.use.isEmpty(); 1565 } 1566 1567 /** 1568 * @param value {@link #use} (A code that represents types of uses of designations.) 1569 */ 1570 public ConceptReferenceDesignationComponent setUse(Coding value) { 1571 this.use = value; 1572 return this; 1573 } 1574 1575 /** 1576 * @return {@link #additionalUse} (Additional codes that detail how this designation would be used, if there is more than one use.) 1577 */ 1578 public List<Coding> getAdditionalUse() { 1579 if (this.additionalUse == null) 1580 this.additionalUse = new ArrayList<Coding>(); 1581 return this.additionalUse; 1582 } 1583 1584 /** 1585 * @return Returns a reference to <code>this</code> for easy method chaining 1586 */ 1587 public ConceptReferenceDesignationComponent setAdditionalUse(List<Coding> theAdditionalUse) { 1588 this.additionalUse = theAdditionalUse; 1589 return this; 1590 } 1591 1592 public boolean hasAdditionalUse() { 1593 if (this.additionalUse == null) 1594 return false; 1595 for (Coding item : this.additionalUse) 1596 if (!item.isEmpty()) 1597 return true; 1598 return false; 1599 } 1600 1601 public Coding addAdditionalUse() { //3 1602 Coding t = new Coding(); 1603 if (this.additionalUse == null) 1604 this.additionalUse = new ArrayList<Coding>(); 1605 this.additionalUse.add(t); 1606 return t; 1607 } 1608 1609 public ConceptReferenceDesignationComponent addAdditionalUse(Coding t) { //3 1610 if (t == null) 1611 return this; 1612 if (this.additionalUse == null) 1613 this.additionalUse = new ArrayList<Coding>(); 1614 this.additionalUse.add(t); 1615 return this; 1616 } 1617 1618 /** 1619 * @return The first repetition of repeating field {@link #additionalUse}, creating it if it does not already exist {3} 1620 */ 1621 public Coding getAdditionalUseFirstRep() { 1622 if (getAdditionalUse().isEmpty()) { 1623 addAdditionalUse(); 1624 } 1625 return getAdditionalUse().get(0); 1626 } 1627 1628 /** 1629 * @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 1630 */ 1631 public StringType getValueElement() { 1632 if (this.value == null) 1633 if (Configuration.errorOnAutoCreate()) 1634 throw new Error("Attempt to auto-create ConceptReferenceDesignationComponent.value"); 1635 else if (Configuration.doAutoCreate()) 1636 this.value = new StringType(); // bb 1637 return this.value; 1638 } 1639 1640 public boolean hasValueElement() { 1641 return this.value != null && !this.value.isEmpty(); 1642 } 1643 1644 public boolean hasValue() { 1645 return this.value != null && !this.value.isEmpty(); 1646 } 1647 1648 /** 1649 * @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 1650 */ 1651 public ConceptReferenceDesignationComponent setValueElement(StringType value) { 1652 this.value = value; 1653 return this; 1654 } 1655 1656 /** 1657 * @return The text value for this designation. 1658 */ 1659 public String getValue() { 1660 return this.value == null ? null : this.value.getValue(); 1661 } 1662 1663 /** 1664 * @param value The text value for this designation. 1665 */ 1666 public ConceptReferenceDesignationComponent setValue(String value) { 1667 if (this.value == null) 1668 this.value = new StringType(); 1669 this.value.setValue(value); 1670 return this; 1671 } 1672 1673 protected void listChildren(List<Property> children) { 1674 super.listChildren(children); 1675 children.add(new Property("language", "code", "The language this designation is defined for.", 0, 1, language)); 1676 children.add(new Property("use", "Coding", "A code that represents types of uses of designations.", 0, 1, use)); 1677 children.add(new Property("additionalUse", "Coding", "Additional codes that detail how this designation would be used, if there is more than one use.", 0, java.lang.Integer.MAX_VALUE, additionalUse)); 1678 children.add(new Property("value", "string", "The text value for this designation.", 0, 1, value)); 1679 } 1680 1681 @Override 1682 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1683 switch (_hash) { 1684 case -1613589672: /*language*/ return new Property("language", "code", "The language this designation is defined for.", 0, 1, language); 1685 case 116103: /*use*/ return new Property("use", "Coding", "A code that represents types of uses of designations.", 0, 1, use); 1686 case 938414048: /*additionalUse*/ return new Property("additionalUse", "Coding", "Additional codes that detail how this designation would be used, if there is more than one use.", 0, java.lang.Integer.MAX_VALUE, additionalUse); 1687 case 111972721: /*value*/ return new Property("value", "string", "The text value for this designation.", 0, 1, value); 1688 default: return super.getNamedProperty(_hash, _name, _checkValid); 1689 } 1690 1691 } 1692 1693 @Override 1694 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1695 switch (hash) { 1696 case -1613589672: /*language*/ return this.language == null ? new Base[0] : new Base[] {this.language}; // CodeType 1697 case 116103: /*use*/ return this.use == null ? new Base[0] : new Base[] {this.use}; // Coding 1698 case 938414048: /*additionalUse*/ return this.additionalUse == null ? new Base[0] : this.additionalUse.toArray(new Base[this.additionalUse.size()]); // Coding 1699 case 111972721: /*value*/ return this.value == null ? new Base[0] : new Base[] {this.value}; // StringType 1700 default: return super.getProperty(hash, name, checkValid); 1701 } 1702 1703 } 1704 1705 @Override 1706 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1707 switch (hash) { 1708 case -1613589672: // language 1709 this.language = TypeConvertor.castToCode(value); // CodeType 1710 return value; 1711 case 116103: // use 1712 this.use = TypeConvertor.castToCoding(value); // Coding 1713 return value; 1714 case 938414048: // additionalUse 1715 this.getAdditionalUse().add(TypeConvertor.castToCoding(value)); // Coding 1716 return value; 1717 case 111972721: // value 1718 this.value = TypeConvertor.castToString(value); // StringType 1719 return value; 1720 default: return super.setProperty(hash, name, value); 1721 } 1722 1723 } 1724 1725 @Override 1726 public Base setProperty(String name, Base value) throws FHIRException { 1727 if (name.equals("language")) { 1728 this.language = TypeConvertor.castToCode(value); // CodeType 1729 } else if (name.equals("use")) { 1730 this.use = TypeConvertor.castToCoding(value); // Coding 1731 } else if (name.equals("additionalUse")) { 1732 this.getAdditionalUse().add(TypeConvertor.castToCoding(value)); 1733 } else if (name.equals("value")) { 1734 this.value = TypeConvertor.castToString(value); // StringType 1735 } else 1736 return super.setProperty(name, value); 1737 return value; 1738 } 1739 1740 @Override 1741 public Base makeProperty(int hash, String name) throws FHIRException { 1742 switch (hash) { 1743 case -1613589672: return getLanguageElement(); 1744 case 116103: return getUse(); 1745 case 938414048: return addAdditionalUse(); 1746 case 111972721: return getValueElement(); 1747 default: return super.makeProperty(hash, name); 1748 } 1749 1750 } 1751 1752 @Override 1753 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1754 switch (hash) { 1755 case -1613589672: /*language*/ return new String[] {"code"}; 1756 case 116103: /*use*/ return new String[] {"Coding"}; 1757 case 938414048: /*additionalUse*/ return new String[] {"Coding"}; 1758 case 111972721: /*value*/ return new String[] {"string"}; 1759 default: return super.getTypesForProperty(hash, name); 1760 } 1761 1762 } 1763 1764 @Override 1765 public Base addChild(String name) throws FHIRException { 1766 if (name.equals("language")) { 1767 throw new FHIRException("Cannot call addChild on a singleton property ValueSet.compose.include.concept.designation.language"); 1768 } 1769 else if (name.equals("use")) { 1770 this.use = new Coding(); 1771 return this.use; 1772 } 1773 else if (name.equals("additionalUse")) { 1774 return addAdditionalUse(); 1775 } 1776 else if (name.equals("value")) { 1777 throw new FHIRException("Cannot call addChild on a singleton property ValueSet.compose.include.concept.designation.value"); 1778 } 1779 else 1780 return super.addChild(name); 1781 } 1782 1783 public ConceptReferenceDesignationComponent copy() { 1784 ConceptReferenceDesignationComponent dst = new ConceptReferenceDesignationComponent(); 1785 copyValues(dst); 1786 return dst; 1787 } 1788 1789 public void copyValues(ConceptReferenceDesignationComponent dst) { 1790 super.copyValues(dst); 1791 dst.language = language == null ? null : language.copy(); 1792 dst.use = use == null ? null : use.copy(); 1793 if (additionalUse != null) { 1794 dst.additionalUse = new ArrayList<Coding>(); 1795 for (Coding i : additionalUse) 1796 dst.additionalUse.add(i.copy()); 1797 }; 1798 dst.value = value == null ? null : value.copy(); 1799 } 1800 1801 @Override 1802 public boolean equalsDeep(Base other_) { 1803 if (!super.equalsDeep(other_)) 1804 return false; 1805 if (!(other_ instanceof ConceptReferenceDesignationComponent)) 1806 return false; 1807 ConceptReferenceDesignationComponent o = (ConceptReferenceDesignationComponent) other_; 1808 return compareDeep(language, o.language, true) && compareDeep(use, o.use, true) && compareDeep(additionalUse, o.additionalUse, true) 1809 && compareDeep(value, o.value, true); 1810 } 1811 1812 @Override 1813 public boolean equalsShallow(Base other_) { 1814 if (!super.equalsShallow(other_)) 1815 return false; 1816 if (!(other_ instanceof ConceptReferenceDesignationComponent)) 1817 return false; 1818 ConceptReferenceDesignationComponent o = (ConceptReferenceDesignationComponent) other_; 1819 return compareValues(language, o.language, true) && compareValues(value, o.value, true); 1820 } 1821 1822 public boolean isEmpty() { 1823 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(language, use, additionalUse 1824 , value); 1825 } 1826 1827 public String fhirType() { 1828 return "ValueSet.compose.include.concept.designation"; 1829 1830 } 1831 1832 } 1833 1834 @Block() 1835 public static class ConceptSetFilterComponent extends BackboneElement implements IBaseBackboneElement { 1836 /** 1837 * A code that identifies a property or a filter defined in the code system. 1838 */ 1839 @Child(name = "property", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=true) 1840 @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." ) 1841 protected CodeType property; 1842 1843 /** 1844 * The kind of operation to perform as a part of the filter criteria. 1845 */ 1846 @Child(name = "op", type = {CodeType.class}, order=2, min=1, max=1, modifier=false, summary=true) 1847 @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." ) 1848 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/filter-operator") 1849 protected Enumeration<FilterOperator> op; 1850 1851 /** 1852 * 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'. 1853 */ 1854 @Child(name = "value", type = {StringType.class}, order=3, min=1, max=1, modifier=false, summary=true) 1855 @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'." ) 1856 protected StringType value; 1857 1858 private static final long serialVersionUID = 1259153492L; 1859 1860 /** 1861 * Constructor 1862 */ 1863 public ConceptSetFilterComponent() { 1864 super(); 1865 } 1866 1867 /** 1868 * Constructor 1869 */ 1870 public ConceptSetFilterComponent(String property, FilterOperator op, String value) { 1871 super(); 1872 this.setProperty(property); 1873 this.setOp(op); 1874 this.setValue(value); 1875 } 1876 1877 /** 1878 * @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 1879 */ 1880 public CodeType getPropertyElement() { 1881 if (this.property == null) 1882 if (Configuration.errorOnAutoCreate()) 1883 throw new Error("Attempt to auto-create ConceptSetFilterComponent.property"); 1884 else if (Configuration.doAutoCreate()) 1885 this.property = new CodeType(); // bb 1886 return this.property; 1887 } 1888 1889 public boolean hasPropertyElement() { 1890 return this.property != null && !this.property.isEmpty(); 1891 } 1892 1893 public boolean hasProperty() { 1894 return this.property != null && !this.property.isEmpty(); 1895 } 1896 1897 /** 1898 * @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 1899 */ 1900 public ConceptSetFilterComponent setPropertyElement(CodeType value) { 1901 this.property = value; 1902 return this; 1903 } 1904 1905 /** 1906 * @return A code that identifies a property or a filter defined in the code system. 1907 */ 1908 public String getProperty() { 1909 return this.property == null ? null : this.property.getValue(); 1910 } 1911 1912 /** 1913 * @param value A code that identifies a property or a filter defined in the code system. 1914 */ 1915 public ConceptSetFilterComponent setProperty(String value) { 1916 if (this.property == null) 1917 this.property = new CodeType(); 1918 this.property.setValue(value); 1919 return this; 1920 } 1921 1922 /** 1923 * @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 1924 */ 1925 public Enumeration<FilterOperator> getOpElement() { 1926 if (this.op == null) 1927 if (Configuration.errorOnAutoCreate()) 1928 throw new Error("Attempt to auto-create ConceptSetFilterComponent.op"); 1929 else if (Configuration.doAutoCreate()) 1930 this.op = new Enumeration<FilterOperator>(new FilterOperatorEnumFactory()); // bb 1931 return this.op; 1932 } 1933 1934 public boolean hasOpElement() { 1935 return this.op != null && !this.op.isEmpty(); 1936 } 1937 1938 public boolean hasOp() { 1939 return this.op != null && !this.op.isEmpty(); 1940 } 1941 1942 /** 1943 * @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 1944 */ 1945 public ConceptSetFilterComponent setOpElement(Enumeration<FilterOperator> value) { 1946 this.op = value; 1947 return this; 1948 } 1949 1950 /** 1951 * @return The kind of operation to perform as a part of the filter criteria. 1952 */ 1953 public FilterOperator getOp() { 1954 return this.op == null ? null : this.op.getValue(); 1955 } 1956 1957 /** 1958 * @param value The kind of operation to perform as a part of the filter criteria. 1959 */ 1960 public ConceptSetFilterComponent setOp(FilterOperator value) { 1961 if (this.op == null) 1962 this.op = new Enumeration<FilterOperator>(new FilterOperatorEnumFactory()); 1963 this.op.setValue(value); 1964 return this; 1965 } 1966 1967 /** 1968 * @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 1969 */ 1970 public StringType getValueElement() { 1971 if (this.value == null) 1972 if (Configuration.errorOnAutoCreate()) 1973 throw new Error("Attempt to auto-create ConceptSetFilterComponent.value"); 1974 else if (Configuration.doAutoCreate()) 1975 this.value = new StringType(); // bb 1976 return this.value; 1977 } 1978 1979 public boolean hasValueElement() { 1980 return this.value != null && !this.value.isEmpty(); 1981 } 1982 1983 public boolean hasValue() { 1984 return this.value != null && !this.value.isEmpty(); 1985 } 1986 1987 /** 1988 * @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 1989 */ 1990 public ConceptSetFilterComponent setValueElement(StringType value) { 1991 this.value = value; 1992 return this; 1993 } 1994 1995 /** 1996 * @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'. 1997 */ 1998 public String getValue() { 1999 return this.value == null ? null : this.value.getValue(); 2000 } 2001 2002 /** 2003 * @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'. 2004 */ 2005 public ConceptSetFilterComponent setValue(String value) { 2006 if (this.value == null) 2007 this.value = new StringType(); 2008 this.value.setValue(value); 2009 return this; 2010 } 2011 2012 protected void listChildren(List<Property> children) { 2013 super.listChildren(children); 2014 children.add(new Property("property", "code", "A code that identifies a property or a filter defined in the code system.", 0, 1, property)); 2015 children.add(new Property("op", "code", "The kind of operation to perform as a part of the filter criteria.", 0, 1, op)); 2016 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)); 2017 } 2018 2019 @Override 2020 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 2021 switch (_hash) { 2022 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); 2023 case 3553: /*op*/ return new Property("op", "code", "The kind of operation to perform as a part of the filter criteria.", 0, 1, op); 2024 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); 2025 default: return super.getNamedProperty(_hash, _name, _checkValid); 2026 } 2027 2028 } 2029 2030 @Override 2031 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 2032 switch (hash) { 2033 case -993141291: /*property*/ return this.property == null ? new Base[0] : new Base[] {this.property}; // CodeType 2034 case 3553: /*op*/ return this.op == null ? new Base[0] : new Base[] {this.op}; // Enumeration<FilterOperator> 2035 case 111972721: /*value*/ return this.value == null ? new Base[0] : new Base[] {this.value}; // StringType 2036 default: return super.getProperty(hash, name, checkValid); 2037 } 2038 2039 } 2040 2041 @Override 2042 public Base setProperty(int hash, String name, Base value) throws FHIRException { 2043 switch (hash) { 2044 case -993141291: // property 2045 this.property = TypeConvertor.castToCode(value); // CodeType 2046 return value; 2047 case 3553: // op 2048 value = new FilterOperatorEnumFactory().fromType(TypeConvertor.castToCode(value)); 2049 this.op = (Enumeration) value; // Enumeration<FilterOperator> 2050 return value; 2051 case 111972721: // value 2052 this.value = TypeConvertor.castToString(value); // StringType 2053 return value; 2054 default: return super.setProperty(hash, name, value); 2055 } 2056 2057 } 2058 2059 @Override 2060 public Base setProperty(String name, Base value) throws FHIRException { 2061 if (name.equals("property")) { 2062 this.property = TypeConvertor.castToCode(value); // CodeType 2063 } else if (name.equals("op")) { 2064 value = new FilterOperatorEnumFactory().fromType(TypeConvertor.castToCode(value)); 2065 this.op = (Enumeration) value; // Enumeration<FilterOperator> 2066 } else if (name.equals("value")) { 2067 this.value = TypeConvertor.castToString(value); // StringType 2068 } else 2069 return super.setProperty(name, value); 2070 return value; 2071 } 2072 2073 @Override 2074 public Base makeProperty(int hash, String name) throws FHIRException { 2075 switch (hash) { 2076 case -993141291: return getPropertyElement(); 2077 case 3553: return getOpElement(); 2078 case 111972721: return getValueElement(); 2079 default: return super.makeProperty(hash, name); 2080 } 2081 2082 } 2083 2084 @Override 2085 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2086 switch (hash) { 2087 case -993141291: /*property*/ return new String[] {"code"}; 2088 case 3553: /*op*/ return new String[] {"code"}; 2089 case 111972721: /*value*/ return new String[] {"string"}; 2090 default: return super.getTypesForProperty(hash, name); 2091 } 2092 2093 } 2094 2095 @Override 2096 public Base addChild(String name) throws FHIRException { 2097 if (name.equals("property")) { 2098 throw new FHIRException("Cannot call addChild on a singleton property ValueSet.compose.include.filter.property"); 2099 } 2100 else if (name.equals("op")) { 2101 throw new FHIRException("Cannot call addChild on a singleton property ValueSet.compose.include.filter.op"); 2102 } 2103 else if (name.equals("value")) { 2104 throw new FHIRException("Cannot call addChild on a singleton property ValueSet.compose.include.filter.value"); 2105 } 2106 else 2107 return super.addChild(name); 2108 } 2109 2110 public ConceptSetFilterComponent copy() { 2111 ConceptSetFilterComponent dst = new ConceptSetFilterComponent(); 2112 copyValues(dst); 2113 return dst; 2114 } 2115 2116 public void copyValues(ConceptSetFilterComponent dst) { 2117 super.copyValues(dst); 2118 dst.property = property == null ? null : property.copy(); 2119 dst.op = op == null ? null : op.copy(); 2120 dst.value = value == null ? null : value.copy(); 2121 } 2122 2123 @Override 2124 public boolean equalsDeep(Base other_) { 2125 if (!super.equalsDeep(other_)) 2126 return false; 2127 if (!(other_ instanceof ConceptSetFilterComponent)) 2128 return false; 2129 ConceptSetFilterComponent o = (ConceptSetFilterComponent) other_; 2130 return compareDeep(property, o.property, true) && compareDeep(op, o.op, true) && compareDeep(value, o.value, true) 2131 ; 2132 } 2133 2134 @Override 2135 public boolean equalsShallow(Base other_) { 2136 if (!super.equalsShallow(other_)) 2137 return false; 2138 if (!(other_ instanceof ConceptSetFilterComponent)) 2139 return false; 2140 ConceptSetFilterComponent o = (ConceptSetFilterComponent) other_; 2141 return compareValues(property, o.property, true) && compareValues(op, o.op, true) && compareValues(value, o.value, true) 2142 ; 2143 } 2144 2145 public boolean isEmpty() { 2146 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(property, op, value); 2147 } 2148 2149 public String fhirType() { 2150 return "ValueSet.compose.include.filter"; 2151 2152 } 2153 2154 } 2155 2156 @Block() 2157 public static class ValueSetExpansionComponent extends BackboneElement implements IBaseBackboneElement { 2158 /** 2159 * 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. 2160 */ 2161 @Child(name = "identifier", type = {UriType.class}, order=1, min=0, max=1, modifier=false, summary=false) 2162 @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." ) 2163 protected UriType identifier; 2164 2165 /** 2166 * As per paging Search results, the next URLs are opaque to the client, have no dictated structure, and only the server understands them. 2167 */ 2168 @Child(name = "next", type = {UriType.class}, order=2, min=0, max=1, modifier=false, summary=false) 2169 @Description(shortDefinition="Opaque urls for paging through expansion results", formalDefinition="As per paging Search results, the next URLs are opaque to the client, have no dictated structure, and only the server understands them." ) 2170 protected UriType next; 2171 2172 /** 2173 * The time at which the expansion was produced by the expanding system. 2174 */ 2175 @Child(name = "timestamp", type = {DateTimeType.class}, order=3, min=1, max=1, modifier=false, summary=false) 2176 @Description(shortDefinition="Time ValueSet expansion happened", formalDefinition="The time at which the expansion was produced by the expanding system." ) 2177 protected DateTimeType timestamp; 2178 2179 /** 2180 * 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. 2181 */ 2182 @Child(name = "total", type = {IntegerType.class}, order=4, min=0, max=1, modifier=false, summary=false) 2183 @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." ) 2184 protected IntegerType total; 2185 2186 /** 2187 * 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. 2188 */ 2189 @Child(name = "offset", type = {IntegerType.class}, order=5, min=0, max=1, modifier=false, summary=false) 2190 @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." ) 2191 protected IntegerType offset; 2192 2193 /** 2194 * 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. 2195 */ 2196 @Child(name = "parameter", type = {}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2197 @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." ) 2198 protected List<ValueSetExpansionParameterComponent> parameter; 2199 2200 /** 2201 * A property defines an additional slot through which additional information can be provided about a concept. 2202 */ 2203 @Child(name = "property", type = {}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2204 @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." ) 2205 protected List<ValueSetExpansionPropertyComponent> property; 2206 2207 /** 2208 * The codes that are contained in the value set expansion. 2209 */ 2210 @Child(name = "contains", type = {}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2211 @Description(shortDefinition="Codes in the value set", formalDefinition="The codes that are contained in the value set expansion." ) 2212 protected List<ValueSetExpansionContainsComponent> contains; 2213 2214 private static final long serialVersionUID = 1141573269L; 2215 2216 /** 2217 * Constructor 2218 */ 2219 public ValueSetExpansionComponent() { 2220 super(); 2221 } 2222 2223 /** 2224 * Constructor 2225 */ 2226 public ValueSetExpansionComponent(Date timestamp) { 2227 super(); 2228 this.setTimestamp(timestamp); 2229 } 2230 2231 /** 2232 * @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 2233 */ 2234 public UriType getIdentifierElement() { 2235 if (this.identifier == null) 2236 if (Configuration.errorOnAutoCreate()) 2237 throw new Error("Attempt to auto-create ValueSetExpansionComponent.identifier"); 2238 else if (Configuration.doAutoCreate()) 2239 this.identifier = new UriType(); // bb 2240 return this.identifier; 2241 } 2242 2243 public boolean hasIdentifierElement() { 2244 return this.identifier != null && !this.identifier.isEmpty(); 2245 } 2246 2247 public boolean hasIdentifier() { 2248 return this.identifier != null && !this.identifier.isEmpty(); 2249 } 2250 2251 /** 2252 * @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 2253 */ 2254 public ValueSetExpansionComponent setIdentifierElement(UriType value) { 2255 this.identifier = value; 2256 return this; 2257 } 2258 2259 /** 2260 * @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. 2261 */ 2262 public String getIdentifier() { 2263 return this.identifier == null ? null : this.identifier.getValue(); 2264 } 2265 2266 /** 2267 * @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. 2268 */ 2269 public ValueSetExpansionComponent setIdentifier(String value) { 2270 if (Utilities.noString(value)) 2271 this.identifier = null; 2272 else { 2273 if (this.identifier == null) 2274 this.identifier = new UriType(); 2275 this.identifier.setValue(value); 2276 } 2277 return this; 2278 } 2279 2280 /** 2281 * @return {@link #next} (As per paging Search results, the next URLs are opaque to the client, have no dictated structure, and only the server understands them.). This is the underlying object with id, value and extensions. The accessor "getNext" gives direct access to the value 2282 */ 2283 public UriType getNextElement() { 2284 if (this.next == null) 2285 if (Configuration.errorOnAutoCreate()) 2286 throw new Error("Attempt to auto-create ValueSetExpansionComponent.next"); 2287 else if (Configuration.doAutoCreate()) 2288 this.next = new UriType(); // bb 2289 return this.next; 2290 } 2291 2292 public boolean hasNextElement() { 2293 return this.next != null && !this.next.isEmpty(); 2294 } 2295 2296 public boolean hasNext() { 2297 return this.next != null && !this.next.isEmpty(); 2298 } 2299 2300 /** 2301 * @param value {@link #next} (As per paging Search results, the next URLs are opaque to the client, have no dictated structure, and only the server understands them.). This is the underlying object with id, value and extensions. The accessor "getNext" gives direct access to the value 2302 */ 2303 public ValueSetExpansionComponent setNextElement(UriType value) { 2304 this.next = value; 2305 return this; 2306 } 2307 2308 /** 2309 * @return As per paging Search results, the next URLs are opaque to the client, have no dictated structure, and only the server understands them. 2310 */ 2311 public String getNext() { 2312 return this.next == null ? null : this.next.getValue(); 2313 } 2314 2315 /** 2316 * @param value As per paging Search results, the next URLs are opaque to the client, have no dictated structure, and only the server understands them. 2317 */ 2318 public ValueSetExpansionComponent setNext(String value) { 2319 if (Utilities.noString(value)) 2320 this.next = null; 2321 else { 2322 if (this.next == null) 2323 this.next = new UriType(); 2324 this.next.setValue(value); 2325 } 2326 return this; 2327 } 2328 2329 /** 2330 * @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 2331 */ 2332 public DateTimeType getTimestampElement() { 2333 if (this.timestamp == null) 2334 if (Configuration.errorOnAutoCreate()) 2335 throw new Error("Attempt to auto-create ValueSetExpansionComponent.timestamp"); 2336 else if (Configuration.doAutoCreate()) 2337 this.timestamp = new DateTimeType(); // bb 2338 return this.timestamp; 2339 } 2340 2341 public boolean hasTimestampElement() { 2342 return this.timestamp != null && !this.timestamp.isEmpty(); 2343 } 2344 2345 public boolean hasTimestamp() { 2346 return this.timestamp != null && !this.timestamp.isEmpty(); 2347 } 2348 2349 /** 2350 * @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 2351 */ 2352 public ValueSetExpansionComponent setTimestampElement(DateTimeType value) { 2353 this.timestamp = value; 2354 return this; 2355 } 2356 2357 /** 2358 * @return The time at which the expansion was produced by the expanding system. 2359 */ 2360 public Date getTimestamp() { 2361 return this.timestamp == null ? null : this.timestamp.getValue(); 2362 } 2363 2364 /** 2365 * @param value The time at which the expansion was produced by the expanding system. 2366 */ 2367 public ValueSetExpansionComponent setTimestamp(Date value) { 2368 if (this.timestamp == null) 2369 this.timestamp = new DateTimeType(); 2370 this.timestamp.setValue(value); 2371 return this; 2372 } 2373 2374 /** 2375 * @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 2376 */ 2377 public IntegerType getTotalElement() { 2378 if (this.total == null) 2379 if (Configuration.errorOnAutoCreate()) 2380 throw new Error("Attempt to auto-create ValueSetExpansionComponent.total"); 2381 else if (Configuration.doAutoCreate()) 2382 this.total = new IntegerType(); // bb 2383 return this.total; 2384 } 2385 2386 public boolean hasTotalElement() { 2387 return this.total != null && !this.total.isEmpty(); 2388 } 2389 2390 public boolean hasTotal() { 2391 return this.total != null && !this.total.isEmpty(); 2392 } 2393 2394 /** 2395 * @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 2396 */ 2397 public ValueSetExpansionComponent setTotalElement(IntegerType value) { 2398 this.total = value; 2399 return this; 2400 } 2401 2402 /** 2403 * @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. 2404 */ 2405 public int getTotal() { 2406 return this.total == null || this.total.isEmpty() ? 0 : this.total.getValue(); 2407 } 2408 2409 /** 2410 * @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. 2411 */ 2412 public ValueSetExpansionComponent setTotal(int value) { 2413 if (this.total == null) 2414 this.total = new IntegerType(); 2415 this.total.setValue(value); 2416 return this; 2417 } 2418 2419 /** 2420 * @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 2421 */ 2422 public IntegerType getOffsetElement() { 2423 if (this.offset == null) 2424 if (Configuration.errorOnAutoCreate()) 2425 throw new Error("Attempt to auto-create ValueSetExpansionComponent.offset"); 2426 else if (Configuration.doAutoCreate()) 2427 this.offset = new IntegerType(); // bb 2428 return this.offset; 2429 } 2430 2431 public boolean hasOffsetElement() { 2432 return this.offset != null && !this.offset.isEmpty(); 2433 } 2434 2435 public boolean hasOffset() { 2436 return this.offset != null && !this.offset.isEmpty(); 2437 } 2438 2439 /** 2440 * @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 2441 */ 2442 public ValueSetExpansionComponent setOffsetElement(IntegerType value) { 2443 this.offset = value; 2444 return this; 2445 } 2446 2447 /** 2448 * @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. 2449 */ 2450 public int getOffset() { 2451 return this.offset == null || this.offset.isEmpty() ? 0 : this.offset.getValue(); 2452 } 2453 2454 /** 2455 * @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. 2456 */ 2457 public ValueSetExpansionComponent setOffset(int value) { 2458 if (this.offset == null) 2459 this.offset = new IntegerType(); 2460 this.offset.setValue(value); 2461 return this; 2462 } 2463 2464 /** 2465 * @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.) 2466 */ 2467 public List<ValueSetExpansionParameterComponent> getParameter() { 2468 if (this.parameter == null) 2469 this.parameter = new ArrayList<ValueSetExpansionParameterComponent>(); 2470 return this.parameter; 2471 } 2472 2473 /** 2474 * @return Returns a reference to <code>this</code> for easy method chaining 2475 */ 2476 public ValueSetExpansionComponent setParameter(List<ValueSetExpansionParameterComponent> theParameter) { 2477 this.parameter = theParameter; 2478 return this; 2479 } 2480 2481 public boolean hasParameter() { 2482 if (this.parameter == null) 2483 return false; 2484 for (ValueSetExpansionParameterComponent item : this.parameter) 2485 if (!item.isEmpty()) 2486 return true; 2487 return false; 2488 } 2489 2490 public ValueSetExpansionParameterComponent addParameter() { //3 2491 ValueSetExpansionParameterComponent t = new ValueSetExpansionParameterComponent(); 2492 if (this.parameter == null) 2493 this.parameter = new ArrayList<ValueSetExpansionParameterComponent>(); 2494 this.parameter.add(t); 2495 return t; 2496 } 2497 2498 public ValueSetExpansionComponent addParameter(ValueSetExpansionParameterComponent t) { //3 2499 if (t == null) 2500 return this; 2501 if (this.parameter == null) 2502 this.parameter = new ArrayList<ValueSetExpansionParameterComponent>(); 2503 this.parameter.add(t); 2504 return this; 2505 } 2506 2507 /** 2508 * @return The first repetition of repeating field {@link #parameter}, creating it if it does not already exist {3} 2509 */ 2510 public ValueSetExpansionParameterComponent getParameterFirstRep() { 2511 if (getParameter().isEmpty()) { 2512 addParameter(); 2513 } 2514 return getParameter().get(0); 2515 } 2516 2517 /** 2518 * @return {@link #property} (A property defines an additional slot through which additional information can be provided about a concept.) 2519 */ 2520 public List<ValueSetExpansionPropertyComponent> getProperty() { 2521 if (this.property == null) 2522 this.property = new ArrayList<ValueSetExpansionPropertyComponent>(); 2523 return this.property; 2524 } 2525 2526 /** 2527 * @return Returns a reference to <code>this</code> for easy method chaining 2528 */ 2529 public ValueSetExpansionComponent setProperty(List<ValueSetExpansionPropertyComponent> theProperty) { 2530 this.property = theProperty; 2531 return this; 2532 } 2533 2534 public boolean hasProperty() { 2535 if (this.property == null) 2536 return false; 2537 for (ValueSetExpansionPropertyComponent item : this.property) 2538 if (!item.isEmpty()) 2539 return true; 2540 return false; 2541 } 2542 2543 public ValueSetExpansionPropertyComponent addProperty() { //3 2544 ValueSetExpansionPropertyComponent t = new ValueSetExpansionPropertyComponent(); 2545 if (this.property == null) 2546 this.property = new ArrayList<ValueSetExpansionPropertyComponent>(); 2547 this.property.add(t); 2548 return t; 2549 } 2550 2551 public ValueSetExpansionComponent addProperty(ValueSetExpansionPropertyComponent t) { //3 2552 if (t == null) 2553 return this; 2554 if (this.property == null) 2555 this.property = new ArrayList<ValueSetExpansionPropertyComponent>(); 2556 this.property.add(t); 2557 return this; 2558 } 2559 2560 /** 2561 * @return The first repetition of repeating field {@link #property}, creating it if it does not already exist {3} 2562 */ 2563 public ValueSetExpansionPropertyComponent getPropertyFirstRep() { 2564 if (getProperty().isEmpty()) { 2565 addProperty(); 2566 } 2567 return getProperty().get(0); 2568 } 2569 2570 /** 2571 * @return {@link #contains} (The codes that are contained in the value set expansion.) 2572 */ 2573 public List<ValueSetExpansionContainsComponent> getContains() { 2574 if (this.contains == null) 2575 this.contains = new ArrayList<ValueSetExpansionContainsComponent>(); 2576 return this.contains; 2577 } 2578 2579 /** 2580 * @return Returns a reference to <code>this</code> for easy method chaining 2581 */ 2582 public ValueSetExpansionComponent setContains(List<ValueSetExpansionContainsComponent> theContains) { 2583 this.contains = theContains; 2584 return this; 2585 } 2586 2587 public boolean hasContains() { 2588 if (this.contains == null) 2589 return false; 2590 for (ValueSetExpansionContainsComponent item : this.contains) 2591 if (!item.isEmpty()) 2592 return true; 2593 return false; 2594 } 2595 2596 public ValueSetExpansionContainsComponent addContains() { //3 2597 ValueSetExpansionContainsComponent t = new ValueSetExpansionContainsComponent(); 2598 if (this.contains == null) 2599 this.contains = new ArrayList<ValueSetExpansionContainsComponent>(); 2600 this.contains.add(t); 2601 return t; 2602 } 2603 2604 public ValueSetExpansionComponent addContains(ValueSetExpansionContainsComponent t) { //3 2605 if (t == null) 2606 return this; 2607 if (this.contains == null) 2608 this.contains = new ArrayList<ValueSetExpansionContainsComponent>(); 2609 this.contains.add(t); 2610 return this; 2611 } 2612 2613 /** 2614 * @return The first repetition of repeating field {@link #contains}, creating it if it does not already exist {3} 2615 */ 2616 public ValueSetExpansionContainsComponent getContainsFirstRep() { 2617 if (getContains().isEmpty()) { 2618 addContains(); 2619 } 2620 return getContains().get(0); 2621 } 2622 2623 protected void listChildren(List<Property> children) { 2624 super.listChildren(children); 2625 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)); 2626 children.add(new Property("next", "uri", "As per paging Search results, the next URLs are opaque to the client, have no dictated structure, and only the server understands them.", 0, 1, next)); 2627 children.add(new Property("timestamp", "dateTime", "The time at which the expansion was produced by the expanding system.", 0, 1, timestamp)); 2628 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)); 2629 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)); 2630 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)); 2631 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)); 2632 children.add(new Property("contains", "", "The codes that are contained in the value set expansion.", 0, java.lang.Integer.MAX_VALUE, contains)); 2633 } 2634 2635 @Override 2636 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 2637 switch (_hash) { 2638 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); 2639 case 3377907: /*next*/ return new Property("next", "uri", "As per paging Search results, the next URLs are opaque to the client, have no dictated structure, and only the server understands them.", 0, 1, next); 2640 case 55126294: /*timestamp*/ return new Property("timestamp", "dateTime", "The time at which the expansion was produced by the expanding system.", 0, 1, timestamp); 2641 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); 2642 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); 2643 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); 2644 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); 2645 case -567445985: /*contains*/ return new Property("contains", "", "The codes that are contained in the value set expansion.", 0, java.lang.Integer.MAX_VALUE, contains); 2646 default: return super.getNamedProperty(_hash, _name, _checkValid); 2647 } 2648 2649 } 2650 2651 @Override 2652 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 2653 switch (hash) { 2654 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : new Base[] {this.identifier}; // UriType 2655 case 3377907: /*next*/ return this.next == null ? new Base[0] : new Base[] {this.next}; // UriType 2656 case 55126294: /*timestamp*/ return this.timestamp == null ? new Base[0] : new Base[] {this.timestamp}; // DateTimeType 2657 case 110549828: /*total*/ return this.total == null ? new Base[0] : new Base[] {this.total}; // IntegerType 2658 case -1019779949: /*offset*/ return this.offset == null ? new Base[0] : new Base[] {this.offset}; // IntegerType 2659 case 1954460585: /*parameter*/ return this.parameter == null ? new Base[0] : this.parameter.toArray(new Base[this.parameter.size()]); // ValueSetExpansionParameterComponent 2660 case -993141291: /*property*/ return this.property == null ? new Base[0] : this.property.toArray(new Base[this.property.size()]); // ValueSetExpansionPropertyComponent 2661 case -567445985: /*contains*/ return this.contains == null ? new Base[0] : this.contains.toArray(new Base[this.contains.size()]); // ValueSetExpansionContainsComponent 2662 default: return super.getProperty(hash, name, checkValid); 2663 } 2664 2665 } 2666 2667 @Override 2668 public Base setProperty(int hash, String name, Base value) throws FHIRException { 2669 switch (hash) { 2670 case -1618432855: // identifier 2671 this.identifier = TypeConvertor.castToUri(value); // UriType 2672 return value; 2673 case 3377907: // next 2674 this.next = TypeConvertor.castToUri(value); // UriType 2675 return value; 2676 case 55126294: // timestamp 2677 this.timestamp = TypeConvertor.castToDateTime(value); // DateTimeType 2678 return value; 2679 case 110549828: // total 2680 this.total = TypeConvertor.castToInteger(value); // IntegerType 2681 return value; 2682 case -1019779949: // offset 2683 this.offset = TypeConvertor.castToInteger(value); // IntegerType 2684 return value; 2685 case 1954460585: // parameter 2686 this.getParameter().add((ValueSetExpansionParameterComponent) value); // ValueSetExpansionParameterComponent 2687 return value; 2688 case -993141291: // property 2689 this.getProperty().add((ValueSetExpansionPropertyComponent) value); // ValueSetExpansionPropertyComponent 2690 return value; 2691 case -567445985: // contains 2692 this.getContains().add((ValueSetExpansionContainsComponent) value); // ValueSetExpansionContainsComponent 2693 return value; 2694 default: return super.setProperty(hash, name, value); 2695 } 2696 2697 } 2698 2699 @Override 2700 public Base setProperty(String name, Base value) throws FHIRException { 2701 if (name.equals("identifier")) { 2702 this.identifier = TypeConvertor.castToUri(value); // UriType 2703 } else if (name.equals("next")) { 2704 this.next = TypeConvertor.castToUri(value); // UriType 2705 } else if (name.equals("timestamp")) { 2706 this.timestamp = TypeConvertor.castToDateTime(value); // DateTimeType 2707 } else if (name.equals("total")) { 2708 this.total = TypeConvertor.castToInteger(value); // IntegerType 2709 } else if (name.equals("offset")) { 2710 this.offset = TypeConvertor.castToInteger(value); // IntegerType 2711 } else if (name.equals("parameter")) { 2712 this.getParameter().add((ValueSetExpansionParameterComponent) value); 2713 } else if (name.equals("property")) { 2714 this.getProperty().add((ValueSetExpansionPropertyComponent) value); 2715 } else if (name.equals("contains")) { 2716 this.getContains().add((ValueSetExpansionContainsComponent) value); 2717 } else 2718 return super.setProperty(name, value); 2719 return value; 2720 } 2721 2722 @Override 2723 public Base makeProperty(int hash, String name) throws FHIRException { 2724 switch (hash) { 2725 case -1618432855: return getIdentifierElement(); 2726 case 3377907: return getNextElement(); 2727 case 55126294: return getTimestampElement(); 2728 case 110549828: return getTotalElement(); 2729 case -1019779949: return getOffsetElement(); 2730 case 1954460585: return addParameter(); 2731 case -993141291: return addProperty(); 2732 case -567445985: return addContains(); 2733 default: return super.makeProperty(hash, name); 2734 } 2735 2736 } 2737 2738 @Override 2739 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2740 switch (hash) { 2741 case -1618432855: /*identifier*/ return new String[] {"uri"}; 2742 case 3377907: /*next*/ return new String[] {"uri"}; 2743 case 55126294: /*timestamp*/ return new String[] {"dateTime"}; 2744 case 110549828: /*total*/ return new String[] {"integer"}; 2745 case -1019779949: /*offset*/ return new String[] {"integer"}; 2746 case 1954460585: /*parameter*/ return new String[] {}; 2747 case -993141291: /*property*/ return new String[] {}; 2748 case -567445985: /*contains*/ return new String[] {}; 2749 default: return super.getTypesForProperty(hash, name); 2750 } 2751 2752 } 2753 2754 @Override 2755 public Base addChild(String name) throws FHIRException { 2756 if (name.equals("identifier")) { 2757 throw new FHIRException("Cannot call addChild on a singleton property ValueSet.expansion.identifier"); 2758 } 2759 else if (name.equals("next")) { 2760 throw new FHIRException("Cannot call addChild on a singleton property ValueSet.expansion.next"); 2761 } 2762 else if (name.equals("timestamp")) { 2763 throw new FHIRException("Cannot call addChild on a singleton property ValueSet.expansion.timestamp"); 2764 } 2765 else if (name.equals("total")) { 2766 throw new FHIRException("Cannot call addChild on a singleton property ValueSet.expansion.total"); 2767 } 2768 else if (name.equals("offset")) { 2769 throw new FHIRException("Cannot call addChild on a singleton property ValueSet.expansion.offset"); 2770 } 2771 else if (name.equals("parameter")) { 2772 return addParameter(); 2773 } 2774 else if (name.equals("property")) { 2775 return addProperty(); 2776 } 2777 else if (name.equals("contains")) { 2778 return addContains(); 2779 } 2780 else 2781 return super.addChild(name); 2782 } 2783 2784 public ValueSetExpansionComponent copy() { 2785 ValueSetExpansionComponent dst = new ValueSetExpansionComponent(); 2786 copyValues(dst); 2787 return dst; 2788 } 2789 2790 public void copyValues(ValueSetExpansionComponent dst) { 2791 super.copyValues(dst); 2792 dst.identifier = identifier == null ? null : identifier.copy(); 2793 dst.next = next == null ? null : next.copy(); 2794 dst.timestamp = timestamp == null ? null : timestamp.copy(); 2795 dst.total = total == null ? null : total.copy(); 2796 dst.offset = offset == null ? null : offset.copy(); 2797 if (parameter != null) { 2798 dst.parameter = new ArrayList<ValueSetExpansionParameterComponent>(); 2799 for (ValueSetExpansionParameterComponent i : parameter) 2800 dst.parameter.add(i.copy()); 2801 }; 2802 if (property != null) { 2803 dst.property = new ArrayList<ValueSetExpansionPropertyComponent>(); 2804 for (ValueSetExpansionPropertyComponent i : property) 2805 dst.property.add(i.copy()); 2806 }; 2807 if (contains != null) { 2808 dst.contains = new ArrayList<ValueSetExpansionContainsComponent>(); 2809 for (ValueSetExpansionContainsComponent i : contains) 2810 dst.contains.add(i.copy()); 2811 }; 2812 } 2813 2814 @Override 2815 public boolean equalsDeep(Base other_) { 2816 if (!super.equalsDeep(other_)) 2817 return false; 2818 if (!(other_ instanceof ValueSetExpansionComponent)) 2819 return false; 2820 ValueSetExpansionComponent o = (ValueSetExpansionComponent) other_; 2821 return compareDeep(identifier, o.identifier, true) && compareDeep(next, o.next, true) && compareDeep(timestamp, o.timestamp, true) 2822 && compareDeep(total, o.total, true) && compareDeep(offset, o.offset, true) && compareDeep(parameter, o.parameter, true) 2823 && compareDeep(property, o.property, true) && compareDeep(contains, o.contains, true); 2824 } 2825 2826 @Override 2827 public boolean equalsShallow(Base other_) { 2828 if (!super.equalsShallow(other_)) 2829 return false; 2830 if (!(other_ instanceof ValueSetExpansionComponent)) 2831 return false; 2832 ValueSetExpansionComponent o = (ValueSetExpansionComponent) other_; 2833 return compareValues(identifier, o.identifier, true) && compareValues(next, o.next, true) && compareValues(timestamp, o.timestamp, true) 2834 && compareValues(total, o.total, true) && compareValues(offset, o.offset, true); 2835 } 2836 2837 public boolean isEmpty() { 2838 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, next, timestamp 2839 , total, offset, parameter, property, contains); 2840 } 2841 2842 public boolean hasParameterValue(String name, String value) { 2843 for (ValueSetExpansionParameterComponent p : getParameter()) { 2844 if (name.equals(p.getName()) && p.hasValue() && value.equals(p.getValue().primitiveValue())) { 2845 return true; 2846 } 2847 } 2848 return false; 2849 } 2850 2851 public void addParameter(String name, DataType value) { 2852 getParameter().add(new ValueSetExpansionParameterComponent(name).setValue(value)); 2853 } 2854 2855 public String fhirType() { 2856 return "ValueSet.expansion"; 2857 } 2858 2859 } 2860 2861 @Block() 2862 public static class ValueSetExpansionParameterComponent extends BackboneElement implements IBaseBackboneElement { 2863 /** 2864 * 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. 2865 */ 2866 @Child(name = "name", type = {StringType.class}, order=1, min=1, max=1, modifier=false, summary=false) 2867 @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." ) 2868 protected StringType name; 2869 2870 /** 2871 * The value of the parameter. 2872 */ 2873 @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) 2874 @Description(shortDefinition="Value of the named parameter", formalDefinition="The value of the parameter." ) 2875 protected DataType value; 2876 2877 private static final long serialVersionUID = 1839679495L; 2878 2879 /** 2880 * Constructor 2881 */ 2882 public ValueSetExpansionParameterComponent() { 2883 super(); 2884 } 2885 2886 /** 2887 * Constructor 2888 */ 2889 public ValueSetExpansionParameterComponent(String name) { 2890 super(); 2891 this.setName(name); 2892 } 2893 2894 /** 2895 * @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 2896 */ 2897 public StringType getNameElement() { 2898 if (this.name == null) 2899 if (Configuration.errorOnAutoCreate()) 2900 throw new Error("Attempt to auto-create ValueSetExpansionParameterComponent.name"); 2901 else if (Configuration.doAutoCreate()) 2902 this.name = new StringType(); // bb 2903 return this.name; 2904 } 2905 2906 public boolean hasNameElement() { 2907 return this.name != null && !this.name.isEmpty(); 2908 } 2909 2910 public boolean hasName() { 2911 return this.name != null && !this.name.isEmpty(); 2912 } 2913 2914 /** 2915 * @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 2916 */ 2917 public ValueSetExpansionParameterComponent setNameElement(StringType value) { 2918 this.name = value; 2919 return this; 2920 } 2921 2922 /** 2923 * @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. 2924 */ 2925 public String getName() { 2926 return this.name == null ? null : this.name.getValue(); 2927 } 2928 2929 /** 2930 * @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. 2931 */ 2932 public ValueSetExpansionParameterComponent setName(String value) { 2933 if (this.name == null) 2934 this.name = new StringType(); 2935 this.name.setValue(value); 2936 return this; 2937 } 2938 2939 /** 2940 * @return {@link #value} (The value of the parameter.) 2941 */ 2942 public DataType getValue() { 2943 return this.value; 2944 } 2945 2946 /** 2947 * @return {@link #value} (The value of the parameter.) 2948 */ 2949 public StringType getValueStringType() throws FHIRException { 2950 if (this.value == null) 2951 this.value = new StringType(); 2952 if (!(this.value instanceof StringType)) 2953 throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.value.getClass().getName()+" was encountered"); 2954 return (StringType) this.value; 2955 } 2956 2957 public boolean hasValueStringType() { 2958 return this != null && this.value instanceof StringType; 2959 } 2960 2961 /** 2962 * @return {@link #value} (The value of the parameter.) 2963 */ 2964 public BooleanType getValueBooleanType() throws FHIRException { 2965 if (this.value == null) 2966 this.value = new BooleanType(); 2967 if (!(this.value instanceof BooleanType)) 2968 throw new FHIRException("Type mismatch: the type BooleanType was expected, but "+this.value.getClass().getName()+" was encountered"); 2969 return (BooleanType) this.value; 2970 } 2971 2972 public boolean hasValueBooleanType() { 2973 return this != null && this.value instanceof BooleanType; 2974 } 2975 2976 /** 2977 * @return {@link #value} (The value of the parameter.) 2978 */ 2979 public IntegerType getValueIntegerType() throws FHIRException { 2980 if (this.value == null) 2981 this.value = new IntegerType(); 2982 if (!(this.value instanceof IntegerType)) 2983 throw new FHIRException("Type mismatch: the type IntegerType was expected, but "+this.value.getClass().getName()+" was encountered"); 2984 return (IntegerType) this.value; 2985 } 2986 2987 public boolean hasValueIntegerType() { 2988 return this != null && this.value instanceof IntegerType; 2989 } 2990 2991 /** 2992 * @return {@link #value} (The value of the parameter.) 2993 */ 2994 public DecimalType getValueDecimalType() throws FHIRException { 2995 if (this.value == null) 2996 this.value = new DecimalType(); 2997 if (!(this.value instanceof DecimalType)) 2998 throw new FHIRException("Type mismatch: the type DecimalType was expected, but "+this.value.getClass().getName()+" was encountered"); 2999 return (DecimalType) this.value; 3000 } 3001 3002 public boolean hasValueDecimalType() { 3003 return this != null && this.value instanceof DecimalType; 3004 } 3005 3006 /** 3007 * @return {@link #value} (The value of the parameter.) 3008 */ 3009 public UriType getValueUriType() throws FHIRException { 3010 if (this.value == null) 3011 this.value = new UriType(); 3012 if (!(this.value instanceof UriType)) 3013 throw new FHIRException("Type mismatch: the type UriType was expected, but "+this.value.getClass().getName()+" was encountered"); 3014 return (UriType) this.value; 3015 } 3016 3017 public boolean hasValueUriType() { 3018 return this != null && this.value instanceof UriType; 3019 } 3020 3021 /** 3022 * @return {@link #value} (The value of the parameter.) 3023 */ 3024 public CodeType getValueCodeType() throws FHIRException { 3025 if (this.value == null) 3026 this.value = new CodeType(); 3027 if (!(this.value instanceof CodeType)) 3028 throw new FHIRException("Type mismatch: the type CodeType was expected, but "+this.value.getClass().getName()+" was encountered"); 3029 return (CodeType) this.value; 3030 } 3031 3032 public boolean hasValueCodeType() { 3033 return this != null && this.value instanceof CodeType; 3034 } 3035 3036 /** 3037 * @return {@link #value} (The value of the parameter.) 3038 */ 3039 public DateTimeType getValueDateTimeType() throws FHIRException { 3040 if (this.value == null) 3041 this.value = new DateTimeType(); 3042 if (!(this.value instanceof DateTimeType)) 3043 throw new FHIRException("Type mismatch: the type DateTimeType was expected, but "+this.value.getClass().getName()+" was encountered"); 3044 return (DateTimeType) this.value; 3045 } 3046 3047 public boolean hasValueDateTimeType() { 3048 return this != null && this.value instanceof DateTimeType; 3049 } 3050 3051 public boolean hasValue() { 3052 return this.value != null && !this.value.isEmpty(); 3053 } 3054 3055 /** 3056 * @param value {@link #value} (The value of the parameter.) 3057 */ 3058 public ValueSetExpansionParameterComponent setValue(DataType value) { 3059 if (value != null && !(value instanceof StringType || value instanceof BooleanType || value instanceof IntegerType || value instanceof DecimalType || value instanceof UriType || value instanceof CodeType || value instanceof DateTimeType)) 3060 throw new FHIRException("Not the right type for ValueSet.expansion.parameter.value[x]: "+value.fhirType()); 3061 this.value = value; 3062 return this; 3063 } 3064 3065 protected void listChildren(List<Property> children) { 3066 super.listChildren(children); 3067 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)); 3068 children.add(new Property("value[x]", "string|boolean|integer|decimal|uri|code|dateTime", "The value of the parameter.", 0, 1, value)); 3069 } 3070 3071 @Override 3072 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 3073 switch (_hash) { 3074 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); 3075 case -1410166417: /*value[x]*/ return new Property("value[x]", "string|boolean|integer|decimal|uri|code|dateTime", "The value of the parameter.", 0, 1, value); 3076 case 111972721: /*value*/ return new Property("value[x]", "string|boolean|integer|decimal|uri|code|dateTime", "The value of the parameter.", 0, 1, value); 3077 case -1424603934: /*valueString*/ return new Property("value[x]", "string", "The value of the parameter.", 0, 1, value); 3078 case 733421943: /*valueBoolean*/ return new Property("value[x]", "boolean", "The value of the parameter.", 0, 1, value); 3079 case -1668204915: /*valueInteger*/ return new Property("value[x]", "integer", "The value of the parameter.", 0, 1, value); 3080 case -2083993440: /*valueDecimal*/ return new Property("value[x]", "decimal", "The value of the parameter.", 0, 1, value); 3081 case -1410172357: /*valueUri*/ return new Property("value[x]", "uri", "The value of the parameter.", 0, 1, value); 3082 case -766209282: /*valueCode*/ return new Property("value[x]", "code", "The value of the parameter.", 0, 1, value); 3083 case 1047929900: /*valueDateTime*/ return new Property("value[x]", "dateTime", "The value of the parameter.", 0, 1, value); 3084 default: return super.getNamedProperty(_hash, _name, _checkValid); 3085 } 3086 3087 } 3088 3089 @Override 3090 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 3091 switch (hash) { 3092 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType 3093 case 111972721: /*value*/ return this.value == null ? new Base[0] : new Base[] {this.value}; // DataType 3094 default: return super.getProperty(hash, name, checkValid); 3095 } 3096 3097 } 3098 3099 @Override 3100 public Base setProperty(int hash, String name, Base value) throws FHIRException { 3101 switch (hash) { 3102 case 3373707: // name 3103 this.name = TypeConvertor.castToString(value); // StringType 3104 return value; 3105 case 111972721: // value 3106 this.value = TypeConvertor.castToType(value); // DataType 3107 return value; 3108 default: return super.setProperty(hash, name, value); 3109 } 3110 3111 } 3112 3113 @Override 3114 public Base setProperty(String name, Base value) throws FHIRException { 3115 if (name.equals("name")) { 3116 this.name = TypeConvertor.castToString(value); // StringType 3117 } else if (name.equals("value[x]")) { 3118 this.value = TypeConvertor.castToType(value); // DataType 3119 } else 3120 return super.setProperty(name, value); 3121 return value; 3122 } 3123 3124 @Override 3125 public Base makeProperty(int hash, String name) throws FHIRException { 3126 switch (hash) { 3127 case 3373707: return getNameElement(); 3128 case -1410166417: return getValue(); 3129 case 111972721: return getValue(); 3130 default: return super.makeProperty(hash, name); 3131 } 3132 3133 } 3134 3135 @Override 3136 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 3137 switch (hash) { 3138 case 3373707: /*name*/ return new String[] {"string"}; 3139 case 111972721: /*value*/ return new String[] {"string", "boolean", "integer", "decimal", "uri", "code", "dateTime"}; 3140 default: return super.getTypesForProperty(hash, name); 3141 } 3142 3143 } 3144 3145 @Override 3146 public Base addChild(String name) throws FHIRException { 3147 if (name.equals("name")) { 3148 throw new FHIRException("Cannot call addChild on a singleton property ValueSet.expansion.parameter.name"); 3149 } 3150 else if (name.equals("valueString")) { 3151 this.value = new StringType(); 3152 return this.value; 3153 } 3154 else if (name.equals("valueBoolean")) { 3155 this.value = new BooleanType(); 3156 return this.value; 3157 } 3158 else if (name.equals("valueInteger")) { 3159 this.value = new IntegerType(); 3160 return this.value; 3161 } 3162 else if (name.equals("valueDecimal")) { 3163 this.value = new DecimalType(); 3164 return this.value; 3165 } 3166 else if (name.equals("valueUri")) { 3167 this.value = new UriType(); 3168 return this.value; 3169 } 3170 else if (name.equals("valueCode")) { 3171 this.value = new CodeType(); 3172 return this.value; 3173 } 3174 else if (name.equals("valueDateTime")) { 3175 this.value = new DateTimeType(); 3176 return this.value; 3177 } 3178 else 3179 return super.addChild(name); 3180 } 3181 3182 public ValueSetExpansionParameterComponent copy() { 3183 ValueSetExpansionParameterComponent dst = new ValueSetExpansionParameterComponent(); 3184 copyValues(dst); 3185 return dst; 3186 } 3187 3188 public void copyValues(ValueSetExpansionParameterComponent dst) { 3189 super.copyValues(dst); 3190 dst.name = name == null ? null : name.copy(); 3191 dst.value = value == null ? null : value.copy(); 3192 } 3193 3194 @Override 3195 public boolean equalsDeep(Base other_) { 3196 if (!super.equalsDeep(other_)) 3197 return false; 3198 if (!(other_ instanceof ValueSetExpansionParameterComponent)) 3199 return false; 3200 ValueSetExpansionParameterComponent o = (ValueSetExpansionParameterComponent) other_; 3201 return compareDeep(name, o.name, true) && compareDeep(value, o.value, true); 3202 } 3203 3204 @Override 3205 public boolean equalsShallow(Base other_) { 3206 if (!super.equalsShallow(other_)) 3207 return false; 3208 if (!(other_ instanceof ValueSetExpansionParameterComponent)) 3209 return false; 3210 ValueSetExpansionParameterComponent o = (ValueSetExpansionParameterComponent) other_; 3211 return compareValues(name, o.name, true); 3212 } 3213 3214 public boolean isEmpty() { 3215 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(name, value); 3216 } 3217 3218 public String fhirType() { 3219 return "ValueSet.expansion.parameter"; 3220 3221 } 3222 3223 @Override 3224 public String toString() { 3225 var s = (hasValue() ? getValue().primitiveValue() : ""); 3226 return getName() + "=" + s; 3227 } 3228 3229 } 3230 3231 @Block() 3232 public static class ValueSetExpansionPropertyComponent extends BackboneElement implements IBaseBackboneElement { 3233 /** 3234 * A code that is used to identify the property. The code is used in ValueSet.expansion.contains.property.code. 3235 */ 3236 @Child(name = "code", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=false) 3237 @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." ) 3238 protected CodeType code; 3239 3240 /** 3241 * Reference to the formal meaning of the property. One possible source of meaning is the [Concept Properties](codesystem-concept-properties.html) code system. 3242 */ 3243 @Child(name = "uri", type = {UriType.class}, order=2, min=0, max=1, modifier=false, summary=false) 3244 @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." ) 3245 protected UriType uri; 3246 3247 private static final long serialVersionUID = 929575836L; 3248 3249 /** 3250 * Constructor 3251 */ 3252 public ValueSetExpansionPropertyComponent() { 3253 super(); 3254 } 3255 3256 /** 3257 * Constructor 3258 */ 3259 public ValueSetExpansionPropertyComponent(String code) { 3260 super(); 3261 this.setCode(code); 3262 } 3263 3264 /** 3265 * @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 3266 */ 3267 public CodeType getCodeElement() { 3268 if (this.code == null) 3269 if (Configuration.errorOnAutoCreate()) 3270 throw new Error("Attempt to auto-create ValueSetExpansionPropertyComponent.code"); 3271 else if (Configuration.doAutoCreate()) 3272 this.code = new CodeType(); // bb 3273 return this.code; 3274 } 3275 3276 public boolean hasCodeElement() { 3277 return this.code != null && !this.code.isEmpty(); 3278 } 3279 3280 public boolean hasCode() { 3281 return this.code != null && !this.code.isEmpty(); 3282 } 3283 3284 /** 3285 * @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 3286 */ 3287 public ValueSetExpansionPropertyComponent setCodeElement(CodeType value) { 3288 this.code = value; 3289 return this; 3290 } 3291 3292 /** 3293 * @return A code that is used to identify the property. The code is used in ValueSet.expansion.contains.property.code. 3294 */ 3295 public String getCode() { 3296 return this.code == null ? null : this.code.getValue(); 3297 } 3298 3299 /** 3300 * @param value A code that is used to identify the property. The code is used in ValueSet.expansion.contains.property.code. 3301 */ 3302 public ValueSetExpansionPropertyComponent setCode(String value) { 3303 if (this.code == null) 3304 this.code = new CodeType(); 3305 this.code.setValue(value); 3306 return this; 3307 } 3308 3309 /** 3310 * @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 3311 */ 3312 public UriType getUriElement() { 3313 if (this.uri == null) 3314 if (Configuration.errorOnAutoCreate()) 3315 throw new Error("Attempt to auto-create ValueSetExpansionPropertyComponent.uri"); 3316 else if (Configuration.doAutoCreate()) 3317 this.uri = new UriType(); // bb 3318 return this.uri; 3319 } 3320 3321 public boolean hasUriElement() { 3322 return this.uri != null && !this.uri.isEmpty(); 3323 } 3324 3325 public boolean hasUri() { 3326 return this.uri != null && !this.uri.isEmpty(); 3327 } 3328 3329 /** 3330 * @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 3331 */ 3332 public ValueSetExpansionPropertyComponent setUriElement(UriType value) { 3333 this.uri = value; 3334 return this; 3335 } 3336 3337 /** 3338 * @return Reference to the formal meaning of the property. One possible source of meaning is the [Concept Properties](codesystem-concept-properties.html) code system. 3339 */ 3340 public String getUri() { 3341 return this.uri == null ? null : this.uri.getValue(); 3342 } 3343 3344 /** 3345 * @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. 3346 */ 3347 public ValueSetExpansionPropertyComponent setUri(String value) { 3348 if (Utilities.noString(value)) 3349 this.uri = null; 3350 else { 3351 if (this.uri == null) 3352 this.uri = new UriType(); 3353 this.uri.setValue(value); 3354 } 3355 return this; 3356 } 3357 3358 protected void listChildren(List<Property> children) { 3359 super.listChildren(children); 3360 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)); 3361 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)); 3362 } 3363 3364 @Override 3365 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 3366 switch (_hash) { 3367 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); 3368 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); 3369 default: return super.getNamedProperty(_hash, _name, _checkValid); 3370 } 3371 3372 } 3373 3374 @Override 3375 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 3376 switch (hash) { 3377 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeType 3378 case 116076: /*uri*/ return this.uri == null ? new Base[0] : new Base[] {this.uri}; // UriType 3379 default: return super.getProperty(hash, name, checkValid); 3380 } 3381 3382 } 3383 3384 @Override 3385 public Base setProperty(int hash, String name, Base value) throws FHIRException { 3386 switch (hash) { 3387 case 3059181: // code 3388 this.code = TypeConvertor.castToCode(value); // CodeType 3389 return value; 3390 case 116076: // uri 3391 this.uri = TypeConvertor.castToUri(value); // UriType 3392 return value; 3393 default: return super.setProperty(hash, name, value); 3394 } 3395 3396 } 3397 3398 @Override 3399 public Base setProperty(String name, Base value) throws FHIRException { 3400 if (name.equals("code")) { 3401 this.code = TypeConvertor.castToCode(value); // CodeType 3402 } else if (name.equals("uri")) { 3403 this.uri = TypeConvertor.castToUri(value); // UriType 3404 } else 3405 return super.setProperty(name, value); 3406 return value; 3407 } 3408 3409 @Override 3410 public Base makeProperty(int hash, String name) throws FHIRException { 3411 switch (hash) { 3412 case 3059181: return getCodeElement(); 3413 case 116076: return getUriElement(); 3414 default: return super.makeProperty(hash, name); 3415 } 3416 3417 } 3418 3419 @Override 3420 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 3421 switch (hash) { 3422 case 3059181: /*code*/ return new String[] {"code"}; 3423 case 116076: /*uri*/ return new String[] {"uri"}; 3424 default: return super.getTypesForProperty(hash, name); 3425 } 3426 3427 } 3428 3429 @Override 3430 public Base addChild(String name) throws FHIRException { 3431 if (name.equals("code")) { 3432 throw new FHIRException("Cannot call addChild on a singleton property ValueSet.expansion.property.code"); 3433 } 3434 else if (name.equals("uri")) { 3435 throw new FHIRException("Cannot call addChild on a singleton property ValueSet.expansion.property.uri"); 3436 } 3437 else 3438 return super.addChild(name); 3439 } 3440 3441 public ValueSetExpansionPropertyComponent copy() { 3442 ValueSetExpansionPropertyComponent dst = new ValueSetExpansionPropertyComponent(); 3443 copyValues(dst); 3444 return dst; 3445 } 3446 3447 public void copyValues(ValueSetExpansionPropertyComponent dst) { 3448 super.copyValues(dst); 3449 dst.code = code == null ? null : code.copy(); 3450 dst.uri = uri == null ? null : uri.copy(); 3451 } 3452 3453 @Override 3454 public boolean equalsDeep(Base other_) { 3455 if (!super.equalsDeep(other_)) 3456 return false; 3457 if (!(other_ instanceof ValueSetExpansionPropertyComponent)) 3458 return false; 3459 ValueSetExpansionPropertyComponent o = (ValueSetExpansionPropertyComponent) other_; 3460 return compareDeep(code, o.code, true) && compareDeep(uri, o.uri, true); 3461 } 3462 3463 @Override 3464 public boolean equalsShallow(Base other_) { 3465 if (!super.equalsShallow(other_)) 3466 return false; 3467 if (!(other_ instanceof ValueSetExpansionPropertyComponent)) 3468 return false; 3469 ValueSetExpansionPropertyComponent o = (ValueSetExpansionPropertyComponent) other_; 3470 return compareValues(code, o.code, true) && compareValues(uri, o.uri, true); 3471 } 3472 3473 public boolean isEmpty() { 3474 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(code, uri); 3475 } 3476 3477 public String fhirType() { 3478 return "ValueSet.expansion.property"; 3479 3480 } 3481 3482 } 3483 3484 @Block() 3485 public static class ValueSetExpansionContainsComponent extends BackboneElement implements IBaseBackboneElement { 3486 /** 3487 * An absolute URI which is the code system in which the code for this item in the expansion is defined. 3488 */ 3489 @Child(name = "system", type = {UriType.class}, order=1, min=0, max=1, modifier=false, summary=false) 3490 @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." ) 3491 protected UriType system; 3492 3493 /** 3494 * If true, this entry is included in the expansion for navigational purposes, and the user cannot select the code directly as a proper value. 3495 */ 3496 @Child(name = "abstract", type = {BooleanType.class}, order=2, min=0, max=1, modifier=false, summary=false) 3497 @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." ) 3498 protected BooleanType abstract_; 3499 3500 /** 3501 * 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 a concept is inactive (and it may depend on the context of use). 3502 */ 3503 @Child(name = "inactive", type = {BooleanType.class}, order=3, min=0, max=1, modifier=false, summary=false) 3504 @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 a concept is inactive (and it may depend on the context of use)." ) 3505 protected BooleanType inactive; 3506 3507 /** 3508 * 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. 3509 */ 3510 @Child(name = "version", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=false) 3511 @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." ) 3512 protected StringType version; 3513 3514 /** 3515 * 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. 3516 */ 3517 @Child(name = "code", type = {CodeType.class}, order=5, min=0, max=1, modifier=false, summary=false) 3518 @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." ) 3519 protected CodeType code; 3520 3521 /** 3522 * The recommended display for this item in the expansion. 3523 */ 3524 @Child(name = "display", type = {StringType.class}, order=6, min=0, max=1, modifier=false, summary=false) 3525 @Description(shortDefinition="User display for the concept", formalDefinition="The recommended display for this item in the expansion." ) 3526 protected StringType display; 3527 3528 /** 3529 * 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. 3530 */ 3531 @Child(name = "designation", type = {ConceptReferenceDesignationComponent.class}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 3532 @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." ) 3533 protected List<ConceptReferenceDesignationComponent> designation; 3534 3535 /** 3536 * A property value for this concept. 3537 */ 3538 @Child(name = "property", type = {}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 3539 @Description(shortDefinition="Property value for the concept", formalDefinition="A property value for this concept." ) 3540 protected List<ConceptPropertyComponent> property; 3541 3542 /** 3543 * Other codes and entries contained under this entry in the hierarchy. 3544 */ 3545 @Child(name = "contains", type = {ValueSetExpansionContainsComponent.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 3546 @Description(shortDefinition="Codes contained under this entry", formalDefinition="Other codes and entries contained under this entry in the hierarchy." ) 3547 protected List<ValueSetExpansionContainsComponent> contains; 3548 3549 private static final long serialVersionUID = -1370569439L; 3550 3551 /** 3552 * Constructor 3553 */ 3554 public ValueSetExpansionContainsComponent() { 3555 super(); 3556 } 3557 3558 /** 3559 * @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 3560 */ 3561 public UriType getSystemElement() { 3562 if (this.system == null) 3563 if (Configuration.errorOnAutoCreate()) 3564 throw new Error("Attempt to auto-create ValueSetExpansionContainsComponent.system"); 3565 else if (Configuration.doAutoCreate()) 3566 this.system = new UriType(); // bb 3567 return this.system; 3568 } 3569 3570 public boolean hasSystemElement() { 3571 return this.system != null && !this.system.isEmpty(); 3572 } 3573 3574 public boolean hasSystem() { 3575 return this.system != null && !this.system.isEmpty(); 3576 } 3577 3578 /** 3579 * @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 3580 */ 3581 public ValueSetExpansionContainsComponent setSystemElement(UriType value) { 3582 this.system = value; 3583 return this; 3584 } 3585 3586 /** 3587 * @return An absolute URI which is the code system in which the code for this item in the expansion is defined. 3588 */ 3589 public String getSystem() { 3590 return this.system == null ? null : this.system.getValue(); 3591 } 3592 3593 /** 3594 * @param value An absolute URI which is the code system in which the code for this item in the expansion is defined. 3595 */ 3596 public ValueSetExpansionContainsComponent setSystem(String value) { 3597 if (Utilities.noString(value)) 3598 this.system = null; 3599 else { 3600 if (this.system == null) 3601 this.system = new UriType(); 3602 this.system.setValue(value); 3603 } 3604 return this; 3605 } 3606 3607 /** 3608 * @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 3609 */ 3610 public BooleanType getAbstractElement() { 3611 if (this.abstract_ == null) 3612 if (Configuration.errorOnAutoCreate()) 3613 throw new Error("Attempt to auto-create ValueSetExpansionContainsComponent.abstract_"); 3614 else if (Configuration.doAutoCreate()) 3615 this.abstract_ = new BooleanType(); // bb 3616 return this.abstract_; 3617 } 3618 3619 public boolean hasAbstractElement() { 3620 return this.abstract_ != null && !this.abstract_.isEmpty(); 3621 } 3622 3623 public boolean hasAbstract() { 3624 return this.abstract_ != null && !this.abstract_.isEmpty(); 3625 } 3626 3627 /** 3628 * @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 3629 */ 3630 public ValueSetExpansionContainsComponent setAbstractElement(BooleanType value) { 3631 this.abstract_ = value; 3632 return this; 3633 } 3634 3635 /** 3636 * @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. 3637 */ 3638 public boolean getAbstract() { 3639 return this.abstract_ == null || this.abstract_.isEmpty() ? false : this.abstract_.getValue(); 3640 } 3641 3642 /** 3643 * @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. 3644 */ 3645 public ValueSetExpansionContainsComponent setAbstract(boolean value) { 3646 if (this.abstract_ == null) 3647 this.abstract_ = new BooleanType(); 3648 this.abstract_.setValue(value); 3649 return this; 3650 } 3651 3652 /** 3653 * @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 a 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 3654 */ 3655 public BooleanType getInactiveElement() { 3656 if (this.inactive == null) 3657 if (Configuration.errorOnAutoCreate()) 3658 throw new Error("Attempt to auto-create ValueSetExpansionContainsComponent.inactive"); 3659 else if (Configuration.doAutoCreate()) 3660 this.inactive = new BooleanType(); // bb 3661 return this.inactive; 3662 } 3663 3664 public boolean hasInactiveElement() { 3665 return this.inactive != null && !this.inactive.isEmpty(); 3666 } 3667 3668 public boolean hasInactive() { 3669 return this.inactive != null && !this.inactive.isEmpty(); 3670 } 3671 3672 /** 3673 * @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 a 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 3674 */ 3675 public ValueSetExpansionContainsComponent setInactiveElement(BooleanType value) { 3676 this.inactive = value; 3677 return this; 3678 } 3679 3680 /** 3681 * @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 a concept is inactive (and it may depend on the context of use). 3682 */ 3683 public boolean getInactive() { 3684 return this.inactive == null || this.inactive.isEmpty() ? false : this.inactive.getValue(); 3685 } 3686 3687 /** 3688 * @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 a concept is inactive (and it may depend on the context of use). 3689 */ 3690 public ValueSetExpansionContainsComponent setInactive(boolean value) { 3691 if (this.inactive == null) 3692 this.inactive = new BooleanType(); 3693 this.inactive.setValue(value); 3694 return this; 3695 } 3696 3697 /** 3698 * @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 3699 */ 3700 public StringType getVersionElement() { 3701 if (this.version == null) 3702 if (Configuration.errorOnAutoCreate()) 3703 throw new Error("Attempt to auto-create ValueSetExpansionContainsComponent.version"); 3704 else if (Configuration.doAutoCreate()) 3705 this.version = new StringType(); // bb 3706 return this.version; 3707 } 3708 3709 public boolean hasVersionElement() { 3710 return this.version != null && !this.version.isEmpty(); 3711 } 3712 3713 public boolean hasVersion() { 3714 return this.version != null && !this.version.isEmpty(); 3715 } 3716 3717 /** 3718 * @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 3719 */ 3720 public ValueSetExpansionContainsComponent setVersionElement(StringType value) { 3721 this.version = value; 3722 return this; 3723 } 3724 3725 /** 3726 * @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. 3727 */ 3728 public String getVersion() { 3729 return this.version == null ? null : this.version.getValue(); 3730 } 3731 3732 /** 3733 * @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. 3734 */ 3735 public ValueSetExpansionContainsComponent setVersion(String value) { 3736 if (Utilities.noString(value)) 3737 this.version = null; 3738 else { 3739 if (this.version == null) 3740 this.version = new StringType(); 3741 this.version.setValue(value); 3742 } 3743 return this; 3744 } 3745 3746 /** 3747 * @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 3748 */ 3749 public CodeType getCodeElement() { 3750 if (this.code == null) 3751 if (Configuration.errorOnAutoCreate()) 3752 throw new Error("Attempt to auto-create ValueSetExpansionContainsComponent.code"); 3753 else if (Configuration.doAutoCreate()) 3754 this.code = new CodeType(); // bb 3755 return this.code; 3756 } 3757 3758 public boolean hasCodeElement() { 3759 return this.code != null && !this.code.isEmpty(); 3760 } 3761 3762 public boolean hasCode() { 3763 return this.code != null && !this.code.isEmpty(); 3764 } 3765 3766 /** 3767 * @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 3768 */ 3769 public ValueSetExpansionContainsComponent setCodeElement(CodeType value) { 3770 this.code = value; 3771 return this; 3772 } 3773 3774 /** 3775 * @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. 3776 */ 3777 public String getCode() { 3778 return this.code == null ? null : this.code.getValue(); 3779 } 3780 3781 /** 3782 * @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. 3783 */ 3784 public ValueSetExpansionContainsComponent setCode(String value) { 3785 if (Utilities.noString(value)) 3786 this.code = null; 3787 else { 3788 if (this.code == null) 3789 this.code = new CodeType(); 3790 this.code.setValue(value); 3791 } 3792 return this; 3793 } 3794 3795 /** 3796 * @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 3797 */ 3798 public StringType getDisplayElement() { 3799 if (this.display == null) 3800 if (Configuration.errorOnAutoCreate()) 3801 throw new Error("Attempt to auto-create ValueSetExpansionContainsComponent.display"); 3802 else if (Configuration.doAutoCreate()) 3803 this.display = new StringType(); // bb 3804 return this.display; 3805 } 3806 3807 public boolean hasDisplayElement() { 3808 return this.display != null && !this.display.isEmpty(); 3809 } 3810 3811 public boolean hasDisplay() { 3812 return this.display != null && !this.display.isEmpty(); 3813 } 3814 3815 /** 3816 * @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 3817 */ 3818 public ValueSetExpansionContainsComponent setDisplayElement(StringType value) { 3819 this.display = value; 3820 return this; 3821 } 3822 3823 /** 3824 * @return The recommended display for this item in the expansion. 3825 */ 3826 public String getDisplay() { 3827 return this.display == null ? null : this.display.getValue(); 3828 } 3829 3830 /** 3831 * @param value The recommended display for this item in the expansion. 3832 */ 3833 public ValueSetExpansionContainsComponent setDisplay(String value) { 3834 if (Utilities.noString(value)) 3835 this.display = null; 3836 else { 3837 if (this.display == null) 3838 this.display = new StringType(); 3839 this.display.setValue(value); 3840 } 3841 return this; 3842 } 3843 3844 /** 3845 * @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.) 3846 */ 3847 public List<ConceptReferenceDesignationComponent> getDesignation() { 3848 if (this.designation == null) 3849 this.designation = new ArrayList<ConceptReferenceDesignationComponent>(); 3850 return this.designation; 3851 } 3852 3853 /** 3854 * @return Returns a reference to <code>this</code> for easy method chaining 3855 */ 3856 public ValueSetExpansionContainsComponent setDesignation(List<ConceptReferenceDesignationComponent> theDesignation) { 3857 this.designation = theDesignation; 3858 return this; 3859 } 3860 3861 public boolean hasDesignation() { 3862 if (this.designation == null) 3863 return false; 3864 for (ConceptReferenceDesignationComponent item : this.designation) 3865 if (!item.isEmpty()) 3866 return true; 3867 return false; 3868 } 3869 3870 public ConceptReferenceDesignationComponent addDesignation() { //3 3871 ConceptReferenceDesignationComponent t = new ConceptReferenceDesignationComponent(); 3872 if (this.designation == null) 3873 this.designation = new ArrayList<ConceptReferenceDesignationComponent>(); 3874 this.designation.add(t); 3875 return t; 3876 } 3877 3878 public ValueSetExpansionContainsComponent addDesignation(ConceptReferenceDesignationComponent t) { //3 3879 if (t == null) 3880 return this; 3881 if (this.designation == null) 3882 this.designation = new ArrayList<ConceptReferenceDesignationComponent>(); 3883 this.designation.add(t); 3884 return this; 3885 } 3886 3887 /** 3888 * @return The first repetition of repeating field {@link #designation}, creating it if it does not already exist {3} 3889 */ 3890 public ConceptReferenceDesignationComponent getDesignationFirstRep() { 3891 if (getDesignation().isEmpty()) { 3892 addDesignation(); 3893 } 3894 return getDesignation().get(0); 3895 } 3896 3897 /** 3898 * @return {@link #property} (A property value for this concept.) 3899 */ 3900 public List<ConceptPropertyComponent> getProperty() { 3901 if (this.property == null) 3902 this.property = new ArrayList<ConceptPropertyComponent>(); 3903 return this.property; 3904 } 3905 3906 /** 3907 * @return Returns a reference to <code>this</code> for easy method chaining 3908 */ 3909 public ValueSetExpansionContainsComponent setProperty(List<ConceptPropertyComponent> theProperty) { 3910 this.property = theProperty; 3911 return this; 3912 } 3913 3914 public boolean hasProperty() { 3915 if (this.property == null) 3916 return false; 3917 for (ConceptPropertyComponent item : this.property) 3918 if (!item.isEmpty()) 3919 return true; 3920 return false; 3921 } 3922 3923 public ConceptPropertyComponent addProperty() { //3 3924 ConceptPropertyComponent t = new ConceptPropertyComponent(); 3925 if (this.property == null) 3926 this.property = new ArrayList<ConceptPropertyComponent>(); 3927 this.property.add(t); 3928 return t; 3929 } 3930 3931 public ValueSetExpansionContainsComponent addProperty(ConceptPropertyComponent t) { //3 3932 if (t == null) 3933 return this; 3934 if (this.property == null) 3935 this.property = new ArrayList<ConceptPropertyComponent>(); 3936 this.property.add(t); 3937 return this; 3938 } 3939 3940 /** 3941 * @return The first repetition of repeating field {@link #property}, creating it if it does not already exist {3} 3942 */ 3943 public ConceptPropertyComponent getPropertyFirstRep() { 3944 if (getProperty().isEmpty()) { 3945 addProperty(); 3946 } 3947 return getProperty().get(0); 3948 } 3949 3950 /** 3951 * @return {@link #contains} (Other codes and entries contained under this entry in the hierarchy.) 3952 */ 3953 public List<ValueSetExpansionContainsComponent> getContains() { 3954 if (this.contains == null) 3955 this.contains = new ArrayList<ValueSetExpansionContainsComponent>(); 3956 return this.contains; 3957 } 3958 3959 /** 3960 * @return Returns a reference to <code>this</code> for easy method chaining 3961 */ 3962 public ValueSetExpansionContainsComponent setContains(List<ValueSetExpansionContainsComponent> theContains) { 3963 this.contains = theContains; 3964 return this; 3965 } 3966 3967 public boolean hasContains() { 3968 if (this.contains == null) 3969 return false; 3970 for (ValueSetExpansionContainsComponent item : this.contains) 3971 if (!item.isEmpty()) 3972 return true; 3973 return false; 3974 } 3975 3976 public ValueSetExpansionContainsComponent addContains() { //3 3977 ValueSetExpansionContainsComponent t = new ValueSetExpansionContainsComponent(); 3978 if (this.contains == null) 3979 this.contains = new ArrayList<ValueSetExpansionContainsComponent>(); 3980 this.contains.add(t); 3981 return t; 3982 } 3983 3984 public ValueSetExpansionContainsComponent addContains(ValueSetExpansionContainsComponent t) { //3 3985 if (t == null) 3986 return this; 3987 if (this.contains == null) 3988 this.contains = new ArrayList<ValueSetExpansionContainsComponent>(); 3989 this.contains.add(t); 3990 return this; 3991 } 3992 3993 /** 3994 * @return The first repetition of repeating field {@link #contains}, creating it if it does not already exist {3} 3995 */ 3996 public ValueSetExpansionContainsComponent getContainsFirstRep() { 3997 if (getContains().isEmpty()) { 3998 addContains(); 3999 } 4000 return getContains().get(0); 4001 } 4002 4003 protected void listChildren(List<Property> children) { 4004 super.listChildren(children); 4005 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)); 4006 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_)); 4007 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 a concept is inactive (and it may depend on the context of use).", 0, 1, inactive)); 4008 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)); 4009 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)); 4010 children.add(new Property("display", "string", "The recommended display for this item in the expansion.", 0, 1, display)); 4011 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)); 4012 children.add(new Property("property", "", "A property value for this concept.", 0, java.lang.Integer.MAX_VALUE, property)); 4013 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)); 4014 } 4015 4016 @Override 4017 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 4018 switch (_hash) { 4019 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); 4020 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_); 4021 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 a concept is inactive (and it may depend on the context of use).", 0, 1, inactive); 4022 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); 4023 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); 4024 case 1671764162: /*display*/ return new Property("display", "string", "The recommended display for this item in the expansion.", 0, 1, display); 4025 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); 4026 case -993141291: /*property*/ return new Property("property", "", "A property value for this concept.", 0, java.lang.Integer.MAX_VALUE, property); 4027 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); 4028 default: return super.getNamedProperty(_hash, _name, _checkValid); 4029 } 4030 4031 } 4032 4033 @Override 4034 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 4035 switch (hash) { 4036 case -887328209: /*system*/ return this.system == null ? new Base[0] : new Base[] {this.system}; // UriType 4037 case 1732898850: /*abstract*/ return this.abstract_ == null ? new Base[0] : new Base[] {this.abstract_}; // BooleanType 4038 case 24665195: /*inactive*/ return this.inactive == null ? new Base[0] : new Base[] {this.inactive}; // BooleanType 4039 case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType 4040 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeType 4041 case 1671764162: /*display*/ return this.display == null ? new Base[0] : new Base[] {this.display}; // StringType 4042 case -900931593: /*designation*/ return this.designation == null ? new Base[0] : this.designation.toArray(new Base[this.designation.size()]); // ConceptReferenceDesignationComponent 4043 case -993141291: /*property*/ return this.property == null ? new Base[0] : this.property.toArray(new Base[this.property.size()]); // ConceptPropertyComponent 4044 case -567445985: /*contains*/ return this.contains == null ? new Base[0] : this.contains.toArray(new Base[this.contains.size()]); // ValueSetExpansionContainsComponent 4045 default: return super.getProperty(hash, name, checkValid); 4046 } 4047 4048 } 4049 4050 @Override 4051 public Base setProperty(int hash, String name, Base value) throws FHIRException { 4052 switch (hash) { 4053 case -887328209: // system 4054 this.system = TypeConvertor.castToUri(value); // UriType 4055 return value; 4056 case 1732898850: // abstract 4057 this.abstract_ = TypeConvertor.castToBoolean(value); // BooleanType 4058 return value; 4059 case 24665195: // inactive 4060 this.inactive = TypeConvertor.castToBoolean(value); // BooleanType 4061 return value; 4062 case 351608024: // version 4063 this.version = TypeConvertor.castToString(value); // StringType 4064 return value; 4065 case 3059181: // code 4066 this.code = TypeConvertor.castToCode(value); // CodeType 4067 return value; 4068 case 1671764162: // display 4069 this.display = TypeConvertor.castToString(value); // StringType 4070 return value; 4071 case -900931593: // designation 4072 this.getDesignation().add((ConceptReferenceDesignationComponent) value); // ConceptReferenceDesignationComponent 4073 return value; 4074 case -993141291: // property 4075 this.getProperty().add((ConceptPropertyComponent) value); // ConceptPropertyComponent 4076 return value; 4077 case -567445985: // contains 4078 this.getContains().add((ValueSetExpansionContainsComponent) value); // ValueSetExpansionContainsComponent 4079 return value; 4080 default: return super.setProperty(hash, name, value); 4081 } 4082 4083 } 4084 4085 @Override 4086 public Base setProperty(String name, Base value) throws FHIRException { 4087 if (name.equals("system")) { 4088 this.system = TypeConvertor.castToUri(value); // UriType 4089 } else if (name.equals("abstract")) { 4090 this.abstract_ = TypeConvertor.castToBoolean(value); // BooleanType 4091 } else if (name.equals("inactive")) { 4092 this.inactive = TypeConvertor.castToBoolean(value); // BooleanType 4093 } else if (name.equals("version")) { 4094 this.version = TypeConvertor.castToString(value); // StringType 4095 } else if (name.equals("code")) { 4096 this.code = TypeConvertor.castToCode(value); // CodeType 4097 } else if (name.equals("display")) { 4098 this.display = TypeConvertor.castToString(value); // StringType 4099 } else if (name.equals("designation")) { 4100 this.getDesignation().add((ConceptReferenceDesignationComponent) value); 4101 } else if (name.equals("property")) { 4102 this.getProperty().add((ConceptPropertyComponent) value); 4103 } else if (name.equals("contains")) { 4104 this.getContains().add((ValueSetExpansionContainsComponent) value); 4105 } else 4106 return super.setProperty(name, value); 4107 return value; 4108 } 4109 4110 @Override 4111 public Base makeProperty(int hash, String name) throws FHIRException { 4112 switch (hash) { 4113 case -887328209: return getSystemElement(); 4114 case 1732898850: return getAbstractElement(); 4115 case 24665195: return getInactiveElement(); 4116 case 351608024: return getVersionElement(); 4117 case 3059181: return getCodeElement(); 4118 case 1671764162: return getDisplayElement(); 4119 case -900931593: return addDesignation(); 4120 case -993141291: return addProperty(); 4121 case -567445985: return addContains(); 4122 default: return super.makeProperty(hash, name); 4123 } 4124 4125 } 4126 4127 @Override 4128 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 4129 switch (hash) { 4130 case -887328209: /*system*/ return new String[] {"uri"}; 4131 case 1732898850: /*abstract*/ return new String[] {"boolean"}; 4132 case 24665195: /*inactive*/ return new String[] {"boolean"}; 4133 case 351608024: /*version*/ return new String[] {"string"}; 4134 case 3059181: /*code*/ return new String[] {"code"}; 4135 case 1671764162: /*display*/ return new String[] {"string"}; 4136 case -900931593: /*designation*/ return new String[] {"@ValueSet.compose.include.concept.designation"}; 4137 case -993141291: /*property*/ return new String[] {}; 4138 case -567445985: /*contains*/ return new String[] {"@ValueSet.expansion.contains"}; 4139 default: return super.getTypesForProperty(hash, name); 4140 } 4141 4142 } 4143 4144 @Override 4145 public Base addChild(String name) throws FHIRException { 4146 if (name.equals("system")) { 4147 throw new FHIRException("Cannot call addChild on a singleton property ValueSet.expansion.contains.system"); 4148 } 4149 else if (name.equals("abstract")) { 4150 throw new FHIRException("Cannot call addChild on a singleton property ValueSet.expansion.contains.abstract"); 4151 } 4152 else if (name.equals("inactive")) { 4153 throw new FHIRException("Cannot call addChild on a singleton property ValueSet.expansion.contains.inactive"); 4154 } 4155 else if (name.equals("version")) { 4156 throw new FHIRException("Cannot call addChild on a singleton property ValueSet.expansion.contains.version"); 4157 } 4158 else if (name.equals("code")) { 4159 throw new FHIRException("Cannot call addChild on a singleton property ValueSet.expansion.contains.code"); 4160 } 4161 else if (name.equals("display")) { 4162 throw new FHIRException("Cannot call addChild on a singleton property ValueSet.expansion.contains.display"); 4163 } 4164 else if (name.equals("designation")) { 4165 return addDesignation(); 4166 } 4167 else if (name.equals("property")) { 4168 return addProperty(); 4169 } 4170 else if (name.equals("contains")) { 4171 return addContains(); 4172 } 4173 else 4174 return super.addChild(name); 4175 } 4176 4177 public ValueSetExpansionContainsComponent copy() { 4178 ValueSetExpansionContainsComponent dst = new ValueSetExpansionContainsComponent(); 4179 copyValues(dst); 4180 return dst; 4181 } 4182 4183 public void copyValues(ValueSetExpansionContainsComponent dst) { 4184 super.copyValues(dst); 4185 dst.system = system == null ? null : system.copy(); 4186 dst.abstract_ = abstract_ == null ? null : abstract_.copy(); 4187 dst.inactive = inactive == null ? null : inactive.copy(); 4188 dst.version = version == null ? null : version.copy(); 4189 dst.code = code == null ? null : code.copy(); 4190 dst.display = display == null ? null : display.copy(); 4191 if (designation != null) { 4192 dst.designation = new ArrayList<ConceptReferenceDesignationComponent>(); 4193 for (ConceptReferenceDesignationComponent i : designation) 4194 dst.designation.add(i.copy()); 4195 }; 4196 if (property != null) { 4197 dst.property = new ArrayList<ConceptPropertyComponent>(); 4198 for (ConceptPropertyComponent i : property) 4199 dst.property.add(i.copy()); 4200 }; 4201 if (contains != null) { 4202 dst.contains = new ArrayList<ValueSetExpansionContainsComponent>(); 4203 for (ValueSetExpansionContainsComponent i : contains) 4204 dst.contains.add(i.copy()); 4205 }; 4206 } 4207 4208 @Override 4209 public boolean equalsDeep(Base other_) { 4210 if (!super.equalsDeep(other_)) 4211 return false; 4212 if (!(other_ instanceof ValueSetExpansionContainsComponent)) 4213 return false; 4214 ValueSetExpansionContainsComponent o = (ValueSetExpansionContainsComponent) other_; 4215 return compareDeep(system, o.system, true) && compareDeep(abstract_, o.abstract_, true) && compareDeep(inactive, o.inactive, true) 4216 && compareDeep(version, o.version, true) && compareDeep(code, o.code, true) && compareDeep(display, o.display, true) 4217 && compareDeep(designation, o.designation, true) && compareDeep(property, o.property, true) && compareDeep(contains, o.contains, true) 4218 ; 4219 } 4220 4221 @Override 4222 public boolean equalsShallow(Base other_) { 4223 if (!super.equalsShallow(other_)) 4224 return false; 4225 if (!(other_ instanceof ValueSetExpansionContainsComponent)) 4226 return false; 4227 ValueSetExpansionContainsComponent o = (ValueSetExpansionContainsComponent) other_; 4228 return compareValues(system, o.system, true) && compareValues(abstract_, o.abstract_, true) && compareValues(inactive, o.inactive, true) 4229 && compareValues(version, o.version, true) && compareValues(code, o.code, true) && compareValues(display, o.display, true) 4230 ; 4231 } 4232 4233 public boolean isEmpty() { 4234 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(system, abstract_, inactive 4235 , version, code, display, designation, property, contains); 4236 } 4237 4238 public String fhirType() { 4239 return "ValueSet.expansion.contains"; 4240 4241 } 4242 4243 } 4244 4245 @Block() 4246 public static class ConceptPropertyComponent extends BackboneElement implements IBaseBackboneElement { 4247 /** 4248 * A code that is a reference to ValueSet.expansion.property.code. 4249 */ 4250 @Child(name = "code", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=false) 4251 @Description(shortDefinition="Reference to ValueSet.expansion.property.code", formalDefinition="A code that is a reference to ValueSet.expansion.property.code." ) 4252 protected CodeType code; 4253 4254 /** 4255 * The value of this property. 4256 */ 4257 @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) 4258 @Description(shortDefinition="Value of the property for this concept", formalDefinition="The value of this property." ) 4259 protected DataType value; 4260 4261 /** 4262 * A subproperty value for this concept. 4263 */ 4264 @Child(name = "subProperty", type = {}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 4265 @Description(shortDefinition="SubProperty value for the concept", formalDefinition="A subproperty value for this concept." ) 4266 protected List<ConceptSubPropertyComponent> subProperty; 4267 4268 private static final long serialVersionUID = -948620650L; 4269 4270 /** 4271 * Constructor 4272 */ 4273 public ConceptPropertyComponent() { 4274 super(); 4275 } 4276 4277 /** 4278 * Constructor 4279 */ 4280 public ConceptPropertyComponent(String code, DataType value) { 4281 super(); 4282 this.setCode(code); 4283 this.setValue(value); 4284 } 4285 4286 /** 4287 * @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 4288 */ 4289 public CodeType getCodeElement() { 4290 if (this.code == null) 4291 if (Configuration.errorOnAutoCreate()) 4292 throw new Error("Attempt to auto-create ConceptPropertyComponent.code"); 4293 else if (Configuration.doAutoCreate()) 4294 this.code = new CodeType(); // bb 4295 return this.code; 4296 } 4297 4298 public boolean hasCodeElement() { 4299 return this.code != null && !this.code.isEmpty(); 4300 } 4301 4302 public boolean hasCode() { 4303 return this.code != null && !this.code.isEmpty(); 4304 } 4305 4306 /** 4307 * @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 4308 */ 4309 public ConceptPropertyComponent setCodeElement(CodeType value) { 4310 this.code = value; 4311 return this; 4312 } 4313 4314 /** 4315 * @return A code that is a reference to ValueSet.expansion.property.code. 4316 */ 4317 public String getCode() { 4318 return this.code == null ? null : this.code.getValue(); 4319 } 4320 4321 /** 4322 * @param value A code that is a reference to ValueSet.expansion.property.code. 4323 */ 4324 public ConceptPropertyComponent setCode(String value) { 4325 if (this.code == null) 4326 this.code = new CodeType(); 4327 this.code.setValue(value); 4328 return this; 4329 } 4330 4331 /** 4332 * @return {@link #value} (The value of this property.) 4333 */ 4334 public DataType getValue() { 4335 return this.value; 4336 } 4337 4338 /** 4339 * @return {@link #value} (The value of this property.) 4340 */ 4341 public CodeType getValueCodeType() throws FHIRException { 4342 if (this.value == null) 4343 this.value = new CodeType(); 4344 if (!(this.value instanceof CodeType)) 4345 throw new FHIRException("Type mismatch: the type CodeType was expected, but "+this.value.getClass().getName()+" was encountered"); 4346 return (CodeType) this.value; 4347 } 4348 4349 public boolean hasValueCodeType() { 4350 return this != null && this.value instanceof CodeType; 4351 } 4352 4353 /** 4354 * @return {@link #value} (The value of this property.) 4355 */ 4356 public Coding getValueCoding() throws FHIRException { 4357 if (this.value == null) 4358 this.value = new Coding(); 4359 if (!(this.value instanceof Coding)) 4360 throw new FHIRException("Type mismatch: the type Coding was expected, but "+this.value.getClass().getName()+" was encountered"); 4361 return (Coding) this.value; 4362 } 4363 4364 public boolean hasValueCoding() { 4365 return this != null && this.value instanceof Coding; 4366 } 4367 4368 /** 4369 * @return {@link #value} (The value of this property.) 4370 */ 4371 public StringType getValueStringType() throws FHIRException { 4372 if (this.value == null) 4373 this.value = new StringType(); 4374 if (!(this.value instanceof StringType)) 4375 throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.value.getClass().getName()+" was encountered"); 4376 return (StringType) this.value; 4377 } 4378 4379 public boolean hasValueStringType() { 4380 return this != null && this.value instanceof StringType; 4381 } 4382 4383 /** 4384 * @return {@link #value} (The value of this property.) 4385 */ 4386 public IntegerType getValueIntegerType() throws FHIRException { 4387 if (this.value == null) 4388 this.value = new IntegerType(); 4389 if (!(this.value instanceof IntegerType)) 4390 throw new FHIRException("Type mismatch: the type IntegerType was expected, but "+this.value.getClass().getName()+" was encountered"); 4391 return (IntegerType) this.value; 4392 } 4393 4394 public boolean hasValueIntegerType() { 4395 return this != null && this.value instanceof IntegerType; 4396 } 4397 4398 /** 4399 * @return {@link #value} (The value of this property.) 4400 */ 4401 public BooleanType getValueBooleanType() throws FHIRException { 4402 if (this.value == null) 4403 this.value = new BooleanType(); 4404 if (!(this.value instanceof BooleanType)) 4405 throw new FHIRException("Type mismatch: the type BooleanType was expected, but "+this.value.getClass().getName()+" was encountered"); 4406 return (BooleanType) this.value; 4407 } 4408 4409 public boolean hasValueBooleanType() { 4410 return this != null && this.value instanceof BooleanType; 4411 } 4412 4413 /** 4414 * @return {@link #value} (The value of this property.) 4415 */ 4416 public DateTimeType getValueDateTimeType() throws FHIRException { 4417 if (this.value == null) 4418 this.value = new DateTimeType(); 4419 if (!(this.value instanceof DateTimeType)) 4420 throw new FHIRException("Type mismatch: the type DateTimeType was expected, but "+this.value.getClass().getName()+" was encountered"); 4421 return (DateTimeType) this.value; 4422 } 4423 4424 public boolean hasValueDateTimeType() { 4425 return this != null && this.value instanceof DateTimeType; 4426 } 4427 4428 /** 4429 * @return {@link #value} (The value of this property.) 4430 */ 4431 public DecimalType getValueDecimalType() throws FHIRException { 4432 if (this.value == null) 4433 this.value = new DecimalType(); 4434 if (!(this.value instanceof DecimalType)) 4435 throw new FHIRException("Type mismatch: the type DecimalType was expected, but "+this.value.getClass().getName()+" was encountered"); 4436 return (DecimalType) this.value; 4437 } 4438 4439 public boolean hasValueDecimalType() { 4440 return this != null && this.value instanceof DecimalType; 4441 } 4442 4443 public boolean hasValue() { 4444 return this.value != null && !this.value.isEmpty(); 4445 } 4446 4447 /** 4448 * @param value {@link #value} (The value of this property.) 4449 */ 4450 public ConceptPropertyComponent setValue(DataType value) { 4451 if (value != null && !(value instanceof CodeType || value instanceof Coding || value instanceof StringType || value instanceof IntegerType || value instanceof BooleanType || value instanceof DateTimeType || value instanceof DecimalType)) 4452 throw new FHIRException("Not the right type for ValueSet.expansion.contains.property.value[x]: "+value.fhirType()); 4453 this.value = value; 4454 return this; 4455 } 4456 4457 /** 4458 * @return {@link #subProperty} (A subproperty value for this concept.) 4459 */ 4460 public List<ConceptSubPropertyComponent> getSubProperty() { 4461 if (this.subProperty == null) 4462 this.subProperty = new ArrayList<ConceptSubPropertyComponent>(); 4463 return this.subProperty; 4464 } 4465 4466 /** 4467 * @return Returns a reference to <code>this</code> for easy method chaining 4468 */ 4469 public ConceptPropertyComponent setSubProperty(List<ConceptSubPropertyComponent> theSubProperty) { 4470 this.subProperty = theSubProperty; 4471 return this; 4472 } 4473 4474 public boolean hasSubProperty() { 4475 if (this.subProperty == null) 4476 return false; 4477 for (ConceptSubPropertyComponent item : this.subProperty) 4478 if (!item.isEmpty()) 4479 return true; 4480 return false; 4481 } 4482 4483 public ConceptSubPropertyComponent addSubProperty() { //3 4484 ConceptSubPropertyComponent t = new ConceptSubPropertyComponent(); 4485 if (this.subProperty == null) 4486 this.subProperty = new ArrayList<ConceptSubPropertyComponent>(); 4487 this.subProperty.add(t); 4488 return t; 4489 } 4490 4491 public ConceptPropertyComponent addSubProperty(ConceptSubPropertyComponent t) { //3 4492 if (t == null) 4493 return this; 4494 if (this.subProperty == null) 4495 this.subProperty = new ArrayList<ConceptSubPropertyComponent>(); 4496 this.subProperty.add(t); 4497 return this; 4498 } 4499 4500 /** 4501 * @return The first repetition of repeating field {@link #subProperty}, creating it if it does not already exist {3} 4502 */ 4503 public ConceptSubPropertyComponent getSubPropertyFirstRep() { 4504 if (getSubProperty().isEmpty()) { 4505 addSubProperty(); 4506 } 4507 return getSubProperty().get(0); 4508 } 4509 4510 protected void listChildren(List<Property> children) { 4511 super.listChildren(children); 4512 children.add(new Property("code", "code", "A code that is a reference to ValueSet.expansion.property.code.", 0, 1, code)); 4513 children.add(new Property("value[x]", "code|Coding|string|integer|boolean|dateTime|decimal", "The value of this property.", 0, 1, value)); 4514 children.add(new Property("subProperty", "", "A subproperty value for this concept.", 0, java.lang.Integer.MAX_VALUE, subProperty)); 4515 } 4516 4517 @Override 4518 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 4519 switch (_hash) { 4520 case 3059181: /*code*/ return new Property("code", "code", "A code that is a reference to ValueSet.expansion.property.code.", 0, 1, code); 4521 case -1410166417: /*value[x]*/ return new Property("value[x]", "code|Coding|string|integer|boolean|dateTime|decimal", "The value of this property.", 0, 1, value); 4522 case 111972721: /*value*/ return new Property("value[x]", "code|Coding|string|integer|boolean|dateTime|decimal", "The value of this property.", 0, 1, value); 4523 case -766209282: /*valueCode*/ return new Property("value[x]", "code", "The value of this property.", 0, 1, value); 4524 case -1887705029: /*valueCoding*/ return new Property("value[x]", "Coding", "The value of this property.", 0, 1, value); 4525 case -1424603934: /*valueString*/ return new Property("value[x]", "string", "The value of this property.", 0, 1, value); 4526 case -1668204915: /*valueInteger*/ return new Property("value[x]", "integer", "The value of this property.", 0, 1, value); 4527 case 733421943: /*valueBoolean*/ return new Property("value[x]", "boolean", "The value of this property.", 0, 1, value); 4528 case 1047929900: /*valueDateTime*/ return new Property("value[x]", "dateTime", "The value of this property.", 0, 1, value); 4529 case -2083993440: /*valueDecimal*/ return new Property("value[x]", "decimal", "The value of this property.", 0, 1, value); 4530 case 321372213: /*subProperty*/ return new Property("subProperty", "", "A subproperty value for this concept.", 0, java.lang.Integer.MAX_VALUE, subProperty); 4531 default: return super.getNamedProperty(_hash, _name, _checkValid); 4532 } 4533 4534 } 4535 4536 @Override 4537 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 4538 switch (hash) { 4539 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeType 4540 case 111972721: /*value*/ return this.value == null ? new Base[0] : new Base[] {this.value}; // DataType 4541 case 321372213: /*subProperty*/ return this.subProperty == null ? new Base[0] : this.subProperty.toArray(new Base[this.subProperty.size()]); // ConceptSubPropertyComponent 4542 default: return super.getProperty(hash, name, checkValid); 4543 } 4544 4545 } 4546 4547 @Override 4548 public Base setProperty(int hash, String name, Base value) throws FHIRException { 4549 switch (hash) { 4550 case 3059181: // code 4551 this.code = TypeConvertor.castToCode(value); // CodeType 4552 return value; 4553 case 111972721: // value 4554 this.value = TypeConvertor.castToType(value); // DataType 4555 return value; 4556 case 321372213: // subProperty 4557 this.getSubProperty().add((ConceptSubPropertyComponent) value); // ConceptSubPropertyComponent 4558 return value; 4559 default: return super.setProperty(hash, name, value); 4560 } 4561 4562 } 4563 4564 @Override 4565 public Base setProperty(String name, Base value) throws FHIRException { 4566 if (name.equals("code")) { 4567 this.code = TypeConvertor.castToCode(value); // CodeType 4568 } else if (name.equals("value[x]")) { 4569 this.value = TypeConvertor.castToType(value); // DataType 4570 } else if (name.equals("subProperty")) { 4571 this.getSubProperty().add((ConceptSubPropertyComponent) value); 4572 } else 4573 return super.setProperty(name, value); 4574 return value; 4575 } 4576 4577 @Override 4578 public Base makeProperty(int hash, String name) throws FHIRException { 4579 switch (hash) { 4580 case 3059181: return getCodeElement(); 4581 case -1410166417: return getValue(); 4582 case 111972721: return getValue(); 4583 case 321372213: return addSubProperty(); 4584 default: return super.makeProperty(hash, name); 4585 } 4586 4587 } 4588 4589 @Override 4590 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 4591 switch (hash) { 4592 case 3059181: /*code*/ return new String[] {"code"}; 4593 case 111972721: /*value*/ return new String[] {"code", "Coding", "string", "integer", "boolean", "dateTime", "decimal"}; 4594 case 321372213: /*subProperty*/ return new String[] {}; 4595 default: return super.getTypesForProperty(hash, name); 4596 } 4597 4598 } 4599 4600 @Override 4601 public Base addChild(String name) throws FHIRException { 4602 if (name.equals("code")) { 4603 throw new FHIRException("Cannot call addChild on a singleton property ValueSet.expansion.contains.property.code"); 4604 } 4605 else if (name.equals("valueCode")) { 4606 this.value = new CodeType(); 4607 return this.value; 4608 } 4609 else if (name.equals("valueCoding")) { 4610 this.value = new Coding(); 4611 return this.value; 4612 } 4613 else if (name.equals("valueString")) { 4614 this.value = new StringType(); 4615 return this.value; 4616 } 4617 else if (name.equals("valueInteger")) { 4618 this.value = new IntegerType(); 4619 return this.value; 4620 } 4621 else if (name.equals("valueBoolean")) { 4622 this.value = new BooleanType(); 4623 return this.value; 4624 } 4625 else if (name.equals("valueDateTime")) { 4626 this.value = new DateTimeType(); 4627 return this.value; 4628 } 4629 else if (name.equals("valueDecimal")) { 4630 this.value = new DecimalType(); 4631 return this.value; 4632 } 4633 else if (name.equals("subProperty")) { 4634 return addSubProperty(); 4635 } 4636 else 4637 return super.addChild(name); 4638 } 4639 4640 public ConceptPropertyComponent copy() { 4641 ConceptPropertyComponent dst = new ConceptPropertyComponent(); 4642 copyValues(dst); 4643 return dst; 4644 } 4645 4646 public void copyValues(ConceptPropertyComponent dst) { 4647 super.copyValues(dst); 4648 dst.code = code == null ? null : code.copy(); 4649 dst.value = value == null ? null : value.copy(); 4650 if (subProperty != null) { 4651 dst.subProperty = new ArrayList<ConceptSubPropertyComponent>(); 4652 for (ConceptSubPropertyComponent i : subProperty) 4653 dst.subProperty.add(i.copy()); 4654 }; 4655 } 4656 4657 @Override 4658 public boolean equalsDeep(Base other_) { 4659 if (!super.equalsDeep(other_)) 4660 return false; 4661 if (!(other_ instanceof ConceptPropertyComponent)) 4662 return false; 4663 ConceptPropertyComponent o = (ConceptPropertyComponent) other_; 4664 return compareDeep(code, o.code, true) && compareDeep(value, o.value, true) && compareDeep(subProperty, o.subProperty, true) 4665 ; 4666 } 4667 4668 @Override 4669 public boolean equalsShallow(Base other_) { 4670 if (!super.equalsShallow(other_)) 4671 return false; 4672 if (!(other_ instanceof ConceptPropertyComponent)) 4673 return false; 4674 ConceptPropertyComponent o = (ConceptPropertyComponent) other_; 4675 return compareValues(code, o.code, true); 4676 } 4677 4678 public boolean isEmpty() { 4679 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(code, value, subProperty 4680 ); 4681 } 4682 4683 public String fhirType() { 4684 return "ValueSet.expansion.contains.property"; 4685 4686 } 4687 4688 } 4689 4690 @Block() 4691 public static class ConceptSubPropertyComponent extends BackboneElement implements IBaseBackboneElement { 4692 /** 4693 * A code that is a reference to ValueSet.expansion.property.code. 4694 */ 4695 @Child(name = "code", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=false) 4696 @Description(shortDefinition="Reference to ValueSet.expansion.property.code", formalDefinition="A code that is a reference to ValueSet.expansion.property.code." ) 4697 protected CodeType code; 4698 4699 /** 4700 * The value of this subproperty. 4701 */ 4702 @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) 4703 @Description(shortDefinition="Value of the subproperty for this concept", formalDefinition="The value of this subproperty." ) 4704 protected DataType value; 4705 4706 private static final long serialVersionUID = -422546419L; 4707 4708 /** 4709 * Constructor 4710 */ 4711 public ConceptSubPropertyComponent() { 4712 super(); 4713 } 4714 4715 /** 4716 * Constructor 4717 */ 4718 public ConceptSubPropertyComponent(String code, DataType value) { 4719 super(); 4720 this.setCode(code); 4721 this.setValue(value); 4722 } 4723 4724 /** 4725 * @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 4726 */ 4727 public CodeType getCodeElement() { 4728 if (this.code == null) 4729 if (Configuration.errorOnAutoCreate()) 4730 throw new Error("Attempt to auto-create ConceptSubPropertyComponent.code"); 4731 else if (Configuration.doAutoCreate()) 4732 this.code = new CodeType(); // bb 4733 return this.code; 4734 } 4735 4736 public boolean hasCodeElement() { 4737 return this.code != null && !this.code.isEmpty(); 4738 } 4739 4740 public boolean hasCode() { 4741 return this.code != null && !this.code.isEmpty(); 4742 } 4743 4744 /** 4745 * @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 4746 */ 4747 public ConceptSubPropertyComponent setCodeElement(CodeType value) { 4748 this.code = value; 4749 return this; 4750 } 4751 4752 /** 4753 * @return A code that is a reference to ValueSet.expansion.property.code. 4754 */ 4755 public String getCode() { 4756 return this.code == null ? null : this.code.getValue(); 4757 } 4758 4759 /** 4760 * @param value A code that is a reference to ValueSet.expansion.property.code. 4761 */ 4762 public ConceptSubPropertyComponent setCode(String value) { 4763 if (this.code == null) 4764 this.code = new CodeType(); 4765 this.code.setValue(value); 4766 return this; 4767 } 4768 4769 /** 4770 * @return {@link #value} (The value of this subproperty.) 4771 */ 4772 public DataType getValue() { 4773 return this.value; 4774 } 4775 4776 /** 4777 * @return {@link #value} (The value of this subproperty.) 4778 */ 4779 public CodeType getValueCodeType() throws FHIRException { 4780 if (this.value == null) 4781 this.value = new CodeType(); 4782 if (!(this.value instanceof CodeType)) 4783 throw new FHIRException("Type mismatch: the type CodeType was expected, but "+this.value.getClass().getName()+" was encountered"); 4784 return (CodeType) this.value; 4785 } 4786 4787 public boolean hasValueCodeType() { 4788 return this != null && this.value instanceof CodeType; 4789 } 4790 4791 /** 4792 * @return {@link #value} (The value of this subproperty.) 4793 */ 4794 public Coding getValueCoding() throws FHIRException { 4795 if (this.value == null) 4796 this.value = new Coding(); 4797 if (!(this.value instanceof Coding)) 4798 throw new FHIRException("Type mismatch: the type Coding was expected, but "+this.value.getClass().getName()+" was encountered"); 4799 return (Coding) this.value; 4800 } 4801 4802 public boolean hasValueCoding() { 4803 return this != null && this.value instanceof Coding; 4804 } 4805 4806 /** 4807 * @return {@link #value} (The value of this subproperty.) 4808 */ 4809 public StringType getValueStringType() throws FHIRException { 4810 if (this.value == null) 4811 this.value = new StringType(); 4812 if (!(this.value instanceof StringType)) 4813 throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.value.getClass().getName()+" was encountered"); 4814 return (StringType) this.value; 4815 } 4816 4817 public boolean hasValueStringType() { 4818 return this != null && this.value instanceof StringType; 4819 } 4820 4821 /** 4822 * @return {@link #value} (The value of this subproperty.) 4823 */ 4824 public IntegerType getValueIntegerType() throws FHIRException { 4825 if (this.value == null) 4826 this.value = new IntegerType(); 4827 if (!(this.value instanceof IntegerType)) 4828 throw new FHIRException("Type mismatch: the type IntegerType was expected, but "+this.value.getClass().getName()+" was encountered"); 4829 return (IntegerType) this.value; 4830 } 4831 4832 public boolean hasValueIntegerType() { 4833 return this != null && this.value instanceof IntegerType; 4834 } 4835 4836 /** 4837 * @return {@link #value} (The value of this subproperty.) 4838 */ 4839 public BooleanType getValueBooleanType() throws FHIRException { 4840 if (this.value == null) 4841 this.value = new BooleanType(); 4842 if (!(this.value instanceof BooleanType)) 4843 throw new FHIRException("Type mismatch: the type BooleanType was expected, but "+this.value.getClass().getName()+" was encountered"); 4844 return (BooleanType) this.value; 4845 } 4846 4847 public boolean hasValueBooleanType() { 4848 return this != null && this.value instanceof BooleanType; 4849 } 4850 4851 /** 4852 * @return {@link #value} (The value of this subproperty.) 4853 */ 4854 public DateTimeType getValueDateTimeType() throws FHIRException { 4855 if (this.value == null) 4856 this.value = new DateTimeType(); 4857 if (!(this.value instanceof DateTimeType)) 4858 throw new FHIRException("Type mismatch: the type DateTimeType was expected, but "+this.value.getClass().getName()+" was encountered"); 4859 return (DateTimeType) this.value; 4860 } 4861 4862 public boolean hasValueDateTimeType() { 4863 return this != null && this.value instanceof DateTimeType; 4864 } 4865 4866 /** 4867 * @return {@link #value} (The value of this subproperty.) 4868 */ 4869 public DecimalType getValueDecimalType() throws FHIRException { 4870 if (this.value == null) 4871 this.value = new DecimalType(); 4872 if (!(this.value instanceof DecimalType)) 4873 throw new FHIRException("Type mismatch: the type DecimalType was expected, but "+this.value.getClass().getName()+" was encountered"); 4874 return (DecimalType) this.value; 4875 } 4876 4877 public boolean hasValueDecimalType() { 4878 return this != null && this.value instanceof DecimalType; 4879 } 4880 4881 public boolean hasValue() { 4882 return this.value != null && !this.value.isEmpty(); 4883 } 4884 4885 /** 4886 * @param value {@link #value} (The value of this subproperty.) 4887 */ 4888 public ConceptSubPropertyComponent setValue(DataType value) { 4889 if (value != null && !(value instanceof CodeType || value instanceof Coding || value instanceof StringType || value instanceof IntegerType || value instanceof BooleanType || value instanceof DateTimeType || value instanceof DecimalType)) 4890 throw new FHIRException("Not the right type for ValueSet.expansion.contains.property.subProperty.value[x]: "+value.fhirType()); 4891 this.value = value; 4892 return this; 4893 } 4894 4895 protected void listChildren(List<Property> children) { 4896 super.listChildren(children); 4897 children.add(new Property("code", "code", "A code that is a reference to ValueSet.expansion.property.code.", 0, 1, code)); 4898 children.add(new Property("value[x]", "code|Coding|string|integer|boolean|dateTime|decimal", "The value of this subproperty.", 0, 1, value)); 4899 } 4900 4901 @Override 4902 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 4903 switch (_hash) { 4904 case 3059181: /*code*/ return new Property("code", "code", "A code that is a reference to ValueSet.expansion.property.code.", 0, 1, code); 4905 case -1410166417: /*value[x]*/ return new Property("value[x]", "code|Coding|string|integer|boolean|dateTime|decimal", "The value of this subproperty.", 0, 1, value); 4906 case 111972721: /*value*/ return new Property("value[x]", "code|Coding|string|integer|boolean|dateTime|decimal", "The value of this subproperty.", 0, 1, value); 4907 case -766209282: /*valueCode*/ return new Property("value[x]", "code", "The value of this subproperty.", 0, 1, value); 4908 case -1887705029: /*valueCoding*/ return new Property("value[x]", "Coding", "The value of this subproperty.", 0, 1, value); 4909 case -1424603934: /*valueString*/ return new Property("value[x]", "string", "The value of this subproperty.", 0, 1, value); 4910 case -1668204915: /*valueInteger*/ return new Property("value[x]", "integer", "The value of this subproperty.", 0, 1, value); 4911 case 733421943: /*valueBoolean*/ return new Property("value[x]", "boolean", "The value of this subproperty.", 0, 1, value); 4912 case 1047929900: /*valueDateTime*/ return new Property("value[x]", "dateTime", "The value of this subproperty.", 0, 1, value); 4913 case -2083993440: /*valueDecimal*/ return new Property("value[x]", "decimal", "The value of this subproperty.", 0, 1, value); 4914 default: return super.getNamedProperty(_hash, _name, _checkValid); 4915 } 4916 4917 } 4918 4919 @Override 4920 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 4921 switch (hash) { 4922 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeType 4923 case 111972721: /*value*/ return this.value == null ? new Base[0] : new Base[] {this.value}; // DataType 4924 default: return super.getProperty(hash, name, checkValid); 4925 } 4926 4927 } 4928 4929 @Override 4930 public Base setProperty(int hash, String name, Base value) throws FHIRException { 4931 switch (hash) { 4932 case 3059181: // code 4933 this.code = TypeConvertor.castToCode(value); // CodeType 4934 return value; 4935 case 111972721: // value 4936 this.value = TypeConvertor.castToType(value); // DataType 4937 return value; 4938 default: return super.setProperty(hash, name, value); 4939 } 4940 4941 } 4942 4943 @Override 4944 public Base setProperty(String name, Base value) throws FHIRException { 4945 if (name.equals("code")) { 4946 this.code = TypeConvertor.castToCode(value); // CodeType 4947 } else if (name.equals("value[x]")) { 4948 this.value = TypeConvertor.castToType(value); // DataType 4949 } else 4950 return super.setProperty(name, value); 4951 return value; 4952 } 4953 4954 @Override 4955 public Base makeProperty(int hash, String name) throws FHIRException { 4956 switch (hash) { 4957 case 3059181: return getCodeElement(); 4958 case -1410166417: return getValue(); 4959 case 111972721: return getValue(); 4960 default: return super.makeProperty(hash, name); 4961 } 4962 4963 } 4964 4965 @Override 4966 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 4967 switch (hash) { 4968 case 3059181: /*code*/ return new String[] {"code"}; 4969 case 111972721: /*value*/ return new String[] {"code", "Coding", "string", "integer", "boolean", "dateTime", "decimal"}; 4970 default: return super.getTypesForProperty(hash, name); 4971 } 4972 4973 } 4974 4975 @Override 4976 public Base addChild(String name) throws FHIRException { 4977 if (name.equals("code")) { 4978 throw new FHIRException("Cannot call addChild on a singleton property ValueSet.expansion.contains.property.subProperty.code"); 4979 } 4980 else if (name.equals("valueCode")) { 4981 this.value = new CodeType(); 4982 return this.value; 4983 } 4984 else if (name.equals("valueCoding")) { 4985 this.value = new Coding(); 4986 return this.value; 4987 } 4988 else if (name.equals("valueString")) { 4989 this.value = new StringType(); 4990 return this.value; 4991 } 4992 else if (name.equals("valueInteger")) { 4993 this.value = new IntegerType(); 4994 return this.value; 4995 } 4996 else if (name.equals("valueBoolean")) { 4997 this.value = new BooleanType(); 4998 return this.value; 4999 } 5000 else if (name.equals("valueDateTime")) { 5001 this.value = new DateTimeType(); 5002 return this.value; 5003 } 5004 else if (name.equals("valueDecimal")) { 5005 this.value = new DecimalType(); 5006 return this.value; 5007 } 5008 else 5009 return super.addChild(name); 5010 } 5011 5012 public ConceptSubPropertyComponent copy() { 5013 ConceptSubPropertyComponent dst = new ConceptSubPropertyComponent(); 5014 copyValues(dst); 5015 return dst; 5016 } 5017 5018 public void copyValues(ConceptSubPropertyComponent dst) { 5019 super.copyValues(dst); 5020 dst.code = code == null ? null : code.copy(); 5021 dst.value = value == null ? null : value.copy(); 5022 } 5023 5024 @Override 5025 public boolean equalsDeep(Base other_) { 5026 if (!super.equalsDeep(other_)) 5027 return false; 5028 if (!(other_ instanceof ConceptSubPropertyComponent)) 5029 return false; 5030 ConceptSubPropertyComponent o = (ConceptSubPropertyComponent) other_; 5031 return compareDeep(code, o.code, true) && compareDeep(value, o.value, true); 5032 } 5033 5034 @Override 5035 public boolean equalsShallow(Base other_) { 5036 if (!super.equalsShallow(other_)) 5037 return false; 5038 if (!(other_ instanceof ConceptSubPropertyComponent)) 5039 return false; 5040 ConceptSubPropertyComponent o = (ConceptSubPropertyComponent) other_; 5041 return compareValues(code, o.code, true); 5042 } 5043 5044 public boolean isEmpty() { 5045 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(code, value); 5046 } 5047 5048 public String fhirType() { 5049 return "ValueSet.expansion.contains.property.subProperty"; 5050 5051 } 5052 5053 } 5054 5055 @Block() 5056 public static class ValueSetScopeComponent extends BackboneElement implements IBaseBackboneElement { 5057 /** 5058 * Criteria describing which concepts or codes should be included and why. 5059 */ 5060 @Child(name = "inclusionCriteria", type = {StringType.class}, order=1, min=0, max=1, modifier=false, summary=false) 5061 @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." ) 5062 protected StringType inclusionCriteria; 5063 5064 /** 5065 * Criteria describing which concepts or codes should be excluded and why. 5066 */ 5067 @Child(name = "exclusionCriteria", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=false) 5068 @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." ) 5069 protected StringType exclusionCriteria; 5070 5071 private static final long serialVersionUID = -641434610L; 5072 5073 /** 5074 * Constructor 5075 */ 5076 public ValueSetScopeComponent() { 5077 super(); 5078 } 5079 5080 /** 5081 * @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 5082 */ 5083 public StringType getInclusionCriteriaElement() { 5084 if (this.inclusionCriteria == null) 5085 if (Configuration.errorOnAutoCreate()) 5086 throw new Error("Attempt to auto-create ValueSetScopeComponent.inclusionCriteria"); 5087 else if (Configuration.doAutoCreate()) 5088 this.inclusionCriteria = new StringType(); // bb 5089 return this.inclusionCriteria; 5090 } 5091 5092 public boolean hasInclusionCriteriaElement() { 5093 return this.inclusionCriteria != null && !this.inclusionCriteria.isEmpty(); 5094 } 5095 5096 public boolean hasInclusionCriteria() { 5097 return this.inclusionCriteria != null && !this.inclusionCriteria.isEmpty(); 5098 } 5099 5100 /** 5101 * @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 5102 */ 5103 public ValueSetScopeComponent setInclusionCriteriaElement(StringType value) { 5104 this.inclusionCriteria = value; 5105 return this; 5106 } 5107 5108 /** 5109 * @return Criteria describing which concepts or codes should be included and why. 5110 */ 5111 public String getInclusionCriteria() { 5112 return this.inclusionCriteria == null ? null : this.inclusionCriteria.getValue(); 5113 } 5114 5115 /** 5116 * @param value Criteria describing which concepts or codes should be included and why. 5117 */ 5118 public ValueSetScopeComponent setInclusionCriteria(String value) { 5119 if (Utilities.noString(value)) 5120 this.inclusionCriteria = null; 5121 else { 5122 if (this.inclusionCriteria == null) 5123 this.inclusionCriteria = new StringType(); 5124 this.inclusionCriteria.setValue(value); 5125 } 5126 return this; 5127 } 5128 5129 /** 5130 * @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 5131 */ 5132 public StringType getExclusionCriteriaElement() { 5133 if (this.exclusionCriteria == null) 5134 if (Configuration.errorOnAutoCreate()) 5135 throw new Error("Attempt to auto-create ValueSetScopeComponent.exclusionCriteria"); 5136 else if (Configuration.doAutoCreate()) 5137 this.exclusionCriteria = new StringType(); // bb 5138 return this.exclusionCriteria; 5139 } 5140 5141 public boolean hasExclusionCriteriaElement() { 5142 return this.exclusionCriteria != null && !this.exclusionCriteria.isEmpty(); 5143 } 5144 5145 public boolean hasExclusionCriteria() { 5146 return this.exclusionCriteria != null && !this.exclusionCriteria.isEmpty(); 5147 } 5148 5149 /** 5150 * @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 5151 */ 5152 public ValueSetScopeComponent setExclusionCriteriaElement(StringType value) { 5153 this.exclusionCriteria = value; 5154 return this; 5155 } 5156 5157 /** 5158 * @return Criteria describing which concepts or codes should be excluded and why. 5159 */ 5160 public String getExclusionCriteria() { 5161 return this.exclusionCriteria == null ? null : this.exclusionCriteria.getValue(); 5162 } 5163 5164 /** 5165 * @param value Criteria describing which concepts or codes should be excluded and why. 5166 */ 5167 public ValueSetScopeComponent setExclusionCriteria(String value) { 5168 if (Utilities.noString(value)) 5169 this.exclusionCriteria = null; 5170 else { 5171 if (this.exclusionCriteria == null) 5172 this.exclusionCriteria = new StringType(); 5173 this.exclusionCriteria.setValue(value); 5174 } 5175 return this; 5176 } 5177 5178 protected void listChildren(List<Property> children) { 5179 super.listChildren(children); 5180 children.add(new Property("inclusionCriteria", "string", "Criteria describing which concepts or codes should be included and why.", 0, 1, inclusionCriteria)); 5181 children.add(new Property("exclusionCriteria", "string", "Criteria describing which concepts or codes should be excluded and why.", 0, 1, exclusionCriteria)); 5182 } 5183 5184 @Override 5185 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 5186 switch (_hash) { 5187 case -1380638565: /*inclusionCriteria*/ return new Property("inclusionCriteria", "string", "Criteria describing which concepts or codes should be included and why.", 0, 1, inclusionCriteria); 5188 case 985682765: /*exclusionCriteria*/ return new Property("exclusionCriteria", "string", "Criteria describing which concepts or codes should be excluded and why.", 0, 1, exclusionCriteria); 5189 default: return super.getNamedProperty(_hash, _name, _checkValid); 5190 } 5191 5192 } 5193 5194 @Override 5195 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 5196 switch (hash) { 5197 case -1380638565: /*inclusionCriteria*/ return this.inclusionCriteria == null ? new Base[0] : new Base[] {this.inclusionCriteria}; // StringType 5198 case 985682765: /*exclusionCriteria*/ return this.exclusionCriteria == null ? new Base[0] : new Base[] {this.exclusionCriteria}; // StringType 5199 default: return super.getProperty(hash, name, checkValid); 5200 } 5201 5202 } 5203 5204 @Override 5205 public Base setProperty(int hash, String name, Base value) throws FHIRException { 5206 switch (hash) { 5207 case -1380638565: // inclusionCriteria 5208 this.inclusionCriteria = TypeConvertor.castToString(value); // StringType 5209 return value; 5210 case 985682765: // exclusionCriteria 5211 this.exclusionCriteria = TypeConvertor.castToString(value); // StringType 5212 return value; 5213 default: return super.setProperty(hash, name, value); 5214 } 5215 5216 } 5217 5218 @Override 5219 public Base setProperty(String name, Base value) throws FHIRException { 5220 if (name.equals("inclusionCriteria")) { 5221 this.inclusionCriteria = TypeConvertor.castToString(value); // StringType 5222 } else if (name.equals("exclusionCriteria")) { 5223 this.exclusionCriteria = TypeConvertor.castToString(value); // StringType 5224 } else 5225 return super.setProperty(name, value); 5226 return value; 5227 } 5228 5229 @Override 5230 public Base makeProperty(int hash, String name) throws FHIRException { 5231 switch (hash) { 5232 case -1380638565: return getInclusionCriteriaElement(); 5233 case 985682765: return getExclusionCriteriaElement(); 5234 default: return super.makeProperty(hash, name); 5235 } 5236 5237 } 5238 5239 @Override 5240 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 5241 switch (hash) { 5242 case -1380638565: /*inclusionCriteria*/ return new String[] {"string"}; 5243 case 985682765: /*exclusionCriteria*/ return new String[] {"string"}; 5244 default: return super.getTypesForProperty(hash, name); 5245 } 5246 5247 } 5248 5249 @Override 5250 public Base addChild(String name) throws FHIRException { 5251 if (name.equals("inclusionCriteria")) { 5252 throw new FHIRException("Cannot call addChild on a singleton property ValueSet.scope.inclusionCriteria"); 5253 } 5254 else if (name.equals("exclusionCriteria")) { 5255 throw new FHIRException("Cannot call addChild on a singleton property ValueSet.scope.exclusionCriteria"); 5256 } 5257 else 5258 return super.addChild(name); 5259 } 5260 5261 public ValueSetScopeComponent copy() { 5262 ValueSetScopeComponent dst = new ValueSetScopeComponent(); 5263 copyValues(dst); 5264 return dst; 5265 } 5266 5267 public void copyValues(ValueSetScopeComponent dst) { 5268 super.copyValues(dst); 5269 dst.inclusionCriteria = inclusionCriteria == null ? null : inclusionCriteria.copy(); 5270 dst.exclusionCriteria = exclusionCriteria == null ? null : exclusionCriteria.copy(); 5271 } 5272 5273 @Override 5274 public boolean equalsDeep(Base other_) { 5275 if (!super.equalsDeep(other_)) 5276 return false; 5277 if (!(other_ instanceof ValueSetScopeComponent)) 5278 return false; 5279 ValueSetScopeComponent o = (ValueSetScopeComponent) other_; 5280 return compareDeep(inclusionCriteria, o.inclusionCriteria, true) && compareDeep(exclusionCriteria, o.exclusionCriteria, true) 5281 ; 5282 } 5283 5284 @Override 5285 public boolean equalsShallow(Base other_) { 5286 if (!super.equalsShallow(other_)) 5287 return false; 5288 if (!(other_ instanceof ValueSetScopeComponent)) 5289 return false; 5290 ValueSetScopeComponent o = (ValueSetScopeComponent) other_; 5291 return compareValues(inclusionCriteria, o.inclusionCriteria, true) && compareValues(exclusionCriteria, o.exclusionCriteria, true) 5292 ; 5293 } 5294 5295 public boolean isEmpty() { 5296 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(inclusionCriteria, exclusionCriteria 5297 ); 5298 } 5299 5300 public String fhirType() { 5301 return "ValueSet.scope"; 5302 5303 } 5304 5305 } 5306 5307 /** 5308 * 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. 5309 */ 5310 @Child(name = "url", type = {UriType.class}, order=0, min=0, max=1, modifier=false, summary=true) 5311 @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." ) 5312 protected UriType url; 5313 5314 /** 5315 * 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. 5316 */ 5317 @Child(name = "identifier", type = {Identifier.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 5318 @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." ) 5319 protected List<Identifier> identifier; 5320 5321 /** 5322 * 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. 5323 */ 5324 @Child(name = "version", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=true) 5325 @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." ) 5326 protected StringType version; 5327 5328 /** 5329 * Indicates the mechanism used to compare versions to determine which ValueSet is more current. 5330 */ 5331 @Child(name = "versionAlgorithm", type = {StringType.class, Coding.class}, order=3, min=0, max=1, modifier=false, summary=true) 5332 @Description(shortDefinition="How to compare versions", formalDefinition="Indicates the mechanism used to compare versions to determine which ValueSet is more current." ) 5333 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/version-algorithm") 5334 protected DataType versionAlgorithm; 5335 5336 /** 5337 * 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. 5338 */ 5339 @Child(name = "name", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=true) 5340 @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." ) 5341 protected StringType name; 5342 5343 /** 5344 * A short, descriptive, user-friendly title for the value set. 5345 */ 5346 @Child(name = "title", type = {StringType.class}, order=5, min=0, max=1, modifier=false, summary=true) 5347 @Description(shortDefinition="Name for this value set (human friendly)", formalDefinition="A short, descriptive, user-friendly title for the value set." ) 5348 protected StringType title; 5349 5350 /** 5351 * 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. 5352 */ 5353 @Child(name = "status", type = {CodeType.class}, order=6, min=1, max=1, modifier=true, summary=true) 5354 @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." ) 5355 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/publication-status") 5356 protected Enumeration<PublicationStatus> status; 5357 5358 /** 5359 * 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. 5360 */ 5361 @Child(name = "experimental", type = {BooleanType.class}, order=7, min=0, max=1, modifier=false, summary=true) 5362 @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." ) 5363 protected BooleanType experimental; 5364 5365 /** 5366 * The date (and optionally time) when the value set metadata or content logical definition (.compose) was created or revised. 5367 */ 5368 @Child(name = "date", type = {DateTimeType.class}, order=8, min=0, max=1, modifier=false, summary=true) 5369 @Description(shortDefinition="Date last changed", formalDefinition="The date (and optionally time) when the value set metadata or content logical definition (.compose) was created or revised." ) 5370 protected DateTimeType date; 5371 5372 /** 5373 * The name of the organization or individual responsible for the release and ongoing maintenance of the value set. 5374 */ 5375 @Child(name = "publisher", type = {StringType.class}, order=9, min=0, max=1, modifier=false, summary=true) 5376 @Description(shortDefinition="Name of the publisher/steward (organization or individual)", formalDefinition="The name of the organization or individual responsible for the release and ongoing maintenance of the value set." ) 5377 protected StringType publisher; 5378 5379 /** 5380 * Contact details to assist a user in finding and communicating with the publisher. 5381 */ 5382 @Child(name = "contact", type = {ContactDetail.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 5383 @Description(shortDefinition="Contact details for the publisher", formalDefinition="Contact details to assist a user in finding and communicating with the publisher." ) 5384 protected List<ContactDetail> contact; 5385 5386 /** 5387 * 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. 5388 */ 5389 @Child(name = "description", type = {MarkdownType.class}, order=11, min=0, max=1, modifier=false, summary=false) 5390 @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." ) 5391 protected MarkdownType description; 5392 5393 /** 5394 * 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. 5395 */ 5396 @Child(name = "useContext", type = {UsageContext.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 5397 @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." ) 5398 protected List<UsageContext> useContext; 5399 5400 /** 5401 * A legal or geographic region in which the value set is intended to be used. 5402 */ 5403 @Child(name = "jurisdiction", type = {CodeableConcept.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 5404 @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." ) 5405 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/jurisdiction") 5406 protected List<CodeableConcept> jurisdiction; 5407 5408 /** 5409 * If this is set to 'true', then no new versions of the content logical definition can be created. Note: Other metadata might still change. 5410 */ 5411 @Child(name = "immutable", type = {BooleanType.class}, order=14, min=0, max=1, modifier=false, summary=true) 5412 @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." ) 5413 protected BooleanType immutable; 5414 5415 /** 5416 * Explanation of why this value set is needed and why it has been designed as it has. 5417 */ 5418 @Child(name = "purpose", type = {MarkdownType.class}, order=15, min=0, max=1, modifier=false, summary=false) 5419 @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." ) 5420 protected MarkdownType purpose; 5421 5422 /** 5423 * 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. 5424 */ 5425 @Child(name = "copyright", type = {MarkdownType.class}, order=16, min=0, max=1, modifier=false, summary=false) 5426 @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." ) 5427 protected MarkdownType copyright; 5428 5429 /** 5430 * A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). 5431 */ 5432 @Child(name = "copyrightLabel", type = {StringType.class}, order=17, min=0, max=1, modifier=false, summary=false) 5433 @Description(shortDefinition="Copyright holder and year(s)", formalDefinition="A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved')." ) 5434 protected StringType copyrightLabel; 5435 5436 /** 5437 * The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage. 5438 */ 5439 @Child(name = "approvalDate", type = {DateType.class}, order=18, min=0, max=1, modifier=false, summary=false) 5440 @Description(shortDefinition="When the ValueSet was approved by publisher", formalDefinition="The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage." ) 5441 protected DateType approvalDate; 5442 5443 /** 5444 * The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date. 5445 */ 5446 @Child(name = "lastReviewDate", type = {DateType.class}, order=19, min=0, max=1, modifier=false, summary=false) 5447 @Description(shortDefinition="When the ValueSet was last reviewed by the publisher", formalDefinition="The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date." ) 5448 protected DateType lastReviewDate; 5449 5450 /** 5451 * The period during which the ValueSet content was or is planned to be in active use. 5452 */ 5453 @Child(name = "effectivePeriod", type = {Period.class}, order=20, min=0, max=1, modifier=false, summary=true) 5454 @Description(shortDefinition="When the ValueSet is expected to be used", formalDefinition="The period during which the ValueSet content was or is planned to be in active use." ) 5455 protected Period effectivePeriod; 5456 5457 /** 5458 * Descriptions related to the content of the ValueSet. Topics provide a high-level categorization as well as keywords for the ValueSet that can be useful for filtering and searching. 5459 */ 5460 @Child(name = "topic", type = {CodeableConcept.class}, order=21, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 5461 @Description(shortDefinition="E.g. Education, Treatment, Assessment, etc", formalDefinition="Descriptions related to the content of the ValueSet. Topics provide a high-level categorization as well as keywords for the ValueSet that can be useful for filtering and searching." ) 5462 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/definition-topic") 5463 protected List<CodeableConcept> topic; 5464 5465 /** 5466 * An individiual or organization primarily involved in the creation and maintenance of the ValueSet. 5467 */ 5468 @Child(name = "author", type = {ContactDetail.class}, order=22, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 5469 @Description(shortDefinition="Who authored the ValueSet", formalDefinition="An individiual or organization primarily involved in the creation and maintenance of the ValueSet." ) 5470 protected List<ContactDetail> author; 5471 5472 /** 5473 * An individual or organization primarily responsible for internal coherence of the ValueSet. 5474 */ 5475 @Child(name = "editor", type = {ContactDetail.class}, order=23, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 5476 @Description(shortDefinition="Who edited the ValueSet", formalDefinition="An individual or organization primarily responsible for internal coherence of the ValueSet." ) 5477 protected List<ContactDetail> editor; 5478 5479 /** 5480 * An individual or organization asserted by the publisher to be primarily responsible for review of some aspect of the ValueSet. 5481 */ 5482 @Child(name = "reviewer", type = {ContactDetail.class}, order=24, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 5483 @Description(shortDefinition="Who reviewed the ValueSet", formalDefinition="An individual or organization asserted by the publisher to be primarily responsible for review of some aspect of the ValueSet." ) 5484 protected List<ContactDetail> reviewer; 5485 5486 /** 5487 * An individual or organization asserted by the publisher to be responsible for officially endorsing the ValueSet for use in some setting. 5488 */ 5489 @Child(name = "endorser", type = {ContactDetail.class}, order=25, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 5490 @Description(shortDefinition="Who endorsed the ValueSet", formalDefinition="An individual or organization asserted by the publisher to be responsible for officially endorsing the ValueSet for use in some setting." ) 5491 protected List<ContactDetail> endorser; 5492 5493 /** 5494 * Related artifacts such as additional documentation, justification, dependencies, bibliographic references, and predecessor and successor artifacts. 5495 */ 5496 @Child(name = "relatedArtifact", type = {RelatedArtifact.class}, order=26, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 5497 @Description(shortDefinition="Additional documentation, citations, etc", formalDefinition="Related artifacts such as additional documentation, justification, dependencies, bibliographic references, and predecessor and successor artifacts." ) 5498 protected List<RelatedArtifact> relatedArtifact; 5499 5500 /** 5501 * 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). 5502 */ 5503 @Child(name = "compose", type = {}, order=27, min=0, max=1, modifier=false, summary=false) 5504 @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)." ) 5505 protected ValueSetComposeComponent compose; 5506 5507 /** 5508 * 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. 5509 */ 5510 @Child(name = "expansion", type = {}, order=28, min=0, max=1, modifier=false, summary=false) 5511 @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." ) 5512 protected ValueSetExpansionComponent expansion; 5513 5514 /** 5515 * Description of the semantic space the Value Set Expansion is intended to cover and should further clarify the text in ValueSet.description. 5516 */ 5517 @Child(name = "scope", type = {}, order=29, min=0, max=1, modifier=false, summary=false) 5518 @Description(shortDefinition="Description of the semantic space the Value Set Expansion is intended to cover and should further clarify the text in ValueSet.description", formalDefinition="Description of the semantic space the Value Set Expansion is intended to cover and should further clarify the text in ValueSet.description." ) 5519 protected ValueSetScopeComponent scope; 5520 5521 private static final long serialVersionUID = -1050676231L; 5522 5523 /** 5524 * Constructor 5525 */ 5526 public ValueSet() { 5527 super(); 5528 } 5529 5530 /** 5531 * Constructor 5532 */ 5533 public ValueSet(PublicationStatus status) { 5534 super(); 5535 this.setStatus(status); 5536 } 5537 5538 /** 5539 * @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 5540 */ 5541 public UriType getUrlElement() { 5542 if (this.url == null) 5543 if (Configuration.errorOnAutoCreate()) 5544 throw new Error("Attempt to auto-create ValueSet.url"); 5545 else if (Configuration.doAutoCreate()) 5546 this.url = new UriType(); // bb 5547 return this.url; 5548 } 5549 5550 public boolean hasUrlElement() { 5551 return this.url != null && !this.url.isEmpty(); 5552 } 5553 5554 public boolean hasUrl() { 5555 return this.url != null && !this.url.isEmpty(); 5556 } 5557 5558 /** 5559 * @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 5560 */ 5561 public ValueSet setUrlElement(UriType value) { 5562 this.url = value; 5563 return this; 5564 } 5565 5566 /** 5567 * @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. 5568 */ 5569 public String getUrl() { 5570 return this.url == null ? null : this.url.getValue(); 5571 } 5572 5573 /** 5574 * @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. 5575 */ 5576 public ValueSet setUrl(String value) { 5577 if (Utilities.noString(value)) 5578 this.url = null; 5579 else { 5580 if (this.url == null) 5581 this.url = new UriType(); 5582 this.url.setValue(value); 5583 } 5584 return this; 5585 } 5586 5587 /** 5588 * @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.) 5589 */ 5590 public List<Identifier> getIdentifier() { 5591 if (this.identifier == null) 5592 this.identifier = new ArrayList<Identifier>(); 5593 return this.identifier; 5594 } 5595 5596 /** 5597 * @return Returns a reference to <code>this</code> for easy method chaining 5598 */ 5599 public ValueSet setIdentifier(List<Identifier> theIdentifier) { 5600 this.identifier = theIdentifier; 5601 return this; 5602 } 5603 5604 public boolean hasIdentifier() { 5605 if (this.identifier == null) 5606 return false; 5607 for (Identifier item : this.identifier) 5608 if (!item.isEmpty()) 5609 return true; 5610 return false; 5611 } 5612 5613 public Identifier addIdentifier() { //3 5614 Identifier t = new Identifier(); 5615 if (this.identifier == null) 5616 this.identifier = new ArrayList<Identifier>(); 5617 this.identifier.add(t); 5618 return t; 5619 } 5620 5621 public ValueSet addIdentifier(Identifier t) { //3 5622 if (t == null) 5623 return this; 5624 if (this.identifier == null) 5625 this.identifier = new ArrayList<Identifier>(); 5626 this.identifier.add(t); 5627 return this; 5628 } 5629 5630 /** 5631 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} 5632 */ 5633 public Identifier getIdentifierFirstRep() { 5634 if (getIdentifier().isEmpty()) { 5635 addIdentifier(); 5636 } 5637 return getIdentifier().get(0); 5638 } 5639 5640 /** 5641 * @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 5642 */ 5643 public StringType getVersionElement() { 5644 if (this.version == null) 5645 if (Configuration.errorOnAutoCreate()) 5646 throw new Error("Attempt to auto-create ValueSet.version"); 5647 else if (Configuration.doAutoCreate()) 5648 this.version = new StringType(); // bb 5649 return this.version; 5650 } 5651 5652 public boolean hasVersionElement() { 5653 return this.version != null && !this.version.isEmpty(); 5654 } 5655 5656 public boolean hasVersion() { 5657 return this.version != null && !this.version.isEmpty(); 5658 } 5659 5660 /** 5661 * @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 5662 */ 5663 public ValueSet setVersionElement(StringType value) { 5664 this.version = value; 5665 return this; 5666 } 5667 5668 /** 5669 * @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. 5670 */ 5671 public String getVersion() { 5672 return this.version == null ? null : this.version.getValue(); 5673 } 5674 5675 /** 5676 * @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. 5677 */ 5678 public ValueSet setVersion(String value) { 5679 if (Utilities.noString(value)) 5680 this.version = null; 5681 else { 5682 if (this.version == null) 5683 this.version = new StringType(); 5684 this.version.setValue(value); 5685 } 5686 return this; 5687 } 5688 5689 /** 5690 * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which ValueSet is more current.) 5691 */ 5692 public DataType getVersionAlgorithm() { 5693 return this.versionAlgorithm; 5694 } 5695 5696 /** 5697 * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which ValueSet is more current.) 5698 */ 5699 public StringType getVersionAlgorithmStringType() throws FHIRException { 5700 if (this.versionAlgorithm == null) 5701 this.versionAlgorithm = new StringType(); 5702 if (!(this.versionAlgorithm instanceof StringType)) 5703 throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.versionAlgorithm.getClass().getName()+" was encountered"); 5704 return (StringType) this.versionAlgorithm; 5705 } 5706 5707 public boolean hasVersionAlgorithmStringType() { 5708 return this != null && this.versionAlgorithm instanceof StringType; 5709 } 5710 5711 /** 5712 * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which ValueSet is more current.) 5713 */ 5714 public Coding getVersionAlgorithmCoding() throws FHIRException { 5715 if (this.versionAlgorithm == null) 5716 this.versionAlgorithm = new Coding(); 5717 if (!(this.versionAlgorithm instanceof Coding)) 5718 throw new FHIRException("Type mismatch: the type Coding was expected, but "+this.versionAlgorithm.getClass().getName()+" was encountered"); 5719 return (Coding) this.versionAlgorithm; 5720 } 5721 5722 public boolean hasVersionAlgorithmCoding() { 5723 return this != null && this.versionAlgorithm instanceof Coding; 5724 } 5725 5726 public boolean hasVersionAlgorithm() { 5727 return this.versionAlgorithm != null && !this.versionAlgorithm.isEmpty(); 5728 } 5729 5730 /** 5731 * @param value {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which ValueSet is more current.) 5732 */ 5733 public ValueSet setVersionAlgorithm(DataType value) { 5734 if (value != null && !(value instanceof StringType || value instanceof Coding)) 5735 throw new FHIRException("Not the right type for ValueSet.versionAlgorithm[x]: "+value.fhirType()); 5736 this.versionAlgorithm = value; 5737 return this; 5738 } 5739 5740 /** 5741 * @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 5742 */ 5743 public StringType getNameElement() { 5744 if (this.name == null) 5745 if (Configuration.errorOnAutoCreate()) 5746 throw new Error("Attempt to auto-create ValueSet.name"); 5747 else if (Configuration.doAutoCreate()) 5748 this.name = new StringType(); // bb 5749 return this.name; 5750 } 5751 5752 public boolean hasNameElement() { 5753 return this.name != null && !this.name.isEmpty(); 5754 } 5755 5756 public boolean hasName() { 5757 return this.name != null && !this.name.isEmpty(); 5758 } 5759 5760 /** 5761 * @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 5762 */ 5763 public ValueSet setNameElement(StringType value) { 5764 this.name = value; 5765 return this; 5766 } 5767 5768 /** 5769 * @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. 5770 */ 5771 public String getName() { 5772 return this.name == null ? null : this.name.getValue(); 5773 } 5774 5775 /** 5776 * @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. 5777 */ 5778 public ValueSet setName(String value) { 5779 if (Utilities.noString(value)) 5780 this.name = null; 5781 else { 5782 if (this.name == null) 5783 this.name = new StringType(); 5784 this.name.setValue(value); 5785 } 5786 return this; 5787 } 5788 5789 /** 5790 * @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 5791 */ 5792 public StringType getTitleElement() { 5793 if (this.title == null) 5794 if (Configuration.errorOnAutoCreate()) 5795 throw new Error("Attempt to auto-create ValueSet.title"); 5796 else if (Configuration.doAutoCreate()) 5797 this.title = new StringType(); // bb 5798 return this.title; 5799 } 5800 5801 public boolean hasTitleElement() { 5802 return this.title != null && !this.title.isEmpty(); 5803 } 5804 5805 public boolean hasTitle() { 5806 return this.title != null && !this.title.isEmpty(); 5807 } 5808 5809 /** 5810 * @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 5811 */ 5812 public ValueSet setTitleElement(StringType value) { 5813 this.title = value; 5814 return this; 5815 } 5816 5817 /** 5818 * @return A short, descriptive, user-friendly title for the value set. 5819 */ 5820 public String getTitle() { 5821 return this.title == null ? null : this.title.getValue(); 5822 } 5823 5824 /** 5825 * @param value A short, descriptive, user-friendly title for the value set. 5826 */ 5827 public ValueSet setTitle(String value) { 5828 if (Utilities.noString(value)) 5829 this.title = null; 5830 else { 5831 if (this.title == null) 5832 this.title = new StringType(); 5833 this.title.setValue(value); 5834 } 5835 return this; 5836 } 5837 5838 /** 5839 * @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 5840 */ 5841 public Enumeration<PublicationStatus> getStatusElement() { 5842 if (this.status == null) 5843 if (Configuration.errorOnAutoCreate()) 5844 throw new Error("Attempt to auto-create ValueSet.status"); 5845 else if (Configuration.doAutoCreate()) 5846 this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); // bb 5847 return this.status; 5848 } 5849 5850 public boolean hasStatusElement() { 5851 return this.status != null && !this.status.isEmpty(); 5852 } 5853 5854 public boolean hasStatus() { 5855 return this.status != null && !this.status.isEmpty(); 5856 } 5857 5858 /** 5859 * @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 5860 */ 5861 public ValueSet setStatusElement(Enumeration<PublicationStatus> value) { 5862 this.status = value; 5863 return this; 5864 } 5865 5866 /** 5867 * @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. 5868 */ 5869 public PublicationStatus getStatus() { 5870 return this.status == null ? null : this.status.getValue(); 5871 } 5872 5873 /** 5874 * @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. 5875 */ 5876 public ValueSet setStatus(PublicationStatus value) { 5877 if (this.status == null) 5878 this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); 5879 this.status.setValue(value); 5880 return this; 5881 } 5882 5883 /** 5884 * @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 5885 */ 5886 public BooleanType getExperimentalElement() { 5887 if (this.experimental == null) 5888 if (Configuration.errorOnAutoCreate()) 5889 throw new Error("Attempt to auto-create ValueSet.experimental"); 5890 else if (Configuration.doAutoCreate()) 5891 this.experimental = new BooleanType(); // bb 5892 return this.experimental; 5893 } 5894 5895 public boolean hasExperimentalElement() { 5896 return this.experimental != null && !this.experimental.isEmpty(); 5897 } 5898 5899 public boolean hasExperimental() { 5900 return this.experimental != null && !this.experimental.isEmpty(); 5901 } 5902 5903 /** 5904 * @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 5905 */ 5906 public ValueSet setExperimentalElement(BooleanType value) { 5907 this.experimental = value; 5908 return this; 5909 } 5910 5911 /** 5912 * @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. 5913 */ 5914 public boolean getExperimental() { 5915 return this.experimental == null || this.experimental.isEmpty() ? false : this.experimental.getValue(); 5916 } 5917 5918 /** 5919 * @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. 5920 */ 5921 public ValueSet setExperimental(boolean value) { 5922 if (this.experimental == null) 5923 this.experimental = new BooleanType(); 5924 this.experimental.setValue(value); 5925 return this; 5926 } 5927 5928 /** 5929 * @return {@link #date} (The date (and optionally time) when the value set metadata or content logical definition (.compose) was created or revised.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 5930 */ 5931 public DateTimeType getDateElement() { 5932 if (this.date == null) 5933 if (Configuration.errorOnAutoCreate()) 5934 throw new Error("Attempt to auto-create ValueSet.date"); 5935 else if (Configuration.doAutoCreate()) 5936 this.date = new DateTimeType(); // bb 5937 return this.date; 5938 } 5939 5940 public boolean hasDateElement() { 5941 return this.date != null && !this.date.isEmpty(); 5942 } 5943 5944 public boolean hasDate() { 5945 return this.date != null && !this.date.isEmpty(); 5946 } 5947 5948 /** 5949 * @param value {@link #date} (The date (and optionally time) when the value set metadata or content logical definition (.compose) was created or revised.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 5950 */ 5951 public ValueSet setDateElement(DateTimeType value) { 5952 this.date = value; 5953 return this; 5954 } 5955 5956 /** 5957 * @return The date (and optionally time) when the value set metadata or content logical definition (.compose) was created or revised. 5958 */ 5959 public Date getDate() { 5960 return this.date == null ? null : this.date.getValue(); 5961 } 5962 5963 /** 5964 * @param value The date (and optionally time) when the value set metadata or content logical definition (.compose) was created or revised. 5965 */ 5966 public ValueSet setDate(Date value) { 5967 if (value == null) 5968 this.date = null; 5969 else { 5970 if (this.date == null) 5971 this.date = new DateTimeType(); 5972 this.date.setValue(value); 5973 } 5974 return this; 5975 } 5976 5977 /** 5978 * @return {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the value set.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value 5979 */ 5980 public StringType getPublisherElement() { 5981 if (this.publisher == null) 5982 if (Configuration.errorOnAutoCreate()) 5983 throw new Error("Attempt to auto-create ValueSet.publisher"); 5984 else if (Configuration.doAutoCreate()) 5985 this.publisher = new StringType(); // bb 5986 return this.publisher; 5987 } 5988 5989 public boolean hasPublisherElement() { 5990 return this.publisher != null && !this.publisher.isEmpty(); 5991 } 5992 5993 public boolean hasPublisher() { 5994 return this.publisher != null && !this.publisher.isEmpty(); 5995 } 5996 5997 /** 5998 * @param value {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the value set.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value 5999 */ 6000 public ValueSet setPublisherElement(StringType value) { 6001 this.publisher = value; 6002 return this; 6003 } 6004 6005 /** 6006 * @return The name of the organization or individual responsible for the release and ongoing maintenance of the value set. 6007 */ 6008 public String getPublisher() { 6009 return this.publisher == null ? null : this.publisher.getValue(); 6010 } 6011 6012 /** 6013 * @param value The name of the organization or individual responsible for the release and ongoing maintenance of the value set. 6014 */ 6015 public ValueSet setPublisher(String value) { 6016 if (Utilities.noString(value)) 6017 this.publisher = null; 6018 else { 6019 if (this.publisher == null) 6020 this.publisher = new StringType(); 6021 this.publisher.setValue(value); 6022 } 6023 return this; 6024 } 6025 6026 /** 6027 * @return {@link #contact} (Contact details to assist a user in finding and communicating with the publisher.) 6028 */ 6029 public List<ContactDetail> getContact() { 6030 if (this.contact == null) 6031 this.contact = new ArrayList<ContactDetail>(); 6032 return this.contact; 6033 } 6034 6035 /** 6036 * @return Returns a reference to <code>this</code> for easy method chaining 6037 */ 6038 public ValueSet setContact(List<ContactDetail> theContact) { 6039 this.contact = theContact; 6040 return this; 6041 } 6042 6043 public boolean hasContact() { 6044 if (this.contact == null) 6045 return false; 6046 for (ContactDetail item : this.contact) 6047 if (!item.isEmpty()) 6048 return true; 6049 return false; 6050 } 6051 6052 public ContactDetail addContact() { //3 6053 ContactDetail t = new ContactDetail(); 6054 if (this.contact == null) 6055 this.contact = new ArrayList<ContactDetail>(); 6056 this.contact.add(t); 6057 return t; 6058 } 6059 6060 public ValueSet addContact(ContactDetail t) { //3 6061 if (t == null) 6062 return this; 6063 if (this.contact == null) 6064 this.contact = new ArrayList<ContactDetail>(); 6065 this.contact.add(t); 6066 return this; 6067 } 6068 6069 /** 6070 * @return The first repetition of repeating field {@link #contact}, creating it if it does not already exist {3} 6071 */ 6072 public ContactDetail getContactFirstRep() { 6073 if (getContact().isEmpty()) { 6074 addContact(); 6075 } 6076 return getContact().get(0); 6077 } 6078 6079 /** 6080 * @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 6081 */ 6082 public MarkdownType getDescriptionElement() { 6083 if (this.description == null) 6084 if (Configuration.errorOnAutoCreate()) 6085 throw new Error("Attempt to auto-create ValueSet.description"); 6086 else if (Configuration.doAutoCreate()) 6087 this.description = new MarkdownType(); // bb 6088 return this.description; 6089 } 6090 6091 public boolean hasDescriptionElement() { 6092 return this.description != null && !this.description.isEmpty(); 6093 } 6094 6095 public boolean hasDescription() { 6096 return this.description != null && !this.description.isEmpty(); 6097 } 6098 6099 /** 6100 * @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 6101 */ 6102 public ValueSet setDescriptionElement(MarkdownType value) { 6103 this.description = value; 6104 return this; 6105 } 6106 6107 /** 6108 * @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. 6109 */ 6110 public String getDescription() { 6111 return this.description == null ? null : this.description.getValue(); 6112 } 6113 6114 /** 6115 * @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. 6116 */ 6117 public ValueSet setDescription(String value) { 6118 if (Utilities.noString(value)) 6119 this.description = null; 6120 else { 6121 if (this.description == null) 6122 this.description = new MarkdownType(); 6123 this.description.setValue(value); 6124 } 6125 return this; 6126 } 6127 6128 /** 6129 * @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.) 6130 */ 6131 public List<UsageContext> getUseContext() { 6132 if (this.useContext == null) 6133 this.useContext = new ArrayList<UsageContext>(); 6134 return this.useContext; 6135 } 6136 6137 /** 6138 * @return Returns a reference to <code>this</code> for easy method chaining 6139 */ 6140 public ValueSet setUseContext(List<UsageContext> theUseContext) { 6141 this.useContext = theUseContext; 6142 return this; 6143 } 6144 6145 public boolean hasUseContext() { 6146 if (this.useContext == null) 6147 return false; 6148 for (UsageContext item : this.useContext) 6149 if (!item.isEmpty()) 6150 return true; 6151 return false; 6152 } 6153 6154 public UsageContext addUseContext() { //3 6155 UsageContext t = new UsageContext(); 6156 if (this.useContext == null) 6157 this.useContext = new ArrayList<UsageContext>(); 6158 this.useContext.add(t); 6159 return t; 6160 } 6161 6162 public ValueSet addUseContext(UsageContext t) { //3 6163 if (t == null) 6164 return this; 6165 if (this.useContext == null) 6166 this.useContext = new ArrayList<UsageContext>(); 6167 this.useContext.add(t); 6168 return this; 6169 } 6170 6171 /** 6172 * @return The first repetition of repeating field {@link #useContext}, creating it if it does not already exist {3} 6173 */ 6174 public UsageContext getUseContextFirstRep() { 6175 if (getUseContext().isEmpty()) { 6176 addUseContext(); 6177 } 6178 return getUseContext().get(0); 6179 } 6180 6181 /** 6182 * @return {@link #jurisdiction} (A legal or geographic region in which the value set is intended to be used.) 6183 */ 6184 public List<CodeableConcept> getJurisdiction() { 6185 if (this.jurisdiction == null) 6186 this.jurisdiction = new ArrayList<CodeableConcept>(); 6187 return this.jurisdiction; 6188 } 6189 6190 /** 6191 * @return Returns a reference to <code>this</code> for easy method chaining 6192 */ 6193 public ValueSet setJurisdiction(List<CodeableConcept> theJurisdiction) { 6194 this.jurisdiction = theJurisdiction; 6195 return this; 6196 } 6197 6198 public boolean hasJurisdiction() { 6199 if (this.jurisdiction == null) 6200 return false; 6201 for (CodeableConcept item : this.jurisdiction) 6202 if (!item.isEmpty()) 6203 return true; 6204 return false; 6205 } 6206 6207 public CodeableConcept addJurisdiction() { //3 6208 CodeableConcept t = new CodeableConcept(); 6209 if (this.jurisdiction == null) 6210 this.jurisdiction = new ArrayList<CodeableConcept>(); 6211 this.jurisdiction.add(t); 6212 return t; 6213 } 6214 6215 public ValueSet addJurisdiction(CodeableConcept t) { //3 6216 if (t == null) 6217 return this; 6218 if (this.jurisdiction == null) 6219 this.jurisdiction = new ArrayList<CodeableConcept>(); 6220 this.jurisdiction.add(t); 6221 return this; 6222 } 6223 6224 /** 6225 * @return The first repetition of repeating field {@link #jurisdiction}, creating it if it does not already exist {3} 6226 */ 6227 public CodeableConcept getJurisdictionFirstRep() { 6228 if (getJurisdiction().isEmpty()) { 6229 addJurisdiction(); 6230 } 6231 return getJurisdiction().get(0); 6232 } 6233 6234 /** 6235 * @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 6236 */ 6237 public BooleanType getImmutableElement() { 6238 if (this.immutable == null) 6239 if (Configuration.errorOnAutoCreate()) 6240 throw new Error("Attempt to auto-create ValueSet.immutable"); 6241 else if (Configuration.doAutoCreate()) 6242 this.immutable = new BooleanType(); // bb 6243 return this.immutable; 6244 } 6245 6246 public boolean hasImmutableElement() { 6247 return this.immutable != null && !this.immutable.isEmpty(); 6248 } 6249 6250 public boolean hasImmutable() { 6251 return this.immutable != null && !this.immutable.isEmpty(); 6252 } 6253 6254 /** 6255 * @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 6256 */ 6257 public ValueSet setImmutableElement(BooleanType value) { 6258 this.immutable = value; 6259 return this; 6260 } 6261 6262 /** 6263 * @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. 6264 */ 6265 public boolean getImmutable() { 6266 return this.immutable == null || this.immutable.isEmpty() ? false : this.immutable.getValue(); 6267 } 6268 6269 /** 6270 * @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. 6271 */ 6272 public ValueSet setImmutable(boolean value) { 6273 if (this.immutable == null) 6274 this.immutable = new BooleanType(); 6275 this.immutable.setValue(value); 6276 return this; 6277 } 6278 6279 /** 6280 * @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 6281 */ 6282 public MarkdownType getPurposeElement() { 6283 if (this.purpose == null) 6284 if (Configuration.errorOnAutoCreate()) 6285 throw new Error("Attempt to auto-create ValueSet.purpose"); 6286 else if (Configuration.doAutoCreate()) 6287 this.purpose = new MarkdownType(); // bb 6288 return this.purpose; 6289 } 6290 6291 public boolean hasPurposeElement() { 6292 return this.purpose != null && !this.purpose.isEmpty(); 6293 } 6294 6295 public boolean hasPurpose() { 6296 return this.purpose != null && !this.purpose.isEmpty(); 6297 } 6298 6299 /** 6300 * @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 6301 */ 6302 public ValueSet setPurposeElement(MarkdownType value) { 6303 this.purpose = value; 6304 return this; 6305 } 6306 6307 /** 6308 * @return Explanation of why this value set is needed and why it has been designed as it has. 6309 */ 6310 public String getPurpose() { 6311 return this.purpose == null ? null : this.purpose.getValue(); 6312 } 6313 6314 /** 6315 * @param value Explanation of why this value set is needed and why it has been designed as it has. 6316 */ 6317 public ValueSet setPurpose(String value) { 6318 if (Utilities.noString(value)) 6319 this.purpose = null; 6320 else { 6321 if (this.purpose == null) 6322 this.purpose = new MarkdownType(); 6323 this.purpose.setValue(value); 6324 } 6325 return this; 6326 } 6327 6328 /** 6329 * @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 6330 */ 6331 public MarkdownType getCopyrightElement() { 6332 if (this.copyright == null) 6333 if (Configuration.errorOnAutoCreate()) 6334 throw new Error("Attempt to auto-create ValueSet.copyright"); 6335 else if (Configuration.doAutoCreate()) 6336 this.copyright = new MarkdownType(); // bb 6337 return this.copyright; 6338 } 6339 6340 public boolean hasCopyrightElement() { 6341 return this.copyright != null && !this.copyright.isEmpty(); 6342 } 6343 6344 public boolean hasCopyright() { 6345 return this.copyright != null && !this.copyright.isEmpty(); 6346 } 6347 6348 /** 6349 * @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 6350 */ 6351 public ValueSet setCopyrightElement(MarkdownType value) { 6352 this.copyright = value; 6353 return this; 6354 } 6355 6356 /** 6357 * @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. 6358 */ 6359 public String getCopyright() { 6360 return this.copyright == null ? null : this.copyright.getValue(); 6361 } 6362 6363 /** 6364 * @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. 6365 */ 6366 public ValueSet setCopyright(String value) { 6367 if (Utilities.noString(value)) 6368 this.copyright = null; 6369 else { 6370 if (this.copyright == null) 6371 this.copyright = new MarkdownType(); 6372 this.copyright.setValue(value); 6373 } 6374 return this; 6375 } 6376 6377 /** 6378 * @return {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value 6379 */ 6380 public StringType getCopyrightLabelElement() { 6381 if (this.copyrightLabel == null) 6382 if (Configuration.errorOnAutoCreate()) 6383 throw new Error("Attempt to auto-create ValueSet.copyrightLabel"); 6384 else if (Configuration.doAutoCreate()) 6385 this.copyrightLabel = new StringType(); // bb 6386 return this.copyrightLabel; 6387 } 6388 6389 public boolean hasCopyrightLabelElement() { 6390 return this.copyrightLabel != null && !this.copyrightLabel.isEmpty(); 6391 } 6392 6393 public boolean hasCopyrightLabel() { 6394 return this.copyrightLabel != null && !this.copyrightLabel.isEmpty(); 6395 } 6396 6397 /** 6398 * @param value {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value 6399 */ 6400 public ValueSet setCopyrightLabelElement(StringType value) { 6401 this.copyrightLabel = value; 6402 return this; 6403 } 6404 6405 /** 6406 * @return A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). 6407 */ 6408 public String getCopyrightLabel() { 6409 return this.copyrightLabel == null ? null : this.copyrightLabel.getValue(); 6410 } 6411 6412 /** 6413 * @param value A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). 6414 */ 6415 public ValueSet setCopyrightLabel(String value) { 6416 if (Utilities.noString(value)) 6417 this.copyrightLabel = null; 6418 else { 6419 if (this.copyrightLabel == null) 6420 this.copyrightLabel = new StringType(); 6421 this.copyrightLabel.setValue(value); 6422 } 6423 return this; 6424 } 6425 6426 /** 6427 * @return {@link #approvalDate} (The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.). This is the underlying object with id, value and extensions. The accessor "getApprovalDate" gives direct access to the value 6428 */ 6429 public DateType getApprovalDateElement() { 6430 if (this.approvalDate == null) 6431 if (Configuration.errorOnAutoCreate()) 6432 throw new Error("Attempt to auto-create ValueSet.approvalDate"); 6433 else if (Configuration.doAutoCreate()) 6434 this.approvalDate = new DateType(); // bb 6435 return this.approvalDate; 6436 } 6437 6438 public boolean hasApprovalDateElement() { 6439 return this.approvalDate != null && !this.approvalDate.isEmpty(); 6440 } 6441 6442 public boolean hasApprovalDate() { 6443 return this.approvalDate != null && !this.approvalDate.isEmpty(); 6444 } 6445 6446 /** 6447 * @param value {@link #approvalDate} (The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.). This is the underlying object with id, value and extensions. The accessor "getApprovalDate" gives direct access to the value 6448 */ 6449 public ValueSet setApprovalDateElement(DateType value) { 6450 this.approvalDate = value; 6451 return this; 6452 } 6453 6454 /** 6455 * @return The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage. 6456 */ 6457 public Date getApprovalDate() { 6458 return this.approvalDate == null ? null : this.approvalDate.getValue(); 6459 } 6460 6461 /** 6462 * @param value The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage. 6463 */ 6464 public ValueSet setApprovalDate(Date value) { 6465 if (value == null) 6466 this.approvalDate = null; 6467 else { 6468 if (this.approvalDate == null) 6469 this.approvalDate = new DateType(); 6470 this.approvalDate.setValue(value); 6471 } 6472 return this; 6473 } 6474 6475 /** 6476 * @return {@link #lastReviewDate} (The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.). This is the underlying object with id, value and extensions. The accessor "getLastReviewDate" gives direct access to the value 6477 */ 6478 public DateType getLastReviewDateElement() { 6479 if (this.lastReviewDate == null) 6480 if (Configuration.errorOnAutoCreate()) 6481 throw new Error("Attempt to auto-create ValueSet.lastReviewDate"); 6482 else if (Configuration.doAutoCreate()) 6483 this.lastReviewDate = new DateType(); // bb 6484 return this.lastReviewDate; 6485 } 6486 6487 public boolean hasLastReviewDateElement() { 6488 return this.lastReviewDate != null && !this.lastReviewDate.isEmpty(); 6489 } 6490 6491 public boolean hasLastReviewDate() { 6492 return this.lastReviewDate != null && !this.lastReviewDate.isEmpty(); 6493 } 6494 6495 /** 6496 * @param value {@link #lastReviewDate} (The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.). This is the underlying object with id, value and extensions. The accessor "getLastReviewDate" gives direct access to the value 6497 */ 6498 public ValueSet setLastReviewDateElement(DateType value) { 6499 this.lastReviewDate = value; 6500 return this; 6501 } 6502 6503 /** 6504 * @return The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date. 6505 */ 6506 public Date getLastReviewDate() { 6507 return this.lastReviewDate == null ? null : this.lastReviewDate.getValue(); 6508 } 6509 6510 /** 6511 * @param value The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date. 6512 */ 6513 public ValueSet setLastReviewDate(Date value) { 6514 if (value == null) 6515 this.lastReviewDate = null; 6516 else { 6517 if (this.lastReviewDate == null) 6518 this.lastReviewDate = new DateType(); 6519 this.lastReviewDate.setValue(value); 6520 } 6521 return this; 6522 } 6523 6524 /** 6525 * @return {@link #effectivePeriod} (The period during which the ValueSet content was or is planned to be in active use.) 6526 */ 6527 public Period getEffectivePeriod() { 6528 if (this.effectivePeriod == null) 6529 if (Configuration.errorOnAutoCreate()) 6530 throw new Error("Attempt to auto-create ValueSet.effectivePeriod"); 6531 else if (Configuration.doAutoCreate()) 6532 this.effectivePeriod = new Period(); // cc 6533 return this.effectivePeriod; 6534 } 6535 6536 public boolean hasEffectivePeriod() { 6537 return this.effectivePeriod != null && !this.effectivePeriod.isEmpty(); 6538 } 6539 6540 /** 6541 * @param value {@link #effectivePeriod} (The period during which the ValueSet content was or is planned to be in active use.) 6542 */ 6543 public ValueSet setEffectivePeriod(Period value) { 6544 this.effectivePeriod = value; 6545 return this; 6546 } 6547 6548 /** 6549 * @return {@link #topic} (Descriptions related to the content of the ValueSet. Topics provide a high-level categorization as well as keywords for the ValueSet that can be useful for filtering and searching.) 6550 */ 6551 public List<CodeableConcept> getTopic() { 6552 if (this.topic == null) 6553 this.topic = new ArrayList<CodeableConcept>(); 6554 return this.topic; 6555 } 6556 6557 /** 6558 * @return Returns a reference to <code>this</code> for easy method chaining 6559 */ 6560 public ValueSet setTopic(List<CodeableConcept> theTopic) { 6561 this.topic = theTopic; 6562 return this; 6563 } 6564 6565 public boolean hasTopic() { 6566 if (this.topic == null) 6567 return false; 6568 for (CodeableConcept item : this.topic) 6569 if (!item.isEmpty()) 6570 return true; 6571 return false; 6572 } 6573 6574 public CodeableConcept addTopic() { //3 6575 CodeableConcept t = new CodeableConcept(); 6576 if (this.topic == null) 6577 this.topic = new ArrayList<CodeableConcept>(); 6578 this.topic.add(t); 6579 return t; 6580 } 6581 6582 public ValueSet addTopic(CodeableConcept t) { //3 6583 if (t == null) 6584 return this; 6585 if (this.topic == null) 6586 this.topic = new ArrayList<CodeableConcept>(); 6587 this.topic.add(t); 6588 return this; 6589 } 6590 6591 /** 6592 * @return The first repetition of repeating field {@link #topic}, creating it if it does not already exist {3} 6593 */ 6594 public CodeableConcept getTopicFirstRep() { 6595 if (getTopic().isEmpty()) { 6596 addTopic(); 6597 } 6598 return getTopic().get(0); 6599 } 6600 6601 /** 6602 * @return {@link #author} (An individiual or organization primarily involved in the creation and maintenance of the ValueSet.) 6603 */ 6604 public List<ContactDetail> getAuthor() { 6605 if (this.author == null) 6606 this.author = new ArrayList<ContactDetail>(); 6607 return this.author; 6608 } 6609 6610 /** 6611 * @return Returns a reference to <code>this</code> for easy method chaining 6612 */ 6613 public ValueSet setAuthor(List<ContactDetail> theAuthor) { 6614 this.author = theAuthor; 6615 return this; 6616 } 6617 6618 public boolean hasAuthor() { 6619 if (this.author == null) 6620 return false; 6621 for (ContactDetail item : this.author) 6622 if (!item.isEmpty()) 6623 return true; 6624 return false; 6625 } 6626 6627 public ContactDetail addAuthor() { //3 6628 ContactDetail t = new ContactDetail(); 6629 if (this.author == null) 6630 this.author = new ArrayList<ContactDetail>(); 6631 this.author.add(t); 6632 return t; 6633 } 6634 6635 public ValueSet addAuthor(ContactDetail t) { //3 6636 if (t == null) 6637 return this; 6638 if (this.author == null) 6639 this.author = new ArrayList<ContactDetail>(); 6640 this.author.add(t); 6641 return this; 6642 } 6643 6644 /** 6645 * @return The first repetition of repeating field {@link #author}, creating it if it does not already exist {3} 6646 */ 6647 public ContactDetail getAuthorFirstRep() { 6648 if (getAuthor().isEmpty()) { 6649 addAuthor(); 6650 } 6651 return getAuthor().get(0); 6652 } 6653 6654 /** 6655 * @return {@link #editor} (An individual or organization primarily responsible for internal coherence of the ValueSet.) 6656 */ 6657 public List<ContactDetail> getEditor() { 6658 if (this.editor == null) 6659 this.editor = new ArrayList<ContactDetail>(); 6660 return this.editor; 6661 } 6662 6663 /** 6664 * @return Returns a reference to <code>this</code> for easy method chaining 6665 */ 6666 public ValueSet setEditor(List<ContactDetail> theEditor) { 6667 this.editor = theEditor; 6668 return this; 6669 } 6670 6671 public boolean hasEditor() { 6672 if (this.editor == null) 6673 return false; 6674 for (ContactDetail item : this.editor) 6675 if (!item.isEmpty()) 6676 return true; 6677 return false; 6678 } 6679 6680 public ContactDetail addEditor() { //3 6681 ContactDetail t = new ContactDetail(); 6682 if (this.editor == null) 6683 this.editor = new ArrayList<ContactDetail>(); 6684 this.editor.add(t); 6685 return t; 6686 } 6687 6688 public ValueSet addEditor(ContactDetail t) { //3 6689 if (t == null) 6690 return this; 6691 if (this.editor == null) 6692 this.editor = new ArrayList<ContactDetail>(); 6693 this.editor.add(t); 6694 return this; 6695 } 6696 6697 /** 6698 * @return The first repetition of repeating field {@link #editor}, creating it if it does not already exist {3} 6699 */ 6700 public ContactDetail getEditorFirstRep() { 6701 if (getEditor().isEmpty()) { 6702 addEditor(); 6703 } 6704 return getEditor().get(0); 6705 } 6706 6707 /** 6708 * @return {@link #reviewer} (An individual or organization asserted by the publisher to be primarily responsible for review of some aspect of the ValueSet.) 6709 */ 6710 public List<ContactDetail> getReviewer() { 6711 if (this.reviewer == null) 6712 this.reviewer = new ArrayList<ContactDetail>(); 6713 return this.reviewer; 6714 } 6715 6716 /** 6717 * @return Returns a reference to <code>this</code> for easy method chaining 6718 */ 6719 public ValueSet setReviewer(List<ContactDetail> theReviewer) { 6720 this.reviewer = theReviewer; 6721 return this; 6722 } 6723 6724 public boolean hasReviewer() { 6725 if (this.reviewer == null) 6726 return false; 6727 for (ContactDetail item : this.reviewer) 6728 if (!item.isEmpty()) 6729 return true; 6730 return false; 6731 } 6732 6733 public ContactDetail addReviewer() { //3 6734 ContactDetail t = new ContactDetail(); 6735 if (this.reviewer == null) 6736 this.reviewer = new ArrayList<ContactDetail>(); 6737 this.reviewer.add(t); 6738 return t; 6739 } 6740 6741 public ValueSet addReviewer(ContactDetail t) { //3 6742 if (t == null) 6743 return this; 6744 if (this.reviewer == null) 6745 this.reviewer = new ArrayList<ContactDetail>(); 6746 this.reviewer.add(t); 6747 return this; 6748 } 6749 6750 /** 6751 * @return The first repetition of repeating field {@link #reviewer}, creating it if it does not already exist {3} 6752 */ 6753 public ContactDetail getReviewerFirstRep() { 6754 if (getReviewer().isEmpty()) { 6755 addReviewer(); 6756 } 6757 return getReviewer().get(0); 6758 } 6759 6760 /** 6761 * @return {@link #endorser} (An individual or organization asserted by the publisher to be responsible for officially endorsing the ValueSet for use in some setting.) 6762 */ 6763 public List<ContactDetail> getEndorser() { 6764 if (this.endorser == null) 6765 this.endorser = new ArrayList<ContactDetail>(); 6766 return this.endorser; 6767 } 6768 6769 /** 6770 * @return Returns a reference to <code>this</code> for easy method chaining 6771 */ 6772 public ValueSet setEndorser(List<ContactDetail> theEndorser) { 6773 this.endorser = theEndorser; 6774 return this; 6775 } 6776 6777 public boolean hasEndorser() { 6778 if (this.endorser == null) 6779 return false; 6780 for (ContactDetail item : this.endorser) 6781 if (!item.isEmpty()) 6782 return true; 6783 return false; 6784 } 6785 6786 public ContactDetail addEndorser() { //3 6787 ContactDetail t = new ContactDetail(); 6788 if (this.endorser == null) 6789 this.endorser = new ArrayList<ContactDetail>(); 6790 this.endorser.add(t); 6791 return t; 6792 } 6793 6794 public ValueSet addEndorser(ContactDetail t) { //3 6795 if (t == null) 6796 return this; 6797 if (this.endorser == null) 6798 this.endorser = new ArrayList<ContactDetail>(); 6799 this.endorser.add(t); 6800 return this; 6801 } 6802 6803 /** 6804 * @return The first repetition of repeating field {@link #endorser}, creating it if it does not already exist {3} 6805 */ 6806 public ContactDetail getEndorserFirstRep() { 6807 if (getEndorser().isEmpty()) { 6808 addEndorser(); 6809 } 6810 return getEndorser().get(0); 6811 } 6812 6813 /** 6814 * @return {@link #relatedArtifact} (Related artifacts such as additional documentation, justification, dependencies, bibliographic references, and predecessor and successor artifacts.) 6815 */ 6816 public List<RelatedArtifact> getRelatedArtifact() { 6817 if (this.relatedArtifact == null) 6818 this.relatedArtifact = new ArrayList<RelatedArtifact>(); 6819 return this.relatedArtifact; 6820 } 6821 6822 /** 6823 * @return Returns a reference to <code>this</code> for easy method chaining 6824 */ 6825 public ValueSet setRelatedArtifact(List<RelatedArtifact> theRelatedArtifact) { 6826 this.relatedArtifact = theRelatedArtifact; 6827 return this; 6828 } 6829 6830 public boolean hasRelatedArtifact() { 6831 if (this.relatedArtifact == null) 6832 return false; 6833 for (RelatedArtifact item : this.relatedArtifact) 6834 if (!item.isEmpty()) 6835 return true; 6836 return false; 6837 } 6838 6839 public RelatedArtifact addRelatedArtifact() { //3 6840 RelatedArtifact t = new RelatedArtifact(); 6841 if (this.relatedArtifact == null) 6842 this.relatedArtifact = new ArrayList<RelatedArtifact>(); 6843 this.relatedArtifact.add(t); 6844 return t; 6845 } 6846 6847 public ValueSet addRelatedArtifact(RelatedArtifact t) { //3 6848 if (t == null) 6849 return this; 6850 if (this.relatedArtifact == null) 6851 this.relatedArtifact = new ArrayList<RelatedArtifact>(); 6852 this.relatedArtifact.add(t); 6853 return this; 6854 } 6855 6856 /** 6857 * @return The first repetition of repeating field {@link #relatedArtifact}, creating it if it does not already exist {3} 6858 */ 6859 public RelatedArtifact getRelatedArtifactFirstRep() { 6860 if (getRelatedArtifact().isEmpty()) { 6861 addRelatedArtifact(); 6862 } 6863 return getRelatedArtifact().get(0); 6864 } 6865 6866 /** 6867 * @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).) 6868 */ 6869 public ValueSetComposeComponent getCompose() { 6870 if (this.compose == null) 6871 if (Configuration.errorOnAutoCreate()) 6872 throw new Error("Attempt to auto-create ValueSet.compose"); 6873 else if (Configuration.doAutoCreate()) 6874 this.compose = new ValueSetComposeComponent(); // cc 6875 return this.compose; 6876 } 6877 6878 public boolean hasCompose() { 6879 return this.compose != null && !this.compose.isEmpty(); 6880 } 6881 6882 /** 6883 * @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).) 6884 */ 6885 public ValueSet setCompose(ValueSetComposeComponent value) { 6886 this.compose = value; 6887 return this; 6888 } 6889 6890 /** 6891 * @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.) 6892 */ 6893 public ValueSetExpansionComponent getExpansion() { 6894 if (this.expansion == null) 6895 if (Configuration.errorOnAutoCreate()) 6896 throw new Error("Attempt to auto-create ValueSet.expansion"); 6897 else if (Configuration.doAutoCreate()) 6898 this.expansion = new ValueSetExpansionComponent(); // cc 6899 return this.expansion; 6900 } 6901 6902 public boolean hasExpansion() { 6903 return this.expansion != null && !this.expansion.isEmpty(); 6904 } 6905 6906 /** 6907 * @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.) 6908 */ 6909 public ValueSet setExpansion(ValueSetExpansionComponent value) { 6910 this.expansion = value; 6911 return this; 6912 } 6913 6914 /** 6915 * @return {@link #scope} (Description of the semantic space the Value Set Expansion is intended to cover and should further clarify the text in ValueSet.description.) 6916 */ 6917 public ValueSetScopeComponent getScope() { 6918 if (this.scope == null) 6919 if (Configuration.errorOnAutoCreate()) 6920 throw new Error("Attempt to auto-create ValueSet.scope"); 6921 else if (Configuration.doAutoCreate()) 6922 this.scope = new ValueSetScopeComponent(); // cc 6923 return this.scope; 6924 } 6925 6926 public boolean hasScope() { 6927 return this.scope != null && !this.scope.isEmpty(); 6928 } 6929 6930 /** 6931 * @param value {@link #scope} (Description of the semantic space the Value Set Expansion is intended to cover and should further clarify the text in ValueSet.description.) 6932 */ 6933 public ValueSet setScope(ValueSetScopeComponent value) { 6934 this.scope = value; 6935 return this; 6936 } 6937 6938 protected void listChildren(List<Property> children) { 6939 super.listChildren(children); 6940 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)); 6941 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)); 6942 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)); 6943 children.add(new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which ValueSet is more current.", 0, 1, versionAlgorithm)); 6944 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)); 6945 children.add(new Property("title", "string", "A short, descriptive, user-friendly title for the value set.", 0, 1, title)); 6946 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)); 6947 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)); 6948 children.add(new Property("date", "dateTime", "The date (and optionally time) when the value set metadata or content logical definition (.compose) was created or revised.", 0, 1, date)); 6949 children.add(new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the value set.", 0, 1, publisher)); 6950 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)); 6951 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)); 6952 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)); 6953 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)); 6954 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)); 6955 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)); 6956 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)); 6957 children.add(new Property("copyrightLabel", "string", "A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').", 0, 1, copyrightLabel)); 6958 children.add(new Property("approvalDate", "date", "The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.", 0, 1, approvalDate)); 6959 children.add(new Property("lastReviewDate", "date", "The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.", 0, 1, lastReviewDate)); 6960 children.add(new Property("effectivePeriod", "Period", "The period during which the ValueSet content was or is planned to be in active use.", 0, 1, effectivePeriod)); 6961 children.add(new Property("topic", "CodeableConcept", "Descriptions related to the content of the ValueSet. Topics provide a high-level categorization as well as keywords for the ValueSet that can be useful for filtering and searching.", 0, java.lang.Integer.MAX_VALUE, topic)); 6962 children.add(new Property("author", "ContactDetail", "An individiual or organization primarily involved in the creation and maintenance of the ValueSet.", 0, java.lang.Integer.MAX_VALUE, author)); 6963 children.add(new Property("editor", "ContactDetail", "An individual or organization primarily responsible for internal coherence of the ValueSet.", 0, java.lang.Integer.MAX_VALUE, editor)); 6964 children.add(new Property("reviewer", "ContactDetail", "An individual or organization asserted by the publisher to be primarily responsible for review of some aspect of the ValueSet.", 0, java.lang.Integer.MAX_VALUE, reviewer)); 6965 children.add(new Property("endorser", "ContactDetail", "An individual or organization asserted by the publisher to be responsible for officially endorsing the ValueSet for use in some setting.", 0, java.lang.Integer.MAX_VALUE, endorser)); 6966 children.add(new Property("relatedArtifact", "RelatedArtifact", "Related artifacts such as additional documentation, justification, dependencies, bibliographic references, and predecessor and successor artifacts.", 0, java.lang.Integer.MAX_VALUE, relatedArtifact)); 6967 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)); 6968 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)); 6969 children.add(new Property("scope", "", "Description of the semantic space the Value Set Expansion is intended to cover and should further clarify the text in ValueSet.description.", 0, 1, scope)); 6970 } 6971 6972 @Override 6973 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 6974 switch (_hash) { 6975 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); 6976 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); 6977 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); 6978 case -115699031: /*versionAlgorithm[x]*/ return new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which ValueSet is more current.", 0, 1, versionAlgorithm); 6979 case 1508158071: /*versionAlgorithm*/ return new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which ValueSet is more current.", 0, 1, versionAlgorithm); 6980 case 1836908904: /*versionAlgorithmString*/ return new Property("versionAlgorithm[x]", "string", "Indicates the mechanism used to compare versions to determine which ValueSet is more current.", 0, 1, versionAlgorithm); 6981 case 1373807809: /*versionAlgorithmCoding*/ return new Property("versionAlgorithm[x]", "Coding", "Indicates the mechanism used to compare versions to determine which ValueSet is more current.", 0, 1, versionAlgorithm); 6982 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); 6983 case 110371416: /*title*/ return new Property("title", "string", "A short, descriptive, user-friendly title for the value set.", 0, 1, title); 6984 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); 6985 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); 6986 case 3076014: /*date*/ return new Property("date", "dateTime", "The date (and optionally time) when the value set metadata or content logical definition (.compose) was created or revised.", 0, 1, date); 6987 case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the value set.", 0, 1, publisher); 6988 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); 6989 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); 6990 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); 6991 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); 6992 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); 6993 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); 6994 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); 6995 case 765157229: /*copyrightLabel*/ return new Property("copyrightLabel", "string", "A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').", 0, 1, copyrightLabel); 6996 case 223539345: /*approvalDate*/ return new Property("approvalDate", "date", "The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.", 0, 1, approvalDate); 6997 case -1687512484: /*lastReviewDate*/ return new Property("lastReviewDate", "date", "The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.", 0, 1, lastReviewDate); 6998 case -403934648: /*effectivePeriod*/ return new Property("effectivePeriod", "Period", "The period during which the ValueSet content was or is planned to be in active use.", 0, 1, effectivePeriod); 6999 case 110546223: /*topic*/ return new Property("topic", "CodeableConcept", "Descriptions related to the content of the ValueSet. Topics provide a high-level categorization as well as keywords for the ValueSet that can be useful for filtering and searching.", 0, java.lang.Integer.MAX_VALUE, topic); 7000 case -1406328437: /*author*/ return new Property("author", "ContactDetail", "An individiual or organization primarily involved in the creation and maintenance of the ValueSet.", 0, java.lang.Integer.MAX_VALUE, author); 7001 case -1307827859: /*editor*/ return new Property("editor", "ContactDetail", "An individual or organization primarily responsible for internal coherence of the ValueSet.", 0, java.lang.Integer.MAX_VALUE, editor); 7002 case -261190139: /*reviewer*/ return new Property("reviewer", "ContactDetail", "An individual or organization asserted by the publisher to be primarily responsible for review of some aspect of the ValueSet.", 0, java.lang.Integer.MAX_VALUE, reviewer); 7003 case 1740277666: /*endorser*/ return new Property("endorser", "ContactDetail", "An individual or organization asserted by the publisher to be responsible for officially endorsing the ValueSet for use in some setting.", 0, java.lang.Integer.MAX_VALUE, endorser); 7004 case 666807069: /*relatedArtifact*/ return new Property("relatedArtifact", "RelatedArtifact", "Related artifacts such as additional documentation, justification, dependencies, bibliographic references, and predecessor and successor artifacts.", 0, java.lang.Integer.MAX_VALUE, relatedArtifact); 7005 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); 7006 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); 7007 case 109264468: /*scope*/ return new Property("scope", "", "Description of the semantic space the Value Set Expansion is intended to cover and should further clarify the text in ValueSet.description.", 0, 1, scope); 7008 default: return super.getNamedProperty(_hash, _name, _checkValid); 7009 } 7010 7011 } 7012 7013 @Override 7014 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 7015 switch (hash) { 7016 case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType 7017 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 7018 case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType 7019 case 1508158071: /*versionAlgorithm*/ return this.versionAlgorithm == null ? new Base[0] : new Base[] {this.versionAlgorithm}; // DataType 7020 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType 7021 case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType 7022 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<PublicationStatus> 7023 case -404562712: /*experimental*/ return this.experimental == null ? new Base[0] : new Base[] {this.experimental}; // BooleanType 7024 case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType 7025 case 1447404028: /*publisher*/ return this.publisher == null ? new Base[0] : new Base[] {this.publisher}; // StringType 7026 case 951526432: /*contact*/ return this.contact == null ? new Base[0] : this.contact.toArray(new Base[this.contact.size()]); // ContactDetail 7027 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType 7028 case -669707736: /*useContext*/ return this.useContext == null ? new Base[0] : this.useContext.toArray(new Base[this.useContext.size()]); // UsageContext 7029 case -507075711: /*jurisdiction*/ return this.jurisdiction == null ? new Base[0] : this.jurisdiction.toArray(new Base[this.jurisdiction.size()]); // CodeableConcept 7030 case 1596987778: /*immutable*/ return this.immutable == null ? new Base[0] : new Base[] {this.immutable}; // BooleanType 7031 case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : new Base[] {this.purpose}; // MarkdownType 7032 case 1522889671: /*copyright*/ return this.copyright == null ? new Base[0] : new Base[] {this.copyright}; // MarkdownType 7033 case 765157229: /*copyrightLabel*/ return this.copyrightLabel == null ? new Base[0] : new Base[] {this.copyrightLabel}; // StringType 7034 case 223539345: /*approvalDate*/ return this.approvalDate == null ? new Base[0] : new Base[] {this.approvalDate}; // DateType 7035 case -1687512484: /*lastReviewDate*/ return this.lastReviewDate == null ? new Base[0] : new Base[] {this.lastReviewDate}; // DateType 7036 case -403934648: /*effectivePeriod*/ return this.effectivePeriod == null ? new Base[0] : new Base[] {this.effectivePeriod}; // Period 7037 case 110546223: /*topic*/ return this.topic == null ? new Base[0] : this.topic.toArray(new Base[this.topic.size()]); // CodeableConcept 7038 case -1406328437: /*author*/ return this.author == null ? new Base[0] : this.author.toArray(new Base[this.author.size()]); // ContactDetail 7039 case -1307827859: /*editor*/ return this.editor == null ? new Base[0] : this.editor.toArray(new Base[this.editor.size()]); // ContactDetail 7040 case -261190139: /*reviewer*/ return this.reviewer == null ? new Base[0] : this.reviewer.toArray(new Base[this.reviewer.size()]); // ContactDetail 7041 case 1740277666: /*endorser*/ return this.endorser == null ? new Base[0] : this.endorser.toArray(new Base[this.endorser.size()]); // ContactDetail 7042 case 666807069: /*relatedArtifact*/ return this.relatedArtifact == null ? new Base[0] : this.relatedArtifact.toArray(new Base[this.relatedArtifact.size()]); // RelatedArtifact 7043 case 950497682: /*compose*/ return this.compose == null ? new Base[0] : new Base[] {this.compose}; // ValueSetComposeComponent 7044 case 17878207: /*expansion*/ return this.expansion == null ? new Base[0] : new Base[] {this.expansion}; // ValueSetExpansionComponent 7045 case 109264468: /*scope*/ return this.scope == null ? new Base[0] : new Base[] {this.scope}; // ValueSetScopeComponent 7046 default: return super.getProperty(hash, name, checkValid); 7047 } 7048 7049 } 7050 7051 @Override 7052 public Base setProperty(int hash, String name, Base value) throws FHIRException { 7053 switch (hash) { 7054 case 116079: // url 7055 this.url = TypeConvertor.castToUri(value); // UriType 7056 return value; 7057 case -1618432855: // identifier 7058 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier 7059 return value; 7060 case 351608024: // version 7061 this.version = TypeConvertor.castToString(value); // StringType 7062 return value; 7063 case 1508158071: // versionAlgorithm 7064 this.versionAlgorithm = TypeConvertor.castToType(value); // DataType 7065 return value; 7066 case 3373707: // name 7067 this.name = TypeConvertor.castToString(value); // StringType 7068 return value; 7069 case 110371416: // title 7070 this.title = TypeConvertor.castToString(value); // StringType 7071 return value; 7072 case -892481550: // status 7073 value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 7074 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 7075 return value; 7076 case -404562712: // experimental 7077 this.experimental = TypeConvertor.castToBoolean(value); // BooleanType 7078 return value; 7079 case 3076014: // date 7080 this.date = TypeConvertor.castToDateTime(value); // DateTimeType 7081 return value; 7082 case 1447404028: // publisher 7083 this.publisher = TypeConvertor.castToString(value); // StringType 7084 return value; 7085 case 951526432: // contact 7086 this.getContact().add(TypeConvertor.castToContactDetail(value)); // ContactDetail 7087 return value; 7088 case -1724546052: // description 7089 this.description = TypeConvertor.castToMarkdown(value); // MarkdownType 7090 return value; 7091 case -669707736: // useContext 7092 this.getUseContext().add(TypeConvertor.castToUsageContext(value)); // UsageContext 7093 return value; 7094 case -507075711: // jurisdiction 7095 this.getJurisdiction().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 7096 return value; 7097 case 1596987778: // immutable 7098 this.immutable = TypeConvertor.castToBoolean(value); // BooleanType 7099 return value; 7100 case -220463842: // purpose 7101 this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType 7102 return value; 7103 case 1522889671: // copyright 7104 this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType 7105 return value; 7106 case 765157229: // copyrightLabel 7107 this.copyrightLabel = TypeConvertor.castToString(value); // StringType 7108 return value; 7109 case 223539345: // approvalDate 7110 this.approvalDate = TypeConvertor.castToDate(value); // DateType 7111 return value; 7112 case -1687512484: // lastReviewDate 7113 this.lastReviewDate = TypeConvertor.castToDate(value); // DateType 7114 return value; 7115 case -403934648: // effectivePeriod 7116 this.effectivePeriod = TypeConvertor.castToPeriod(value); // Period 7117 return value; 7118 case 110546223: // topic 7119 this.getTopic().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 7120 return value; 7121 case -1406328437: // author 7122 this.getAuthor().add(TypeConvertor.castToContactDetail(value)); // ContactDetail 7123 return value; 7124 case -1307827859: // editor 7125 this.getEditor().add(TypeConvertor.castToContactDetail(value)); // ContactDetail 7126 return value; 7127 case -261190139: // reviewer 7128 this.getReviewer().add(TypeConvertor.castToContactDetail(value)); // ContactDetail 7129 return value; 7130 case 1740277666: // endorser 7131 this.getEndorser().add(TypeConvertor.castToContactDetail(value)); // ContactDetail 7132 return value; 7133 case 666807069: // relatedArtifact 7134 this.getRelatedArtifact().add(TypeConvertor.castToRelatedArtifact(value)); // RelatedArtifact 7135 return value; 7136 case 950497682: // compose 7137 this.compose = (ValueSetComposeComponent) value; // ValueSetComposeComponent 7138 return value; 7139 case 17878207: // expansion 7140 this.expansion = (ValueSetExpansionComponent) value; // ValueSetExpansionComponent 7141 return value; 7142 case 109264468: // scope 7143 this.scope = (ValueSetScopeComponent) value; // ValueSetScopeComponent 7144 return value; 7145 default: return super.setProperty(hash, name, value); 7146 } 7147 7148 } 7149 7150 @Override 7151 public Base setProperty(String name, Base value) throws FHIRException { 7152 if (name.equals("url")) { 7153 this.url = TypeConvertor.castToUri(value); // UriType 7154 } else if (name.equals("identifier")) { 7155 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); 7156 } else if (name.equals("version")) { 7157 this.version = TypeConvertor.castToString(value); // StringType 7158 } else if (name.equals("versionAlgorithm[x]")) { 7159 this.versionAlgorithm = TypeConvertor.castToType(value); // DataType 7160 } else if (name.equals("name")) { 7161 this.name = TypeConvertor.castToString(value); // StringType 7162 } else if (name.equals("title")) { 7163 this.title = TypeConvertor.castToString(value); // StringType 7164 } else if (name.equals("status")) { 7165 value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 7166 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 7167 } else if (name.equals("experimental")) { 7168 this.experimental = TypeConvertor.castToBoolean(value); // BooleanType 7169 } else if (name.equals("date")) { 7170 this.date = TypeConvertor.castToDateTime(value); // DateTimeType 7171 } else if (name.equals("publisher")) { 7172 this.publisher = TypeConvertor.castToString(value); // StringType 7173 } else if (name.equals("contact")) { 7174 this.getContact().add(TypeConvertor.castToContactDetail(value)); 7175 } else if (name.equals("description")) { 7176 this.description = TypeConvertor.castToMarkdown(value); // MarkdownType 7177 } else if (name.equals("useContext")) { 7178 this.getUseContext().add(TypeConvertor.castToUsageContext(value)); 7179 } else if (name.equals("jurisdiction")) { 7180 this.getJurisdiction().add(TypeConvertor.castToCodeableConcept(value)); 7181 } else if (name.equals("immutable")) { 7182 this.immutable = TypeConvertor.castToBoolean(value); // BooleanType 7183 } else if (name.equals("purpose")) { 7184 this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType 7185 } else if (name.equals("copyright")) { 7186 this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType 7187 } else if (name.equals("copyrightLabel")) { 7188 this.copyrightLabel = TypeConvertor.castToString(value); // StringType 7189 } else if (name.equals("approvalDate")) { 7190 this.approvalDate = TypeConvertor.castToDate(value); // DateType 7191 } else if (name.equals("lastReviewDate")) { 7192 this.lastReviewDate = TypeConvertor.castToDate(value); // DateType 7193 } else if (name.equals("effectivePeriod")) { 7194 this.effectivePeriod = TypeConvertor.castToPeriod(value); // Period 7195 } else if (name.equals("topic")) { 7196 this.getTopic().add(TypeConvertor.castToCodeableConcept(value)); 7197 } else if (name.equals("author")) { 7198 this.getAuthor().add(TypeConvertor.castToContactDetail(value)); 7199 } else if (name.equals("editor")) { 7200 this.getEditor().add(TypeConvertor.castToContactDetail(value)); 7201 } else if (name.equals("reviewer")) { 7202 this.getReviewer().add(TypeConvertor.castToContactDetail(value)); 7203 } else if (name.equals("endorser")) { 7204 this.getEndorser().add(TypeConvertor.castToContactDetail(value)); 7205 } else if (name.equals("relatedArtifact")) { 7206 this.getRelatedArtifact().add(TypeConvertor.castToRelatedArtifact(value)); 7207 } else if (name.equals("compose")) { 7208 this.compose = (ValueSetComposeComponent) value; // ValueSetComposeComponent 7209 } else if (name.equals("expansion")) { 7210 this.expansion = (ValueSetExpansionComponent) value; // ValueSetExpansionComponent 7211 } else if (name.equals("scope")) { 7212 this.scope = (ValueSetScopeComponent) value; // ValueSetScopeComponent 7213 } else 7214 return super.setProperty(name, value); 7215 return value; 7216 } 7217 7218 @Override 7219 public Base makeProperty(int hash, String name) throws FHIRException { 7220 switch (hash) { 7221 case 116079: return getUrlElement(); 7222 case -1618432855: return addIdentifier(); 7223 case 351608024: return getVersionElement(); 7224 case -115699031: return getVersionAlgorithm(); 7225 case 1508158071: return getVersionAlgorithm(); 7226 case 3373707: return getNameElement(); 7227 case 110371416: return getTitleElement(); 7228 case -892481550: return getStatusElement(); 7229 case -404562712: return getExperimentalElement(); 7230 case 3076014: return getDateElement(); 7231 case 1447404028: return getPublisherElement(); 7232 case 951526432: return addContact(); 7233 case -1724546052: return getDescriptionElement(); 7234 case -669707736: return addUseContext(); 7235 case -507075711: return addJurisdiction(); 7236 case 1596987778: return getImmutableElement(); 7237 case -220463842: return getPurposeElement(); 7238 case 1522889671: return getCopyrightElement(); 7239 case 765157229: return getCopyrightLabelElement(); 7240 case 223539345: return getApprovalDateElement(); 7241 case -1687512484: return getLastReviewDateElement(); 7242 case -403934648: return getEffectivePeriod(); 7243 case 110546223: return addTopic(); 7244 case -1406328437: return addAuthor(); 7245 case -1307827859: return addEditor(); 7246 case -261190139: return addReviewer(); 7247 case 1740277666: return addEndorser(); 7248 case 666807069: return addRelatedArtifact(); 7249 case 950497682: return getCompose(); 7250 case 17878207: return getExpansion(); 7251 case 109264468: return getScope(); 7252 default: return super.makeProperty(hash, name); 7253 } 7254 7255 } 7256 7257 @Override 7258 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 7259 switch (hash) { 7260 case 116079: /*url*/ return new String[] {"uri"}; 7261 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 7262 case 351608024: /*version*/ return new String[] {"string"}; 7263 case 1508158071: /*versionAlgorithm*/ return new String[] {"string", "Coding"}; 7264 case 3373707: /*name*/ return new String[] {"string"}; 7265 case 110371416: /*title*/ return new String[] {"string"}; 7266 case -892481550: /*status*/ return new String[] {"code"}; 7267 case -404562712: /*experimental*/ return new String[] {"boolean"}; 7268 case 3076014: /*date*/ return new String[] {"dateTime"}; 7269 case 1447404028: /*publisher*/ return new String[] {"string"}; 7270 case 951526432: /*contact*/ return new String[] {"ContactDetail"}; 7271 case -1724546052: /*description*/ return new String[] {"markdown"}; 7272 case -669707736: /*useContext*/ return new String[] {"UsageContext"}; 7273 case -507075711: /*jurisdiction*/ return new String[] {"CodeableConcept"}; 7274 case 1596987778: /*immutable*/ return new String[] {"boolean"}; 7275 case -220463842: /*purpose*/ return new String[] {"markdown"}; 7276 case 1522889671: /*copyright*/ return new String[] {"markdown"}; 7277 case 765157229: /*copyrightLabel*/ return new String[] {"string"}; 7278 case 223539345: /*approvalDate*/ return new String[] {"date"}; 7279 case -1687512484: /*lastReviewDate*/ return new String[] {"date"}; 7280 case -403934648: /*effectivePeriod*/ return new String[] {"Period"}; 7281 case 110546223: /*topic*/ return new String[] {"CodeableConcept"}; 7282 case -1406328437: /*author*/ return new String[] {"ContactDetail"}; 7283 case -1307827859: /*editor*/ return new String[] {"ContactDetail"}; 7284 case -261190139: /*reviewer*/ return new String[] {"ContactDetail"}; 7285 case 1740277666: /*endorser*/ return new String[] {"ContactDetail"}; 7286 case 666807069: /*relatedArtifact*/ return new String[] {"RelatedArtifact"}; 7287 case 950497682: /*compose*/ return new String[] {}; 7288 case 17878207: /*expansion*/ return new String[] {}; 7289 case 109264468: /*scope*/ return new String[] {}; 7290 default: return super.getTypesForProperty(hash, name); 7291 } 7292 7293 } 7294 7295 @Override 7296 public Base addChild(String name) throws FHIRException { 7297 if (name.equals("url")) { 7298 throw new FHIRException("Cannot call addChild on a singleton property ValueSet.url"); 7299 } 7300 else if (name.equals("identifier")) { 7301 return addIdentifier(); 7302 } 7303 else if (name.equals("version")) { 7304 throw new FHIRException("Cannot call addChild on a singleton property ValueSet.version"); 7305 } 7306 else if (name.equals("versionAlgorithmString")) { 7307 this.versionAlgorithm = new StringType(); 7308 return this.versionAlgorithm; 7309 } 7310 else if (name.equals("versionAlgorithmCoding")) { 7311 this.versionAlgorithm = new Coding(); 7312 return this.versionAlgorithm; 7313 } 7314 else if (name.equals("name")) { 7315 throw new FHIRException("Cannot call addChild on a singleton property ValueSet.name"); 7316 } 7317 else if (name.equals("title")) { 7318 throw new FHIRException("Cannot call addChild on a singleton property ValueSet.title"); 7319 } 7320 else if (name.equals("status")) { 7321 throw new FHIRException("Cannot call addChild on a singleton property ValueSet.status"); 7322 } 7323 else if (name.equals("experimental")) { 7324 throw new FHIRException("Cannot call addChild on a singleton property ValueSet.experimental"); 7325 } 7326 else if (name.equals("date")) { 7327 throw new FHIRException("Cannot call addChild on a singleton property ValueSet.date"); 7328 } 7329 else if (name.equals("publisher")) { 7330 throw new FHIRException("Cannot call addChild on a singleton property ValueSet.publisher"); 7331 } 7332 else if (name.equals("contact")) { 7333 return addContact(); 7334 } 7335 else if (name.equals("description")) { 7336 throw new FHIRException("Cannot call addChild on a singleton property ValueSet.description"); 7337 } 7338 else if (name.equals("useContext")) { 7339 return addUseContext(); 7340 } 7341 else if (name.equals("jurisdiction")) { 7342 return addJurisdiction(); 7343 } 7344 else if (name.equals("immutable")) { 7345 throw new FHIRException("Cannot call addChild on a singleton property ValueSet.immutable"); 7346 } 7347 else if (name.equals("purpose")) { 7348 throw new FHIRException("Cannot call addChild on a singleton property ValueSet.purpose"); 7349 } 7350 else if (name.equals("copyright")) { 7351 throw new FHIRException("Cannot call addChild on a singleton property ValueSet.copyright"); 7352 } 7353 else if (name.equals("copyrightLabel")) { 7354 throw new FHIRException("Cannot call addChild on a singleton property ValueSet.copyrightLabel"); 7355 } 7356 else if (name.equals("approvalDate")) { 7357 throw new FHIRException("Cannot call addChild on a singleton property ValueSet.approvalDate"); 7358 } 7359 else if (name.equals("lastReviewDate")) { 7360 throw new FHIRException("Cannot call addChild on a singleton property ValueSet.lastReviewDate"); 7361 } 7362 else if (name.equals("effectivePeriod")) { 7363 this.effectivePeriod = new Period(); 7364 return this.effectivePeriod; 7365 } 7366 else if (name.equals("topic")) { 7367 return addTopic(); 7368 } 7369 else if (name.equals("author")) { 7370 return addAuthor(); 7371 } 7372 else if (name.equals("editor")) { 7373 return addEditor(); 7374 } 7375 else if (name.equals("reviewer")) { 7376 return addReviewer(); 7377 } 7378 else if (name.equals("endorser")) { 7379 return addEndorser(); 7380 } 7381 else if (name.equals("relatedArtifact")) { 7382 return addRelatedArtifact(); 7383 } 7384 else if (name.equals("compose")) { 7385 this.compose = new ValueSetComposeComponent(); 7386 return this.compose; 7387 } 7388 else if (name.equals("expansion")) { 7389 this.expansion = new ValueSetExpansionComponent(); 7390 return this.expansion; 7391 } 7392 else if (name.equals("scope")) { 7393 this.scope = new ValueSetScopeComponent(); 7394 return this.scope; 7395 } 7396 else 7397 return super.addChild(name); 7398 } 7399 7400 public String fhirType() { 7401 return "ValueSet"; 7402 7403 } 7404 7405 public ValueSet copy() { 7406 ValueSet dst = new ValueSet(); 7407 copyValues(dst); 7408 return dst; 7409 } 7410 7411 public void copyValues(ValueSet dst) { 7412 super.copyValues(dst); 7413 dst.url = url == null ? null : url.copy(); 7414 if (identifier != null) { 7415 dst.identifier = new ArrayList<Identifier>(); 7416 for (Identifier i : identifier) 7417 dst.identifier.add(i.copy()); 7418 }; 7419 dst.version = version == null ? null : version.copy(); 7420 dst.versionAlgorithm = versionAlgorithm == null ? null : versionAlgorithm.copy(); 7421 dst.name = name == null ? null : name.copy(); 7422 dst.title = title == null ? null : title.copy(); 7423 dst.status = status == null ? null : status.copy(); 7424 dst.experimental = experimental == null ? null : experimental.copy(); 7425 dst.date = date == null ? null : date.copy(); 7426 dst.publisher = publisher == null ? null : publisher.copy(); 7427 if (contact != null) { 7428 dst.contact = new ArrayList<ContactDetail>(); 7429 for (ContactDetail i : contact) 7430 dst.contact.add(i.copy()); 7431 }; 7432 dst.description = description == null ? null : description.copy(); 7433 if (useContext != null) { 7434 dst.useContext = new ArrayList<UsageContext>(); 7435 for (UsageContext i : useContext) 7436 dst.useContext.add(i.copy()); 7437 }; 7438 if (jurisdiction != null) { 7439 dst.jurisdiction = new ArrayList<CodeableConcept>(); 7440 for (CodeableConcept i : jurisdiction) 7441 dst.jurisdiction.add(i.copy()); 7442 }; 7443 dst.immutable = immutable == null ? null : immutable.copy(); 7444 dst.purpose = purpose == null ? null : purpose.copy(); 7445 dst.copyright = copyright == null ? null : copyright.copy(); 7446 dst.copyrightLabel = copyrightLabel == null ? null : copyrightLabel.copy(); 7447 dst.approvalDate = approvalDate == null ? null : approvalDate.copy(); 7448 dst.lastReviewDate = lastReviewDate == null ? null : lastReviewDate.copy(); 7449 dst.effectivePeriod = effectivePeriod == null ? null : effectivePeriod.copy(); 7450 if (topic != null) { 7451 dst.topic = new ArrayList<CodeableConcept>(); 7452 for (CodeableConcept i : topic) 7453 dst.topic.add(i.copy()); 7454 }; 7455 if (author != null) { 7456 dst.author = new ArrayList<ContactDetail>(); 7457 for (ContactDetail i : author) 7458 dst.author.add(i.copy()); 7459 }; 7460 if (editor != null) { 7461 dst.editor = new ArrayList<ContactDetail>(); 7462 for (ContactDetail i : editor) 7463 dst.editor.add(i.copy()); 7464 }; 7465 if (reviewer != null) { 7466 dst.reviewer = new ArrayList<ContactDetail>(); 7467 for (ContactDetail i : reviewer) 7468 dst.reviewer.add(i.copy()); 7469 }; 7470 if (endorser != null) { 7471 dst.endorser = new ArrayList<ContactDetail>(); 7472 for (ContactDetail i : endorser) 7473 dst.endorser.add(i.copy()); 7474 }; 7475 if (relatedArtifact != null) { 7476 dst.relatedArtifact = new ArrayList<RelatedArtifact>(); 7477 for (RelatedArtifact i : relatedArtifact) 7478 dst.relatedArtifact.add(i.copy()); 7479 }; 7480 dst.compose = compose == null ? null : compose.copy(); 7481 dst.expansion = expansion == null ? null : expansion.copy(); 7482 dst.scope = scope == null ? null : scope.copy(); 7483 } 7484 7485 protected ValueSet typedCopy() { 7486 return copy(); 7487 } 7488 7489 @Override 7490 public boolean equalsDeep(Base other_) { 7491 if (!super.equalsDeep(other_)) 7492 return false; 7493 if (!(other_ instanceof ValueSet)) 7494 return false; 7495 ValueSet o = (ValueSet) other_; 7496 return compareDeep(url, o.url, true) && compareDeep(identifier, o.identifier, true) && compareDeep(version, o.version, true) 7497 && compareDeep(versionAlgorithm, o.versionAlgorithm, true) && compareDeep(name, o.name, true) && compareDeep(title, o.title, true) 7498 && compareDeep(status, o.status, true) && compareDeep(experimental, o.experimental, true) && compareDeep(date, o.date, true) 7499 && compareDeep(publisher, o.publisher, true) && compareDeep(contact, o.contact, true) && compareDeep(description, o.description, true) 7500 && compareDeep(useContext, o.useContext, true) && compareDeep(jurisdiction, o.jurisdiction, true) 7501 && compareDeep(immutable, o.immutable, true) && compareDeep(purpose, o.purpose, true) && compareDeep(copyright, o.copyright, true) 7502 && compareDeep(copyrightLabel, o.copyrightLabel, true) && compareDeep(approvalDate, o.approvalDate, true) 7503 && compareDeep(lastReviewDate, o.lastReviewDate, true) && compareDeep(effectivePeriod, o.effectivePeriod, true) 7504 && compareDeep(topic, o.topic, true) && compareDeep(author, o.author, true) && compareDeep(editor, o.editor, true) 7505 && compareDeep(reviewer, o.reviewer, true) && compareDeep(endorser, o.endorser, true) && compareDeep(relatedArtifact, o.relatedArtifact, true) 7506 && compareDeep(compose, o.compose, true) && compareDeep(expansion, o.expansion, true) && compareDeep(scope, o.scope, true) 7507 ; 7508 } 7509 7510 @Override 7511 public boolean equalsShallow(Base other_) { 7512 if (!super.equalsShallow(other_)) 7513 return false; 7514 if (!(other_ instanceof ValueSet)) 7515 return false; 7516 ValueSet o = (ValueSet) other_; 7517 return compareValues(url, o.url, true) && compareValues(version, o.version, true) && compareValues(name, o.name, true) 7518 && compareValues(title, o.title, true) && compareValues(status, o.status, true) && compareValues(experimental, o.experimental, true) 7519 && compareValues(date, o.date, true) && compareValues(publisher, o.publisher, true) && compareValues(description, o.description, true) 7520 && compareValues(immutable, o.immutable, true) && compareValues(purpose, o.purpose, true) && compareValues(copyright, o.copyright, true) 7521 && compareValues(copyrightLabel, o.copyrightLabel, true) && compareValues(approvalDate, o.approvalDate, true) 7522 && compareValues(lastReviewDate, o.lastReviewDate, true); 7523 } 7524 7525 public boolean isEmpty() { 7526 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(url, identifier, version 7527 , versionAlgorithm, name, title, status, experimental, date, publisher, contact 7528 , description, useContext, jurisdiction, immutable, purpose, copyright, copyrightLabel 7529 , approvalDate, lastReviewDate, effectivePeriod, topic, author, editor, reviewer 7530 , endorser, relatedArtifact, compose, expansion, scope); 7531 } 7532 7533 @Override 7534 public ResourceType getResourceType() { 7535 return ResourceType.ValueSet; 7536 } 7537 7538 /** 7539 * Search parameter: <b>context-quantity</b> 7540 * <p> 7541 * Description: <b>Multiple Resources: 7542 7543* [ActivityDefinition](activitydefinition.html): A quantity- or range-valued use context assigned to the activity definition 7544* [ActorDefinition](actordefinition.html): A quantity- or range-valued use context assigned to the Actor Definition 7545* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement 7546* [ChargeItemDefinition](chargeitemdefinition.html): A quantity- or range-valued use context assigned to the charge item definition 7547* [Citation](citation.html): A quantity- or range-valued use context assigned to the citation 7548* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system 7549* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition 7550* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map 7551* [ConditionDefinition](conditiondefinition.html): A quantity- or range-valued use context assigned to the condition definition 7552* [EventDefinition](eventdefinition.html): A quantity- or range-valued use context assigned to the event definition 7553* [Evidence](evidence.html): A quantity- or range-valued use context assigned to the evidence 7554* [EvidenceReport](evidencereport.html): A quantity- or range-valued use context assigned to the evidence report 7555* [EvidenceVariable](evidencevariable.html): A quantity- or range-valued use context assigned to the evidence variable 7556* [ExampleScenario](examplescenario.html): A quantity- or range-valued use context assigned to the example scenario 7557* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition 7558* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide 7559* [Library](library.html): A quantity- or range-valued use context assigned to the library 7560* [Measure](measure.html): A quantity- or range-valued use context assigned to the measure 7561* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition 7562* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system 7563* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition 7564* [PlanDefinition](plandefinition.html): A quantity- or range-valued use context assigned to the plan definition 7565* [Questionnaire](questionnaire.html): A quantity- or range-valued use context assigned to the questionnaire 7566* [Requirements](requirements.html): A quantity- or range-valued use context assigned to the requirements 7567* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter 7568* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition 7569* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map 7570* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities 7571* [TestScript](testscript.html): A quantity- or range-valued use context assigned to the test script 7572* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set 7573</b><br> 7574 * Type: <b>quantity</b><br> 7575 * Path: <b>(ActivityDefinition.useContext.value.ofType(Quantity)) | (ActivityDefinition.useContext.value.ofType(Range)) | (ActorDefinition.useContext.value.ofType(Quantity)) | (ActorDefinition.useContext.value.ofType(Range)) | (CapabilityStatement.useContext.value.ofType(Quantity)) | (CapabilityStatement.useContext.value.ofType(Range)) | (ChargeItemDefinition.useContext.value.ofType(Quantity)) | (ChargeItemDefinition.useContext.value.ofType(Range)) | (Citation.useContext.value.ofType(Quantity)) | (Citation.useContext.value.ofType(Range)) | (CodeSystem.useContext.value.ofType(Quantity)) | (CodeSystem.useContext.value.ofType(Range)) | (CompartmentDefinition.useContext.value.ofType(Quantity)) | (CompartmentDefinition.useContext.value.ofType(Range)) | (ConceptMap.useContext.value.ofType(Quantity)) | (ConceptMap.useContext.value.ofType(Range)) | (ConditionDefinition.useContext.value.ofType(Quantity)) | (ConditionDefinition.useContext.value.ofType(Range)) | (EventDefinition.useContext.value.ofType(Quantity)) | (EventDefinition.useContext.value.ofType(Range)) | (Evidence.useContext.value.ofType(Quantity)) | (Evidence.useContext.value.ofType(Range)) | (EvidenceReport.useContext.value.ofType(Quantity)) | (EvidenceReport.useContext.value.ofType(Range)) | (EvidenceVariable.useContext.value.ofType(Quantity)) | (EvidenceVariable.useContext.value.ofType(Range)) | (ExampleScenario.useContext.value.ofType(Quantity)) | (ExampleScenario.useContext.value.ofType(Range)) | (GraphDefinition.useContext.value.ofType(Quantity)) | (GraphDefinition.useContext.value.ofType(Range)) | (ImplementationGuide.useContext.value.ofType(Quantity)) | (ImplementationGuide.useContext.value.ofType(Range)) | (Library.useContext.value.ofType(Quantity)) | (Library.useContext.value.ofType(Range)) | (Measure.useContext.value.ofType(Quantity)) | (Measure.useContext.value.ofType(Range)) | (MessageDefinition.useContext.value.ofType(Quantity)) | (MessageDefinition.useContext.value.ofType(Range)) | (NamingSystem.useContext.value.ofType(Quantity)) | (NamingSystem.useContext.value.ofType(Range)) | (OperationDefinition.useContext.value.ofType(Quantity)) | (OperationDefinition.useContext.value.ofType(Range)) | (PlanDefinition.useContext.value.ofType(Quantity)) | (PlanDefinition.useContext.value.ofType(Range)) | (Questionnaire.useContext.value.ofType(Quantity)) | (Questionnaire.useContext.value.ofType(Range)) | (Requirements.useContext.value.ofType(Quantity)) | (Requirements.useContext.value.ofType(Range)) | (SearchParameter.useContext.value.ofType(Quantity)) | (SearchParameter.useContext.value.ofType(Range)) | (StructureDefinition.useContext.value.ofType(Quantity)) | (StructureDefinition.useContext.value.ofType(Range)) | (StructureMap.useContext.value.ofType(Quantity)) | (StructureMap.useContext.value.ofType(Range)) | (TerminologyCapabilities.useContext.value.ofType(Quantity)) | (TerminologyCapabilities.useContext.value.ofType(Range)) | (TestScript.useContext.value.ofType(Quantity)) | (TestScript.useContext.value.ofType(Range)) | (ValueSet.useContext.value.ofType(Quantity)) | (ValueSet.useContext.value.ofType(Range))</b><br> 7576 * </p> 7577 */ 7578 @SearchParamDefinition(name="context-quantity", path="(ActivityDefinition.useContext.value.ofType(Quantity)) | (ActivityDefinition.useContext.value.ofType(Range)) | (ActorDefinition.useContext.value.ofType(Quantity)) | (ActorDefinition.useContext.value.ofType(Range)) | (CapabilityStatement.useContext.value.ofType(Quantity)) | (CapabilityStatement.useContext.value.ofType(Range)) | (ChargeItemDefinition.useContext.value.ofType(Quantity)) | (ChargeItemDefinition.useContext.value.ofType(Range)) | (Citation.useContext.value.ofType(Quantity)) | (Citation.useContext.value.ofType(Range)) | (CodeSystem.useContext.value.ofType(Quantity)) | (CodeSystem.useContext.value.ofType(Range)) | (CompartmentDefinition.useContext.value.ofType(Quantity)) | (CompartmentDefinition.useContext.value.ofType(Range)) | (ConceptMap.useContext.value.ofType(Quantity)) | (ConceptMap.useContext.value.ofType(Range)) | (ConditionDefinition.useContext.value.ofType(Quantity)) | (ConditionDefinition.useContext.value.ofType(Range)) | (EventDefinition.useContext.value.ofType(Quantity)) | (EventDefinition.useContext.value.ofType(Range)) | (Evidence.useContext.value.ofType(Quantity)) | (Evidence.useContext.value.ofType(Range)) | (EvidenceReport.useContext.value.ofType(Quantity)) | (EvidenceReport.useContext.value.ofType(Range)) | (EvidenceVariable.useContext.value.ofType(Quantity)) | (EvidenceVariable.useContext.value.ofType(Range)) | (ExampleScenario.useContext.value.ofType(Quantity)) | (ExampleScenario.useContext.value.ofType(Range)) | (GraphDefinition.useContext.value.ofType(Quantity)) | (GraphDefinition.useContext.value.ofType(Range)) | (ImplementationGuide.useContext.value.ofType(Quantity)) | (ImplementationGuide.useContext.value.ofType(Range)) | (Library.useContext.value.ofType(Quantity)) | (Library.useContext.value.ofType(Range)) | (Measure.useContext.value.ofType(Quantity)) | (Measure.useContext.value.ofType(Range)) | (MessageDefinition.useContext.value.ofType(Quantity)) | (MessageDefinition.useContext.value.ofType(Range)) | (NamingSystem.useContext.value.ofType(Quantity)) | (NamingSystem.useContext.value.ofType(Range)) | (OperationDefinition.useContext.value.ofType(Quantity)) | (OperationDefinition.useContext.value.ofType(Range)) | (PlanDefinition.useContext.value.ofType(Quantity)) | (PlanDefinition.useContext.value.ofType(Range)) | (Questionnaire.useContext.value.ofType(Quantity)) | (Questionnaire.useContext.value.ofType(Range)) | (Requirements.useContext.value.ofType(Quantity)) | (Requirements.useContext.value.ofType(Range)) | (SearchParameter.useContext.value.ofType(Quantity)) | (SearchParameter.useContext.value.ofType(Range)) | (StructureDefinition.useContext.value.ofType(Quantity)) | (StructureDefinition.useContext.value.ofType(Range)) | (StructureMap.useContext.value.ofType(Quantity)) | (StructureMap.useContext.value.ofType(Range)) | (TerminologyCapabilities.useContext.value.ofType(Quantity)) | (TerminologyCapabilities.useContext.value.ofType(Range)) | (TestScript.useContext.value.ofType(Quantity)) | (TestScript.useContext.value.ofType(Range)) | (ValueSet.useContext.value.ofType(Quantity)) | (ValueSet.useContext.value.ofType(Range))", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): A quantity- or range-valued use context assigned to the activity definition\r\n* [ActorDefinition](actordefinition.html): A quantity- or range-valued use context assigned to the Actor Definition\r\n* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement\r\n* [ChargeItemDefinition](chargeitemdefinition.html): A quantity- or range-valued use context assigned to the charge item definition\r\n* [Citation](citation.html): A quantity- or range-valued use context assigned to the citation\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* [ConditionDefinition](conditiondefinition.html): A quantity- or range-valued use context assigned to the condition definition\r\n* [EventDefinition](eventdefinition.html): A quantity- or range-valued use context assigned to the event definition\r\n* [Evidence](evidence.html): A quantity- or range-valued use context assigned to the evidence\r\n* [EvidenceReport](evidencereport.html): A quantity- or range-valued use context assigned to the evidence report\r\n* [EvidenceVariable](evidencevariable.html): A quantity- or range-valued use context assigned to the evidence variable\r\n* [ExampleScenario](examplescenario.html): A quantity- or range-valued use context assigned to the example scenario\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* [Library](library.html): A quantity- or range-valued use context assigned to the library\r\n* [Measure](measure.html): A quantity- or range-valued use context assigned to the measure\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* [PlanDefinition](plandefinition.html): A quantity- or range-valued use context assigned to the plan definition\r\n* [Questionnaire](questionnaire.html): A quantity- or range-valued use context assigned to the questionnaire\r\n* [Requirements](requirements.html): A quantity- or range-valued use context assigned to the requirements\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* [TestScript](testscript.html): A quantity- or range-valued use context assigned to the test script\r\n* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set\r\n", type="quantity" ) 7579 public static final String SP_CONTEXT_QUANTITY = "context-quantity"; 7580 /** 7581 * <b>Fluent Client</b> search parameter constant for <b>context-quantity</b> 7582 * <p> 7583 * Description: <b>Multiple Resources: 7584 7585* [ActivityDefinition](activitydefinition.html): A quantity- or range-valued use context assigned to the activity definition 7586* [ActorDefinition](actordefinition.html): A quantity- or range-valued use context assigned to the Actor Definition 7587* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement 7588* [ChargeItemDefinition](chargeitemdefinition.html): A quantity- or range-valued use context assigned to the charge item definition 7589* [Citation](citation.html): A quantity- or range-valued use context assigned to the citation 7590* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system 7591* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition 7592* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map 7593* [ConditionDefinition](conditiondefinition.html): A quantity- or range-valued use context assigned to the condition definition 7594* [EventDefinition](eventdefinition.html): A quantity- or range-valued use context assigned to the event definition 7595* [Evidence](evidence.html): A quantity- or range-valued use context assigned to the evidence 7596* [EvidenceReport](evidencereport.html): A quantity- or range-valued use context assigned to the evidence report 7597* [EvidenceVariable](evidencevariable.html): A quantity- or range-valued use context assigned to the evidence variable 7598* [ExampleScenario](examplescenario.html): A quantity- or range-valued use context assigned to the example scenario 7599* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition 7600* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide 7601* [Library](library.html): A quantity- or range-valued use context assigned to the library 7602* [Measure](measure.html): A quantity- or range-valued use context assigned to the measure 7603* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition 7604* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system 7605* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition 7606* [PlanDefinition](plandefinition.html): A quantity- or range-valued use context assigned to the plan definition 7607* [Questionnaire](questionnaire.html): A quantity- or range-valued use context assigned to the questionnaire 7608* [Requirements](requirements.html): A quantity- or range-valued use context assigned to the requirements 7609* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter 7610* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition 7611* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map 7612* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities 7613* [TestScript](testscript.html): A quantity- or range-valued use context assigned to the test script 7614* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set 7615</b><br> 7616 * Type: <b>quantity</b><br> 7617 * Path: <b>(ActivityDefinition.useContext.value.ofType(Quantity)) | (ActivityDefinition.useContext.value.ofType(Range)) | (ActorDefinition.useContext.value.ofType(Quantity)) | (ActorDefinition.useContext.value.ofType(Range)) | (CapabilityStatement.useContext.value.ofType(Quantity)) | (CapabilityStatement.useContext.value.ofType(Range)) | (ChargeItemDefinition.useContext.value.ofType(Quantity)) | (ChargeItemDefinition.useContext.value.ofType(Range)) | (Citation.useContext.value.ofType(Quantity)) | (Citation.useContext.value.ofType(Range)) | (CodeSystem.useContext.value.ofType(Quantity)) | (CodeSystem.useContext.value.ofType(Range)) | (CompartmentDefinition.useContext.value.ofType(Quantity)) | (CompartmentDefinition.useContext.value.ofType(Range)) | (ConceptMap.useContext.value.ofType(Quantity)) | (ConceptMap.useContext.value.ofType(Range)) | (ConditionDefinition.useContext.value.ofType(Quantity)) | (ConditionDefinition.useContext.value.ofType(Range)) | (EventDefinition.useContext.value.ofType(Quantity)) | (EventDefinition.useContext.value.ofType(Range)) | (Evidence.useContext.value.ofType(Quantity)) | (Evidence.useContext.value.ofType(Range)) | (EvidenceReport.useContext.value.ofType(Quantity)) | (EvidenceReport.useContext.value.ofType(Range)) | (EvidenceVariable.useContext.value.ofType(Quantity)) | (EvidenceVariable.useContext.value.ofType(Range)) | (ExampleScenario.useContext.value.ofType(Quantity)) | (ExampleScenario.useContext.value.ofType(Range)) | (GraphDefinition.useContext.value.ofType(Quantity)) | (GraphDefinition.useContext.value.ofType(Range)) | (ImplementationGuide.useContext.value.ofType(Quantity)) | (ImplementationGuide.useContext.value.ofType(Range)) | (Library.useContext.value.ofType(Quantity)) | (Library.useContext.value.ofType(Range)) | (Measure.useContext.value.ofType(Quantity)) | (Measure.useContext.value.ofType(Range)) | (MessageDefinition.useContext.value.ofType(Quantity)) | (MessageDefinition.useContext.value.ofType(Range)) | (NamingSystem.useContext.value.ofType(Quantity)) | (NamingSystem.useContext.value.ofType(Range)) | (OperationDefinition.useContext.value.ofType(Quantity)) | (OperationDefinition.useContext.value.ofType(Range)) | (PlanDefinition.useContext.value.ofType(Quantity)) | (PlanDefinition.useContext.value.ofType(Range)) | (Questionnaire.useContext.value.ofType(Quantity)) | (Questionnaire.useContext.value.ofType(Range)) | (Requirements.useContext.value.ofType(Quantity)) | (Requirements.useContext.value.ofType(Range)) | (SearchParameter.useContext.value.ofType(Quantity)) | (SearchParameter.useContext.value.ofType(Range)) | (StructureDefinition.useContext.value.ofType(Quantity)) | (StructureDefinition.useContext.value.ofType(Range)) | (StructureMap.useContext.value.ofType(Quantity)) | (StructureMap.useContext.value.ofType(Range)) | (TerminologyCapabilities.useContext.value.ofType(Quantity)) | (TerminologyCapabilities.useContext.value.ofType(Range)) | (TestScript.useContext.value.ofType(Quantity)) | (TestScript.useContext.value.ofType(Range)) | (ValueSet.useContext.value.ofType(Quantity)) | (ValueSet.useContext.value.ofType(Range))</b><br> 7618 * </p> 7619 */ 7620 public static final ca.uhn.fhir.rest.gclient.QuantityClientParam CONTEXT_QUANTITY = new ca.uhn.fhir.rest.gclient.QuantityClientParam(SP_CONTEXT_QUANTITY); 7621 7622 /** 7623 * Search parameter: <b>context-type-quantity</b> 7624 * <p> 7625 * Description: <b>Multiple Resources: 7626 7627* [ActivityDefinition](activitydefinition.html): A use context type and quantity- or range-based value assigned to the activity definition 7628* [ActorDefinition](actordefinition.html): A use context type and quantity- or range-based value assigned to the Actor Definition 7629* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement 7630* [ChargeItemDefinition](chargeitemdefinition.html): A use context type and quantity- or range-based value assigned to the charge item definition 7631* [Citation](citation.html): A use context type and quantity- or range-based value assigned to the citation 7632* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system 7633* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition 7634* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map 7635* [ConditionDefinition](conditiondefinition.html): A use context type and quantity- or range-based value assigned to the condition definition 7636* [EventDefinition](eventdefinition.html): A use context type and quantity- or range-based value assigned to the event definition 7637* [Evidence](evidence.html): A use context type and quantity- or range-based value assigned to the evidence 7638* [EvidenceReport](evidencereport.html): A use context type and quantity- or range-based value assigned to the evidence report 7639* [EvidenceVariable](evidencevariable.html): A use context type and quantity- or range-based value assigned to the evidence variable 7640* [ExampleScenario](examplescenario.html): A use context type and quantity- or range-based value assigned to the example scenario 7641* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition 7642* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide 7643* [Library](library.html): A use context type and quantity- or range-based value assigned to the library 7644* [Measure](measure.html): A use context type and quantity- or range-based value assigned to the measure 7645* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition 7646* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system 7647* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition 7648* [PlanDefinition](plandefinition.html): A use context type and quantity- or range-based value assigned to the plan definition 7649* [Questionnaire](questionnaire.html): A use context type and quantity- or range-based value assigned to the questionnaire 7650* [Requirements](requirements.html): A use context type and quantity- or range-based value assigned to the requirements 7651* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter 7652* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition 7653* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map 7654* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities 7655* [TestScript](testscript.html): A use context type and quantity- or range-based value assigned to the test script 7656* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set 7657</b><br> 7658 * Type: <b>composite</b><br> 7659 * Path: <b>ActivityDefinition.useContext | ActorDefinition.useContext | CapabilityStatement.useContext | ChargeItemDefinition.useContext | Citation.useContext | CodeSystem.useContext | CompartmentDefinition.useContext | ConceptMap.useContext | ConditionDefinition.useContext | EventDefinition.useContext | Evidence.useContext | EvidenceReport.useContext | EvidenceVariable.useContext | ExampleScenario.useContext | GraphDefinition.useContext | ImplementationGuide.useContext | Library.useContext | Measure.useContext | MessageDefinition.useContext | NamingSystem.useContext | OperationDefinition.useContext | PlanDefinition.useContext | Questionnaire.useContext | Requirements.useContext | SearchParameter.useContext | StructureDefinition.useContext | StructureMap.useContext | TerminologyCapabilities.useContext | TestScript.useContext | ValueSet.useContext</b><br> 7660 * </p> 7661 */ 7662 @SearchParamDefinition(name="context-type-quantity", path="ActivityDefinition.useContext | ActorDefinition.useContext | CapabilityStatement.useContext | ChargeItemDefinition.useContext | Citation.useContext | CodeSystem.useContext | CompartmentDefinition.useContext | ConceptMap.useContext | ConditionDefinition.useContext | EventDefinition.useContext | Evidence.useContext | EvidenceReport.useContext | EvidenceVariable.useContext | ExampleScenario.useContext | GraphDefinition.useContext | ImplementationGuide.useContext | Library.useContext | Measure.useContext | MessageDefinition.useContext | NamingSystem.useContext | OperationDefinition.useContext | PlanDefinition.useContext | Questionnaire.useContext | Requirements.useContext | SearchParameter.useContext | StructureDefinition.useContext | StructureMap.useContext | TerminologyCapabilities.useContext | TestScript.useContext | ValueSet.useContext", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): A use context type and quantity- or range-based value assigned to the activity definition\r\n* [ActorDefinition](actordefinition.html): A use context type and quantity- or range-based value assigned to the Actor Definition\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement\r\n* [ChargeItemDefinition](chargeitemdefinition.html): A use context type and quantity- or range-based value assigned to the charge item definition\r\n* [Citation](citation.html): A use context type and quantity- or range-based value assigned to the citation\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* [ConditionDefinition](conditiondefinition.html): A use context type and quantity- or range-based value assigned to the condition definition\r\n* [EventDefinition](eventdefinition.html): A use context type and quantity- or range-based value assigned to the event definition\r\n* [Evidence](evidence.html): A use context type and quantity- or range-based value assigned to the evidence\r\n* [EvidenceReport](evidencereport.html): A use context type and quantity- or range-based value assigned to the evidence report\r\n* [EvidenceVariable](evidencevariable.html): A use context type and quantity- or range-based value assigned to the evidence variable\r\n* [ExampleScenario](examplescenario.html): A use context type and quantity- or range-based value assigned to the example scenario\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* [Library](library.html): A use context type and quantity- or range-based value assigned to the library\r\n* [Measure](measure.html): A use context type and quantity- or range-based value assigned to the measure\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* [PlanDefinition](plandefinition.html): A use context type and quantity- or range-based value assigned to the plan definition\r\n* [Questionnaire](questionnaire.html): A use context type and quantity- or range-based value assigned to the questionnaire\r\n* [Requirements](requirements.html): A use context type and quantity- or range-based value assigned to the requirements\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* [TestScript](testscript.html): A use context type and quantity- or range-based value assigned to the test script\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"} ) 7663 public static final String SP_CONTEXT_TYPE_QUANTITY = "context-type-quantity"; 7664 /** 7665 * <b>Fluent Client</b> search parameter constant for <b>context-type-quantity</b> 7666 * <p> 7667 * Description: <b>Multiple Resources: 7668 7669* [ActivityDefinition](activitydefinition.html): A use context type and quantity- or range-based value assigned to the activity definition 7670* [ActorDefinition](actordefinition.html): A use context type and quantity- or range-based value assigned to the Actor Definition 7671* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement 7672* [ChargeItemDefinition](chargeitemdefinition.html): A use context type and quantity- or range-based value assigned to the charge item definition 7673* [Citation](citation.html): A use context type and quantity- or range-based value assigned to the citation 7674* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system 7675* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition 7676* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map 7677* [ConditionDefinition](conditiondefinition.html): A use context type and quantity- or range-based value assigned to the condition definition 7678* [EventDefinition](eventdefinition.html): A use context type and quantity- or range-based value assigned to the event definition 7679* [Evidence](evidence.html): A use context type and quantity- or range-based value assigned to the evidence 7680* [EvidenceReport](evidencereport.html): A use context type and quantity- or range-based value assigned to the evidence report 7681* [EvidenceVariable](evidencevariable.html): A use context type and quantity- or range-based value assigned to the evidence variable 7682* [ExampleScenario](examplescenario.html): A use context type and quantity- or range-based value assigned to the example scenario 7683* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition 7684* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide 7685* [Library](library.html): A use context type and quantity- or range-based value assigned to the library 7686* [Measure](measure.html): A use context type and quantity- or range-based value assigned to the measure 7687* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition 7688* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system 7689* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition 7690* [PlanDefinition](plandefinition.html): A use context type and quantity- or range-based value assigned to the plan definition 7691* [Questionnaire](questionnaire.html): A use context type and quantity- or range-based value assigned to the questionnaire 7692* [Requirements](requirements.html): A use context type and quantity- or range-based value assigned to the requirements 7693* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter 7694* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition 7695* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map 7696* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities 7697* [TestScript](testscript.html): A use context type and quantity- or range-based value assigned to the test script 7698* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set 7699</b><br> 7700 * Type: <b>composite</b><br> 7701 * Path: <b>ActivityDefinition.useContext | ActorDefinition.useContext | CapabilityStatement.useContext | ChargeItemDefinition.useContext | Citation.useContext | CodeSystem.useContext | CompartmentDefinition.useContext | ConceptMap.useContext | ConditionDefinition.useContext | EventDefinition.useContext | Evidence.useContext | EvidenceReport.useContext | EvidenceVariable.useContext | ExampleScenario.useContext | GraphDefinition.useContext | ImplementationGuide.useContext | Library.useContext | Measure.useContext | MessageDefinition.useContext | NamingSystem.useContext | OperationDefinition.useContext | PlanDefinition.useContext | Questionnaire.useContext | Requirements.useContext | SearchParameter.useContext | StructureDefinition.useContext | StructureMap.useContext | TerminologyCapabilities.useContext | TestScript.useContext | ValueSet.useContext</b><br> 7702 * </p> 7703 */ 7704 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); 7705 7706 /** 7707 * Search parameter: <b>context-type-value</b> 7708 * <p> 7709 * Description: <b>Multiple Resources: 7710 7711* [ActivityDefinition](activitydefinition.html): A use context type and value assigned to the activity definition 7712* [ActorDefinition](actordefinition.html): A use context type and value assigned to the Actor Definition 7713* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement 7714* [ChargeItemDefinition](chargeitemdefinition.html): A use context type and value assigned to the charge item definition 7715* [Citation](citation.html): A use context type and value assigned to the citation 7716* [CodeSystem](codesystem.html): A use context type and value assigned to the code system 7717* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition 7718* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map 7719* [ConditionDefinition](conditiondefinition.html): A use context type and value assigned to the condition definition 7720* [EventDefinition](eventdefinition.html): A use context type and value assigned to the event definition 7721* [Evidence](evidence.html): A use context type and value assigned to the evidence 7722* [EvidenceReport](evidencereport.html): A use context type and value assigned to the evidence report 7723* [EvidenceVariable](evidencevariable.html): A use context type and value assigned to the evidence variable 7724* [ExampleScenario](examplescenario.html): A use context type and value assigned to the example scenario 7725* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition 7726* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide 7727* [Library](library.html): A use context type and value assigned to the library 7728* [Measure](measure.html): A use context type and value assigned to the measure 7729* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition 7730* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system 7731* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition 7732* [PlanDefinition](plandefinition.html): A use context type and value assigned to the plan definition 7733* [Questionnaire](questionnaire.html): A use context type and value assigned to the questionnaire 7734* [Requirements](requirements.html): A use context type and value assigned to the requirements 7735* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter 7736* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition 7737* [StructureMap](structuremap.html): A use context type and value assigned to the structure map 7738* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities 7739* [TestScript](testscript.html): A use context type and value assigned to the test script 7740* [ValueSet](valueset.html): A use context type and value assigned to the value set 7741</b><br> 7742 * Type: <b>composite</b><br> 7743 * Path: <b>ActivityDefinition.useContext | ActorDefinition.useContext | CapabilityStatement.useContext | ChargeItemDefinition.useContext | Citation.useContext | CodeSystem.useContext | CompartmentDefinition.useContext | ConceptMap.useContext | ConditionDefinition.useContext | EventDefinition.useContext | Evidence.useContext | EvidenceReport.useContext | EvidenceVariable.useContext | ExampleScenario.useContext | GraphDefinition.useContext | ImplementationGuide.useContext | Library.useContext | Measure.useContext | MessageDefinition.useContext | NamingSystem.useContext | OperationDefinition.useContext | PlanDefinition.useContext | Questionnaire.useContext | Requirements.useContext | SearchParameter.useContext | StructureDefinition.useContext | StructureMap.useContext | TerminologyCapabilities.useContext | TestScript.useContext | ValueSet.useContext</b><br> 7744 * </p> 7745 */ 7746 @SearchParamDefinition(name="context-type-value", path="ActivityDefinition.useContext | ActorDefinition.useContext | CapabilityStatement.useContext | ChargeItemDefinition.useContext | Citation.useContext | CodeSystem.useContext | CompartmentDefinition.useContext | ConceptMap.useContext | ConditionDefinition.useContext | EventDefinition.useContext | Evidence.useContext | EvidenceReport.useContext | EvidenceVariable.useContext | ExampleScenario.useContext | GraphDefinition.useContext | ImplementationGuide.useContext | Library.useContext | Measure.useContext | MessageDefinition.useContext | NamingSystem.useContext | OperationDefinition.useContext | PlanDefinition.useContext | Questionnaire.useContext | Requirements.useContext | SearchParameter.useContext | StructureDefinition.useContext | StructureMap.useContext | TerminologyCapabilities.useContext | TestScript.useContext | ValueSet.useContext", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): A use context type and value assigned to the activity definition\r\n* [ActorDefinition](actordefinition.html): A use context type and value assigned to the Actor Definition\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement\r\n* [ChargeItemDefinition](chargeitemdefinition.html): A use context type and value assigned to the charge item definition\r\n* [Citation](citation.html): A use context type and value assigned to the citation\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* [ConditionDefinition](conditiondefinition.html): A use context type and value assigned to the condition definition\r\n* [EventDefinition](eventdefinition.html): A use context type and value assigned to the event definition\r\n* [Evidence](evidence.html): A use context type and value assigned to the evidence\r\n* [EvidenceReport](evidencereport.html): A use context type and value assigned to the evidence report\r\n* [EvidenceVariable](evidencevariable.html): A use context type and value assigned to the evidence variable\r\n* [ExampleScenario](examplescenario.html): A use context type and value assigned to the example scenario\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* [Library](library.html): A use context type and value assigned to the library\r\n* [Measure](measure.html): A use context type and value assigned to the measure\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* [PlanDefinition](plandefinition.html): A use context type and value assigned to the plan definition\r\n* [Questionnaire](questionnaire.html): A use context type and value assigned to the questionnaire\r\n* [Requirements](requirements.html): A use context type and value assigned to the requirements\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* [TestScript](testscript.html): A use context type and value assigned to the test script\r\n* [ValueSet](valueset.html): A use context type and value assigned to the value set\r\n", type="composite", compositeOf={"context-type", "context"} ) 7747 public static final String SP_CONTEXT_TYPE_VALUE = "context-type-value"; 7748 /** 7749 * <b>Fluent Client</b> search parameter constant for <b>context-type-value</b> 7750 * <p> 7751 * Description: <b>Multiple Resources: 7752 7753* [ActivityDefinition](activitydefinition.html): A use context type and value assigned to the activity definition 7754* [ActorDefinition](actordefinition.html): A use context type and value assigned to the Actor Definition 7755* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement 7756* [ChargeItemDefinition](chargeitemdefinition.html): A use context type and value assigned to the charge item definition 7757* [Citation](citation.html): A use context type and value assigned to the citation 7758* [CodeSystem](codesystem.html): A use context type and value assigned to the code system 7759* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition 7760* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map 7761* [ConditionDefinition](conditiondefinition.html): A use context type and value assigned to the condition definition 7762* [EventDefinition](eventdefinition.html): A use context type and value assigned to the event definition 7763* [Evidence](evidence.html): A use context type and value assigned to the evidence 7764* [EvidenceReport](evidencereport.html): A use context type and value assigned to the evidence report 7765* [EvidenceVariable](evidencevariable.html): A use context type and value assigned to the evidence variable 7766* [ExampleScenario](examplescenario.html): A use context type and value assigned to the example scenario 7767* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition 7768* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide 7769* [Library](library.html): A use context type and value assigned to the library 7770* [Measure](measure.html): A use context type and value assigned to the measure 7771* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition 7772* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system 7773* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition 7774* [PlanDefinition](plandefinition.html): A use context type and value assigned to the plan definition 7775* [Questionnaire](questionnaire.html): A use context type and value assigned to the questionnaire 7776* [Requirements](requirements.html): A use context type and value assigned to the requirements 7777* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter 7778* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition 7779* [StructureMap](structuremap.html): A use context type and value assigned to the structure map 7780* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities 7781* [TestScript](testscript.html): A use context type and value assigned to the test script 7782* [ValueSet](valueset.html): A use context type and value assigned to the value set 7783</b><br> 7784 * Type: <b>composite</b><br> 7785 * Path: <b>ActivityDefinition.useContext | ActorDefinition.useContext | CapabilityStatement.useContext | ChargeItemDefinition.useContext | Citation.useContext | CodeSystem.useContext | CompartmentDefinition.useContext | ConceptMap.useContext | ConditionDefinition.useContext | EventDefinition.useContext | Evidence.useContext | EvidenceReport.useContext | EvidenceVariable.useContext | ExampleScenario.useContext | GraphDefinition.useContext | ImplementationGuide.useContext | Library.useContext | Measure.useContext | MessageDefinition.useContext | NamingSystem.useContext | OperationDefinition.useContext | PlanDefinition.useContext | Questionnaire.useContext | Requirements.useContext | SearchParameter.useContext | StructureDefinition.useContext | StructureMap.useContext | TerminologyCapabilities.useContext | TestScript.useContext | ValueSet.useContext</b><br> 7786 * </p> 7787 */ 7788 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); 7789 7790 /** 7791 * Search parameter: <b>context-type</b> 7792 * <p> 7793 * Description: <b>Multiple Resources: 7794 7795* [ActivityDefinition](activitydefinition.html): A type of use context assigned to the activity definition 7796* [ActorDefinition](actordefinition.html): A type of use context assigned to the Actor Definition 7797* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement 7798* [ChargeItemDefinition](chargeitemdefinition.html): A type of use context assigned to the charge item definition 7799* [Citation](citation.html): A type of use context assigned to the citation 7800* [CodeSystem](codesystem.html): A type of use context assigned to the code system 7801* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition 7802* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map 7803* [ConditionDefinition](conditiondefinition.html): A type of use context assigned to the condition definition 7804* [EventDefinition](eventdefinition.html): A type of use context assigned to the event definition 7805* [Evidence](evidence.html): A type of use context assigned to the evidence 7806* [EvidenceReport](evidencereport.html): A type of use context assigned to the evidence report 7807* [EvidenceVariable](evidencevariable.html): A type of use context assigned to the evidence variable 7808* [ExampleScenario](examplescenario.html): A type of use context assigned to the example scenario 7809* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition 7810* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide 7811* [Library](library.html): A type of use context assigned to the library 7812* [Measure](measure.html): A type of use context assigned to the measure 7813* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition 7814* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system 7815* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition 7816* [PlanDefinition](plandefinition.html): A type of use context assigned to the plan definition 7817* [Questionnaire](questionnaire.html): A type of use context assigned to the questionnaire 7818* [Requirements](requirements.html): A type of use context assigned to the requirements 7819* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter 7820* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition 7821* [StructureMap](structuremap.html): A type of use context assigned to the structure map 7822* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities 7823* [TestScript](testscript.html): A type of use context assigned to the test script 7824* [ValueSet](valueset.html): A type of use context assigned to the value set 7825</b><br> 7826 * Type: <b>token</b><br> 7827 * Path: <b>ActivityDefinition.useContext.code | ActorDefinition.useContext.code | CapabilityStatement.useContext.code | ChargeItemDefinition.useContext.code | Citation.useContext.code | CodeSystem.useContext.code | CompartmentDefinition.useContext.code | ConceptMap.useContext.code | ConditionDefinition.useContext.code | EventDefinition.useContext.code | Evidence.useContext.code | EvidenceReport.useContext.code | EvidenceVariable.useContext.code | ExampleScenario.useContext.code | GraphDefinition.useContext.code | ImplementationGuide.useContext.code | Library.useContext.code | Measure.useContext.code | MessageDefinition.useContext.code | NamingSystem.useContext.code | OperationDefinition.useContext.code | PlanDefinition.useContext.code | Questionnaire.useContext.code | Requirements.useContext.code | SearchParameter.useContext.code | StructureDefinition.useContext.code | StructureMap.useContext.code | TerminologyCapabilities.useContext.code | TestScript.useContext.code | ValueSet.useContext.code</b><br> 7828 * </p> 7829 */ 7830 @SearchParamDefinition(name="context-type", path="ActivityDefinition.useContext.code | ActorDefinition.useContext.code | CapabilityStatement.useContext.code | ChargeItemDefinition.useContext.code | Citation.useContext.code | CodeSystem.useContext.code | CompartmentDefinition.useContext.code | ConceptMap.useContext.code | ConditionDefinition.useContext.code | EventDefinition.useContext.code | Evidence.useContext.code | EvidenceReport.useContext.code | EvidenceVariable.useContext.code | ExampleScenario.useContext.code | GraphDefinition.useContext.code | ImplementationGuide.useContext.code | Library.useContext.code | Measure.useContext.code | MessageDefinition.useContext.code | NamingSystem.useContext.code | OperationDefinition.useContext.code | PlanDefinition.useContext.code | Questionnaire.useContext.code | Requirements.useContext.code | SearchParameter.useContext.code | StructureDefinition.useContext.code | StructureMap.useContext.code | TerminologyCapabilities.useContext.code | TestScript.useContext.code | ValueSet.useContext.code", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): A type of use context assigned to the activity definition\r\n* [ActorDefinition](actordefinition.html): A type of use context assigned to the Actor Definition\r\n* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement\r\n* [ChargeItemDefinition](chargeitemdefinition.html): A type of use context assigned to the charge item definition\r\n* [Citation](citation.html): A type of use context assigned to the citation\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* [ConditionDefinition](conditiondefinition.html): A type of use context assigned to the condition definition\r\n* [EventDefinition](eventdefinition.html): A type of use context assigned to the event definition\r\n* [Evidence](evidence.html): A type of use context assigned to the evidence\r\n* [EvidenceReport](evidencereport.html): A type of use context assigned to the evidence report\r\n* [EvidenceVariable](evidencevariable.html): A type of use context assigned to the evidence variable\r\n* [ExampleScenario](examplescenario.html): A type of use context assigned to the example scenario\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* [Library](library.html): A type of use context assigned to the library\r\n* [Measure](measure.html): A type of use context assigned to the measure\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* [PlanDefinition](plandefinition.html): A type of use context assigned to the plan definition\r\n* [Questionnaire](questionnaire.html): A type of use context assigned to the questionnaire\r\n* [Requirements](requirements.html): A type of use context assigned to the requirements\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* [TestScript](testscript.html): A type of use context assigned to the test script\r\n* [ValueSet](valueset.html): A type of use context assigned to the value set\r\n", type="token" ) 7831 public static final String SP_CONTEXT_TYPE = "context-type"; 7832 /** 7833 * <b>Fluent Client</b> search parameter constant for <b>context-type</b> 7834 * <p> 7835 * Description: <b>Multiple Resources: 7836 7837* [ActivityDefinition](activitydefinition.html): A type of use context assigned to the activity definition 7838* [ActorDefinition](actordefinition.html): A type of use context assigned to the Actor Definition 7839* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement 7840* [ChargeItemDefinition](chargeitemdefinition.html): A type of use context assigned to the charge item definition 7841* [Citation](citation.html): A type of use context assigned to the citation 7842* [CodeSystem](codesystem.html): A type of use context assigned to the code system 7843* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition 7844* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map 7845* [ConditionDefinition](conditiondefinition.html): A type of use context assigned to the condition definition 7846* [EventDefinition](eventdefinition.html): A type of use context assigned to the event definition 7847* [Evidence](evidence.html): A type of use context assigned to the evidence 7848* [EvidenceReport](evidencereport.html): A type of use context assigned to the evidence report 7849* [EvidenceVariable](evidencevariable.html): A type of use context assigned to the evidence variable 7850* [ExampleScenario](examplescenario.html): A type of use context assigned to the example scenario 7851* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition 7852* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide 7853* [Library](library.html): A type of use context assigned to the library 7854* [Measure](measure.html): A type of use context assigned to the measure 7855* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition 7856* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system 7857* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition 7858* [PlanDefinition](plandefinition.html): A type of use context assigned to the plan definition 7859* [Questionnaire](questionnaire.html): A type of use context assigned to the questionnaire 7860* [Requirements](requirements.html): A type of use context assigned to the requirements 7861* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter 7862* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition 7863* [StructureMap](structuremap.html): A type of use context assigned to the structure map 7864* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities 7865* [TestScript](testscript.html): A type of use context assigned to the test script 7866* [ValueSet](valueset.html): A type of use context assigned to the value set 7867</b><br> 7868 * Type: <b>token</b><br> 7869 * Path: <b>ActivityDefinition.useContext.code | ActorDefinition.useContext.code | CapabilityStatement.useContext.code | ChargeItemDefinition.useContext.code | Citation.useContext.code | CodeSystem.useContext.code | CompartmentDefinition.useContext.code | ConceptMap.useContext.code | ConditionDefinition.useContext.code | EventDefinition.useContext.code | Evidence.useContext.code | EvidenceReport.useContext.code | EvidenceVariable.useContext.code | ExampleScenario.useContext.code | GraphDefinition.useContext.code | ImplementationGuide.useContext.code | Library.useContext.code | Measure.useContext.code | MessageDefinition.useContext.code | NamingSystem.useContext.code | OperationDefinition.useContext.code | PlanDefinition.useContext.code | Questionnaire.useContext.code | Requirements.useContext.code | SearchParameter.useContext.code | StructureDefinition.useContext.code | StructureMap.useContext.code | TerminologyCapabilities.useContext.code | TestScript.useContext.code | ValueSet.useContext.code</b><br> 7870 * </p> 7871 */ 7872 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT_TYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONTEXT_TYPE); 7873 7874 /** 7875 * Search parameter: <b>context</b> 7876 * <p> 7877 * Description: <b>Multiple Resources: 7878 7879* [ActivityDefinition](activitydefinition.html): A use context assigned to the activity definition 7880* [ActorDefinition](actordefinition.html): A use context assigned to the Actor Definition 7881* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement 7882* [ChargeItemDefinition](chargeitemdefinition.html): A use context assigned to the charge item definition 7883* [Citation](citation.html): A use context assigned to the citation 7884* [CodeSystem](codesystem.html): A use context assigned to the code system 7885* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition 7886* [ConceptMap](conceptmap.html): A use context assigned to the concept map 7887* [ConditionDefinition](conditiondefinition.html): A use context assigned to the condition definition 7888* [EventDefinition](eventdefinition.html): A use context assigned to the event definition 7889* [Evidence](evidence.html): A use context assigned to the evidence 7890* [EvidenceReport](evidencereport.html): A use context assigned to the evidence report 7891* [EvidenceVariable](evidencevariable.html): A use context assigned to the evidence variable 7892* [ExampleScenario](examplescenario.html): A use context assigned to the example scenario 7893* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition 7894* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide 7895* [Library](library.html): A use context assigned to the library 7896* [Measure](measure.html): A use context assigned to the measure 7897* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition 7898* [NamingSystem](namingsystem.html): A use context assigned to the naming system 7899* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition 7900* [PlanDefinition](plandefinition.html): A use context assigned to the plan definition 7901* [Questionnaire](questionnaire.html): A use context assigned to the questionnaire 7902* [Requirements](requirements.html): A use context assigned to the requirements 7903* [SearchParameter](searchparameter.html): A use context assigned to the search parameter 7904* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition 7905* [StructureMap](structuremap.html): A use context assigned to the structure map 7906* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities 7907* [TestScript](testscript.html): A use context assigned to the test script 7908* [ValueSet](valueset.html): A use context assigned to the value set 7909</b><br> 7910 * Type: <b>token</b><br> 7911 * Path: <b>(ActivityDefinition.useContext.value.ofType(CodeableConcept)) | (ActorDefinition.useContext.value.ofType(CodeableConcept)) | (CapabilityStatement.useContext.value.ofType(CodeableConcept)) | (ChargeItemDefinition.useContext.value.ofType(CodeableConcept)) | (Citation.useContext.value.ofType(CodeableConcept)) | (CodeSystem.useContext.value.ofType(CodeableConcept)) | (CompartmentDefinition.useContext.value.ofType(CodeableConcept)) | (ConceptMap.useContext.value.ofType(CodeableConcept)) | (ConditionDefinition.useContext.value.ofType(CodeableConcept)) | (EventDefinition.useContext.value.ofType(CodeableConcept)) | (Evidence.useContext.value.ofType(CodeableConcept)) | (EvidenceReport.useContext.value.ofType(CodeableConcept)) | (EvidenceVariable.useContext.value.ofType(CodeableConcept)) | (ExampleScenario.useContext.value.ofType(CodeableConcept)) | (GraphDefinition.useContext.value.ofType(CodeableConcept)) | (ImplementationGuide.useContext.value.ofType(CodeableConcept)) | (Library.useContext.value.ofType(CodeableConcept)) | (Measure.useContext.value.ofType(CodeableConcept)) | (MessageDefinition.useContext.value.ofType(CodeableConcept)) | (NamingSystem.useContext.value.ofType(CodeableConcept)) | (OperationDefinition.useContext.value.ofType(CodeableConcept)) | (PlanDefinition.useContext.value.ofType(CodeableConcept)) | (Questionnaire.useContext.value.ofType(CodeableConcept)) | (Requirements.useContext.value.ofType(CodeableConcept)) | (SearchParameter.useContext.value.ofType(CodeableConcept)) | (StructureDefinition.useContext.value.ofType(CodeableConcept)) | (StructureMap.useContext.value.ofType(CodeableConcept)) | (TerminologyCapabilities.useContext.value.ofType(CodeableConcept)) | (TestScript.useContext.value.ofType(CodeableConcept)) | (ValueSet.useContext.value.ofType(CodeableConcept))</b><br> 7912 * </p> 7913 */ 7914 @SearchParamDefinition(name="context", path="(ActivityDefinition.useContext.value.ofType(CodeableConcept)) | (ActorDefinition.useContext.value.ofType(CodeableConcept)) | (CapabilityStatement.useContext.value.ofType(CodeableConcept)) | (ChargeItemDefinition.useContext.value.ofType(CodeableConcept)) | (Citation.useContext.value.ofType(CodeableConcept)) | (CodeSystem.useContext.value.ofType(CodeableConcept)) | (CompartmentDefinition.useContext.value.ofType(CodeableConcept)) | (ConceptMap.useContext.value.ofType(CodeableConcept)) | (ConditionDefinition.useContext.value.ofType(CodeableConcept)) | (EventDefinition.useContext.value.ofType(CodeableConcept)) | (Evidence.useContext.value.ofType(CodeableConcept)) | (EvidenceReport.useContext.value.ofType(CodeableConcept)) | (EvidenceVariable.useContext.value.ofType(CodeableConcept)) | (ExampleScenario.useContext.value.ofType(CodeableConcept)) | (GraphDefinition.useContext.value.ofType(CodeableConcept)) | (ImplementationGuide.useContext.value.ofType(CodeableConcept)) | (Library.useContext.value.ofType(CodeableConcept)) | (Measure.useContext.value.ofType(CodeableConcept)) | (MessageDefinition.useContext.value.ofType(CodeableConcept)) | (NamingSystem.useContext.value.ofType(CodeableConcept)) | (OperationDefinition.useContext.value.ofType(CodeableConcept)) | (PlanDefinition.useContext.value.ofType(CodeableConcept)) | (Questionnaire.useContext.value.ofType(CodeableConcept)) | (Requirements.useContext.value.ofType(CodeableConcept)) | (SearchParameter.useContext.value.ofType(CodeableConcept)) | (StructureDefinition.useContext.value.ofType(CodeableConcept)) | (StructureMap.useContext.value.ofType(CodeableConcept)) | (TerminologyCapabilities.useContext.value.ofType(CodeableConcept)) | (TestScript.useContext.value.ofType(CodeableConcept)) | (ValueSet.useContext.value.ofType(CodeableConcept))", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): A use context assigned to the activity definition\r\n* [ActorDefinition](actordefinition.html): A use context assigned to the Actor Definition\r\n* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement\r\n* [ChargeItemDefinition](chargeitemdefinition.html): A use context assigned to the charge item definition\r\n* [Citation](citation.html): A use context assigned to the citation\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* [ConditionDefinition](conditiondefinition.html): A use context assigned to the condition definition\r\n* [EventDefinition](eventdefinition.html): A use context assigned to the event definition\r\n* [Evidence](evidence.html): A use context assigned to the evidence\r\n* [EvidenceReport](evidencereport.html): A use context assigned to the evidence report\r\n* [EvidenceVariable](evidencevariable.html): A use context assigned to the evidence variable\r\n* [ExampleScenario](examplescenario.html): A use context assigned to the example scenario\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* [Library](library.html): A use context assigned to the library\r\n* [Measure](measure.html): A use context assigned to the measure\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* [PlanDefinition](plandefinition.html): A use context assigned to the plan definition\r\n* [Questionnaire](questionnaire.html): A use context assigned to the questionnaire\r\n* [Requirements](requirements.html): A use context assigned to the requirements\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* [TestScript](testscript.html): A use context assigned to the test script\r\n* [ValueSet](valueset.html): A use context assigned to the value set\r\n", type="token" ) 7915 public static final String SP_CONTEXT = "context"; 7916 /** 7917 * <b>Fluent Client</b> search parameter constant for <b>context</b> 7918 * <p> 7919 * Description: <b>Multiple Resources: 7920 7921* [ActivityDefinition](activitydefinition.html): A use context assigned to the activity definition 7922* [ActorDefinition](actordefinition.html): A use context assigned to the Actor Definition 7923* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement 7924* [ChargeItemDefinition](chargeitemdefinition.html): A use context assigned to the charge item definition 7925* [Citation](citation.html): A use context assigned to the citation 7926* [CodeSystem](codesystem.html): A use context assigned to the code system 7927* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition 7928* [ConceptMap](conceptmap.html): A use context assigned to the concept map 7929* [ConditionDefinition](conditiondefinition.html): A use context assigned to the condition definition 7930* [EventDefinition](eventdefinition.html): A use context assigned to the event definition 7931* [Evidence](evidence.html): A use context assigned to the evidence 7932* [EvidenceReport](evidencereport.html): A use context assigned to the evidence report 7933* [EvidenceVariable](evidencevariable.html): A use context assigned to the evidence variable 7934* [ExampleScenario](examplescenario.html): A use context assigned to the example scenario 7935* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition 7936* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide 7937* [Library](library.html): A use context assigned to the library 7938* [Measure](measure.html): A use context assigned to the measure 7939* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition 7940* [NamingSystem](namingsystem.html): A use context assigned to the naming system 7941* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition 7942* [PlanDefinition](plandefinition.html): A use context assigned to the plan definition 7943* [Questionnaire](questionnaire.html): A use context assigned to the questionnaire 7944* [Requirements](requirements.html): A use context assigned to the requirements 7945* [SearchParameter](searchparameter.html): A use context assigned to the search parameter 7946* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition 7947* [StructureMap](structuremap.html): A use context assigned to the structure map 7948* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities 7949* [TestScript](testscript.html): A use context assigned to the test script 7950* [ValueSet](valueset.html): A use context assigned to the value set 7951</b><br> 7952 * Type: <b>token</b><br> 7953 * Path: <b>(ActivityDefinition.useContext.value.ofType(CodeableConcept)) | (ActorDefinition.useContext.value.ofType(CodeableConcept)) | (CapabilityStatement.useContext.value.ofType(CodeableConcept)) | (ChargeItemDefinition.useContext.value.ofType(CodeableConcept)) | (Citation.useContext.value.ofType(CodeableConcept)) | (CodeSystem.useContext.value.ofType(CodeableConcept)) | (CompartmentDefinition.useContext.value.ofType(CodeableConcept)) | (ConceptMap.useContext.value.ofType(CodeableConcept)) | (ConditionDefinition.useContext.value.ofType(CodeableConcept)) | (EventDefinition.useContext.value.ofType(CodeableConcept)) | (Evidence.useContext.value.ofType(CodeableConcept)) | (EvidenceReport.useContext.value.ofType(CodeableConcept)) | (EvidenceVariable.useContext.value.ofType(CodeableConcept)) | (ExampleScenario.useContext.value.ofType(CodeableConcept)) | (GraphDefinition.useContext.value.ofType(CodeableConcept)) | (ImplementationGuide.useContext.value.ofType(CodeableConcept)) | (Library.useContext.value.ofType(CodeableConcept)) | (Measure.useContext.value.ofType(CodeableConcept)) | (MessageDefinition.useContext.value.ofType(CodeableConcept)) | (NamingSystem.useContext.value.ofType(CodeableConcept)) | (OperationDefinition.useContext.value.ofType(CodeableConcept)) | (PlanDefinition.useContext.value.ofType(CodeableConcept)) | (Questionnaire.useContext.value.ofType(CodeableConcept)) | (Requirements.useContext.value.ofType(CodeableConcept)) | (SearchParameter.useContext.value.ofType(CodeableConcept)) | (StructureDefinition.useContext.value.ofType(CodeableConcept)) | (StructureMap.useContext.value.ofType(CodeableConcept)) | (TerminologyCapabilities.useContext.value.ofType(CodeableConcept)) | (TestScript.useContext.value.ofType(CodeableConcept)) | (ValueSet.useContext.value.ofType(CodeableConcept))</b><br> 7954 * </p> 7955 */ 7956 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONTEXT); 7957 7958 /** 7959 * Search parameter: <b>date</b> 7960 * <p> 7961 * Description: <b>Multiple Resources: 7962 7963* [ActivityDefinition](activitydefinition.html): The activity definition publication date 7964* [ActorDefinition](actordefinition.html): The Actor Definition publication date 7965* [CapabilityStatement](capabilitystatement.html): The capability statement publication date 7966* [ChargeItemDefinition](chargeitemdefinition.html): The charge item definition publication date 7967* [Citation](citation.html): The citation publication date 7968* [CodeSystem](codesystem.html): The code system publication date 7969* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date 7970* [ConceptMap](conceptmap.html): The concept map publication date 7971* [ConditionDefinition](conditiondefinition.html): The condition definition publication date 7972* [EventDefinition](eventdefinition.html): The event definition publication date 7973* [Evidence](evidence.html): The evidence publication date 7974* [EvidenceVariable](evidencevariable.html): The evidence variable publication date 7975* [ExampleScenario](examplescenario.html): The example scenario publication date 7976* [GraphDefinition](graphdefinition.html): The graph definition publication date 7977* [ImplementationGuide](implementationguide.html): The implementation guide publication date 7978* [Library](library.html): The library publication date 7979* [Measure](measure.html): The measure publication date 7980* [MessageDefinition](messagedefinition.html): The message definition publication date 7981* [NamingSystem](namingsystem.html): The naming system publication date 7982* [OperationDefinition](operationdefinition.html): The operation definition publication date 7983* [PlanDefinition](plandefinition.html): The plan definition publication date 7984* [Questionnaire](questionnaire.html): The questionnaire publication date 7985* [Requirements](requirements.html): The requirements publication date 7986* [SearchParameter](searchparameter.html): The search parameter publication date 7987* [StructureDefinition](structuredefinition.html): The structure definition publication date 7988* [StructureMap](structuremap.html): The structure map publication date 7989* [SubscriptionTopic](subscriptiontopic.html): Date status first applied 7990* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date 7991* [TestScript](testscript.html): The test script publication date 7992* [ValueSet](valueset.html): The value set publication date 7993</b><br> 7994 * Type: <b>date</b><br> 7995 * Path: <b>ActivityDefinition.date | ActorDefinition.date | CapabilityStatement.date | ChargeItemDefinition.date | Citation.date | CodeSystem.date | CompartmentDefinition.date | ConceptMap.date | ConditionDefinition.date | EventDefinition.date | Evidence.date | EvidenceVariable.date | ExampleScenario.date | GraphDefinition.date | ImplementationGuide.date | Library.date | Measure.date | MessageDefinition.date | NamingSystem.date | OperationDefinition.date | PlanDefinition.date | Questionnaire.date | Requirements.date | SearchParameter.date | StructureDefinition.date | StructureMap.date | SubscriptionTopic.date | TerminologyCapabilities.date | TestScript.date | ValueSet.date</b><br> 7996 * </p> 7997 */ 7998 @SearchParamDefinition(name="date", path="ActivityDefinition.date | ActorDefinition.date | CapabilityStatement.date | ChargeItemDefinition.date | Citation.date | CodeSystem.date | CompartmentDefinition.date | ConceptMap.date | ConditionDefinition.date | EventDefinition.date | Evidence.date | EvidenceVariable.date | ExampleScenario.date | GraphDefinition.date | ImplementationGuide.date | Library.date | Measure.date | MessageDefinition.date | NamingSystem.date | OperationDefinition.date | PlanDefinition.date | Questionnaire.date | Requirements.date | SearchParameter.date | StructureDefinition.date | StructureMap.date | SubscriptionTopic.date | TerminologyCapabilities.date | TestScript.date | ValueSet.date", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): The activity definition publication date\r\n* [ActorDefinition](actordefinition.html): The Actor Definition publication date\r\n* [CapabilityStatement](capabilitystatement.html): The capability statement publication date\r\n* [ChargeItemDefinition](chargeitemdefinition.html): The charge item definition publication date\r\n* [Citation](citation.html): The citation 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* [ConditionDefinition](conditiondefinition.html): The condition definition publication date\r\n* [EventDefinition](eventdefinition.html): The event definition publication date\r\n* [Evidence](evidence.html): The evidence publication date\r\n* [EvidenceVariable](evidencevariable.html): The evidence variable publication date\r\n* [ExampleScenario](examplescenario.html): The example scenario publication date\r\n* [GraphDefinition](graphdefinition.html): The graph definition publication date\r\n* [ImplementationGuide](implementationguide.html): The implementation guide publication date\r\n* [Library](library.html): The library publication date\r\n* [Measure](measure.html): The measure 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* [PlanDefinition](plandefinition.html): The plan definition publication date\r\n* [Questionnaire](questionnaire.html): The questionnaire publication date\r\n* [Requirements](requirements.html): The requirements 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* [SubscriptionTopic](subscriptiontopic.html): Date status first applied\r\n* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date\r\n* [TestScript](testscript.html): The test script publication date\r\n* [ValueSet](valueset.html): The value set publication date\r\n", type="date" ) 7999 public static final String SP_DATE = "date"; 8000 /** 8001 * <b>Fluent Client</b> search parameter constant for <b>date</b> 8002 * <p> 8003 * Description: <b>Multiple Resources: 8004 8005* [ActivityDefinition](activitydefinition.html): The activity definition publication date 8006* [ActorDefinition](actordefinition.html): The Actor Definition publication date 8007* [CapabilityStatement](capabilitystatement.html): The capability statement publication date 8008* [ChargeItemDefinition](chargeitemdefinition.html): The charge item definition publication date 8009* [Citation](citation.html): The citation publication date 8010* [CodeSystem](codesystem.html): The code system publication date 8011* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date 8012* [ConceptMap](conceptmap.html): The concept map publication date 8013* [ConditionDefinition](conditiondefinition.html): The condition definition publication date 8014* [EventDefinition](eventdefinition.html): The event definition publication date 8015* [Evidence](evidence.html): The evidence publication date 8016* [EvidenceVariable](evidencevariable.html): The evidence variable publication date 8017* [ExampleScenario](examplescenario.html): The example scenario publication date 8018* [GraphDefinition](graphdefinition.html): The graph definition publication date 8019* [ImplementationGuide](implementationguide.html): The implementation guide publication date 8020* [Library](library.html): The library publication date 8021* [Measure](measure.html): The measure publication date 8022* [MessageDefinition](messagedefinition.html): The message definition publication date 8023* [NamingSystem](namingsystem.html): The naming system publication date 8024* [OperationDefinition](operationdefinition.html): The operation definition publication date 8025* [PlanDefinition](plandefinition.html): The plan definition publication date 8026* [Questionnaire](questionnaire.html): The questionnaire publication date 8027* [Requirements](requirements.html): The requirements publication date 8028* [SearchParameter](searchparameter.html): The search parameter publication date 8029* [StructureDefinition](structuredefinition.html): The structure definition publication date 8030* [StructureMap](structuremap.html): The structure map publication date 8031* [SubscriptionTopic](subscriptiontopic.html): Date status first applied 8032* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date 8033* [TestScript](testscript.html): The test script publication date 8034* [ValueSet](valueset.html): The value set publication date 8035</b><br> 8036 * Type: <b>date</b><br> 8037 * Path: <b>ActivityDefinition.date | ActorDefinition.date | CapabilityStatement.date | ChargeItemDefinition.date | Citation.date | CodeSystem.date | CompartmentDefinition.date | ConceptMap.date | ConditionDefinition.date | EventDefinition.date | Evidence.date | EvidenceVariable.date | ExampleScenario.date | GraphDefinition.date | ImplementationGuide.date | Library.date | Measure.date | MessageDefinition.date | NamingSystem.date | OperationDefinition.date | PlanDefinition.date | Questionnaire.date | Requirements.date | SearchParameter.date | StructureDefinition.date | StructureMap.date | SubscriptionTopic.date | TerminologyCapabilities.date | TestScript.date | ValueSet.date</b><br> 8038 * </p> 8039 */ 8040 public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE); 8041 8042 /** 8043 * Search parameter: <b>description</b> 8044 * <p> 8045 * Description: <b>Multiple Resources: 8046 8047* [ActivityDefinition](activitydefinition.html): The description of the activity definition 8048* [ActorDefinition](actordefinition.html): The description of the Actor Definition 8049* [CapabilityStatement](capabilitystatement.html): The description of the capability statement 8050* [ChargeItemDefinition](chargeitemdefinition.html): The description of the charge item definition 8051* [Citation](citation.html): The description of the citation 8052* [CodeSystem](codesystem.html): The description of the code system 8053* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition 8054* [ConceptMap](conceptmap.html): The description of the concept map 8055* [ConditionDefinition](conditiondefinition.html): The description of the condition definition 8056* [EventDefinition](eventdefinition.html): The description of the event definition 8057* [Evidence](evidence.html): The description of the evidence 8058* [EvidenceVariable](evidencevariable.html): The description of the evidence variable 8059* [GraphDefinition](graphdefinition.html): The description of the graph definition 8060* [ImplementationGuide](implementationguide.html): The description of the implementation guide 8061* [Library](library.html): The description of the library 8062* [Measure](measure.html): The description of the measure 8063* [MessageDefinition](messagedefinition.html): The description of the message definition 8064* [NamingSystem](namingsystem.html): The description of the naming system 8065* [OperationDefinition](operationdefinition.html): The description of the operation definition 8066* [PlanDefinition](plandefinition.html): The description of the plan definition 8067* [Questionnaire](questionnaire.html): The description of the questionnaire 8068* [Requirements](requirements.html): The description of the requirements 8069* [SearchParameter](searchparameter.html): The description of the search parameter 8070* [StructureDefinition](structuredefinition.html): The description of the structure definition 8071* [StructureMap](structuremap.html): The description of the structure map 8072* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities 8073* [TestScript](testscript.html): The description of the test script 8074* [ValueSet](valueset.html): The description of the value set 8075</b><br> 8076 * Type: <b>string</b><br> 8077 * Path: <b>ActivityDefinition.description | ActorDefinition.description | CapabilityStatement.description | ChargeItemDefinition.description | Citation.description | CodeSystem.description | CompartmentDefinition.description | ConceptMap.description | ConditionDefinition.description | EventDefinition.description | Evidence.description | EvidenceVariable.description | GraphDefinition.description | ImplementationGuide.description | Library.description | Measure.description | MessageDefinition.description | NamingSystem.description | OperationDefinition.description | PlanDefinition.description | Questionnaire.description | Requirements.description | SearchParameter.description | StructureDefinition.description | StructureMap.description | TerminologyCapabilities.description | TestScript.description | ValueSet.description</b><br> 8078 * </p> 8079 */ 8080 @SearchParamDefinition(name="description", path="ActivityDefinition.description | ActorDefinition.description | CapabilityStatement.description | ChargeItemDefinition.description | Citation.description | CodeSystem.description | CompartmentDefinition.description | ConceptMap.description | ConditionDefinition.description | EventDefinition.description | Evidence.description | EvidenceVariable.description | GraphDefinition.description | ImplementationGuide.description | Library.description | Measure.description | MessageDefinition.description | NamingSystem.description | OperationDefinition.description | PlanDefinition.description | Questionnaire.description | Requirements.description | SearchParameter.description | StructureDefinition.description | StructureMap.description | TerminologyCapabilities.description | TestScript.description | ValueSet.description", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): The description of the activity definition\r\n* [ActorDefinition](actordefinition.html): The description of the Actor Definition\r\n* [CapabilityStatement](capabilitystatement.html): The description of the capability statement\r\n* [ChargeItemDefinition](chargeitemdefinition.html): The description of the charge item definition\r\n* [Citation](citation.html): The description of the citation\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* [ConditionDefinition](conditiondefinition.html): The description of the condition definition\r\n* [EventDefinition](eventdefinition.html): The description of the event definition\r\n* [Evidence](evidence.html): The description of the evidence\r\n* [EvidenceVariable](evidencevariable.html): The description of the evidence variable\r\n* [GraphDefinition](graphdefinition.html): The description of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The description of the implementation guide\r\n* [Library](library.html): The description of the library\r\n* [Measure](measure.html): The description of the measure\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* [PlanDefinition](plandefinition.html): The description of the plan definition\r\n* [Questionnaire](questionnaire.html): The description of the questionnaire\r\n* [Requirements](requirements.html): The description of the requirements\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* [TestScript](testscript.html): The description of the test script\r\n* [ValueSet](valueset.html): The description of the value set\r\n", type="string" ) 8081 public static final String SP_DESCRIPTION = "description"; 8082 /** 8083 * <b>Fluent Client</b> search parameter constant for <b>description</b> 8084 * <p> 8085 * Description: <b>Multiple Resources: 8086 8087* [ActivityDefinition](activitydefinition.html): The description of the activity definition 8088* [ActorDefinition](actordefinition.html): The description of the Actor Definition 8089* [CapabilityStatement](capabilitystatement.html): The description of the capability statement 8090* [ChargeItemDefinition](chargeitemdefinition.html): The description of the charge item definition 8091* [Citation](citation.html): The description of the citation 8092* [CodeSystem](codesystem.html): The description of the code system 8093* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition 8094* [ConceptMap](conceptmap.html): The description of the concept map 8095* [ConditionDefinition](conditiondefinition.html): The description of the condition definition 8096* [EventDefinition](eventdefinition.html): The description of the event definition 8097* [Evidence](evidence.html): The description of the evidence 8098* [EvidenceVariable](evidencevariable.html): The description of the evidence variable 8099* [GraphDefinition](graphdefinition.html): The description of the graph definition 8100* [ImplementationGuide](implementationguide.html): The description of the implementation guide 8101* [Library](library.html): The description of the library 8102* [Measure](measure.html): The description of the measure 8103* [MessageDefinition](messagedefinition.html): The description of the message definition 8104* [NamingSystem](namingsystem.html): The description of the naming system 8105* [OperationDefinition](operationdefinition.html): The description of the operation definition 8106* [PlanDefinition](plandefinition.html): The description of the plan definition 8107* [Questionnaire](questionnaire.html): The description of the questionnaire 8108* [Requirements](requirements.html): The description of the requirements 8109* [SearchParameter](searchparameter.html): The description of the search parameter 8110* [StructureDefinition](structuredefinition.html): The description of the structure definition 8111* [StructureMap](structuremap.html): The description of the structure map 8112* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities 8113* [TestScript](testscript.html): The description of the test script 8114* [ValueSet](valueset.html): The description of the value set 8115</b><br> 8116 * Type: <b>string</b><br> 8117 * Path: <b>ActivityDefinition.description | ActorDefinition.description | CapabilityStatement.description | ChargeItemDefinition.description | Citation.description | CodeSystem.description | CompartmentDefinition.description | ConceptMap.description | ConditionDefinition.description | EventDefinition.description | Evidence.description | EvidenceVariable.description | GraphDefinition.description | ImplementationGuide.description | Library.description | Measure.description | MessageDefinition.description | NamingSystem.description | OperationDefinition.description | PlanDefinition.description | Questionnaire.description | Requirements.description | SearchParameter.description | StructureDefinition.description | StructureMap.description | TerminologyCapabilities.description | TestScript.description | ValueSet.description</b><br> 8118 * </p> 8119 */ 8120 public static final ca.uhn.fhir.rest.gclient.StringClientParam DESCRIPTION = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_DESCRIPTION); 8121 8122 /** 8123 * Search parameter: <b>identifier</b> 8124 * <p> 8125 * Description: <b>Multiple Resources: 8126 8127* [ActivityDefinition](activitydefinition.html): External identifier for the activity definition 8128* [ActorDefinition](actordefinition.html): External identifier for the Actor Definition 8129* [CapabilityStatement](capabilitystatement.html): External identifier for the capability statement 8130* [ChargeItemDefinition](chargeitemdefinition.html): External identifier for the charge item definition 8131* [Citation](citation.html): External identifier for the citation 8132* [CodeSystem](codesystem.html): External identifier for the code system 8133* [ConceptMap](conceptmap.html): External identifier for the concept map 8134* [ConditionDefinition](conditiondefinition.html): External identifier for the condition definition 8135* [EventDefinition](eventdefinition.html): External identifier for the event definition 8136* [Evidence](evidence.html): External identifier for the evidence 8137* [EvidenceReport](evidencereport.html): External identifier for the evidence report 8138* [EvidenceVariable](evidencevariable.html): External identifier for the evidence variable 8139* [ExampleScenario](examplescenario.html): External identifier for the example scenario 8140* [GraphDefinition](graphdefinition.html): External identifier for the graph definition 8141* [ImplementationGuide](implementationguide.html): External identifier for the implementation guide 8142* [Library](library.html): External identifier for the library 8143* [Measure](measure.html): External identifier for the measure 8144* [MedicationKnowledge](medicationknowledge.html): Business identifier for this medication 8145* [MessageDefinition](messagedefinition.html): External identifier for the message definition 8146* [NamingSystem](namingsystem.html): External identifier for the naming system 8147* [ObservationDefinition](observationdefinition.html): The unique identifier associated with the specimen definition 8148* [OperationDefinition](operationdefinition.html): External identifier for the search parameter 8149* [PlanDefinition](plandefinition.html): External identifier for the plan definition 8150* [Questionnaire](questionnaire.html): External identifier for the questionnaire 8151* [Requirements](requirements.html): External identifier for the requirements 8152* [SearchParameter](searchparameter.html): External identifier for the search parameter 8153* [SpecimenDefinition](specimendefinition.html): The unique identifier associated with the SpecimenDefinition 8154* [StructureDefinition](structuredefinition.html): External identifier for the structure definition 8155* [StructureMap](structuremap.html): External identifier for the structure map 8156* [SubscriptionTopic](subscriptiontopic.html): Business Identifier for SubscriptionTopic 8157* [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities 8158* [TestPlan](testplan.html): An identifier for the test plan 8159* [TestScript](testscript.html): External identifier for the test script 8160* [ValueSet](valueset.html): External identifier for the value set 8161</b><br> 8162 * Type: <b>token</b><br> 8163 * Path: <b>ActivityDefinition.identifier | ActorDefinition.identifier | CapabilityStatement.identifier | ChargeItemDefinition.identifier | Citation.identifier | CodeSystem.identifier | ConceptMap.identifier | ConditionDefinition.identifier | EventDefinition.identifier | Evidence.identifier | EvidenceReport.identifier | EvidenceVariable.identifier | ExampleScenario.identifier | GraphDefinition.identifier | ImplementationGuide.identifier | Library.identifier | Measure.identifier | MedicationKnowledge.identifier | MessageDefinition.identifier | NamingSystem.identifier | ObservationDefinition.identifier | OperationDefinition.identifier | PlanDefinition.identifier | Questionnaire.identifier | Requirements.identifier | SearchParameter.identifier | SpecimenDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | SubscriptionTopic.identifier | TerminologyCapabilities.identifier | TestPlan.identifier | TestScript.identifier | ValueSet.identifier</b><br> 8164 * </p> 8165 */ 8166 @SearchParamDefinition(name="identifier", path="ActivityDefinition.identifier | ActorDefinition.identifier | CapabilityStatement.identifier | ChargeItemDefinition.identifier | Citation.identifier | CodeSystem.identifier | ConceptMap.identifier | ConditionDefinition.identifier | EventDefinition.identifier | Evidence.identifier | EvidenceReport.identifier | EvidenceVariable.identifier | ExampleScenario.identifier | GraphDefinition.identifier | ImplementationGuide.identifier | Library.identifier | Measure.identifier | MedicationKnowledge.identifier | MessageDefinition.identifier | NamingSystem.identifier | ObservationDefinition.identifier | OperationDefinition.identifier | PlanDefinition.identifier | Questionnaire.identifier | Requirements.identifier | SearchParameter.identifier | SpecimenDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | SubscriptionTopic.identifier | TerminologyCapabilities.identifier | TestPlan.identifier | TestScript.identifier | ValueSet.identifier", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): External identifier for the activity definition\r\n* [ActorDefinition](actordefinition.html): External identifier for the Actor Definition\r\n* [CapabilityStatement](capabilitystatement.html): External identifier for the capability statement\r\n* [ChargeItemDefinition](chargeitemdefinition.html): External identifier for the charge item definition\r\n* [Citation](citation.html): External identifier for the citation\r\n* [CodeSystem](codesystem.html): External identifier for the code system\r\n* [ConceptMap](conceptmap.html): External identifier for the concept map\r\n* [ConditionDefinition](conditiondefinition.html): External identifier for the condition definition\r\n* [EventDefinition](eventdefinition.html): External identifier for the event definition\r\n* [Evidence](evidence.html): External identifier for the evidence\r\n* [EvidenceReport](evidencereport.html): External identifier for the evidence report\r\n* [EvidenceVariable](evidencevariable.html): External identifier for the evidence variable\r\n* [ExampleScenario](examplescenario.html): External identifier for the example scenario\r\n* [GraphDefinition](graphdefinition.html): External identifier for the graph definition\r\n* [ImplementationGuide](implementationguide.html): External identifier for the implementation guide\r\n* [Library](library.html): External identifier for the library\r\n* [Measure](measure.html): External identifier for the measure\r\n* [MedicationKnowledge](medicationknowledge.html): Business identifier for this medication\r\n* [MessageDefinition](messagedefinition.html): External identifier for the message definition\r\n* [NamingSystem](namingsystem.html): External identifier for the naming system\r\n* [ObservationDefinition](observationdefinition.html): The unique identifier associated with the specimen definition\r\n* [OperationDefinition](operationdefinition.html): External identifier for the search parameter\r\n* [PlanDefinition](plandefinition.html): External identifier for the plan definition\r\n* [Questionnaire](questionnaire.html): External identifier for the questionnaire\r\n* [Requirements](requirements.html): External identifier for the requirements\r\n* [SearchParameter](searchparameter.html): External identifier for the search parameter\r\n* [SpecimenDefinition](specimendefinition.html): The unique identifier associated with the SpecimenDefinition\r\n* [StructureDefinition](structuredefinition.html): External identifier for the structure definition\r\n* [StructureMap](structuremap.html): External identifier for the structure map\r\n* [SubscriptionTopic](subscriptiontopic.html): Business Identifier for SubscriptionTopic\r\n* [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities\r\n* [TestPlan](testplan.html): An identifier for the test plan\r\n* [TestScript](testscript.html): External identifier for the test script\r\n* [ValueSet](valueset.html): External identifier for the value set\r\n", type="token" ) 8167 public static final String SP_IDENTIFIER = "identifier"; 8168 /** 8169 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 8170 * <p> 8171 * Description: <b>Multiple Resources: 8172 8173* [ActivityDefinition](activitydefinition.html): External identifier for the activity definition 8174* [ActorDefinition](actordefinition.html): External identifier for the Actor Definition 8175* [CapabilityStatement](capabilitystatement.html): External identifier for the capability statement 8176* [ChargeItemDefinition](chargeitemdefinition.html): External identifier for the charge item definition 8177* [Citation](citation.html): External identifier for the citation 8178* [CodeSystem](codesystem.html): External identifier for the code system 8179* [ConceptMap](conceptmap.html): External identifier for the concept map 8180* [ConditionDefinition](conditiondefinition.html): External identifier for the condition definition 8181* [EventDefinition](eventdefinition.html): External identifier for the event definition 8182* [Evidence](evidence.html): External identifier for the evidence 8183* [EvidenceReport](evidencereport.html): External identifier for the evidence report 8184* [EvidenceVariable](evidencevariable.html): External identifier for the evidence variable 8185* [ExampleScenario](examplescenario.html): External identifier for the example scenario 8186* [GraphDefinition](graphdefinition.html): External identifier for the graph definition 8187* [ImplementationGuide](implementationguide.html): External identifier for the implementation guide 8188* [Library](library.html): External identifier for the library 8189* [Measure](measure.html): External identifier for the measure 8190* [MedicationKnowledge](medicationknowledge.html): Business identifier for this medication 8191* [MessageDefinition](messagedefinition.html): External identifier for the message definition 8192* [NamingSystem](namingsystem.html): External identifier for the naming system 8193* [ObservationDefinition](observationdefinition.html): The unique identifier associated with the specimen definition 8194* [OperationDefinition](operationdefinition.html): External identifier for the search parameter 8195* [PlanDefinition](plandefinition.html): External identifier for the plan definition 8196* [Questionnaire](questionnaire.html): External identifier for the questionnaire 8197* [Requirements](requirements.html): External identifier for the requirements 8198* [SearchParameter](searchparameter.html): External identifier for the search parameter 8199* [SpecimenDefinition](specimendefinition.html): The unique identifier associated with the SpecimenDefinition 8200* [StructureDefinition](structuredefinition.html): External identifier for the structure definition 8201* [StructureMap](structuremap.html): External identifier for the structure map 8202* [SubscriptionTopic](subscriptiontopic.html): Business Identifier for SubscriptionTopic 8203* [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities 8204* [TestPlan](testplan.html): An identifier for the test plan 8205* [TestScript](testscript.html): External identifier for the test script 8206* [ValueSet](valueset.html): External identifier for the value set 8207</b><br> 8208 * Type: <b>token</b><br> 8209 * Path: <b>ActivityDefinition.identifier | ActorDefinition.identifier | CapabilityStatement.identifier | ChargeItemDefinition.identifier | Citation.identifier | CodeSystem.identifier | ConceptMap.identifier | ConditionDefinition.identifier | EventDefinition.identifier | Evidence.identifier | EvidenceReport.identifier | EvidenceVariable.identifier | ExampleScenario.identifier | GraphDefinition.identifier | ImplementationGuide.identifier | Library.identifier | Measure.identifier | MedicationKnowledge.identifier | MessageDefinition.identifier | NamingSystem.identifier | ObservationDefinition.identifier | OperationDefinition.identifier | PlanDefinition.identifier | Questionnaire.identifier | Requirements.identifier | SearchParameter.identifier | SpecimenDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | SubscriptionTopic.identifier | TerminologyCapabilities.identifier | TestPlan.identifier | TestScript.identifier | ValueSet.identifier</b><br> 8210 * </p> 8211 */ 8212 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 8213 8214 /** 8215 * Search parameter: <b>jurisdiction</b> 8216 * <p> 8217 * Description: <b>Multiple Resources: 8218 8219* [ActivityDefinition](activitydefinition.html): Intended jurisdiction for the activity definition 8220* [ActorDefinition](actordefinition.html): Intended jurisdiction for the Actor Definition 8221* [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement 8222* [ChargeItemDefinition](chargeitemdefinition.html): Intended jurisdiction for the charge item definition 8223* [Citation](citation.html): Intended jurisdiction for the citation 8224* [CodeSystem](codesystem.html): Intended jurisdiction for the code system 8225* [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map