001package org.hl7.fhir.r5.model; 002 003 004/* 005 Copyright (c) 2011+, HL7, Inc. 006 All rights reserved. 007 008 Redistribution and use in source and binary forms, with or without modification, \ 009 are permitted provided that the following conditions are met: 010 011 * Redistributions of source code must retain the above copyright notice, this \ 012 list of conditions and the following disclaimer. 013 * Redistributions in binary form must reproduce the above copyright notice, \ 014 this list of conditions and the following disclaimer in the documentation \ 015 and/or other materials provided with the distribution. 016 * Neither the name of HL7 nor the names of its contributors may be used to 017 endorse or promote products derived from this software without specific 018 prior written permission. 019 020 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND \ 021 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED \ 022 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \ 023 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, \ 024 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \ 025 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR \ 026 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, \ 027 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \ 028 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE \ 029 POSSIBILITY OF SUCH DAMAGE. 030 */ 031 032// Generated on Tue, Dec 13, 2022 17:53+1100 for FHIR vcurrent 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 kind of specimen with associated set of requirements. 052 */ 053@ResourceDef(name="SpecimenDefinition", profile="http://hl7.org/fhir/StructureDefinition/SpecimenDefinition") 054public class SpecimenDefinition extends DomainResource { 055 056 public enum SpecimenContainedPreference { 057 /** 058 * This type of contained specimen is preferred to collect this kind of specimen. 059 */ 060 PREFERRED, 061 /** 062 * This type of conditioned specimen is an alternate. 063 */ 064 ALTERNATE, 065 /** 066 * added to help the parsers with the generic types 067 */ 068 NULL; 069 public static SpecimenContainedPreference fromCode(String codeString) throws FHIRException { 070 if (codeString == null || "".equals(codeString)) 071 return null; 072 if ("preferred".equals(codeString)) 073 return PREFERRED; 074 if ("alternate".equals(codeString)) 075 return ALTERNATE; 076 if (Configuration.isAcceptInvalidEnums()) 077 return null; 078 else 079 throw new FHIRException("Unknown SpecimenContainedPreference code '"+codeString+"'"); 080 } 081 public String toCode() { 082 switch (this) { 083 case PREFERRED: return "preferred"; 084 case ALTERNATE: return "alternate"; 085 case NULL: return null; 086 default: return "?"; 087 } 088 } 089 public String getSystem() { 090 switch (this) { 091 case PREFERRED: return "http://hl7.org/fhir/specimen-contained-preference"; 092 case ALTERNATE: return "http://hl7.org/fhir/specimen-contained-preference"; 093 case NULL: return null; 094 default: return "?"; 095 } 096 } 097 public String getDefinition() { 098 switch (this) { 099 case PREFERRED: return "This type of contained specimen is preferred to collect this kind of specimen."; 100 case ALTERNATE: return "This type of conditioned specimen is an alternate."; 101 case NULL: return null; 102 default: return "?"; 103 } 104 } 105 public String getDisplay() { 106 switch (this) { 107 case PREFERRED: return "Preferred"; 108 case ALTERNATE: return "Alternate"; 109 case NULL: return null; 110 default: return "?"; 111 } 112 } 113 } 114 115 public static class SpecimenContainedPreferenceEnumFactory implements EnumFactory<SpecimenContainedPreference> { 116 public SpecimenContainedPreference fromCode(String codeString) throws IllegalArgumentException { 117 if (codeString == null || "".equals(codeString)) 118 if (codeString == null || "".equals(codeString)) 119 return null; 120 if ("preferred".equals(codeString)) 121 return SpecimenContainedPreference.PREFERRED; 122 if ("alternate".equals(codeString)) 123 return SpecimenContainedPreference.ALTERNATE; 124 throw new IllegalArgumentException("Unknown SpecimenContainedPreference code '"+codeString+"'"); 125 } 126 public Enumeration<SpecimenContainedPreference> fromType(PrimitiveType<?> code) throws FHIRException { 127 if (code == null) 128 return null; 129 if (code.isEmpty()) 130 return new Enumeration<SpecimenContainedPreference>(this, SpecimenContainedPreference.NULL, code); 131 String codeString = ((PrimitiveType) code).asStringValue(); 132 if (codeString == null || "".equals(codeString)) 133 return new Enumeration<SpecimenContainedPreference>(this, SpecimenContainedPreference.NULL, code); 134 if ("preferred".equals(codeString)) 135 return new Enumeration<SpecimenContainedPreference>(this, SpecimenContainedPreference.PREFERRED, code); 136 if ("alternate".equals(codeString)) 137 return new Enumeration<SpecimenContainedPreference>(this, SpecimenContainedPreference.ALTERNATE, code); 138 throw new FHIRException("Unknown SpecimenContainedPreference code '"+codeString+"'"); 139 } 140 public String toCode(SpecimenContainedPreference code) { 141 if (code == SpecimenContainedPreference.PREFERRED) 142 return "preferred"; 143 if (code == SpecimenContainedPreference.ALTERNATE) 144 return "alternate"; 145 return "?"; 146 } 147 public String toSystem(SpecimenContainedPreference code) { 148 return code.getSystem(); 149 } 150 } 151 152 @Block() 153 public static class SpecimenDefinitionTypeTestedComponent extends BackboneElement implements IBaseBackboneElement { 154 /** 155 * Primary of secondary specimen. 156 */ 157 @Child(name = "isDerived", type = {BooleanType.class}, order=1, min=0, max=1, modifier=false, summary=false) 158 @Description(shortDefinition="Primary or secondary specimen", formalDefinition="Primary of secondary specimen." ) 159 protected BooleanType isDerived; 160 161 /** 162 * The kind of specimen conditioned for testing expected by lab. 163 */ 164 @Child(name = "type", type = {CodeableConcept.class}, order=2, min=0, max=1, modifier=false, summary=false) 165 @Description(shortDefinition="Type of intended specimen", formalDefinition="The kind of specimen conditioned for testing expected by lab." ) 166 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://terminology.hl7.org/ValueSet/v2-0487") 167 protected CodeableConcept type; 168 169 /** 170 * The preference for this type of conditioned specimen. 171 */ 172 @Child(name = "preference", type = {CodeType.class}, order=3, min=1, max=1, modifier=false, summary=false) 173 @Description(shortDefinition="preferred | alternate", formalDefinition="The preference for this type of conditioned specimen." ) 174 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/specimen-contained-preference") 175 protected Enumeration<SpecimenContainedPreference> preference; 176 177 /** 178 * The specimen's container. 179 */ 180 @Child(name = "container", type = {}, order=4, min=0, max=1, modifier=false, summary=false) 181 @Description(shortDefinition="The specimen's container", formalDefinition="The specimen's container." ) 182 protected SpecimenDefinitionTypeTestedContainerComponent container; 183 184 /** 185 * Requirements for delivery and special handling of this kind of conditioned specimen. 186 */ 187 @Child(name = "requirement", type = {StringType.class}, order=5, min=0, max=1, modifier=false, summary=false) 188 @Description(shortDefinition="Requirements for specimen delivery and special handling", formalDefinition="Requirements for delivery and special handling of this kind of conditioned specimen." ) 189 protected StringType requirement; 190 191 /** 192 * The usual time that a specimen of this kind is retained after the ordered tests are completed, for the purpose of additional testing. 193 */ 194 @Child(name = "retentionTime", type = {Duration.class}, order=6, min=0, max=1, modifier=false, summary=false) 195 @Description(shortDefinition="The usual time for retaining this kind of specimen", formalDefinition="The usual time that a specimen of this kind is retained after the ordered tests are completed, for the purpose of additional testing." ) 196 protected Duration retentionTime; 197 198 /** 199 * Specimen can be used by only one test or panel if the value is "true". 200 */ 201 @Child(name = "singleUse", type = {BooleanType.class}, order=7, min=0, max=1, modifier=false, summary=false) 202 @Description(shortDefinition="Specimen for single use only", formalDefinition="Specimen can be used by only one test or panel if the value is \"true\"." ) 203 protected BooleanType singleUse; 204 205 /** 206 * Criterion for rejection of the specimen in its container by the laboratory. 207 */ 208 @Child(name = "rejectionCriterion", type = {CodeableConcept.class}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 209 @Description(shortDefinition="Criterion specified for specimen rejection", formalDefinition="Criterion for rejection of the specimen in its container by the laboratory." ) 210 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/rejection-criteria") 211 protected List<CodeableConcept> rejectionCriterion; 212 213 /** 214 * Set of instructions for preservation/transport of the specimen at a defined temperature interval, prior the testing process. 215 */ 216 @Child(name = "handling", type = {}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 217 @Description(shortDefinition="Specimen handling before testing", formalDefinition="Set of instructions for preservation/transport of the specimen at a defined temperature interval, prior the testing process." ) 218 protected List<SpecimenDefinitionTypeTestedHandlingComponent> handling; 219 220 /** 221 * Where the specimen will be tested: e.g., lab, sector, device or any combination of these. 222 */ 223 @Child(name = "testingDestination", type = {CodeableConcept.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 224 @Description(shortDefinition="Where the specimen will be tested", formalDefinition="Where the specimen will be tested: e.g., lab, sector, device or any combination of these." ) 225 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/diagnostic-service-sections") 226 protected List<CodeableConcept> testingDestination; 227 228 private static final long serialVersionUID = 1859673754L; 229 230 /** 231 * Constructor 232 */ 233 public SpecimenDefinitionTypeTestedComponent() { 234 super(); 235 } 236 237 /** 238 * Constructor 239 */ 240 public SpecimenDefinitionTypeTestedComponent(SpecimenContainedPreference preference) { 241 super(); 242 this.setPreference(preference); 243 } 244 245 /** 246 * @return {@link #isDerived} (Primary of secondary specimen.). This is the underlying object with id, value and extensions. The accessor "getIsDerived" gives direct access to the value 247 */ 248 public BooleanType getIsDerivedElement() { 249 if (this.isDerived == null) 250 if (Configuration.errorOnAutoCreate()) 251 throw new Error("Attempt to auto-create SpecimenDefinitionTypeTestedComponent.isDerived"); 252 else if (Configuration.doAutoCreate()) 253 this.isDerived = new BooleanType(); // bb 254 return this.isDerived; 255 } 256 257 public boolean hasIsDerivedElement() { 258 return this.isDerived != null && !this.isDerived.isEmpty(); 259 } 260 261 public boolean hasIsDerived() { 262 return this.isDerived != null && !this.isDerived.isEmpty(); 263 } 264 265 /** 266 * @param value {@link #isDerived} (Primary of secondary specimen.). This is the underlying object with id, value and extensions. The accessor "getIsDerived" gives direct access to the value 267 */ 268 public SpecimenDefinitionTypeTestedComponent setIsDerivedElement(BooleanType value) { 269 this.isDerived = value; 270 return this; 271 } 272 273 /** 274 * @return Primary of secondary specimen. 275 */ 276 public boolean getIsDerived() { 277 return this.isDerived == null || this.isDerived.isEmpty() ? false : this.isDerived.getValue(); 278 } 279 280 /** 281 * @param value Primary of secondary specimen. 282 */ 283 public SpecimenDefinitionTypeTestedComponent setIsDerived(boolean value) { 284 if (this.isDerived == null) 285 this.isDerived = new BooleanType(); 286 this.isDerived.setValue(value); 287 return this; 288 } 289 290 /** 291 * @return {@link #type} (The kind of specimen conditioned for testing expected by lab.) 292 */ 293 public CodeableConcept getType() { 294 if (this.type == null) 295 if (Configuration.errorOnAutoCreate()) 296 throw new Error("Attempt to auto-create SpecimenDefinitionTypeTestedComponent.type"); 297 else if (Configuration.doAutoCreate()) 298 this.type = new CodeableConcept(); // cc 299 return this.type; 300 } 301 302 public boolean hasType() { 303 return this.type != null && !this.type.isEmpty(); 304 } 305 306 /** 307 * @param value {@link #type} (The kind of specimen conditioned for testing expected by lab.) 308 */ 309 public SpecimenDefinitionTypeTestedComponent setType(CodeableConcept value) { 310 this.type = value; 311 return this; 312 } 313 314 /** 315 * @return {@link #preference} (The preference for this type of conditioned specimen.). This is the underlying object with id, value and extensions. The accessor "getPreference" gives direct access to the value 316 */ 317 public Enumeration<SpecimenContainedPreference> getPreferenceElement() { 318 if (this.preference == null) 319 if (Configuration.errorOnAutoCreate()) 320 throw new Error("Attempt to auto-create SpecimenDefinitionTypeTestedComponent.preference"); 321 else if (Configuration.doAutoCreate()) 322 this.preference = new Enumeration<SpecimenContainedPreference>(new SpecimenContainedPreferenceEnumFactory()); // bb 323 return this.preference; 324 } 325 326 public boolean hasPreferenceElement() { 327 return this.preference != null && !this.preference.isEmpty(); 328 } 329 330 public boolean hasPreference() { 331 return this.preference != null && !this.preference.isEmpty(); 332 } 333 334 /** 335 * @param value {@link #preference} (The preference for this type of conditioned specimen.). This is the underlying object with id, value and extensions. The accessor "getPreference" gives direct access to the value 336 */ 337 public SpecimenDefinitionTypeTestedComponent setPreferenceElement(Enumeration<SpecimenContainedPreference> value) { 338 this.preference = value; 339 return this; 340 } 341 342 /** 343 * @return The preference for this type of conditioned specimen. 344 */ 345 public SpecimenContainedPreference getPreference() { 346 return this.preference == null ? null : this.preference.getValue(); 347 } 348 349 /** 350 * @param value The preference for this type of conditioned specimen. 351 */ 352 public SpecimenDefinitionTypeTestedComponent setPreference(SpecimenContainedPreference value) { 353 if (this.preference == null) 354 this.preference = new Enumeration<SpecimenContainedPreference>(new SpecimenContainedPreferenceEnumFactory()); 355 this.preference.setValue(value); 356 return this; 357 } 358 359 /** 360 * @return {@link #container} (The specimen's container.) 361 */ 362 public SpecimenDefinitionTypeTestedContainerComponent getContainer() { 363 if (this.container == null) 364 if (Configuration.errorOnAutoCreate()) 365 throw new Error("Attempt to auto-create SpecimenDefinitionTypeTestedComponent.container"); 366 else if (Configuration.doAutoCreate()) 367 this.container = new SpecimenDefinitionTypeTestedContainerComponent(); // cc 368 return this.container; 369 } 370 371 public boolean hasContainer() { 372 return this.container != null && !this.container.isEmpty(); 373 } 374 375 /** 376 * @param value {@link #container} (The specimen's container.) 377 */ 378 public SpecimenDefinitionTypeTestedComponent setContainer(SpecimenDefinitionTypeTestedContainerComponent value) { 379 this.container = value; 380 return this; 381 } 382 383 /** 384 * @return {@link #requirement} (Requirements for delivery and special handling of this kind of conditioned specimen.). This is the underlying object with id, value and extensions. The accessor "getRequirement" gives direct access to the value 385 */ 386 public StringType getRequirementElement() { 387 if (this.requirement == null) 388 if (Configuration.errorOnAutoCreate()) 389 throw new Error("Attempt to auto-create SpecimenDefinitionTypeTestedComponent.requirement"); 390 else if (Configuration.doAutoCreate()) 391 this.requirement = new StringType(); // bb 392 return this.requirement; 393 } 394 395 public boolean hasRequirementElement() { 396 return this.requirement != null && !this.requirement.isEmpty(); 397 } 398 399 public boolean hasRequirement() { 400 return this.requirement != null && !this.requirement.isEmpty(); 401 } 402 403 /** 404 * @param value {@link #requirement} (Requirements for delivery and special handling of this kind of conditioned specimen.). This is the underlying object with id, value and extensions. The accessor "getRequirement" gives direct access to the value 405 */ 406 public SpecimenDefinitionTypeTestedComponent setRequirementElement(StringType value) { 407 this.requirement = value; 408 return this; 409 } 410 411 /** 412 * @return Requirements for delivery and special handling of this kind of conditioned specimen. 413 */ 414 public String getRequirement() { 415 return this.requirement == null ? null : this.requirement.getValue(); 416 } 417 418 /** 419 * @param value Requirements for delivery and special handling of this kind of conditioned specimen. 420 */ 421 public SpecimenDefinitionTypeTestedComponent setRequirement(String value) { 422 if (Utilities.noString(value)) 423 this.requirement = null; 424 else { 425 if (this.requirement == null) 426 this.requirement = new StringType(); 427 this.requirement.setValue(value); 428 } 429 return this; 430 } 431 432 /** 433 * @return {@link #retentionTime} (The usual time that a specimen of this kind is retained after the ordered tests are completed, for the purpose of additional testing.) 434 */ 435 public Duration getRetentionTime() { 436 if (this.retentionTime == null) 437 if (Configuration.errorOnAutoCreate()) 438 throw new Error("Attempt to auto-create SpecimenDefinitionTypeTestedComponent.retentionTime"); 439 else if (Configuration.doAutoCreate()) 440 this.retentionTime = new Duration(); // cc 441 return this.retentionTime; 442 } 443 444 public boolean hasRetentionTime() { 445 return this.retentionTime != null && !this.retentionTime.isEmpty(); 446 } 447 448 /** 449 * @param value {@link #retentionTime} (The usual time that a specimen of this kind is retained after the ordered tests are completed, for the purpose of additional testing.) 450 */ 451 public SpecimenDefinitionTypeTestedComponent setRetentionTime(Duration value) { 452 this.retentionTime = value; 453 return this; 454 } 455 456 /** 457 * @return {@link #singleUse} (Specimen can be used by only one test or panel if the value is "true".). This is the underlying object with id, value and extensions. The accessor "getSingleUse" gives direct access to the value 458 */ 459 public BooleanType getSingleUseElement() { 460 if (this.singleUse == null) 461 if (Configuration.errorOnAutoCreate()) 462 throw new Error("Attempt to auto-create SpecimenDefinitionTypeTestedComponent.singleUse"); 463 else if (Configuration.doAutoCreate()) 464 this.singleUse = new BooleanType(); // bb 465 return this.singleUse; 466 } 467 468 public boolean hasSingleUseElement() { 469 return this.singleUse != null && !this.singleUse.isEmpty(); 470 } 471 472 public boolean hasSingleUse() { 473 return this.singleUse != null && !this.singleUse.isEmpty(); 474 } 475 476 /** 477 * @param value {@link #singleUse} (Specimen can be used by only one test or panel if the value is "true".). This is the underlying object with id, value and extensions. The accessor "getSingleUse" gives direct access to the value 478 */ 479 public SpecimenDefinitionTypeTestedComponent setSingleUseElement(BooleanType value) { 480 this.singleUse = value; 481 return this; 482 } 483 484 /** 485 * @return Specimen can be used by only one test or panel if the value is "true". 486 */ 487 public boolean getSingleUse() { 488 return this.singleUse == null || this.singleUse.isEmpty() ? false : this.singleUse.getValue(); 489 } 490 491 /** 492 * @param value Specimen can be used by only one test or panel if the value is "true". 493 */ 494 public SpecimenDefinitionTypeTestedComponent setSingleUse(boolean value) { 495 if (this.singleUse == null) 496 this.singleUse = new BooleanType(); 497 this.singleUse.setValue(value); 498 return this; 499 } 500 501 /** 502 * @return {@link #rejectionCriterion} (Criterion for rejection of the specimen in its container by the laboratory.) 503 */ 504 public List<CodeableConcept> getRejectionCriterion() { 505 if (this.rejectionCriterion == null) 506 this.rejectionCriterion = new ArrayList<CodeableConcept>(); 507 return this.rejectionCriterion; 508 } 509 510 /** 511 * @return Returns a reference to <code>this</code> for easy method chaining 512 */ 513 public SpecimenDefinitionTypeTestedComponent setRejectionCriterion(List<CodeableConcept> theRejectionCriterion) { 514 this.rejectionCriterion = theRejectionCriterion; 515 return this; 516 } 517 518 public boolean hasRejectionCriterion() { 519 if (this.rejectionCriterion == null) 520 return false; 521 for (CodeableConcept item : this.rejectionCriterion) 522 if (!item.isEmpty()) 523 return true; 524 return false; 525 } 526 527 public CodeableConcept addRejectionCriterion() { //3 528 CodeableConcept t = new CodeableConcept(); 529 if (this.rejectionCriterion == null) 530 this.rejectionCriterion = new ArrayList<CodeableConcept>(); 531 this.rejectionCriterion.add(t); 532 return t; 533 } 534 535 public SpecimenDefinitionTypeTestedComponent addRejectionCriterion(CodeableConcept t) { //3 536 if (t == null) 537 return this; 538 if (this.rejectionCriterion == null) 539 this.rejectionCriterion = new ArrayList<CodeableConcept>(); 540 this.rejectionCriterion.add(t); 541 return this; 542 } 543 544 /** 545 * @return The first repetition of repeating field {@link #rejectionCriterion}, creating it if it does not already exist {3} 546 */ 547 public CodeableConcept getRejectionCriterionFirstRep() { 548 if (getRejectionCriterion().isEmpty()) { 549 addRejectionCriterion(); 550 } 551 return getRejectionCriterion().get(0); 552 } 553 554 /** 555 * @return {@link #handling} (Set of instructions for preservation/transport of the specimen at a defined temperature interval, prior the testing process.) 556 */ 557 public List<SpecimenDefinitionTypeTestedHandlingComponent> getHandling() { 558 if (this.handling == null) 559 this.handling = new ArrayList<SpecimenDefinitionTypeTestedHandlingComponent>(); 560 return this.handling; 561 } 562 563 /** 564 * @return Returns a reference to <code>this</code> for easy method chaining 565 */ 566 public SpecimenDefinitionTypeTestedComponent setHandling(List<SpecimenDefinitionTypeTestedHandlingComponent> theHandling) { 567 this.handling = theHandling; 568 return this; 569 } 570 571 public boolean hasHandling() { 572 if (this.handling == null) 573 return false; 574 for (SpecimenDefinitionTypeTestedHandlingComponent item : this.handling) 575 if (!item.isEmpty()) 576 return true; 577 return false; 578 } 579 580 public SpecimenDefinitionTypeTestedHandlingComponent addHandling() { //3 581 SpecimenDefinitionTypeTestedHandlingComponent t = new SpecimenDefinitionTypeTestedHandlingComponent(); 582 if (this.handling == null) 583 this.handling = new ArrayList<SpecimenDefinitionTypeTestedHandlingComponent>(); 584 this.handling.add(t); 585 return t; 586 } 587 588 public SpecimenDefinitionTypeTestedComponent addHandling(SpecimenDefinitionTypeTestedHandlingComponent t) { //3 589 if (t == null) 590 return this; 591 if (this.handling == null) 592 this.handling = new ArrayList<SpecimenDefinitionTypeTestedHandlingComponent>(); 593 this.handling.add(t); 594 return this; 595 } 596 597 /** 598 * @return The first repetition of repeating field {@link #handling}, creating it if it does not already exist {3} 599 */ 600 public SpecimenDefinitionTypeTestedHandlingComponent getHandlingFirstRep() { 601 if (getHandling().isEmpty()) { 602 addHandling(); 603 } 604 return getHandling().get(0); 605 } 606 607 /** 608 * @return {@link #testingDestination} (Where the specimen will be tested: e.g., lab, sector, device or any combination of these.) 609 */ 610 public List<CodeableConcept> getTestingDestination() { 611 if (this.testingDestination == null) 612 this.testingDestination = new ArrayList<CodeableConcept>(); 613 return this.testingDestination; 614 } 615 616 /** 617 * @return Returns a reference to <code>this</code> for easy method chaining 618 */ 619 public SpecimenDefinitionTypeTestedComponent setTestingDestination(List<CodeableConcept> theTestingDestination) { 620 this.testingDestination = theTestingDestination; 621 return this; 622 } 623 624 public boolean hasTestingDestination() { 625 if (this.testingDestination == null) 626 return false; 627 for (CodeableConcept item : this.testingDestination) 628 if (!item.isEmpty()) 629 return true; 630 return false; 631 } 632 633 public CodeableConcept addTestingDestination() { //3 634 CodeableConcept t = new CodeableConcept(); 635 if (this.testingDestination == null) 636 this.testingDestination = new ArrayList<CodeableConcept>(); 637 this.testingDestination.add(t); 638 return t; 639 } 640 641 public SpecimenDefinitionTypeTestedComponent addTestingDestination(CodeableConcept t) { //3 642 if (t == null) 643 return this; 644 if (this.testingDestination == null) 645 this.testingDestination = new ArrayList<CodeableConcept>(); 646 this.testingDestination.add(t); 647 return this; 648 } 649 650 /** 651 * @return The first repetition of repeating field {@link #testingDestination}, creating it if it does not already exist {3} 652 */ 653 public CodeableConcept getTestingDestinationFirstRep() { 654 if (getTestingDestination().isEmpty()) { 655 addTestingDestination(); 656 } 657 return getTestingDestination().get(0); 658 } 659 660 protected void listChildren(List<Property> children) { 661 super.listChildren(children); 662 children.add(new Property("isDerived", "boolean", "Primary of secondary specimen.", 0, 1, isDerived)); 663 children.add(new Property("type", "CodeableConcept", "The kind of specimen conditioned for testing expected by lab.", 0, 1, type)); 664 children.add(new Property("preference", "code", "The preference for this type of conditioned specimen.", 0, 1, preference)); 665 children.add(new Property("container", "", "The specimen's container.", 0, 1, container)); 666 children.add(new Property("requirement", "string", "Requirements for delivery and special handling of this kind of conditioned specimen.", 0, 1, requirement)); 667 children.add(new Property("retentionTime", "Duration", "The usual time that a specimen of this kind is retained after the ordered tests are completed, for the purpose of additional testing.", 0, 1, retentionTime)); 668 children.add(new Property("singleUse", "boolean", "Specimen can be used by only one test or panel if the value is \"true\".", 0, 1, singleUse)); 669 children.add(new Property("rejectionCriterion", "CodeableConcept", "Criterion for rejection of the specimen in its container by the laboratory.", 0, java.lang.Integer.MAX_VALUE, rejectionCriterion)); 670 children.add(new Property("handling", "", "Set of instructions for preservation/transport of the specimen at a defined temperature interval, prior the testing process.", 0, java.lang.Integer.MAX_VALUE, handling)); 671 children.add(new Property("testingDestination", "CodeableConcept", "Where the specimen will be tested: e.g., lab, sector, device or any combination of these.", 0, java.lang.Integer.MAX_VALUE, testingDestination)); 672 } 673 674 @Override 675 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 676 switch (_hash) { 677 case 976346515: /*isDerived*/ return new Property("isDerived", "boolean", "Primary of secondary specimen.", 0, 1, isDerived); 678 case 3575610: /*type*/ return new Property("type", "CodeableConcept", "The kind of specimen conditioned for testing expected by lab.", 0, 1, type); 679 case -1459831589: /*preference*/ return new Property("preference", "code", "The preference for this type of conditioned specimen.", 0, 1, preference); 680 case -410956671: /*container*/ return new Property("container", "", "The specimen's container.", 0, 1, container); 681 case 363387971: /*requirement*/ return new Property("requirement", "string", "Requirements for delivery and special handling of this kind of conditioned specimen.", 0, 1, requirement); 682 case 1434969867: /*retentionTime*/ return new Property("retentionTime", "Duration", "The usual time that a specimen of this kind is retained after the ordered tests are completed, for the purpose of additional testing.", 0, 1, retentionTime); 683 case -1494547425: /*singleUse*/ return new Property("singleUse", "boolean", "Specimen can be used by only one test or panel if the value is \"true\".", 0, 1, singleUse); 684 case -553706344: /*rejectionCriterion*/ return new Property("rejectionCriterion", "CodeableConcept", "Criterion for rejection of the specimen in its container by the laboratory.", 0, java.lang.Integer.MAX_VALUE, rejectionCriterion); 685 case 2072805: /*handling*/ return new Property("handling", "", "Set of instructions for preservation/transport of the specimen at a defined temperature interval, prior the testing process.", 0, java.lang.Integer.MAX_VALUE, handling); 686 case 939511774: /*testingDestination*/ return new Property("testingDestination", "CodeableConcept", "Where the specimen will be tested: e.g., lab, sector, device or any combination of these.", 0, java.lang.Integer.MAX_VALUE, testingDestination); 687 default: return super.getNamedProperty(_hash, _name, _checkValid); 688 } 689 690 } 691 692 @Override 693 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 694 switch (hash) { 695 case 976346515: /*isDerived*/ return this.isDerived == null ? new Base[0] : new Base[] {this.isDerived}; // BooleanType 696 case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeableConcept 697 case -1459831589: /*preference*/ return this.preference == null ? new Base[0] : new Base[] {this.preference}; // Enumeration<SpecimenContainedPreference> 698 case -410956671: /*container*/ return this.container == null ? new Base[0] : new Base[] {this.container}; // SpecimenDefinitionTypeTestedContainerComponent 699 case 363387971: /*requirement*/ return this.requirement == null ? new Base[0] : new Base[] {this.requirement}; // StringType 700 case 1434969867: /*retentionTime*/ return this.retentionTime == null ? new Base[0] : new Base[] {this.retentionTime}; // Duration 701 case -1494547425: /*singleUse*/ return this.singleUse == null ? new Base[0] : new Base[] {this.singleUse}; // BooleanType 702 case -553706344: /*rejectionCriterion*/ return this.rejectionCriterion == null ? new Base[0] : this.rejectionCriterion.toArray(new Base[this.rejectionCriterion.size()]); // CodeableConcept 703 case 2072805: /*handling*/ return this.handling == null ? new Base[0] : this.handling.toArray(new Base[this.handling.size()]); // SpecimenDefinitionTypeTestedHandlingComponent 704 case 939511774: /*testingDestination*/ return this.testingDestination == null ? new Base[0] : this.testingDestination.toArray(new Base[this.testingDestination.size()]); // CodeableConcept 705 default: return super.getProperty(hash, name, checkValid); 706 } 707 708 } 709 710 @Override 711 public Base setProperty(int hash, String name, Base value) throws FHIRException { 712 switch (hash) { 713 case 976346515: // isDerived 714 this.isDerived = TypeConvertor.castToBoolean(value); // BooleanType 715 return value; 716 case 3575610: // type 717 this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 718 return value; 719 case -1459831589: // preference 720 value = new SpecimenContainedPreferenceEnumFactory().fromType(TypeConvertor.castToCode(value)); 721 this.preference = (Enumeration) value; // Enumeration<SpecimenContainedPreference> 722 return value; 723 case -410956671: // container 724 this.container = (SpecimenDefinitionTypeTestedContainerComponent) value; // SpecimenDefinitionTypeTestedContainerComponent 725 return value; 726 case 363387971: // requirement 727 this.requirement = TypeConvertor.castToString(value); // StringType 728 return value; 729 case 1434969867: // retentionTime 730 this.retentionTime = TypeConvertor.castToDuration(value); // Duration 731 return value; 732 case -1494547425: // singleUse 733 this.singleUse = TypeConvertor.castToBoolean(value); // BooleanType 734 return value; 735 case -553706344: // rejectionCriterion 736 this.getRejectionCriterion().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 737 return value; 738 case 2072805: // handling 739 this.getHandling().add((SpecimenDefinitionTypeTestedHandlingComponent) value); // SpecimenDefinitionTypeTestedHandlingComponent 740 return value; 741 case 939511774: // testingDestination 742 this.getTestingDestination().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 743 return value; 744 default: return super.setProperty(hash, name, value); 745 } 746 747 } 748 749 @Override 750 public Base setProperty(String name, Base value) throws FHIRException { 751 if (name.equals("isDerived")) { 752 this.isDerived = TypeConvertor.castToBoolean(value); // BooleanType 753 } else if (name.equals("type")) { 754 this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 755 } else if (name.equals("preference")) { 756 value = new SpecimenContainedPreferenceEnumFactory().fromType(TypeConvertor.castToCode(value)); 757 this.preference = (Enumeration) value; // Enumeration<SpecimenContainedPreference> 758 } else if (name.equals("container")) { 759 this.container = (SpecimenDefinitionTypeTestedContainerComponent) value; // SpecimenDefinitionTypeTestedContainerComponent 760 } else if (name.equals("requirement")) { 761 this.requirement = TypeConvertor.castToString(value); // StringType 762 } else if (name.equals("retentionTime")) { 763 this.retentionTime = TypeConvertor.castToDuration(value); // Duration 764 } else if (name.equals("singleUse")) { 765 this.singleUse = TypeConvertor.castToBoolean(value); // BooleanType 766 } else if (name.equals("rejectionCriterion")) { 767 this.getRejectionCriterion().add(TypeConvertor.castToCodeableConcept(value)); 768 } else if (name.equals("handling")) { 769 this.getHandling().add((SpecimenDefinitionTypeTestedHandlingComponent) value); 770 } else if (name.equals("testingDestination")) { 771 this.getTestingDestination().add(TypeConvertor.castToCodeableConcept(value)); 772 } else 773 return super.setProperty(name, value); 774 return value; 775 } 776 777 @Override 778 public Base makeProperty(int hash, String name) throws FHIRException { 779 switch (hash) { 780 case 976346515: return getIsDerivedElement(); 781 case 3575610: return getType(); 782 case -1459831589: return getPreferenceElement(); 783 case -410956671: return getContainer(); 784 case 363387971: return getRequirementElement(); 785 case 1434969867: return getRetentionTime(); 786 case -1494547425: return getSingleUseElement(); 787 case -553706344: return addRejectionCriterion(); 788 case 2072805: return addHandling(); 789 case 939511774: return addTestingDestination(); 790 default: return super.makeProperty(hash, name); 791 } 792 793 } 794 795 @Override 796 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 797 switch (hash) { 798 case 976346515: /*isDerived*/ return new String[] {"boolean"}; 799 case 3575610: /*type*/ return new String[] {"CodeableConcept"}; 800 case -1459831589: /*preference*/ return new String[] {"code"}; 801 case -410956671: /*container*/ return new String[] {}; 802 case 363387971: /*requirement*/ return new String[] {"string"}; 803 case 1434969867: /*retentionTime*/ return new String[] {"Duration"}; 804 case -1494547425: /*singleUse*/ return new String[] {"boolean"}; 805 case -553706344: /*rejectionCriterion*/ return new String[] {"CodeableConcept"}; 806 case 2072805: /*handling*/ return new String[] {}; 807 case 939511774: /*testingDestination*/ return new String[] {"CodeableConcept"}; 808 default: return super.getTypesForProperty(hash, name); 809 } 810 811 } 812 813 @Override 814 public Base addChild(String name) throws FHIRException { 815 if (name.equals("isDerived")) { 816 throw new FHIRException("Cannot call addChild on a primitive type SpecimenDefinition.typeTested.isDerived"); 817 } 818 else if (name.equals("type")) { 819 this.type = new CodeableConcept(); 820 return this.type; 821 } 822 else if (name.equals("preference")) { 823 throw new FHIRException("Cannot call addChild on a primitive type SpecimenDefinition.typeTested.preference"); 824 } 825 else if (name.equals("container")) { 826 this.container = new SpecimenDefinitionTypeTestedContainerComponent(); 827 return this.container; 828 } 829 else if (name.equals("requirement")) { 830 throw new FHIRException("Cannot call addChild on a primitive type SpecimenDefinition.typeTested.requirement"); 831 } 832 else if (name.equals("retentionTime")) { 833 this.retentionTime = new Duration(); 834 return this.retentionTime; 835 } 836 else if (name.equals("singleUse")) { 837 throw new FHIRException("Cannot call addChild on a primitive type SpecimenDefinition.typeTested.singleUse"); 838 } 839 else if (name.equals("rejectionCriterion")) { 840 return addRejectionCriterion(); 841 } 842 else if (name.equals("handling")) { 843 return addHandling(); 844 } 845 else if (name.equals("testingDestination")) { 846 return addTestingDestination(); 847 } 848 else 849 return super.addChild(name); 850 } 851 852 public SpecimenDefinitionTypeTestedComponent copy() { 853 SpecimenDefinitionTypeTestedComponent dst = new SpecimenDefinitionTypeTestedComponent(); 854 copyValues(dst); 855 return dst; 856 } 857 858 public void copyValues(SpecimenDefinitionTypeTestedComponent dst) { 859 super.copyValues(dst); 860 dst.isDerived = isDerived == null ? null : isDerived.copy(); 861 dst.type = type == null ? null : type.copy(); 862 dst.preference = preference == null ? null : preference.copy(); 863 dst.container = container == null ? null : container.copy(); 864 dst.requirement = requirement == null ? null : requirement.copy(); 865 dst.retentionTime = retentionTime == null ? null : retentionTime.copy(); 866 dst.singleUse = singleUse == null ? null : singleUse.copy(); 867 if (rejectionCriterion != null) { 868 dst.rejectionCriterion = new ArrayList<CodeableConcept>(); 869 for (CodeableConcept i : rejectionCriterion) 870 dst.rejectionCriterion.add(i.copy()); 871 }; 872 if (handling != null) { 873 dst.handling = new ArrayList<SpecimenDefinitionTypeTestedHandlingComponent>(); 874 for (SpecimenDefinitionTypeTestedHandlingComponent i : handling) 875 dst.handling.add(i.copy()); 876 }; 877 if (testingDestination != null) { 878 dst.testingDestination = new ArrayList<CodeableConcept>(); 879 for (CodeableConcept i : testingDestination) 880 dst.testingDestination.add(i.copy()); 881 }; 882 } 883 884 @Override 885 public boolean equalsDeep(Base other_) { 886 if (!super.equalsDeep(other_)) 887 return false; 888 if (!(other_ instanceof SpecimenDefinitionTypeTestedComponent)) 889 return false; 890 SpecimenDefinitionTypeTestedComponent o = (SpecimenDefinitionTypeTestedComponent) other_; 891 return compareDeep(isDerived, o.isDerived, true) && compareDeep(type, o.type, true) && compareDeep(preference, o.preference, true) 892 && compareDeep(container, o.container, true) && compareDeep(requirement, o.requirement, true) && compareDeep(retentionTime, o.retentionTime, true) 893 && compareDeep(singleUse, o.singleUse, true) && compareDeep(rejectionCriterion, o.rejectionCriterion, true) 894 && compareDeep(handling, o.handling, true) && compareDeep(testingDestination, o.testingDestination, true) 895 ; 896 } 897 898 @Override 899 public boolean equalsShallow(Base other_) { 900 if (!super.equalsShallow(other_)) 901 return false; 902 if (!(other_ instanceof SpecimenDefinitionTypeTestedComponent)) 903 return false; 904 SpecimenDefinitionTypeTestedComponent o = (SpecimenDefinitionTypeTestedComponent) other_; 905 return compareValues(isDerived, o.isDerived, true) && compareValues(preference, o.preference, true) 906 && compareValues(requirement, o.requirement, true) && compareValues(singleUse, o.singleUse, true); 907 } 908 909 public boolean isEmpty() { 910 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(isDerived, type, preference 911 , container, requirement, retentionTime, singleUse, rejectionCriterion, handling 912 , testingDestination); 913 } 914 915 public String fhirType() { 916 return "SpecimenDefinition.typeTested"; 917 918 } 919 920 } 921 922 @Block() 923 public static class SpecimenDefinitionTypeTestedContainerComponent extends BackboneElement implements IBaseBackboneElement { 924 /** 925 * The type of material of the container. 926 */ 927 @Child(name = "material", type = {CodeableConcept.class}, order=1, min=0, max=1, modifier=false, summary=false) 928 @Description(shortDefinition="The material type used for the container", formalDefinition="The type of material of the container." ) 929 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/container-material") 930 protected CodeableConcept material; 931 932 /** 933 * The type of container used to contain this kind of specimen. 934 */ 935 @Child(name = "type", type = {CodeableConcept.class}, order=2, min=0, max=1, modifier=false, summary=false) 936 @Description(shortDefinition="Kind of container associated with the kind of specimen", formalDefinition="The type of container used to contain this kind of specimen." ) 937 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/specimen-container-type") 938 protected CodeableConcept type; 939 940 /** 941 * Color of container cap. 942 */ 943 @Child(name = "cap", type = {CodeableConcept.class}, order=3, min=0, max=1, modifier=false, summary=false) 944 @Description(shortDefinition="Color of container cap", formalDefinition="Color of container cap." ) 945 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/container-cap") 946 protected CodeableConcept cap; 947 948 /** 949 * The textual description of the kind of container. 950 */ 951 @Child(name = "description", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=false) 952 @Description(shortDefinition="The description of the kind of container", formalDefinition="The textual description of the kind of container." ) 953 protected StringType description; 954 955 /** 956 * The capacity (volume or other measure) of this kind of container. 957 */ 958 @Child(name = "capacity", type = {Quantity.class}, order=5, min=0, max=1, modifier=false, summary=false) 959 @Description(shortDefinition="The capacity of this kind of container", formalDefinition="The capacity (volume or other measure) of this kind of container." ) 960 protected Quantity capacity; 961 962 /** 963 * The minimum volume to be conditioned in the container. 964 */ 965 @Child(name = "minimumVolume", type = {Quantity.class, StringType.class}, order=6, min=0, max=1, modifier=false, summary=false) 966 @Description(shortDefinition="Minimum volume", formalDefinition="The minimum volume to be conditioned in the container." ) 967 protected DataType minimumVolume; 968 969 /** 970 * Substance introduced in the kind of container to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTA. 971 */ 972 @Child(name = "additive", type = {}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 973 @Description(shortDefinition="Additive associated with container", formalDefinition="Substance introduced in the kind of container to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTA." ) 974 protected List<SpecimenDefinitionTypeTestedContainerAdditiveComponent> additive; 975 976 /** 977 * Special processing that should be applied to the container for this kind of specimen. 978 */ 979 @Child(name = "preparation", type = {StringType.class}, order=8, min=0, max=1, modifier=false, summary=false) 980 @Description(shortDefinition="Special processing applied to the container for this specimen type", formalDefinition="Special processing that should be applied to the container for this kind of specimen." ) 981 protected StringType preparation; 982 983 private static final long serialVersionUID = -1498817064L; 984 985 /** 986 * Constructor 987 */ 988 public SpecimenDefinitionTypeTestedContainerComponent() { 989 super(); 990 } 991 992 /** 993 * @return {@link #material} (The type of material of the container.) 994 */ 995 public CodeableConcept getMaterial() { 996 if (this.material == null) 997 if (Configuration.errorOnAutoCreate()) 998 throw new Error("Attempt to auto-create SpecimenDefinitionTypeTestedContainerComponent.material"); 999 else if (Configuration.doAutoCreate()) 1000 this.material = new CodeableConcept(); // cc 1001 return this.material; 1002 } 1003 1004 public boolean hasMaterial() { 1005 return this.material != null && !this.material.isEmpty(); 1006 } 1007 1008 /** 1009 * @param value {@link #material} (The type of material of the container.) 1010 */ 1011 public SpecimenDefinitionTypeTestedContainerComponent setMaterial(CodeableConcept value) { 1012 this.material = value; 1013 return this; 1014 } 1015 1016 /** 1017 * @return {@link #type} (The type of container used to contain this kind of specimen.) 1018 */ 1019 public CodeableConcept getType() { 1020 if (this.type == null) 1021 if (Configuration.errorOnAutoCreate()) 1022 throw new Error("Attempt to auto-create SpecimenDefinitionTypeTestedContainerComponent.type"); 1023 else if (Configuration.doAutoCreate()) 1024 this.type = new CodeableConcept(); // cc 1025 return this.type; 1026 } 1027 1028 public boolean hasType() { 1029 return this.type != null && !this.type.isEmpty(); 1030 } 1031 1032 /** 1033 * @param value {@link #type} (The type of container used to contain this kind of specimen.) 1034 */ 1035 public SpecimenDefinitionTypeTestedContainerComponent setType(CodeableConcept value) { 1036 this.type = value; 1037 return this; 1038 } 1039 1040 /** 1041 * @return {@link #cap} (Color of container cap.) 1042 */ 1043 public CodeableConcept getCap() { 1044 if (this.cap == null) 1045 if (Configuration.errorOnAutoCreate()) 1046 throw new Error("Attempt to auto-create SpecimenDefinitionTypeTestedContainerComponent.cap"); 1047 else if (Configuration.doAutoCreate()) 1048 this.cap = new CodeableConcept(); // cc 1049 return this.cap; 1050 } 1051 1052 public boolean hasCap() { 1053 return this.cap != null && !this.cap.isEmpty(); 1054 } 1055 1056 /** 1057 * @param value {@link #cap} (Color of container cap.) 1058 */ 1059 public SpecimenDefinitionTypeTestedContainerComponent setCap(CodeableConcept value) { 1060 this.cap = value; 1061 return this; 1062 } 1063 1064 /** 1065 * @return {@link #description} (The textual description of the kind of container.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 1066 */ 1067 public StringType getDescriptionElement() { 1068 if (this.description == null) 1069 if (Configuration.errorOnAutoCreate()) 1070 throw new Error("Attempt to auto-create SpecimenDefinitionTypeTestedContainerComponent.description"); 1071 else if (Configuration.doAutoCreate()) 1072 this.description = new StringType(); // bb 1073 return this.description; 1074 } 1075 1076 public boolean hasDescriptionElement() { 1077 return this.description != null && !this.description.isEmpty(); 1078 } 1079 1080 public boolean hasDescription() { 1081 return this.description != null && !this.description.isEmpty(); 1082 } 1083 1084 /** 1085 * @param value {@link #description} (The textual description of the kind of container.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 1086 */ 1087 public SpecimenDefinitionTypeTestedContainerComponent setDescriptionElement(StringType value) { 1088 this.description = value; 1089 return this; 1090 } 1091 1092 /** 1093 * @return The textual description of the kind of container. 1094 */ 1095 public String getDescription() { 1096 return this.description == null ? null : this.description.getValue(); 1097 } 1098 1099 /** 1100 * @param value The textual description of the kind of container. 1101 */ 1102 public SpecimenDefinitionTypeTestedContainerComponent setDescription(String value) { 1103 if (Utilities.noString(value)) 1104 this.description = null; 1105 else { 1106 if (this.description == null) 1107 this.description = new StringType(); 1108 this.description.setValue(value); 1109 } 1110 return this; 1111 } 1112 1113 /** 1114 * @return {@link #capacity} (The capacity (volume or other measure) of this kind of container.) 1115 */ 1116 public Quantity getCapacity() { 1117 if (this.capacity == null) 1118 if (Configuration.errorOnAutoCreate()) 1119 throw new Error("Attempt to auto-create SpecimenDefinitionTypeTestedContainerComponent.capacity"); 1120 else if (Configuration.doAutoCreate()) 1121 this.capacity = new Quantity(); // cc 1122 return this.capacity; 1123 } 1124 1125 public boolean hasCapacity() { 1126 return this.capacity != null && !this.capacity.isEmpty(); 1127 } 1128 1129 /** 1130 * @param value {@link #capacity} (The capacity (volume or other measure) of this kind of container.) 1131 */ 1132 public SpecimenDefinitionTypeTestedContainerComponent setCapacity(Quantity value) { 1133 this.capacity = value; 1134 return this; 1135 } 1136 1137 /** 1138 * @return {@link #minimumVolume} (The minimum volume to be conditioned in the container.) 1139 */ 1140 public DataType getMinimumVolume() { 1141 return this.minimumVolume; 1142 } 1143 1144 /** 1145 * @return {@link #minimumVolume} (The minimum volume to be conditioned in the container.) 1146 */ 1147 public Quantity getMinimumVolumeQuantity() throws FHIRException { 1148 if (this.minimumVolume == null) 1149 this.minimumVolume = new Quantity(); 1150 if (!(this.minimumVolume instanceof Quantity)) 1151 throw new FHIRException("Type mismatch: the type Quantity was expected, but "+this.minimumVolume.getClass().getName()+" was encountered"); 1152 return (Quantity) this.minimumVolume; 1153 } 1154 1155 public boolean hasMinimumVolumeQuantity() { 1156 return this != null && this.minimumVolume instanceof Quantity; 1157 } 1158 1159 /** 1160 * @return {@link #minimumVolume} (The minimum volume to be conditioned in the container.) 1161 */ 1162 public StringType getMinimumVolumeStringType() throws FHIRException { 1163 if (this.minimumVolume == null) 1164 this.minimumVolume = new StringType(); 1165 if (!(this.minimumVolume instanceof StringType)) 1166 throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.minimumVolume.getClass().getName()+" was encountered"); 1167 return (StringType) this.minimumVolume; 1168 } 1169 1170 public boolean hasMinimumVolumeStringType() { 1171 return this != null && this.minimumVolume instanceof StringType; 1172 } 1173 1174 public boolean hasMinimumVolume() { 1175 return this.minimumVolume != null && !this.minimumVolume.isEmpty(); 1176 } 1177 1178 /** 1179 * @param value {@link #minimumVolume} (The minimum volume to be conditioned in the container.) 1180 */ 1181 public SpecimenDefinitionTypeTestedContainerComponent setMinimumVolume(DataType value) { 1182 if (value != null && !(value instanceof Quantity || value instanceof StringType)) 1183 throw new Error("Not the right type for SpecimenDefinition.typeTested.container.minimumVolume[x]: "+value.fhirType()); 1184 this.minimumVolume = value; 1185 return this; 1186 } 1187 1188 /** 1189 * @return {@link #additive} (Substance introduced in the kind of container to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTA.) 1190 */ 1191 public List<SpecimenDefinitionTypeTestedContainerAdditiveComponent> getAdditive() { 1192 if (this.additive == null) 1193 this.additive = new ArrayList<SpecimenDefinitionTypeTestedContainerAdditiveComponent>(); 1194 return this.additive; 1195 } 1196 1197 /** 1198 * @return Returns a reference to <code>this</code> for easy method chaining 1199 */ 1200 public SpecimenDefinitionTypeTestedContainerComponent setAdditive(List<SpecimenDefinitionTypeTestedContainerAdditiveComponent> theAdditive) { 1201 this.additive = theAdditive; 1202 return this; 1203 } 1204 1205 public boolean hasAdditive() { 1206 if (this.additive == null) 1207 return false; 1208 for (SpecimenDefinitionTypeTestedContainerAdditiveComponent item : this.additive) 1209 if (!item.isEmpty()) 1210 return true; 1211 return false; 1212 } 1213 1214 public SpecimenDefinitionTypeTestedContainerAdditiveComponent addAdditive() { //3 1215 SpecimenDefinitionTypeTestedContainerAdditiveComponent t = new SpecimenDefinitionTypeTestedContainerAdditiveComponent(); 1216 if (this.additive == null) 1217 this.additive = new ArrayList<SpecimenDefinitionTypeTestedContainerAdditiveComponent>(); 1218 this.additive.add(t); 1219 return t; 1220 } 1221 1222 public SpecimenDefinitionTypeTestedContainerComponent addAdditive(SpecimenDefinitionTypeTestedContainerAdditiveComponent t) { //3 1223 if (t == null) 1224 return this; 1225 if (this.additive == null) 1226 this.additive = new ArrayList<SpecimenDefinitionTypeTestedContainerAdditiveComponent>(); 1227 this.additive.add(t); 1228 return this; 1229 } 1230 1231 /** 1232 * @return The first repetition of repeating field {@link #additive}, creating it if it does not already exist {3} 1233 */ 1234 public SpecimenDefinitionTypeTestedContainerAdditiveComponent getAdditiveFirstRep() { 1235 if (getAdditive().isEmpty()) { 1236 addAdditive(); 1237 } 1238 return getAdditive().get(0); 1239 } 1240 1241 /** 1242 * @return {@link #preparation} (Special processing that should be applied to the container for this kind of specimen.). This is the underlying object with id, value and extensions. The accessor "getPreparation" gives direct access to the value 1243 */ 1244 public StringType getPreparationElement() { 1245 if (this.preparation == null) 1246 if (Configuration.errorOnAutoCreate()) 1247 throw new Error("Attempt to auto-create SpecimenDefinitionTypeTestedContainerComponent.preparation"); 1248 else if (Configuration.doAutoCreate()) 1249 this.preparation = new StringType(); // bb 1250 return this.preparation; 1251 } 1252 1253 public boolean hasPreparationElement() { 1254 return this.preparation != null && !this.preparation.isEmpty(); 1255 } 1256 1257 public boolean hasPreparation() { 1258 return this.preparation != null && !this.preparation.isEmpty(); 1259 } 1260 1261 /** 1262 * @param value {@link #preparation} (Special processing that should be applied to the container for this kind of specimen.). This is the underlying object with id, value and extensions. The accessor "getPreparation" gives direct access to the value 1263 */ 1264 public SpecimenDefinitionTypeTestedContainerComponent setPreparationElement(StringType value) { 1265 this.preparation = value; 1266 return this; 1267 } 1268 1269 /** 1270 * @return Special processing that should be applied to the container for this kind of specimen. 1271 */ 1272 public String getPreparation() { 1273 return this.preparation == null ? null : this.preparation.getValue(); 1274 } 1275 1276 /** 1277 * @param value Special processing that should be applied to the container for this kind of specimen. 1278 */ 1279 public SpecimenDefinitionTypeTestedContainerComponent setPreparation(String value) { 1280 if (Utilities.noString(value)) 1281 this.preparation = null; 1282 else { 1283 if (this.preparation == null) 1284 this.preparation = new StringType(); 1285 this.preparation.setValue(value); 1286 } 1287 return this; 1288 } 1289 1290 protected void listChildren(List<Property> children) { 1291 super.listChildren(children); 1292 children.add(new Property("material", "CodeableConcept", "The type of material of the container.", 0, 1, material)); 1293 children.add(new Property("type", "CodeableConcept", "The type of container used to contain this kind of specimen.", 0, 1, type)); 1294 children.add(new Property("cap", "CodeableConcept", "Color of container cap.", 0, 1, cap)); 1295 children.add(new Property("description", "string", "The textual description of the kind of container.", 0, 1, description)); 1296 children.add(new Property("capacity", "Quantity", "The capacity (volume or other measure) of this kind of container.", 0, 1, capacity)); 1297 children.add(new Property("minimumVolume[x]", "Quantity|string", "The minimum volume to be conditioned in the container.", 0, 1, minimumVolume)); 1298 children.add(new Property("additive", "", "Substance introduced in the kind of container to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTA.", 0, java.lang.Integer.MAX_VALUE, additive)); 1299 children.add(new Property("preparation", "string", "Special processing that should be applied to the container for this kind of specimen.", 0, 1, preparation)); 1300 } 1301 1302 @Override 1303 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1304 switch (_hash) { 1305 case 299066663: /*material*/ return new Property("material", "CodeableConcept", "The type of material of the container.", 0, 1, material); 1306 case 3575610: /*type*/ return new Property("type", "CodeableConcept", "The type of container used to contain this kind of specimen.", 0, 1, type); 1307 case 98258: /*cap*/ return new Property("cap", "CodeableConcept", "Color of container cap.", 0, 1, cap); 1308 case -1724546052: /*description*/ return new Property("description", "string", "The textual description of the kind of container.", 0, 1, description); 1309 case -67824454: /*capacity*/ return new Property("capacity", "Quantity", "The capacity (volume or other measure) of this kind of container.", 0, 1, capacity); 1310 case 371830456: /*minimumVolume[x]*/ return new Property("minimumVolume[x]", "Quantity|string", "The minimum volume to be conditioned in the container.", 0, 1, minimumVolume); 1311 case -1674665784: /*minimumVolume*/ return new Property("minimumVolume[x]", "Quantity|string", "The minimum volume to be conditioned in the container.", 0, 1, minimumVolume); 1312 case -532143757: /*minimumVolumeQuantity*/ return new Property("minimumVolume[x]", "Quantity", "The minimum volume to be conditioned in the container.", 0, 1, minimumVolume); 1313 case 248461049: /*minimumVolumeString*/ return new Property("minimumVolume[x]", "string", "The minimum volume to be conditioned in the container.", 0, 1, minimumVolume); 1314 case -1226589236: /*additive*/ return new Property("additive", "", "Substance introduced in the kind of container to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTA.", 0, java.lang.Integer.MAX_VALUE, additive); 1315 case -1315428713: /*preparation*/ return new Property("preparation", "string", "Special processing that should be applied to the container for this kind of specimen.", 0, 1, preparation); 1316 default: return super.getNamedProperty(_hash, _name, _checkValid); 1317 } 1318 1319 } 1320 1321 @Override 1322 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1323 switch (hash) { 1324 case 299066663: /*material*/ return this.material == null ? new Base[0] : new Base[] {this.material}; // CodeableConcept 1325 case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeableConcept 1326 case 98258: /*cap*/ return this.cap == null ? new Base[0] : new Base[] {this.cap}; // CodeableConcept 1327 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType 1328 case -67824454: /*capacity*/ return this.capacity == null ? new Base[0] : new Base[] {this.capacity}; // Quantity 1329 case -1674665784: /*minimumVolume*/ return this.minimumVolume == null ? new Base[0] : new Base[] {this.minimumVolume}; // DataType 1330 case -1226589236: /*additive*/ return this.additive == null ? new Base[0] : this.additive.toArray(new Base[this.additive.size()]); // SpecimenDefinitionTypeTestedContainerAdditiveComponent 1331 case -1315428713: /*preparation*/ return this.preparation == null ? new Base[0] : new Base[] {this.preparation}; // StringType 1332 default: return super.getProperty(hash, name, checkValid); 1333 } 1334 1335 } 1336 1337 @Override 1338 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1339 switch (hash) { 1340 case 299066663: // material 1341 this.material = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1342 return value; 1343 case 3575610: // type 1344 this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1345 return value; 1346 case 98258: // cap 1347 this.cap = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1348 return value; 1349 case -1724546052: // description 1350 this.description = TypeConvertor.castToString(value); // StringType 1351 return value; 1352 case -67824454: // capacity 1353 this.capacity = TypeConvertor.castToQuantity(value); // Quantity 1354 return value; 1355 case -1674665784: // minimumVolume 1356 this.minimumVolume = TypeConvertor.castToType(value); // DataType 1357 return value; 1358 case -1226589236: // additive 1359 this.getAdditive().add((SpecimenDefinitionTypeTestedContainerAdditiveComponent) value); // SpecimenDefinitionTypeTestedContainerAdditiveComponent 1360 return value; 1361 case -1315428713: // preparation 1362 this.preparation = TypeConvertor.castToString(value); // StringType 1363 return value; 1364 default: return super.setProperty(hash, name, value); 1365 } 1366 1367 } 1368 1369 @Override 1370 public Base setProperty(String name, Base value) throws FHIRException { 1371 if (name.equals("material")) { 1372 this.material = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1373 } else if (name.equals("type")) { 1374 this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1375 } else if (name.equals("cap")) { 1376 this.cap = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1377 } else if (name.equals("description")) { 1378 this.description = TypeConvertor.castToString(value); // StringType 1379 } else if (name.equals("capacity")) { 1380 this.capacity = TypeConvertor.castToQuantity(value); // Quantity 1381 } else if (name.equals("minimumVolume[x]")) { 1382 this.minimumVolume = TypeConvertor.castToType(value); // DataType 1383 } else if (name.equals("additive")) { 1384 this.getAdditive().add((SpecimenDefinitionTypeTestedContainerAdditiveComponent) value); 1385 } else if (name.equals("preparation")) { 1386 this.preparation = TypeConvertor.castToString(value); // StringType 1387 } else 1388 return super.setProperty(name, value); 1389 return value; 1390 } 1391 1392 @Override 1393 public Base makeProperty(int hash, String name) throws FHIRException { 1394 switch (hash) { 1395 case 299066663: return getMaterial(); 1396 case 3575610: return getType(); 1397 case 98258: return getCap(); 1398 case -1724546052: return getDescriptionElement(); 1399 case -67824454: return getCapacity(); 1400 case 371830456: return getMinimumVolume(); 1401 case -1674665784: return getMinimumVolume(); 1402 case -1226589236: return addAdditive(); 1403 case -1315428713: return getPreparationElement(); 1404 default: return super.makeProperty(hash, name); 1405 } 1406 1407 } 1408 1409 @Override 1410 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1411 switch (hash) { 1412 case 299066663: /*material*/ return new String[] {"CodeableConcept"}; 1413 case 3575610: /*type*/ return new String[] {"CodeableConcept"}; 1414 case 98258: /*cap*/ return new String[] {"CodeableConcept"}; 1415 case -1724546052: /*description*/ return new String[] {"string"}; 1416 case -67824454: /*capacity*/ return new String[] {"Quantity"}; 1417 case -1674665784: /*minimumVolume*/ return new String[] {"Quantity", "string"}; 1418 case -1226589236: /*additive*/ return new String[] {}; 1419 case -1315428713: /*preparation*/ return new String[] {"string"}; 1420 default: return super.getTypesForProperty(hash, name); 1421 } 1422 1423 } 1424 1425 @Override 1426 public Base addChild(String name) throws FHIRException { 1427 if (name.equals("material")) { 1428 this.material = new CodeableConcept(); 1429 return this.material; 1430 } 1431 else if (name.equals("type")) { 1432 this.type = new CodeableConcept(); 1433 return this.type; 1434 } 1435 else if (name.equals("cap")) { 1436 this.cap = new CodeableConcept(); 1437 return this.cap; 1438 } 1439 else if (name.equals("description")) { 1440 throw new FHIRException("Cannot call addChild on a primitive type SpecimenDefinition.typeTested.container.description"); 1441 } 1442 else if (name.equals("capacity")) { 1443 this.capacity = new Quantity(); 1444 return this.capacity; 1445 } 1446 else if (name.equals("minimumVolumeQuantity")) { 1447 this.minimumVolume = new Quantity(); 1448 return this.minimumVolume; 1449 } 1450 else if (name.equals("minimumVolumeString")) { 1451 this.minimumVolume = new StringType(); 1452 return this.minimumVolume; 1453 } 1454 else if (name.equals("additive")) { 1455 return addAdditive(); 1456 } 1457 else if (name.equals("preparation")) { 1458 throw new FHIRException("Cannot call addChild on a primitive type SpecimenDefinition.typeTested.container.preparation"); 1459 } 1460 else 1461 return super.addChild(name); 1462 } 1463 1464 public SpecimenDefinitionTypeTestedContainerComponent copy() { 1465 SpecimenDefinitionTypeTestedContainerComponent dst = new SpecimenDefinitionTypeTestedContainerComponent(); 1466 copyValues(dst); 1467 return dst; 1468 } 1469 1470 public void copyValues(SpecimenDefinitionTypeTestedContainerComponent dst) { 1471 super.copyValues(dst); 1472 dst.material = material == null ? null : material.copy(); 1473 dst.type = type == null ? null : type.copy(); 1474 dst.cap = cap == null ? null : cap.copy(); 1475 dst.description = description == null ? null : description.copy(); 1476 dst.capacity = capacity == null ? null : capacity.copy(); 1477 dst.minimumVolume = minimumVolume == null ? null : minimumVolume.copy(); 1478 if (additive != null) { 1479 dst.additive = new ArrayList<SpecimenDefinitionTypeTestedContainerAdditiveComponent>(); 1480 for (SpecimenDefinitionTypeTestedContainerAdditiveComponent i : additive) 1481 dst.additive.add(i.copy()); 1482 }; 1483 dst.preparation = preparation == null ? null : preparation.copy(); 1484 } 1485 1486 @Override 1487 public boolean equalsDeep(Base other_) { 1488 if (!super.equalsDeep(other_)) 1489 return false; 1490 if (!(other_ instanceof SpecimenDefinitionTypeTestedContainerComponent)) 1491 return false; 1492 SpecimenDefinitionTypeTestedContainerComponent o = (SpecimenDefinitionTypeTestedContainerComponent) other_; 1493 return compareDeep(material, o.material, true) && compareDeep(type, o.type, true) && compareDeep(cap, o.cap, true) 1494 && compareDeep(description, o.description, true) && compareDeep(capacity, o.capacity, true) && compareDeep(minimumVolume, o.minimumVolume, true) 1495 && compareDeep(additive, o.additive, true) && compareDeep(preparation, o.preparation, true); 1496 } 1497 1498 @Override 1499 public boolean equalsShallow(Base other_) { 1500 if (!super.equalsShallow(other_)) 1501 return false; 1502 if (!(other_ instanceof SpecimenDefinitionTypeTestedContainerComponent)) 1503 return false; 1504 SpecimenDefinitionTypeTestedContainerComponent o = (SpecimenDefinitionTypeTestedContainerComponent) other_; 1505 return compareValues(description, o.description, true) && compareValues(preparation, o.preparation, true) 1506 ; 1507 } 1508 1509 public boolean isEmpty() { 1510 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(material, type, cap, description 1511 , capacity, minimumVolume, additive, preparation); 1512 } 1513 1514 public String fhirType() { 1515 return "SpecimenDefinition.typeTested.container"; 1516 1517 } 1518 1519 } 1520 1521 @Block() 1522 public static class SpecimenDefinitionTypeTestedContainerAdditiveComponent extends BackboneElement implements IBaseBackboneElement { 1523 /** 1524 * Substance introduced in the kind of container to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTA. 1525 */ 1526 @Child(name = "additive", type = {CodeableConcept.class, SubstanceDefinition.class}, order=1, min=1, max=1, modifier=false, summary=false) 1527 @Description(shortDefinition="Additive associated with container", formalDefinition="Substance introduced in the kind of container to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTA." ) 1528 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://terminology.hl7.org/ValueSet/v2-0371") 1529 protected DataType additive; 1530 1531 private static final long serialVersionUID = 201856258L; 1532 1533 /** 1534 * Constructor 1535 */ 1536 public SpecimenDefinitionTypeTestedContainerAdditiveComponent() { 1537 super(); 1538 } 1539 1540 /** 1541 * Constructor 1542 */ 1543 public SpecimenDefinitionTypeTestedContainerAdditiveComponent(DataType additive) { 1544 super(); 1545 this.setAdditive(additive); 1546 } 1547 1548 /** 1549 * @return {@link #additive} (Substance introduced in the kind of container to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTA.) 1550 */ 1551 public DataType getAdditive() { 1552 return this.additive; 1553 } 1554 1555 /** 1556 * @return {@link #additive} (Substance introduced in the kind of container to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTA.) 1557 */ 1558 public CodeableConcept getAdditiveCodeableConcept() throws FHIRException { 1559 if (this.additive == null) 1560 this.additive = new CodeableConcept(); 1561 if (!(this.additive instanceof CodeableConcept)) 1562 throw new FHIRException("Type mismatch: the type CodeableConcept was expected, but "+this.additive.getClass().getName()+" was encountered"); 1563 return (CodeableConcept) this.additive; 1564 } 1565 1566 public boolean hasAdditiveCodeableConcept() { 1567 return this != null && this.additive instanceof CodeableConcept; 1568 } 1569 1570 /** 1571 * @return {@link #additive} (Substance introduced in the kind of container to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTA.) 1572 */ 1573 public Reference getAdditiveReference() throws FHIRException { 1574 if (this.additive == null) 1575 this.additive = new Reference(); 1576 if (!(this.additive instanceof Reference)) 1577 throw new FHIRException("Type mismatch: the type Reference was expected, but "+this.additive.getClass().getName()+" was encountered"); 1578 return (Reference) this.additive; 1579 } 1580 1581 public boolean hasAdditiveReference() { 1582 return this != null && this.additive instanceof Reference; 1583 } 1584 1585 public boolean hasAdditive() { 1586 return this.additive != null && !this.additive.isEmpty(); 1587 } 1588 1589 /** 1590 * @param value {@link #additive} (Substance introduced in the kind of container to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTA.) 1591 */ 1592 public SpecimenDefinitionTypeTestedContainerAdditiveComponent setAdditive(DataType value) { 1593 if (value != null && !(value instanceof CodeableConcept || value instanceof Reference)) 1594 throw new Error("Not the right type for SpecimenDefinition.typeTested.container.additive.additive[x]: "+value.fhirType()); 1595 this.additive = value; 1596 return this; 1597 } 1598 1599 protected void listChildren(List<Property> children) { 1600 super.listChildren(children); 1601 children.add(new Property("additive[x]", "CodeableConcept|Reference(SubstanceDefinition)", "Substance introduced in the kind of container to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTA.", 0, 1, additive)); 1602 } 1603 1604 @Override 1605 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1606 switch (_hash) { 1607 case 261915956: /*additive[x]*/ return new Property("additive[x]", "CodeableConcept|Reference(SubstanceDefinition)", "Substance introduced in the kind of container to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTA.", 0, 1, additive); 1608 case -1226589236: /*additive*/ return new Property("additive[x]", "CodeableConcept|Reference(SubstanceDefinition)", "Substance introduced in the kind of container to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTA.", 0, 1, additive); 1609 case 1330272821: /*additiveCodeableConcept*/ return new Property("additive[x]", "CodeableConcept", "Substance introduced in the kind of container to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTA.", 0, 1, additive); 1610 case -386783009: /*additiveReference*/ return new Property("additive[x]", "Reference(SubstanceDefinition)", "Substance introduced in the kind of container to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTA.", 0, 1, additive); 1611 default: return super.getNamedProperty(_hash, _name, _checkValid); 1612 } 1613 1614 } 1615 1616 @Override 1617 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1618 switch (hash) { 1619 case -1226589236: /*additive*/ return this.additive == null ? new Base[0] : new Base[] {this.additive}; // DataType 1620 default: return super.getProperty(hash, name, checkValid); 1621 } 1622 1623 } 1624 1625 @Override 1626 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1627 switch (hash) { 1628 case -1226589236: // additive 1629 this.additive = TypeConvertor.castToType(value); // DataType 1630 return value; 1631 default: return super.setProperty(hash, name, value); 1632 } 1633 1634 } 1635 1636 @Override 1637 public Base setProperty(String name, Base value) throws FHIRException { 1638 if (name.equals("additive[x]")) { 1639 this.additive = TypeConvertor.castToType(value); // DataType 1640 } else 1641 return super.setProperty(name, value); 1642 return value; 1643 } 1644 1645 @Override 1646 public Base makeProperty(int hash, String name) throws FHIRException { 1647 switch (hash) { 1648 case 261915956: return getAdditive(); 1649 case -1226589236: return getAdditive(); 1650 default: return super.makeProperty(hash, name); 1651 } 1652 1653 } 1654 1655 @Override 1656 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1657 switch (hash) { 1658 case -1226589236: /*additive*/ return new String[] {"CodeableConcept", "Reference"}; 1659 default: return super.getTypesForProperty(hash, name); 1660 } 1661 1662 } 1663 1664 @Override 1665 public Base addChild(String name) throws FHIRException { 1666 if (name.equals("additiveCodeableConcept")) { 1667 this.additive = new CodeableConcept(); 1668 return this.additive; 1669 } 1670 else if (name.equals("additiveReference")) { 1671 this.additive = new Reference(); 1672 return this.additive; 1673 } 1674 else 1675 return super.addChild(name); 1676 } 1677 1678 public SpecimenDefinitionTypeTestedContainerAdditiveComponent copy() { 1679 SpecimenDefinitionTypeTestedContainerAdditiveComponent dst = new SpecimenDefinitionTypeTestedContainerAdditiveComponent(); 1680 copyValues(dst); 1681 return dst; 1682 } 1683 1684 public void copyValues(SpecimenDefinitionTypeTestedContainerAdditiveComponent dst) { 1685 super.copyValues(dst); 1686 dst.additive = additive == null ? null : additive.copy(); 1687 } 1688 1689 @Override 1690 public boolean equalsDeep(Base other_) { 1691 if (!super.equalsDeep(other_)) 1692 return false; 1693 if (!(other_ instanceof SpecimenDefinitionTypeTestedContainerAdditiveComponent)) 1694 return false; 1695 SpecimenDefinitionTypeTestedContainerAdditiveComponent o = (SpecimenDefinitionTypeTestedContainerAdditiveComponent) other_; 1696 return compareDeep(additive, o.additive, true); 1697 } 1698 1699 @Override 1700 public boolean equalsShallow(Base other_) { 1701 if (!super.equalsShallow(other_)) 1702 return false; 1703 if (!(other_ instanceof SpecimenDefinitionTypeTestedContainerAdditiveComponent)) 1704 return false; 1705 SpecimenDefinitionTypeTestedContainerAdditiveComponent o = (SpecimenDefinitionTypeTestedContainerAdditiveComponent) other_; 1706 return true; 1707 } 1708 1709 public boolean isEmpty() { 1710 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(additive); 1711 } 1712 1713 public String fhirType() { 1714 return "SpecimenDefinition.typeTested.container.additive"; 1715 1716 } 1717 1718 } 1719 1720 @Block() 1721 public static class SpecimenDefinitionTypeTestedHandlingComponent extends BackboneElement implements IBaseBackboneElement { 1722 /** 1723 * It qualifies the interval of temperature, which characterizes an occurrence of handling. Conditions that are not related to temperature may be handled in the instruction element. 1724 */ 1725 @Child(name = "temperatureQualifier", type = {CodeableConcept.class}, order=1, min=0, max=1, modifier=false, summary=false) 1726 @Description(shortDefinition="Qualifies the interval of temperature", formalDefinition="It qualifies the interval of temperature, which characterizes an occurrence of handling. Conditions that are not related to temperature may be handled in the instruction element." ) 1727 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/handling-condition") 1728 protected CodeableConcept temperatureQualifier; 1729 1730 /** 1731 * The temperature interval for this set of handling instructions. 1732 */ 1733 @Child(name = "temperatureRange", type = {Range.class}, order=2, min=0, max=1, modifier=false, summary=false) 1734 @Description(shortDefinition="Temperature range for these handling instructions", formalDefinition="The temperature interval for this set of handling instructions." ) 1735 protected Range temperatureRange; 1736 1737 /** 1738 * The maximum time interval of preservation of the specimen with these conditions. 1739 */ 1740 @Child(name = "maxDuration", type = {Duration.class}, order=3, min=0, max=1, modifier=false, summary=false) 1741 @Description(shortDefinition="Maximum preservation time", formalDefinition="The maximum time interval of preservation of the specimen with these conditions." ) 1742 protected Duration maxDuration; 1743 1744 /** 1745 * Additional textual instructions for the preservation or transport of the specimen. For instance, 'Protect from light exposure'. 1746 */ 1747 @Child(name = "instruction", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=false) 1748 @Description(shortDefinition="Preservation instruction", formalDefinition="Additional textual instructions for the preservation or transport of the specimen. For instance, 'Protect from light exposure'." ) 1749 protected StringType instruction; 1750 1751 private static final long serialVersionUID = 2130906844L; 1752 1753 /** 1754 * Constructor 1755 */ 1756 public SpecimenDefinitionTypeTestedHandlingComponent() { 1757 super(); 1758 } 1759 1760 /** 1761 * @return {@link #temperatureQualifier} (It qualifies the interval of temperature, which characterizes an occurrence of handling. Conditions that are not related to temperature may be handled in the instruction element.) 1762 */ 1763 public CodeableConcept getTemperatureQualifier() { 1764 if (this.temperatureQualifier == null) 1765 if (Configuration.errorOnAutoCreate()) 1766 throw new Error("Attempt to auto-create SpecimenDefinitionTypeTestedHandlingComponent.temperatureQualifier"); 1767 else if (Configuration.doAutoCreate()) 1768 this.temperatureQualifier = new CodeableConcept(); // cc 1769 return this.temperatureQualifier; 1770 } 1771 1772 public boolean hasTemperatureQualifier() { 1773 return this.temperatureQualifier != null && !this.temperatureQualifier.isEmpty(); 1774 } 1775 1776 /** 1777 * @param value {@link #temperatureQualifier} (It qualifies the interval of temperature, which characterizes an occurrence of handling. Conditions that are not related to temperature may be handled in the instruction element.) 1778 */ 1779 public SpecimenDefinitionTypeTestedHandlingComponent setTemperatureQualifier(CodeableConcept value) { 1780 this.temperatureQualifier = value; 1781 return this; 1782 } 1783 1784 /** 1785 * @return {@link #temperatureRange} (The temperature interval for this set of handling instructions.) 1786 */ 1787 public Range getTemperatureRange() { 1788 if (this.temperatureRange == null) 1789 if (Configuration.errorOnAutoCreate()) 1790 throw new Error("Attempt to auto-create SpecimenDefinitionTypeTestedHandlingComponent.temperatureRange"); 1791 else if (Configuration.doAutoCreate()) 1792 this.temperatureRange = new Range(); // cc 1793 return this.temperatureRange; 1794 } 1795 1796 public boolean hasTemperatureRange() { 1797 return this.temperatureRange != null && !this.temperatureRange.isEmpty(); 1798 } 1799 1800 /** 1801 * @param value {@link #temperatureRange} (The temperature interval for this set of handling instructions.) 1802 */ 1803 public SpecimenDefinitionTypeTestedHandlingComponent setTemperatureRange(Range value) { 1804 this.temperatureRange = value; 1805 return this; 1806 } 1807 1808 /** 1809 * @return {@link #maxDuration} (The maximum time interval of preservation of the specimen with these conditions.) 1810 */ 1811 public Duration getMaxDuration() { 1812 if (this.maxDuration == null) 1813 if (Configuration.errorOnAutoCreate()) 1814 throw new Error("Attempt to auto-create SpecimenDefinitionTypeTestedHandlingComponent.maxDuration"); 1815 else if (Configuration.doAutoCreate()) 1816 this.maxDuration = new Duration(); // cc 1817 return this.maxDuration; 1818 } 1819 1820 public boolean hasMaxDuration() { 1821 return this.maxDuration != null && !this.maxDuration.isEmpty(); 1822 } 1823 1824 /** 1825 * @param value {@link #maxDuration} (The maximum time interval of preservation of the specimen with these conditions.) 1826 */ 1827 public SpecimenDefinitionTypeTestedHandlingComponent setMaxDuration(Duration value) { 1828 this.maxDuration = value; 1829 return this; 1830 } 1831 1832 /** 1833 * @return {@link #instruction} (Additional textual instructions for the preservation or transport of the specimen. For instance, 'Protect from light exposure'.). This is the underlying object with id, value and extensions. The accessor "getInstruction" gives direct access to the value 1834 */ 1835 public StringType getInstructionElement() { 1836 if (this.instruction == null) 1837 if (Configuration.errorOnAutoCreate()) 1838 throw new Error("Attempt to auto-create SpecimenDefinitionTypeTestedHandlingComponent.instruction"); 1839 else if (Configuration.doAutoCreate()) 1840 this.instruction = new StringType(); // bb 1841 return this.instruction; 1842 } 1843 1844 public boolean hasInstructionElement() { 1845 return this.instruction != null && !this.instruction.isEmpty(); 1846 } 1847 1848 public boolean hasInstruction() { 1849 return this.instruction != null && !this.instruction.isEmpty(); 1850 } 1851 1852 /** 1853 * @param value {@link #instruction} (Additional textual instructions for the preservation or transport of the specimen. For instance, 'Protect from light exposure'.). This is the underlying object with id, value and extensions. The accessor "getInstruction" gives direct access to the value 1854 */ 1855 public SpecimenDefinitionTypeTestedHandlingComponent setInstructionElement(StringType value) { 1856 this.instruction = value; 1857 return this; 1858 } 1859 1860 /** 1861 * @return Additional textual instructions for the preservation or transport of the specimen. For instance, 'Protect from light exposure'. 1862 */ 1863 public String getInstruction() { 1864 return this.instruction == null ? null : this.instruction.getValue(); 1865 } 1866 1867 /** 1868 * @param value Additional textual instructions for the preservation or transport of the specimen. For instance, 'Protect from light exposure'. 1869 */ 1870 public SpecimenDefinitionTypeTestedHandlingComponent setInstruction(String value) { 1871 if (Utilities.noString(value)) 1872 this.instruction = null; 1873 else { 1874 if (this.instruction == null) 1875 this.instruction = new StringType(); 1876 this.instruction.setValue(value); 1877 } 1878 return this; 1879 } 1880 1881 protected void listChildren(List<Property> children) { 1882 super.listChildren(children); 1883 children.add(new Property("temperatureQualifier", "CodeableConcept", "It qualifies the interval of temperature, which characterizes an occurrence of handling. Conditions that are not related to temperature may be handled in the instruction element.", 0, 1, temperatureQualifier)); 1884 children.add(new Property("temperatureRange", "Range", "The temperature interval for this set of handling instructions.", 0, 1, temperatureRange)); 1885 children.add(new Property("maxDuration", "Duration", "The maximum time interval of preservation of the specimen with these conditions.", 0, 1, maxDuration)); 1886 children.add(new Property("instruction", "string", "Additional textual instructions for the preservation or transport of the specimen. For instance, 'Protect from light exposure'.", 0, 1, instruction)); 1887 } 1888 1889 @Override 1890 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1891 switch (_hash) { 1892 case 548941206: /*temperatureQualifier*/ return new Property("temperatureQualifier", "CodeableConcept", "It qualifies the interval of temperature, which characterizes an occurrence of handling. Conditions that are not related to temperature may be handled in the instruction element.", 0, 1, temperatureQualifier); 1893 case -39203799: /*temperatureRange*/ return new Property("temperatureRange", "Range", "The temperature interval for this set of handling instructions.", 0, 1, temperatureRange); 1894 case 40284952: /*maxDuration*/ return new Property("maxDuration", "Duration", "The maximum time interval of preservation of the specimen with these conditions.", 0, 1, maxDuration); 1895 case 301526158: /*instruction*/ return new Property("instruction", "string", "Additional textual instructions for the preservation or transport of the specimen. For instance, 'Protect from light exposure'.", 0, 1, instruction); 1896 default: return super.getNamedProperty(_hash, _name, _checkValid); 1897 } 1898 1899 } 1900 1901 @Override 1902 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1903 switch (hash) { 1904 case 548941206: /*temperatureQualifier*/ return this.temperatureQualifier == null ? new Base[0] : new Base[] {this.temperatureQualifier}; // CodeableConcept 1905 case -39203799: /*temperatureRange*/ return this.temperatureRange == null ? new Base[0] : new Base[] {this.temperatureRange}; // Range 1906 case 40284952: /*maxDuration*/ return this.maxDuration == null ? new Base[0] : new Base[] {this.maxDuration}; // Duration 1907 case 301526158: /*instruction*/ return this.instruction == null ? new Base[0] : new Base[] {this.instruction}; // StringType 1908 default: return super.getProperty(hash, name, checkValid); 1909 } 1910 1911 } 1912 1913 @Override 1914 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1915 switch (hash) { 1916 case 548941206: // temperatureQualifier 1917 this.temperatureQualifier = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1918 return value; 1919 case -39203799: // temperatureRange 1920 this.temperatureRange = TypeConvertor.castToRange(value); // Range 1921 return value; 1922 case 40284952: // maxDuration 1923 this.maxDuration = TypeConvertor.castToDuration(value); // Duration 1924 return value; 1925 case 301526158: // instruction 1926 this.instruction = TypeConvertor.castToString(value); // StringType 1927 return value; 1928 default: return super.setProperty(hash, name, value); 1929 } 1930 1931 } 1932 1933 @Override 1934 public Base setProperty(String name, Base value) throws FHIRException { 1935 if (name.equals("temperatureQualifier")) { 1936 this.temperatureQualifier = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1937 } else if (name.equals("temperatureRange")) { 1938 this.temperatureRange = TypeConvertor.castToRange(value); // Range 1939 } else if (name.equals("maxDuration")) { 1940 this.maxDuration = TypeConvertor.castToDuration(value); // Duration 1941 } else if (name.equals("instruction")) { 1942 this.instruction = TypeConvertor.castToString(value); // StringType 1943 } else 1944 return super.setProperty(name, value); 1945 return value; 1946 } 1947 1948 @Override 1949 public Base makeProperty(int hash, String name) throws FHIRException { 1950 switch (hash) { 1951 case 548941206: return getTemperatureQualifier(); 1952 case -39203799: return getTemperatureRange(); 1953 case 40284952: return getMaxDuration(); 1954 case 301526158: return getInstructionElement(); 1955 default: return super.makeProperty(hash, name); 1956 } 1957 1958 } 1959 1960 @Override 1961 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1962 switch (hash) { 1963 case 548941206: /*temperatureQualifier*/ return new String[] {"CodeableConcept"}; 1964 case -39203799: /*temperatureRange*/ return new String[] {"Range"}; 1965 case 40284952: /*maxDuration*/ return new String[] {"Duration"}; 1966 case 301526158: /*instruction*/ return new String[] {"string"}; 1967 default: return super.getTypesForProperty(hash, name); 1968 } 1969 1970 } 1971 1972 @Override 1973 public Base addChild(String name) throws FHIRException { 1974 if (name.equals("temperatureQualifier")) { 1975 this.temperatureQualifier = new CodeableConcept(); 1976 return this.temperatureQualifier; 1977 } 1978 else if (name.equals("temperatureRange")) { 1979 this.temperatureRange = new Range(); 1980 return this.temperatureRange; 1981 } 1982 else if (name.equals("maxDuration")) { 1983 this.maxDuration = new Duration(); 1984 return this.maxDuration; 1985 } 1986 else if (name.equals("instruction")) { 1987 throw new FHIRException("Cannot call addChild on a primitive type SpecimenDefinition.typeTested.handling.instruction"); 1988 } 1989 else 1990 return super.addChild(name); 1991 } 1992 1993 public SpecimenDefinitionTypeTestedHandlingComponent copy() { 1994 SpecimenDefinitionTypeTestedHandlingComponent dst = new SpecimenDefinitionTypeTestedHandlingComponent(); 1995 copyValues(dst); 1996 return dst; 1997 } 1998 1999 public void copyValues(SpecimenDefinitionTypeTestedHandlingComponent dst) { 2000 super.copyValues(dst); 2001 dst.temperatureQualifier = temperatureQualifier == null ? null : temperatureQualifier.copy(); 2002 dst.temperatureRange = temperatureRange == null ? null : temperatureRange.copy(); 2003 dst.maxDuration = maxDuration == null ? null : maxDuration.copy(); 2004 dst.instruction = instruction == null ? null : instruction.copy(); 2005 } 2006 2007 @Override 2008 public boolean equalsDeep(Base other_) { 2009 if (!super.equalsDeep(other_)) 2010 return false; 2011 if (!(other_ instanceof SpecimenDefinitionTypeTestedHandlingComponent)) 2012 return false; 2013 SpecimenDefinitionTypeTestedHandlingComponent o = (SpecimenDefinitionTypeTestedHandlingComponent) other_; 2014 return compareDeep(temperatureQualifier, o.temperatureQualifier, true) && compareDeep(temperatureRange, o.temperatureRange, true) 2015 && compareDeep(maxDuration, o.maxDuration, true) && compareDeep(instruction, o.instruction, true) 2016 ; 2017 } 2018 2019 @Override 2020 public boolean equalsShallow(Base other_) { 2021 if (!super.equalsShallow(other_)) 2022 return false; 2023 if (!(other_ instanceof SpecimenDefinitionTypeTestedHandlingComponent)) 2024 return false; 2025 SpecimenDefinitionTypeTestedHandlingComponent o = (SpecimenDefinitionTypeTestedHandlingComponent) other_; 2026 return compareValues(instruction, o.instruction, true); 2027 } 2028 2029 public boolean isEmpty() { 2030 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(temperatureQualifier, temperatureRange 2031 , maxDuration, instruction); 2032 } 2033 2034 public String fhirType() { 2035 return "SpecimenDefinition.typeTested.handling"; 2036 2037 } 2038 2039 } 2040 2041 /** 2042 * An absolute URL that is used to identify this SpecimenDefinition when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this SpecimenDefinition is (or will be) published. The URL SHOULD include the major version of the SpecimenDefinition. For more information see Technical and Business Versions. 2043 */ 2044 @Child(name = "url", type = {UriType.class}, order=0, min=0, max=1, modifier=false, summary=true) 2045 @Description(shortDefinition="Logical canonical URL to reference this SpecimenDefinition (globally unique)", formalDefinition="An absolute URL that is used to identify this SpecimenDefinition when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this SpecimenDefinition is (or will be) published. The URL SHOULD include the major version of the SpecimenDefinition. For more information see Technical and Business Versions." ) 2046 protected UriType url; 2047 2048 /** 2049 * A business identifier assigned to this SpecimenDefinition. 2050 */ 2051 @Child(name = "identifier", type = {Identifier.class}, order=1, min=0, max=1, modifier=false, summary=true) 2052 @Description(shortDefinition="Business identifier", formalDefinition="A business identifier assigned to this SpecimenDefinition." ) 2053 protected Identifier identifier; 2054 2055 /** 2056 * The identifier that is used to identify this version of the SpecimenDefinition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the SpecimenDefinition author and is not expected to be globally unique. 2057 */ 2058 @Child(name = "version", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=true) 2059 @Description(shortDefinition="Business version of the SpecimenDefinition", formalDefinition="The identifier that is used to identify this version of the SpecimenDefinition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the SpecimenDefinition author and is not expected to be globally unique." ) 2060 protected StringType version; 2061 2062 /** 2063 * A short, descriptive, user-friendly title for the SpecimenDefinition. 2064 */ 2065 @Child(name = "title", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=true) 2066 @Description(shortDefinition="Name for this SpecimenDefinition (Human friendly)", formalDefinition="A short, descriptive, user-friendly title for the SpecimenDefinition." ) 2067 protected StringType title; 2068 2069 /** 2070 * The canonical URL pointing to another FHIR-defined SpecimenDefinition that is adhered to in whole or in part by this definition. 2071 */ 2072 @Child(name = "derivedFromCanonical", type = {CanonicalType.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 2073 @Description(shortDefinition="Based on FHIR definition of another SpecimenDefinition", formalDefinition="The canonical URL pointing to another FHIR-defined SpecimenDefinition that is adhered to in whole or in part by this definition." ) 2074 protected List<CanonicalType> derivedFromCanonical; 2075 2076 /** 2077 * The URL pointing to an externally-defined type of specimen, guideline or other definition that is adhered to in whole or in part by this definition. 2078 */ 2079 @Child(name = "derivedFromUri", type = {UriType.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 2080 @Description(shortDefinition="Based on external definition", formalDefinition="The URL pointing to an externally-defined type of specimen, guideline or other definition that is adhered to in whole or in part by this definition." ) 2081 protected List<UriType> derivedFromUri; 2082 2083 /** 2084 * The current state of theSpecimenDefinition. 2085 */ 2086 @Child(name = "status", type = {CodeType.class}, order=6, min=1, max=1, modifier=true, summary=true) 2087 @Description(shortDefinition="draft | active | retired | unknown", formalDefinition="The current state of theSpecimenDefinition." ) 2088 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/publication-status") 2089 protected Enumeration<PublicationStatus> status; 2090 2091 /** 2092 * A flag to indicate that this SpecimenDefinition is not authored for genuine usage. 2093 */ 2094 @Child(name = "experimental", type = {BooleanType.class}, order=7, min=0, max=1, modifier=false, summary=true) 2095 @Description(shortDefinition="If this SpecimenDefinition is not for real usage", formalDefinition="A flag to indicate that this SpecimenDefinition is not authored for genuine usage." ) 2096 protected BooleanType experimental; 2097 2098 /** 2099 * A code or group definition that describes the intended subject from which this kind of specimen is to be collected. 2100 */ 2101 @Child(name = "subject", type = {CodeableConcept.class, Group.class}, order=8, min=0, max=1, modifier=false, summary=true) 2102 @Description(shortDefinition="Type of subject for specimen collection", formalDefinition="A code or group definition that describes the intended subject from which this kind of specimen is to be collected." ) 2103 protected DataType subject; 2104 2105 /** 2106 * For draft definitions, indicates the date of initial creation. For active definitions, represents the date of activation. For withdrawn definitions, indicates the date of withdrawal. 2107 */ 2108 @Child(name = "date", type = {DateTimeType.class}, order=9, min=0, max=1, modifier=false, summary=true) 2109 @Description(shortDefinition="Date status first applied", formalDefinition="For draft definitions, indicates the date of initial creation. For active definitions, represents the date of activation. For withdrawn definitions, indicates the date of withdrawal." ) 2110 protected DateTimeType date; 2111 2112 /** 2113 * Helps establish the "authority/credibility" of the SpecimenDefinition. May also allow for contact. 2114 */ 2115 @Child(name = "publisher", type = {StringType.class}, order=10, min=0, max=1, modifier=false, summary=true) 2116 @Description(shortDefinition="The name of the individual or organization that published the SpecimenDefinition", formalDefinition="Helps establish the \"authority/credibility\" of the SpecimenDefinition. May also allow for contact." ) 2117 protected StringType publisher; 2118 2119 /** 2120 * Contact details to assist a user in finding and communicating with the publisher. 2121 */ 2122 @Child(name = "contact", type = {ContactDetail.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 2123 @Description(shortDefinition="Contact details for the publisher", formalDefinition="Contact details to assist a user in finding and communicating with the publisher." ) 2124 protected List<ContactDetail> contact; 2125 2126 /** 2127 * A free text natural language description of the SpecimenDefinition from the consumer's perspective. 2128 */ 2129 @Child(name = "description", type = {MarkdownType.class}, order=12, min=0, max=1, modifier=false, summary=false) 2130 @Description(shortDefinition="Natural language description of the SpecimenDefinition", formalDefinition="A free text natural language description of the SpecimenDefinition from the consumer's perspective." ) 2131 protected MarkdownType description; 2132 2133 /** 2134 * The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching of specimen definitions. 2135 */ 2136 @Child(name = "useContext", type = {UsageContext.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2137 @Description(shortDefinition="Content intends to support these contexts", formalDefinition="The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching of specimen definitions." ) 2138 protected List<UsageContext> useContext; 2139 2140 /** 2141 * A jurisdiction in which the SpecimenDefinition is intended to be used. 2142 */ 2143 @Child(name = "jurisdiction", type = {CodeableConcept.class}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 2144 @Description(shortDefinition="Intended jurisdiction for this SpecimenDefinition (if applicable)", formalDefinition="A jurisdiction in which the SpecimenDefinition is intended to be used." ) 2145 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/jurisdiction") 2146 protected List<CodeableConcept> jurisdiction; 2147 2148 /** 2149 * Explains why this SpecimeDefinition is needed and why it has been designed as it has. 2150 */ 2151 @Child(name = "purpose", type = {MarkdownType.class}, order=15, min=0, max=1, modifier=false, summary=false) 2152 @Description(shortDefinition="Why this SpecimenDefinition is defined", formalDefinition="Explains why this SpecimeDefinition is needed and why it has been designed as it has." ) 2153 protected MarkdownType purpose; 2154 2155 /** 2156 * Copyright statement relating to the SpecimenDefinition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the SpecimenDefinition. 2157 */ 2158 @Child(name = "copyright", type = {MarkdownType.class}, order=16, min=0, max=1, modifier=false, summary=false) 2159 @Description(shortDefinition="Use and/or publishing restrictions", formalDefinition="Copyright statement relating to the SpecimenDefinition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the SpecimenDefinition." ) 2160 protected MarkdownType copyright; 2161 2162 /** 2163 * The date on which the asset content was approved by the publisher. Approval happens once when the content is officially approved for usage. 2164 */ 2165 @Child(name = "approvalDate", type = {DateType.class}, order=17, min=0, max=1, modifier=false, summary=false) 2166 @Description(shortDefinition="When SpecimenDefinition was approved by publisher", formalDefinition="The date on which the asset content was approved by the publisher. Approval happens once when the content is officially approved for usage." ) 2167 protected DateType approvalDate; 2168 2169 /** 2170 * The date on which the asset content was last reviewed. Review happens periodically after that, but doesn't change the original approval date. 2171 */ 2172 @Child(name = "lastReviewDate", type = {DateType.class}, order=18, min=0, max=1, modifier=false, summary=false) 2173 @Description(shortDefinition="The date on which the asset content was last reviewed", formalDefinition="The date on which the asset content was last reviewed. Review happens periodically after that, but doesn't change the original approval date." ) 2174 protected DateType lastReviewDate; 2175 2176 /** 2177 * The period during which the SpecimenDefinition content was or is planned to be effective. 2178 */ 2179 @Child(name = "effectivePeriod", type = {Period.class}, order=19, min=0, max=1, modifier=false, summary=true) 2180 @Description(shortDefinition="The effective date range for the SpecimenDefinition", formalDefinition="The period during which the SpecimenDefinition content was or is planned to be effective." ) 2181 protected Period effectivePeriod; 2182 2183 /** 2184 * The kind of material to be collected. 2185 */ 2186 @Child(name = "typeCollected", type = {CodeableConcept.class}, order=20, min=0, max=1, modifier=false, summary=true) 2187 @Description(shortDefinition="Kind of material to collect", formalDefinition="The kind of material to be collected." ) 2188 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://terminology.hl7.org/ValueSet/v2-0487") 2189 protected CodeableConcept typeCollected; 2190 2191 /** 2192 * Preparation of the patient for specimen collection. 2193 */ 2194 @Child(name = "patientPreparation", type = {CodeableConcept.class}, order=21, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 2195 @Description(shortDefinition="Patient preparation for collection", formalDefinition="Preparation of the patient for specimen collection." ) 2196 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/prepare-patient-prior-specimen-collection") 2197 protected List<CodeableConcept> patientPreparation; 2198 2199 /** 2200 * Time aspect of specimen collection (duration or offset). 2201 */ 2202 @Child(name = "timeAspect", type = {StringType.class}, order=22, min=0, max=1, modifier=false, summary=true) 2203 @Description(shortDefinition="Time aspect for collection", formalDefinition="Time aspect of specimen collection (duration or offset)." ) 2204 protected StringType timeAspect; 2205 2206 /** 2207 * The action to be performed for collecting the specimen. 2208 */ 2209 @Child(name = "collection", type = {CodeableConcept.class}, order=23, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 2210 @Description(shortDefinition="Specimen collection procedure", formalDefinition="The action to be performed for collecting the specimen." ) 2211 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/specimen-collection") 2212 protected List<CodeableConcept> collection; 2213 2214 /** 2215 * Specimen conditioned in a container as expected by the testing laboratory. 2216 */ 2217 @Child(name = "typeTested", type = {}, order=24, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2218 @Description(shortDefinition="Specimen in container intended for testing by lab", formalDefinition="Specimen conditioned in a container as expected by the testing laboratory." ) 2219 protected List<SpecimenDefinitionTypeTestedComponent> typeTested; 2220 2221 private static final long serialVersionUID = 1095593465L; 2222 2223 /** 2224 * Constructor 2225 */ 2226 public SpecimenDefinition() { 2227 super(); 2228 } 2229 2230 /** 2231 * Constructor 2232 */ 2233 public SpecimenDefinition(PublicationStatus status) { 2234 super(); 2235 this.setStatus(status); 2236 } 2237 2238 /** 2239 * @return {@link #url} (An absolute URL that is used to identify this SpecimenDefinition when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this SpecimenDefinition is (or will be) published. The URL SHOULD include the major version of the SpecimenDefinition. For more information see Technical and Business Versions.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 2240 */ 2241 public UriType getUrlElement() { 2242 if (this.url == null) 2243 if (Configuration.errorOnAutoCreate()) 2244 throw new Error("Attempt to auto-create SpecimenDefinition.url"); 2245 else if (Configuration.doAutoCreate()) 2246 this.url = new UriType(); // bb 2247 return this.url; 2248 } 2249 2250 public boolean hasUrlElement() { 2251 return this.url != null && !this.url.isEmpty(); 2252 } 2253 2254 public boolean hasUrl() { 2255 return this.url != null && !this.url.isEmpty(); 2256 } 2257 2258 /** 2259 * @param value {@link #url} (An absolute URL that is used to identify this SpecimenDefinition when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this SpecimenDefinition is (or will be) published. The URL SHOULD include the major version of the SpecimenDefinition. For more information see Technical and Business Versions.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 2260 */ 2261 public SpecimenDefinition setUrlElement(UriType value) { 2262 this.url = value; 2263 return this; 2264 } 2265 2266 /** 2267 * @return An absolute URL that is used to identify this SpecimenDefinition when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this SpecimenDefinition is (or will be) published. The URL SHOULD include the major version of the SpecimenDefinition. For more information see Technical and Business Versions. 2268 */ 2269 public String getUrl() { 2270 return this.url == null ? null : this.url.getValue(); 2271 } 2272 2273 /** 2274 * @param value An absolute URL that is used to identify this SpecimenDefinition when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this SpecimenDefinition is (or will be) published. The URL SHOULD include the major version of the SpecimenDefinition. For more information see Technical and Business Versions. 2275 */ 2276 public SpecimenDefinition setUrl(String value) { 2277 if (Utilities.noString(value)) 2278 this.url = null; 2279 else { 2280 if (this.url == null) 2281 this.url = new UriType(); 2282 this.url.setValue(value); 2283 } 2284 return this; 2285 } 2286 2287 /** 2288 * @return {@link #identifier} (A business identifier assigned to this SpecimenDefinition.) 2289 */ 2290 public Identifier getIdentifier() { 2291 if (this.identifier == null) 2292 if (Configuration.errorOnAutoCreate()) 2293 throw new Error("Attempt to auto-create SpecimenDefinition.identifier"); 2294 else if (Configuration.doAutoCreate()) 2295 this.identifier = new Identifier(); // cc 2296 return this.identifier; 2297 } 2298 2299 public boolean hasIdentifier() { 2300 return this.identifier != null && !this.identifier.isEmpty(); 2301 } 2302 2303 /** 2304 * @param value {@link #identifier} (A business identifier assigned to this SpecimenDefinition.) 2305 */ 2306 public SpecimenDefinition setIdentifier(Identifier value) { 2307 this.identifier = value; 2308 return this; 2309 } 2310 2311 /** 2312 * @return {@link #version} (The identifier that is used to identify this version of the SpecimenDefinition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the SpecimenDefinition author and is not expected to be globally unique.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 2313 */ 2314 public StringType getVersionElement() { 2315 if (this.version == null) 2316 if (Configuration.errorOnAutoCreate()) 2317 throw new Error("Attempt to auto-create SpecimenDefinition.version"); 2318 else if (Configuration.doAutoCreate()) 2319 this.version = new StringType(); // bb 2320 return this.version; 2321 } 2322 2323 public boolean hasVersionElement() { 2324 return this.version != null && !this.version.isEmpty(); 2325 } 2326 2327 public boolean hasVersion() { 2328 return this.version != null && !this.version.isEmpty(); 2329 } 2330 2331 /** 2332 * @param value {@link #version} (The identifier that is used to identify this version of the SpecimenDefinition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the SpecimenDefinition author and is not expected to be globally unique.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 2333 */ 2334 public SpecimenDefinition setVersionElement(StringType value) { 2335 this.version = value; 2336 return this; 2337 } 2338 2339 /** 2340 * @return The identifier that is used to identify this version of the SpecimenDefinition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the SpecimenDefinition author and is not expected to be globally unique. 2341 */ 2342 public String getVersion() { 2343 return this.version == null ? null : this.version.getValue(); 2344 } 2345 2346 /** 2347 * @param value The identifier that is used to identify this version of the SpecimenDefinition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the SpecimenDefinition author and is not expected to be globally unique. 2348 */ 2349 public SpecimenDefinition setVersion(String value) { 2350 if (Utilities.noString(value)) 2351 this.version = null; 2352 else { 2353 if (this.version == null) 2354 this.version = new StringType(); 2355 this.version.setValue(value); 2356 } 2357 return this; 2358 } 2359 2360 /** 2361 * @return {@link #title} (A short, descriptive, user-friendly title for the SpecimenDefinition.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 2362 */ 2363 public StringType getTitleElement() { 2364 if (this.title == null) 2365 if (Configuration.errorOnAutoCreate()) 2366 throw new Error("Attempt to auto-create SpecimenDefinition.title"); 2367 else if (Configuration.doAutoCreate()) 2368 this.title = new StringType(); // bb 2369 return this.title; 2370 } 2371 2372 public boolean hasTitleElement() { 2373 return this.title != null && !this.title.isEmpty(); 2374 } 2375 2376 public boolean hasTitle() { 2377 return this.title != null && !this.title.isEmpty(); 2378 } 2379 2380 /** 2381 * @param value {@link #title} (A short, descriptive, user-friendly title for the SpecimenDefinition.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 2382 */ 2383 public SpecimenDefinition setTitleElement(StringType value) { 2384 this.title = value; 2385 return this; 2386 } 2387 2388 /** 2389 * @return A short, descriptive, user-friendly title for the SpecimenDefinition. 2390 */ 2391 public String getTitle() { 2392 return this.title == null ? null : this.title.getValue(); 2393 } 2394 2395 /** 2396 * @param value A short, descriptive, user-friendly title for the SpecimenDefinition. 2397 */ 2398 public SpecimenDefinition setTitle(String value) { 2399 if (Utilities.noString(value)) 2400 this.title = null; 2401 else { 2402 if (this.title == null) 2403 this.title = new StringType(); 2404 this.title.setValue(value); 2405 } 2406 return this; 2407 } 2408 2409 /** 2410 * @return {@link #derivedFromCanonical} (The canonical URL pointing to another FHIR-defined SpecimenDefinition that is adhered to in whole or in part by this definition.) 2411 */ 2412 public List<CanonicalType> getDerivedFromCanonical() { 2413 if (this.derivedFromCanonical == null) 2414 this.derivedFromCanonical = new ArrayList<CanonicalType>(); 2415 return this.derivedFromCanonical; 2416 } 2417 2418 /** 2419 * @return Returns a reference to <code>this</code> for easy method chaining 2420 */ 2421 public SpecimenDefinition setDerivedFromCanonical(List<CanonicalType> theDerivedFromCanonical) { 2422 this.derivedFromCanonical = theDerivedFromCanonical; 2423 return this; 2424 } 2425 2426 public boolean hasDerivedFromCanonical() { 2427 if (this.derivedFromCanonical == null) 2428 return false; 2429 for (CanonicalType item : this.derivedFromCanonical) 2430 if (!item.isEmpty()) 2431 return true; 2432 return false; 2433 } 2434 2435 /** 2436 * @return {@link #derivedFromCanonical} (The canonical URL pointing to another FHIR-defined SpecimenDefinition that is adhered to in whole or in part by this definition.) 2437 */ 2438 public CanonicalType addDerivedFromCanonicalElement() {//2 2439 CanonicalType t = new CanonicalType(); 2440 if (this.derivedFromCanonical == null) 2441 this.derivedFromCanonical = new ArrayList<CanonicalType>(); 2442 this.derivedFromCanonical.add(t); 2443 return t; 2444 } 2445 2446 /** 2447 * @param value {@link #derivedFromCanonical} (The canonical URL pointing to another FHIR-defined SpecimenDefinition that is adhered to in whole or in part by this definition.) 2448 */ 2449 public SpecimenDefinition addDerivedFromCanonical(String value) { //1 2450 CanonicalType t = new CanonicalType(); 2451 t.setValue(value); 2452 if (this.derivedFromCanonical == null) 2453 this.derivedFromCanonical = new ArrayList<CanonicalType>(); 2454 this.derivedFromCanonical.add(t); 2455 return this; 2456 } 2457 2458 /** 2459 * @param value {@link #derivedFromCanonical} (The canonical URL pointing to another FHIR-defined SpecimenDefinition that is adhered to in whole or in part by this definition.) 2460 */ 2461 public boolean hasDerivedFromCanonical(String value) { 2462 if (this.derivedFromCanonical == null) 2463 return false; 2464 for (CanonicalType v : this.derivedFromCanonical) 2465 if (v.getValue().equals(value)) // canonical 2466 return true; 2467 return false; 2468 } 2469 2470 /** 2471 * @return {@link #derivedFromUri} (The URL pointing to an externally-defined type of specimen, guideline or other definition that is adhered to in whole or in part by this definition.) 2472 */ 2473 public List<UriType> getDerivedFromUri() { 2474 if (this.derivedFromUri == null) 2475 this.derivedFromUri = new ArrayList<UriType>(); 2476 return this.derivedFromUri; 2477 } 2478 2479 /** 2480 * @return Returns a reference to <code>this</code> for easy method chaining 2481 */ 2482 public SpecimenDefinition setDerivedFromUri(List<UriType> theDerivedFromUri) { 2483 this.derivedFromUri = theDerivedFromUri; 2484 return this; 2485 } 2486 2487 public boolean hasDerivedFromUri() { 2488 if (this.derivedFromUri == null) 2489 return false; 2490 for (UriType item : this.derivedFromUri) 2491 if (!item.isEmpty()) 2492 return true; 2493 return false; 2494 } 2495 2496 /** 2497 * @return {@link #derivedFromUri} (The URL pointing to an externally-defined type of specimen, guideline or other definition that is adhered to in whole or in part by this definition.) 2498 */ 2499 public UriType addDerivedFromUriElement() {//2 2500 UriType t = new UriType(); 2501 if (this.derivedFromUri == null) 2502 this.derivedFromUri = new ArrayList<UriType>(); 2503 this.derivedFromUri.add(t); 2504 return t; 2505 } 2506 2507 /** 2508 * @param value {@link #derivedFromUri} (The URL pointing to an externally-defined type of specimen, guideline or other definition that is adhered to in whole or in part by this definition.) 2509 */ 2510 public SpecimenDefinition addDerivedFromUri(String value) { //1 2511 UriType t = new UriType(); 2512 t.setValue(value); 2513 if (this.derivedFromUri == null) 2514 this.derivedFromUri = new ArrayList<UriType>(); 2515 this.derivedFromUri.add(t); 2516 return this; 2517 } 2518 2519 /** 2520 * @param value {@link #derivedFromUri} (The URL pointing to an externally-defined type of specimen, guideline or other definition that is adhered to in whole or in part by this definition.) 2521 */ 2522 public boolean hasDerivedFromUri(String value) { 2523 if (this.derivedFromUri == null) 2524 return false; 2525 for (UriType v : this.derivedFromUri) 2526 if (v.getValue().equals(value)) // uri 2527 return true; 2528 return false; 2529 } 2530 2531 /** 2532 * @return {@link #status} (The current state of theSpecimenDefinition.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 2533 */ 2534 public Enumeration<PublicationStatus> getStatusElement() { 2535 if (this.status == null) 2536 if (Configuration.errorOnAutoCreate()) 2537 throw new Error("Attempt to auto-create SpecimenDefinition.status"); 2538 else if (Configuration.doAutoCreate()) 2539 this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); // bb 2540 return this.status; 2541 } 2542 2543 public boolean hasStatusElement() { 2544 return this.status != null && !this.status.isEmpty(); 2545 } 2546 2547 public boolean hasStatus() { 2548 return this.status != null && !this.status.isEmpty(); 2549 } 2550 2551 /** 2552 * @param value {@link #status} (The current state of theSpecimenDefinition.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 2553 */ 2554 public SpecimenDefinition setStatusElement(Enumeration<PublicationStatus> value) { 2555 this.status = value; 2556 return this; 2557 } 2558 2559 /** 2560 * @return The current state of theSpecimenDefinition. 2561 */ 2562 public PublicationStatus getStatus() { 2563 return this.status == null ? null : this.status.getValue(); 2564 } 2565 2566 /** 2567 * @param value The current state of theSpecimenDefinition. 2568 */ 2569 public SpecimenDefinition setStatus(PublicationStatus value) { 2570 if (this.status == null) 2571 this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); 2572 this.status.setValue(value); 2573 return this; 2574 } 2575 2576 /** 2577 * @return {@link #experimental} (A flag to indicate that this SpecimenDefinition is not authored for genuine usage.). This is the underlying object with id, value and extensions. The accessor "getExperimental" gives direct access to the value 2578 */ 2579 public BooleanType getExperimentalElement() { 2580 if (this.experimental == null) 2581 if (Configuration.errorOnAutoCreate()) 2582 throw new Error("Attempt to auto-create SpecimenDefinition.experimental"); 2583 else if (Configuration.doAutoCreate()) 2584 this.experimental = new BooleanType(); // bb 2585 return this.experimental; 2586 } 2587 2588 public boolean hasExperimentalElement() { 2589 return this.experimental != null && !this.experimental.isEmpty(); 2590 } 2591 2592 public boolean hasExperimental() { 2593 return this.experimental != null && !this.experimental.isEmpty(); 2594 } 2595 2596 /** 2597 * @param value {@link #experimental} (A flag to indicate that this SpecimenDefinition is not authored for genuine usage.). This is the underlying object with id, value and extensions. The accessor "getExperimental" gives direct access to the value 2598 */ 2599 public SpecimenDefinition setExperimentalElement(BooleanType value) { 2600 this.experimental = value; 2601 return this; 2602 } 2603 2604 /** 2605 * @return A flag to indicate that this SpecimenDefinition is not authored for genuine usage. 2606 */ 2607 public boolean getExperimental() { 2608 return this.experimental == null || this.experimental.isEmpty() ? false : this.experimental.getValue(); 2609 } 2610 2611 /** 2612 * @param value A flag to indicate that this SpecimenDefinition is not authored for genuine usage. 2613 */ 2614 public SpecimenDefinition setExperimental(boolean value) { 2615 if (this.experimental == null) 2616 this.experimental = new BooleanType(); 2617 this.experimental.setValue(value); 2618 return this; 2619 } 2620 2621 /** 2622 * @return {@link #subject} (A code or group definition that describes the intended subject from which this kind of specimen is to be collected.) 2623 */ 2624 public DataType getSubject() { 2625 return this.subject; 2626 } 2627 2628 /** 2629 * @return {@link #subject} (A code or group definition that describes the intended subject from which this kind of specimen is to be collected.) 2630 */ 2631 public CodeableConcept getSubjectCodeableConcept() throws FHIRException { 2632 if (this.subject == null) 2633 this.subject = new CodeableConcept(); 2634 if (!(this.subject instanceof CodeableConcept)) 2635 throw new FHIRException("Type mismatch: the type CodeableConcept was expected, but "+this.subject.getClass().getName()+" was encountered"); 2636 return (CodeableConcept) this.subject; 2637 } 2638 2639 public boolean hasSubjectCodeableConcept() { 2640 return this != null && this.subject instanceof CodeableConcept; 2641 } 2642 2643 /** 2644 * @return {@link #subject} (A code or group definition that describes the intended subject from which this kind of specimen is to be collected.) 2645 */ 2646 public Reference getSubjectReference() throws FHIRException { 2647 if (this.subject == null) 2648 this.subject = new Reference(); 2649 if (!(this.subject instanceof Reference)) 2650 throw new FHIRException("Type mismatch: the type Reference was expected, but "+this.subject.getClass().getName()+" was encountered"); 2651 return (Reference) this.subject; 2652 } 2653 2654 public boolean hasSubjectReference() { 2655 return this != null && this.subject instanceof Reference; 2656 } 2657 2658 public boolean hasSubject() { 2659 return this.subject != null && !this.subject.isEmpty(); 2660 } 2661 2662 /** 2663 * @param value {@link #subject} (A code or group definition that describes the intended subject from which this kind of specimen is to be collected.) 2664 */ 2665 public SpecimenDefinition setSubject(DataType value) { 2666 if (value != null && !(value instanceof CodeableConcept || value instanceof Reference)) 2667 throw new Error("Not the right type for SpecimenDefinition.subject[x]: "+value.fhirType()); 2668 this.subject = value; 2669 return this; 2670 } 2671 2672 /** 2673 * @return {@link #date} (For draft definitions, indicates the date of initial creation. For active definitions, represents the date of activation. For withdrawn definitions, indicates the date of withdrawal.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 2674 */ 2675 public DateTimeType getDateElement() { 2676 if (this.date == null) 2677 if (Configuration.errorOnAutoCreate()) 2678 throw new Error("Attempt to auto-create SpecimenDefinition.date"); 2679 else if (Configuration.doAutoCreate()) 2680 this.date = new DateTimeType(); // bb 2681 return this.date; 2682 } 2683 2684 public boolean hasDateElement() { 2685 return this.date != null && !this.date.isEmpty(); 2686 } 2687 2688 public boolean hasDate() { 2689 return this.date != null && !this.date.isEmpty(); 2690 } 2691 2692 /** 2693 * @param value {@link #date} (For draft definitions, indicates the date of initial creation. For active definitions, represents the date of activation. For withdrawn definitions, indicates the date of withdrawal.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 2694 */ 2695 public SpecimenDefinition setDateElement(DateTimeType value) { 2696 this.date = value; 2697 return this; 2698 } 2699 2700 /** 2701 * @return For draft definitions, indicates the date of initial creation. For active definitions, represents the date of activation. For withdrawn definitions, indicates the date of withdrawal. 2702 */ 2703 public Date getDate() { 2704 return this.date == null ? null : this.date.getValue(); 2705 } 2706 2707 /** 2708 * @param value For draft definitions, indicates the date of initial creation. For active definitions, represents the date of activation. For withdrawn definitions, indicates the date of withdrawal. 2709 */ 2710 public SpecimenDefinition setDate(Date value) { 2711 if (value == null) 2712 this.date = null; 2713 else { 2714 if (this.date == null) 2715 this.date = new DateTimeType(); 2716 this.date.setValue(value); 2717 } 2718 return this; 2719 } 2720 2721 /** 2722 * @return {@link #publisher} (Helps establish the "authority/credibility" of the SpecimenDefinition. May also allow for contact.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value 2723 */ 2724 public StringType getPublisherElement() { 2725 if (this.publisher == null) 2726 if (Configuration.errorOnAutoCreate()) 2727 throw new Error("Attempt to auto-create SpecimenDefinition.publisher"); 2728 else if (Configuration.doAutoCreate()) 2729 this.publisher = new StringType(); // bb 2730 return this.publisher; 2731 } 2732 2733 public boolean hasPublisherElement() { 2734 return this.publisher != null && !this.publisher.isEmpty(); 2735 } 2736 2737 public boolean hasPublisher() { 2738 return this.publisher != null && !this.publisher.isEmpty(); 2739 } 2740 2741 /** 2742 * @param value {@link #publisher} (Helps establish the "authority/credibility" of the SpecimenDefinition. May also allow for contact.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value 2743 */ 2744 public SpecimenDefinition setPublisherElement(StringType value) { 2745 this.publisher = value; 2746 return this; 2747 } 2748 2749 /** 2750 * @return Helps establish the "authority/credibility" of the SpecimenDefinition. May also allow for contact. 2751 */ 2752 public String getPublisher() { 2753 return this.publisher == null ? null : this.publisher.getValue(); 2754 } 2755 2756 /** 2757 * @param value Helps establish the "authority/credibility" of the SpecimenDefinition. May also allow for contact. 2758 */ 2759 public SpecimenDefinition setPublisher(String value) { 2760 if (Utilities.noString(value)) 2761 this.publisher = null; 2762 else { 2763 if (this.publisher == null) 2764 this.publisher = new StringType(); 2765 this.publisher.setValue(value); 2766 } 2767 return this; 2768 } 2769 2770 /** 2771 * @return {@link #contact} (Contact details to assist a user in finding and communicating with the publisher.) 2772 */ 2773 public List<ContactDetail> getContact() { 2774 if (this.contact == null) 2775 this.contact = new ArrayList<ContactDetail>(); 2776 return this.contact; 2777 } 2778 2779 /** 2780 * @return Returns a reference to <code>this</code> for easy method chaining 2781 */ 2782 public SpecimenDefinition setContact(List<ContactDetail> theContact) { 2783 this.contact = theContact; 2784 return this; 2785 } 2786 2787 public boolean hasContact() { 2788 if (this.contact == null) 2789 return false; 2790 for (ContactDetail item : this.contact) 2791 if (!item.isEmpty()) 2792 return true; 2793 return false; 2794 } 2795 2796 public ContactDetail addContact() { //3 2797 ContactDetail t = new ContactDetail(); 2798 if (this.contact == null) 2799 this.contact = new ArrayList<ContactDetail>(); 2800 this.contact.add(t); 2801 return t; 2802 } 2803 2804 public SpecimenDefinition addContact(ContactDetail t) { //3 2805 if (t == null) 2806 return this; 2807 if (this.contact == null) 2808 this.contact = new ArrayList<ContactDetail>(); 2809 this.contact.add(t); 2810 return this; 2811 } 2812 2813 /** 2814 * @return The first repetition of repeating field {@link #contact}, creating it if it does not already exist {3} 2815 */ 2816 public ContactDetail getContactFirstRep() { 2817 if (getContact().isEmpty()) { 2818 addContact(); 2819 } 2820 return getContact().get(0); 2821 } 2822 2823 /** 2824 * @return {@link #description} (A free text natural language description of the SpecimenDefinition from the consumer's perspective.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 2825 */ 2826 public MarkdownType getDescriptionElement() { 2827 if (this.description == null) 2828 if (Configuration.errorOnAutoCreate()) 2829 throw new Error("Attempt to auto-create SpecimenDefinition.description"); 2830 else if (Configuration.doAutoCreate()) 2831 this.description = new MarkdownType(); // bb 2832 return this.description; 2833 } 2834 2835 public boolean hasDescriptionElement() { 2836 return this.description != null && !this.description.isEmpty(); 2837 } 2838 2839 public boolean hasDescription() { 2840 return this.description != null && !this.description.isEmpty(); 2841 } 2842 2843 /** 2844 * @param value {@link #description} (A free text natural language description of the SpecimenDefinition from the consumer's perspective.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 2845 */ 2846 public SpecimenDefinition setDescriptionElement(MarkdownType value) { 2847 this.description = value; 2848 return this; 2849 } 2850 2851 /** 2852 * @return A free text natural language description of the SpecimenDefinition from the consumer's perspective. 2853 */ 2854 public String getDescription() { 2855 return this.description == null ? null : this.description.getValue(); 2856 } 2857 2858 /** 2859 * @param value A free text natural language description of the SpecimenDefinition from the consumer's perspective. 2860 */ 2861 public SpecimenDefinition setDescription(String value) { 2862 if (value == null) 2863 this.description = null; 2864 else { 2865 if (this.description == null) 2866 this.description = new MarkdownType(); 2867 this.description.setValue(value); 2868 } 2869 return this; 2870 } 2871 2872 /** 2873 * @return {@link #useContext} (The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching of specimen definitions.) 2874 */ 2875 public List<UsageContext> getUseContext() { 2876 if (this.useContext == null) 2877 this.useContext = new ArrayList<UsageContext>(); 2878 return this.useContext; 2879 } 2880 2881 /** 2882 * @return Returns a reference to <code>this</code> for easy method chaining 2883 */ 2884 public SpecimenDefinition setUseContext(List<UsageContext> theUseContext) { 2885 this.useContext = theUseContext; 2886 return this; 2887 } 2888 2889 public boolean hasUseContext() { 2890 if (this.useContext == null) 2891 return false; 2892 for (UsageContext item : this.useContext) 2893 if (!item.isEmpty()) 2894 return true; 2895 return false; 2896 } 2897 2898 public UsageContext addUseContext() { //3 2899 UsageContext t = new UsageContext(); 2900 if (this.useContext == null) 2901 this.useContext = new ArrayList<UsageContext>(); 2902 this.useContext.add(t); 2903 return t; 2904 } 2905 2906 public SpecimenDefinition addUseContext(UsageContext t) { //3 2907 if (t == null) 2908 return this; 2909 if (this.useContext == null) 2910 this.useContext = new ArrayList<UsageContext>(); 2911 this.useContext.add(t); 2912 return this; 2913 } 2914 2915 /** 2916 * @return The first repetition of repeating field {@link #useContext}, creating it if it does not already exist {3} 2917 */ 2918 public UsageContext getUseContextFirstRep() { 2919 if (getUseContext().isEmpty()) { 2920 addUseContext(); 2921 } 2922 return getUseContext().get(0); 2923 } 2924 2925 /** 2926 * @return {@link #jurisdiction} (A jurisdiction in which the SpecimenDefinition is intended to be used.) 2927 */ 2928 public List<CodeableConcept> getJurisdiction() { 2929 if (this.jurisdiction == null) 2930 this.jurisdiction = new ArrayList<CodeableConcept>(); 2931 return this.jurisdiction; 2932 } 2933 2934 /** 2935 * @return Returns a reference to <code>this</code> for easy method chaining 2936 */ 2937 public SpecimenDefinition setJurisdiction(List<CodeableConcept> theJurisdiction) { 2938 this.jurisdiction = theJurisdiction; 2939 return this; 2940 } 2941 2942 public boolean hasJurisdiction() { 2943 if (this.jurisdiction == null) 2944 return false; 2945 for (CodeableConcept item : this.jurisdiction) 2946 if (!item.isEmpty()) 2947 return true; 2948 return false; 2949 } 2950 2951 public CodeableConcept addJurisdiction() { //3 2952 CodeableConcept t = new CodeableConcept(); 2953 if (this.jurisdiction == null) 2954 this.jurisdiction = new ArrayList<CodeableConcept>(); 2955 this.jurisdiction.add(t); 2956 return t; 2957 } 2958 2959 public SpecimenDefinition addJurisdiction(CodeableConcept t) { //3 2960 if (t == null) 2961 return this; 2962 if (this.jurisdiction == null) 2963 this.jurisdiction = new ArrayList<CodeableConcept>(); 2964 this.jurisdiction.add(t); 2965 return this; 2966 } 2967 2968 /** 2969 * @return The first repetition of repeating field {@link #jurisdiction}, creating it if it does not already exist {3} 2970 */ 2971 public CodeableConcept getJurisdictionFirstRep() { 2972 if (getJurisdiction().isEmpty()) { 2973 addJurisdiction(); 2974 } 2975 return getJurisdiction().get(0); 2976 } 2977 2978 /** 2979 * @return {@link #purpose} (Explains why this SpecimeDefinition 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 2980 */ 2981 public MarkdownType getPurposeElement() { 2982 if (this.purpose == null) 2983 if (Configuration.errorOnAutoCreate()) 2984 throw new Error("Attempt to auto-create SpecimenDefinition.purpose"); 2985 else if (Configuration.doAutoCreate()) 2986 this.purpose = new MarkdownType(); // bb 2987 return this.purpose; 2988 } 2989 2990 public boolean hasPurposeElement() { 2991 return this.purpose != null && !this.purpose.isEmpty(); 2992 } 2993 2994 public boolean hasPurpose() { 2995 return this.purpose != null && !this.purpose.isEmpty(); 2996 } 2997 2998 /** 2999 * @param value {@link #purpose} (Explains why this SpecimeDefinition 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 3000 */ 3001 public SpecimenDefinition setPurposeElement(MarkdownType value) { 3002 this.purpose = value; 3003 return this; 3004 } 3005 3006 /** 3007 * @return Explains why this SpecimeDefinition is needed and why it has been designed as it has. 3008 */ 3009 public String getPurpose() { 3010 return this.purpose == null ? null : this.purpose.getValue(); 3011 } 3012 3013 /** 3014 * @param value Explains why this SpecimeDefinition is needed and why it has been designed as it has. 3015 */ 3016 public SpecimenDefinition setPurpose(String value) { 3017 if (value == null) 3018 this.purpose = null; 3019 else { 3020 if (this.purpose == null) 3021 this.purpose = new MarkdownType(); 3022 this.purpose.setValue(value); 3023 } 3024 return this; 3025 } 3026 3027 /** 3028 * @return {@link #copyright} (Copyright statement relating to the SpecimenDefinition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the SpecimenDefinition.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value 3029 */ 3030 public MarkdownType getCopyrightElement() { 3031 if (this.copyright == null) 3032 if (Configuration.errorOnAutoCreate()) 3033 throw new Error("Attempt to auto-create SpecimenDefinition.copyright"); 3034 else if (Configuration.doAutoCreate()) 3035 this.copyright = new MarkdownType(); // bb 3036 return this.copyright; 3037 } 3038 3039 public boolean hasCopyrightElement() { 3040 return this.copyright != null && !this.copyright.isEmpty(); 3041 } 3042 3043 public boolean hasCopyright() { 3044 return this.copyright != null && !this.copyright.isEmpty(); 3045 } 3046 3047 /** 3048 * @param value {@link #copyright} (Copyright statement relating to the SpecimenDefinition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the SpecimenDefinition.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value 3049 */ 3050 public SpecimenDefinition setCopyrightElement(MarkdownType value) { 3051 this.copyright = value; 3052 return this; 3053 } 3054 3055 /** 3056 * @return Copyright statement relating to the SpecimenDefinition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the SpecimenDefinition. 3057 */ 3058 public String getCopyright() { 3059 return this.copyright == null ? null : this.copyright.getValue(); 3060 } 3061 3062 /** 3063 * @param value Copyright statement relating to the SpecimenDefinition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the SpecimenDefinition. 3064 */ 3065 public SpecimenDefinition setCopyright(String value) { 3066 if (value == null) 3067 this.copyright = null; 3068 else { 3069 if (this.copyright == null) 3070 this.copyright = new MarkdownType(); 3071 this.copyright.setValue(value); 3072 } 3073 return this; 3074 } 3075 3076 /** 3077 * @return {@link #approvalDate} (The date on which the asset 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 3078 */ 3079 public DateType getApprovalDateElement() { 3080 if (this.approvalDate == null) 3081 if (Configuration.errorOnAutoCreate()) 3082 throw new Error("Attempt to auto-create SpecimenDefinition.approvalDate"); 3083 else if (Configuration.doAutoCreate()) 3084 this.approvalDate = new DateType(); // bb 3085 return this.approvalDate; 3086 } 3087 3088 public boolean hasApprovalDateElement() { 3089 return this.approvalDate != null && !this.approvalDate.isEmpty(); 3090 } 3091 3092 public boolean hasApprovalDate() { 3093 return this.approvalDate != null && !this.approvalDate.isEmpty(); 3094 } 3095 3096 /** 3097 * @param value {@link #approvalDate} (The date on which the asset 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 3098 */ 3099 public SpecimenDefinition setApprovalDateElement(DateType value) { 3100 this.approvalDate = value; 3101 return this; 3102 } 3103 3104 /** 3105 * @return The date on which the asset content was approved by the publisher. Approval happens once when the content is officially approved for usage. 3106 */ 3107 public Date getApprovalDate() { 3108 return this.approvalDate == null ? null : this.approvalDate.getValue(); 3109 } 3110 3111 /** 3112 * @param value The date on which the asset content was approved by the publisher. Approval happens once when the content is officially approved for usage. 3113 */ 3114 public SpecimenDefinition setApprovalDate(Date value) { 3115 if (value == null) 3116 this.approvalDate = null; 3117 else { 3118 if (this.approvalDate == null) 3119 this.approvalDate = new DateType(); 3120 this.approvalDate.setValue(value); 3121 } 3122 return this; 3123 } 3124 3125 /** 3126 * @return {@link #lastReviewDate} (The date on which the asset content was last reviewed. Review happens periodically after that, but doesn't change the original approval date.). This is the underlying object with id, value and extensions. The accessor "getLastReviewDate" gives direct access to the value 3127 */ 3128 public DateType getLastReviewDateElement() { 3129 if (this.lastReviewDate == null) 3130 if (Configuration.errorOnAutoCreate()) 3131 throw new Error("Attempt to auto-create SpecimenDefinition.lastReviewDate"); 3132 else if (Configuration.doAutoCreate()) 3133 this.lastReviewDate = new DateType(); // bb 3134 return this.lastReviewDate; 3135 } 3136 3137 public boolean hasLastReviewDateElement() { 3138 return this.lastReviewDate != null && !this.lastReviewDate.isEmpty(); 3139 } 3140 3141 public boolean hasLastReviewDate() { 3142 return this.lastReviewDate != null && !this.lastReviewDate.isEmpty(); 3143 } 3144 3145 /** 3146 * @param value {@link #lastReviewDate} (The date on which the asset content was last reviewed. Review happens periodically after that, but doesn't change the original approval date.). This is the underlying object with id, value and extensions. The accessor "getLastReviewDate" gives direct access to the value 3147 */ 3148 public SpecimenDefinition setLastReviewDateElement(DateType value) { 3149 this.lastReviewDate = value; 3150 return this; 3151 } 3152 3153 /** 3154 * @return The date on which the asset content was last reviewed. Review happens periodically after that, but doesn't change the original approval date. 3155 */ 3156 public Date getLastReviewDate() { 3157 return this.lastReviewDate == null ? null : this.lastReviewDate.getValue(); 3158 } 3159 3160 /** 3161 * @param value The date on which the asset content was last reviewed. Review happens periodically after that, but doesn't change the original approval date. 3162 */ 3163 public SpecimenDefinition setLastReviewDate(Date value) { 3164 if (value == null) 3165 this.lastReviewDate = null; 3166 else { 3167 if (this.lastReviewDate == null) 3168 this.lastReviewDate = new DateType(); 3169 this.lastReviewDate.setValue(value); 3170 } 3171 return this; 3172 } 3173 3174 /** 3175 * @return {@link #effectivePeriod} (The period during which the SpecimenDefinition content was or is planned to be effective.) 3176 */ 3177 public Period getEffectivePeriod() { 3178 if (this.effectivePeriod == null) 3179 if (Configuration.errorOnAutoCreate()) 3180 throw new Error("Attempt to auto-create SpecimenDefinition.effectivePeriod"); 3181 else if (Configuration.doAutoCreate()) 3182 this.effectivePeriod = new Period(); // cc 3183 return this.effectivePeriod; 3184 } 3185 3186 public boolean hasEffectivePeriod() { 3187 return this.effectivePeriod != null && !this.effectivePeriod.isEmpty(); 3188 } 3189 3190 /** 3191 * @param value {@link #effectivePeriod} (The period during which the SpecimenDefinition content was or is planned to be effective.) 3192 */ 3193 public SpecimenDefinition setEffectivePeriod(Period value) { 3194 this.effectivePeriod = value; 3195 return this; 3196 } 3197 3198 /** 3199 * @return {@link #typeCollected} (The kind of material to be collected.) 3200 */ 3201 public CodeableConcept getTypeCollected() { 3202 if (this.typeCollected == null) 3203 if (Configuration.errorOnAutoCreate()) 3204 throw new Error("Attempt to auto-create SpecimenDefinition.typeCollected"); 3205 else if (Configuration.doAutoCreate()) 3206 this.typeCollected = new CodeableConcept(); // cc 3207 return this.typeCollected; 3208 } 3209 3210 public boolean hasTypeCollected() { 3211 return this.typeCollected != null && !this.typeCollected.isEmpty(); 3212 } 3213 3214 /** 3215 * @param value {@link #typeCollected} (The kind of material to be collected.) 3216 */ 3217 public SpecimenDefinition setTypeCollected(CodeableConcept value) { 3218 this.typeCollected = value; 3219 return this; 3220 } 3221 3222 /** 3223 * @return {@link #patientPreparation} (Preparation of the patient for specimen collection.) 3224 */ 3225 public List<CodeableConcept> getPatientPreparation() { 3226 if (this.patientPreparation == null) 3227 this.patientPreparation = new ArrayList<CodeableConcept>(); 3228 return this.patientPreparation; 3229 } 3230 3231 /** 3232 * @return Returns a reference to <code>this</code> for easy method chaining 3233 */ 3234 public SpecimenDefinition setPatientPreparation(List<CodeableConcept> thePatientPreparation) { 3235 this.patientPreparation = thePatientPreparation; 3236 return this; 3237 } 3238 3239 public boolean hasPatientPreparation() { 3240 if (this.patientPreparation == null) 3241 return false; 3242 for (CodeableConcept item : this.patientPreparation) 3243 if (!item.isEmpty()) 3244 return true; 3245 return false; 3246 } 3247 3248 public CodeableConcept addPatientPreparation() { //3 3249 CodeableConcept t = new CodeableConcept(); 3250 if (this.patientPreparation == null) 3251 this.patientPreparation = new ArrayList<CodeableConcept>(); 3252 this.patientPreparation.add(t); 3253 return t; 3254 } 3255 3256 public SpecimenDefinition addPatientPreparation(CodeableConcept t) { //3 3257 if (t == null) 3258 return this; 3259 if (this.patientPreparation == null) 3260 this.patientPreparation = new ArrayList<CodeableConcept>(); 3261 this.patientPreparation.add(t); 3262 return this; 3263 } 3264 3265 /** 3266 * @return The first repetition of repeating field {@link #patientPreparation}, creating it if it does not already exist {3} 3267 */ 3268 public CodeableConcept getPatientPreparationFirstRep() { 3269 if (getPatientPreparation().isEmpty()) { 3270 addPatientPreparation(); 3271 } 3272 return getPatientPreparation().get(0); 3273 } 3274 3275 /** 3276 * @return {@link #timeAspect} (Time aspect of specimen collection (duration or offset).). This is the underlying object with id, value and extensions. The accessor "getTimeAspect" gives direct access to the value 3277 */ 3278 public StringType getTimeAspectElement() { 3279 if (this.timeAspect == null) 3280 if (Configuration.errorOnAutoCreate()) 3281 throw new Error("Attempt to auto-create SpecimenDefinition.timeAspect"); 3282 else if (Configuration.doAutoCreate()) 3283 this.timeAspect = new StringType(); // bb 3284 return this.timeAspect; 3285 } 3286 3287 public boolean hasTimeAspectElement() { 3288 return this.timeAspect != null && !this.timeAspect.isEmpty(); 3289 } 3290 3291 public boolean hasTimeAspect() { 3292 return this.timeAspect != null && !this.timeAspect.isEmpty(); 3293 } 3294 3295 /** 3296 * @param value {@link #timeAspect} (Time aspect of specimen collection (duration or offset).). This is the underlying object with id, value and extensions. The accessor "getTimeAspect" gives direct access to the value 3297 */ 3298 public SpecimenDefinition setTimeAspectElement(StringType value) { 3299 this.timeAspect = value; 3300 return this; 3301 } 3302 3303 /** 3304 * @return Time aspect of specimen collection (duration or offset). 3305 */ 3306 public String getTimeAspect() { 3307 return this.timeAspect == null ? null : this.timeAspect.getValue(); 3308 } 3309 3310 /** 3311 * @param value Time aspect of specimen collection (duration or offset). 3312 */ 3313 public SpecimenDefinition setTimeAspect(String value) { 3314 if (Utilities.noString(value)) 3315 this.timeAspect = null; 3316 else { 3317 if (this.timeAspect == null) 3318 this.timeAspect = new StringType(); 3319 this.timeAspect.setValue(value); 3320 } 3321 return this; 3322 } 3323 3324 /** 3325 * @return {@link #collection} (The action to be performed for collecting the specimen.) 3326 */ 3327 public List<CodeableConcept> getCollection() { 3328 if (this.collection == null) 3329 this.collection = new ArrayList<CodeableConcept>(); 3330 return this.collection; 3331 } 3332 3333 /** 3334 * @return Returns a reference to <code>this</code> for easy method chaining 3335 */ 3336 public SpecimenDefinition setCollection(List<CodeableConcept> theCollection) { 3337 this.collection = theCollection; 3338 return this; 3339 } 3340 3341 public boolean hasCollection() { 3342 if (this.collection == null) 3343 return false; 3344 for (CodeableConcept item : this.collection) 3345 if (!item.isEmpty()) 3346 return true; 3347 return false; 3348 } 3349 3350 public CodeableConcept addCollection() { //3 3351 CodeableConcept t = new CodeableConcept(); 3352 if (this.collection == null) 3353 this.collection = new ArrayList<CodeableConcept>(); 3354 this.collection.add(t); 3355 return t; 3356 } 3357 3358 public SpecimenDefinition addCollection(CodeableConcept t) { //3 3359 if (t == null) 3360 return this; 3361 if (this.collection == null) 3362 this.collection = new ArrayList<CodeableConcept>(); 3363 this.collection.add(t); 3364 return this; 3365 } 3366 3367 /** 3368 * @return The first repetition of repeating field {@link #collection}, creating it if it does not already exist {3} 3369 */ 3370 public CodeableConcept getCollectionFirstRep() { 3371 if (getCollection().isEmpty()) { 3372 addCollection(); 3373 } 3374 return getCollection().get(0); 3375 } 3376 3377 /** 3378 * @return {@link #typeTested} (Specimen conditioned in a container as expected by the testing laboratory.) 3379 */ 3380 public List<SpecimenDefinitionTypeTestedComponent> getTypeTested() { 3381 if (this.typeTested == null) 3382 this.typeTested = new ArrayList<SpecimenDefinitionTypeTestedComponent>(); 3383 return this.typeTested; 3384 } 3385 3386 /** 3387 * @return Returns a reference to <code>this</code> for easy method chaining 3388 */ 3389 public SpecimenDefinition setTypeTested(List<SpecimenDefinitionTypeTestedComponent> theTypeTested) { 3390 this.typeTested = theTypeTested; 3391 return this; 3392 } 3393 3394 public boolean hasTypeTested() { 3395 if (this.typeTested == null) 3396 return false; 3397 for (SpecimenDefinitionTypeTestedComponent item : this.typeTested) 3398 if (!item.isEmpty()) 3399 return true; 3400 return false; 3401 } 3402 3403 public SpecimenDefinitionTypeTestedComponent addTypeTested() { //3 3404 SpecimenDefinitionTypeTestedComponent t = new SpecimenDefinitionTypeTestedComponent(); 3405 if (this.typeTested == null) 3406 this.typeTested = new ArrayList<SpecimenDefinitionTypeTestedComponent>(); 3407 this.typeTested.add(t); 3408 return t; 3409 } 3410 3411 public SpecimenDefinition addTypeTested(SpecimenDefinitionTypeTestedComponent t) { //3 3412 if (t == null) 3413 return this; 3414 if (this.typeTested == null) 3415 this.typeTested = new ArrayList<SpecimenDefinitionTypeTestedComponent>(); 3416 this.typeTested.add(t); 3417 return this; 3418 } 3419 3420 /** 3421 * @return The first repetition of repeating field {@link #typeTested}, creating it if it does not already exist {3} 3422 */ 3423 public SpecimenDefinitionTypeTestedComponent getTypeTestedFirstRep() { 3424 if (getTypeTested().isEmpty()) { 3425 addTypeTested(); 3426 } 3427 return getTypeTested().get(0); 3428 } 3429 3430 protected void listChildren(List<Property> children) { 3431 super.listChildren(children); 3432 children.add(new Property("url", "uri", "An absolute URL that is used to identify this SpecimenDefinition when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this SpecimenDefinition is (or will be) published. The URL SHOULD include the major version of the SpecimenDefinition. For more information see Technical and Business Versions.", 0, 1, url)); 3433 children.add(new Property("identifier", "Identifier", "A business identifier assigned to this SpecimenDefinition.", 0, 1, identifier)); 3434 children.add(new Property("version", "string", "The identifier that is used to identify this version of the SpecimenDefinition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the SpecimenDefinition author and is not expected to be globally unique.", 0, 1, version)); 3435 children.add(new Property("title", "string", "A short, descriptive, user-friendly title for the SpecimenDefinition.", 0, 1, title)); 3436 children.add(new Property("derivedFromCanonical", "canonical(SpecimenDefinition)", "The canonical URL pointing to another FHIR-defined SpecimenDefinition that is adhered to in whole or in part by this definition.", 0, java.lang.Integer.MAX_VALUE, derivedFromCanonical)); 3437 children.add(new Property("derivedFromUri", "uri", "The URL pointing to an externally-defined type of specimen, guideline or other definition that is adhered to in whole or in part by this definition.", 0, java.lang.Integer.MAX_VALUE, derivedFromUri)); 3438 children.add(new Property("status", "code", "The current state of theSpecimenDefinition.", 0, 1, status)); 3439 children.add(new Property("experimental", "boolean", "A flag to indicate that this SpecimenDefinition is not authored for genuine usage.", 0, 1, experimental)); 3440 children.add(new Property("subject[x]", "CodeableConcept|Reference(Group)", "A code or group definition that describes the intended subject from which this kind of specimen is to be collected.", 0, 1, subject)); 3441 children.add(new Property("date", "dateTime", "For draft definitions, indicates the date of initial creation. For active definitions, represents the date of activation. For withdrawn definitions, indicates the date of withdrawal.", 0, 1, date)); 3442 children.add(new Property("publisher", "string", "Helps establish the \"authority/credibility\" of the SpecimenDefinition. May also allow for contact.", 0, 1, publisher)); 3443 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)); 3444 children.add(new Property("description", "markdown", "A free text natural language description of the SpecimenDefinition from the consumer's perspective.", 0, 1, description)); 3445 children.add(new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching of specimen definitions.", 0, java.lang.Integer.MAX_VALUE, useContext)); 3446 children.add(new Property("jurisdiction", "CodeableConcept", "A jurisdiction in which the SpecimenDefinition is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction)); 3447 children.add(new Property("purpose", "markdown", "Explains why this SpecimeDefinition is needed and why it has been designed as it has.", 0, 1, purpose)); 3448 children.add(new Property("copyright", "markdown", "Copyright statement relating to the SpecimenDefinition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the SpecimenDefinition.", 0, 1, copyright)); 3449 children.add(new Property("approvalDate", "date", "The date on which the asset content was approved by the publisher. Approval happens once when the content is officially approved for usage.", 0, 1, approvalDate)); 3450 children.add(new Property("lastReviewDate", "date", "The date on which the asset content was last reviewed. Review happens periodically after that, but doesn't change the original approval date.", 0, 1, lastReviewDate)); 3451 children.add(new Property("effectivePeriod", "Period", "The period during which the SpecimenDefinition content was or is planned to be effective.", 0, 1, effectivePeriod)); 3452 children.add(new Property("typeCollected", "CodeableConcept", "The kind of material to be collected.", 0, 1, typeCollected)); 3453 children.add(new Property("patientPreparation", "CodeableConcept", "Preparation of the patient for specimen collection.", 0, java.lang.Integer.MAX_VALUE, patientPreparation)); 3454 children.add(new Property("timeAspect", "string", "Time aspect of specimen collection (duration or offset).", 0, 1, timeAspect)); 3455 children.add(new Property("collection", "CodeableConcept", "The action to be performed for collecting the specimen.", 0, java.lang.Integer.MAX_VALUE, collection)); 3456 children.add(new Property("typeTested", "", "Specimen conditioned in a container as expected by the testing laboratory.", 0, java.lang.Integer.MAX_VALUE, typeTested)); 3457 } 3458 3459 @Override 3460 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 3461 switch (_hash) { 3462 case 116079: /*url*/ return new Property("url", "uri", "An absolute URL that is used to identify this SpecimenDefinition when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this SpecimenDefinition is (or will be) published. The URL SHOULD include the major version of the SpecimenDefinition. For more information see Technical and Business Versions.", 0, 1, url); 3463 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "A business identifier assigned to this SpecimenDefinition.", 0, 1, identifier); 3464 case 351608024: /*version*/ return new Property("version", "string", "The identifier that is used to identify this version of the SpecimenDefinition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the SpecimenDefinition author and is not expected to be globally unique.", 0, 1, version); 3465 case 110371416: /*title*/ return new Property("title", "string", "A short, descriptive, user-friendly title for the SpecimenDefinition.", 0, 1, title); 3466 case -978133683: /*derivedFromCanonical*/ return new Property("derivedFromCanonical", "canonical(SpecimenDefinition)", "The canonical URL pointing to another FHIR-defined SpecimenDefinition that is adhered to in whole or in part by this definition.", 0, java.lang.Integer.MAX_VALUE, derivedFromCanonical); 3467 case -1076333435: /*derivedFromUri*/ return new Property("derivedFromUri", "uri", "The URL pointing to an externally-defined type of specimen, guideline or other definition that is adhered to in whole or in part by this definition.", 0, java.lang.Integer.MAX_VALUE, derivedFromUri); 3468 case -892481550: /*status*/ return new Property("status", "code", "The current state of theSpecimenDefinition.", 0, 1, status); 3469 case -404562712: /*experimental*/ return new Property("experimental", "boolean", "A flag to indicate that this SpecimenDefinition is not authored for genuine usage.", 0, 1, experimental); 3470 case -573640748: /*subject[x]*/ return new Property("subject[x]", "CodeableConcept|Reference(Group)", "A code or group definition that describes the intended subject from which this kind of specimen is to be collected.", 0, 1, subject); 3471 case -1867885268: /*subject*/ return new Property("subject[x]", "CodeableConcept|Reference(Group)", "A code or group definition that describes the intended subject from which this kind of specimen is to be collected.", 0, 1, subject); 3472 case -1257122603: /*subjectCodeableConcept*/ return new Property("subject[x]", "CodeableConcept", "A code or group definition that describes the intended subject from which this kind of specimen is to be collected.", 0, 1, subject); 3473 case 772938623: /*subjectReference*/ return new Property("subject[x]", "Reference(Group)", "A code or group definition that describes the intended subject from which this kind of specimen is to be collected.", 0, 1, subject); 3474 case 3076014: /*date*/ return new Property("date", "dateTime", "For draft definitions, indicates the date of initial creation. For active definitions, represents the date of activation. For withdrawn definitions, indicates the date of withdrawal.", 0, 1, date); 3475 case 1447404028: /*publisher*/ return new Property("publisher", "string", "Helps establish the \"authority/credibility\" of the SpecimenDefinition. May also allow for contact.", 0, 1, publisher); 3476 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); 3477 case -1724546052: /*description*/ return new Property("description", "markdown", "A free text natural language description of the SpecimenDefinition from the consumer's perspective.", 0, 1, description); 3478 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 terms may be used to assist with indexing and searching of specimen definitions.", 0, java.lang.Integer.MAX_VALUE, useContext); 3479 case -507075711: /*jurisdiction*/ return new Property("jurisdiction", "CodeableConcept", "A jurisdiction in which the SpecimenDefinition is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction); 3480 case -220463842: /*purpose*/ return new Property("purpose", "markdown", "Explains why this SpecimeDefinition is needed and why it has been designed as it has.", 0, 1, purpose); 3481 case 1522889671: /*copyright*/ return new Property("copyright", "markdown", "Copyright statement relating to the SpecimenDefinition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the SpecimenDefinition.", 0, 1, copyright); 3482 case 223539345: /*approvalDate*/ return new Property("approvalDate", "date", "The date on which the asset content was approved by the publisher. Approval happens once when the content is officially approved for usage.", 0, 1, approvalDate); 3483 case -1687512484: /*lastReviewDate*/ return new Property("lastReviewDate", "date", "The date on which the asset content was last reviewed. Review happens periodically after that, but doesn't change the original approval date.", 0, 1, lastReviewDate); 3484 case -403934648: /*effectivePeriod*/ return new Property("effectivePeriod", "Period", "The period during which the SpecimenDefinition content was or is planned to be effective.", 0, 1, effectivePeriod); 3485 case 588504367: /*typeCollected*/ return new Property("typeCollected", "CodeableConcept", "The kind of material to be collected.", 0, 1, typeCollected); 3486 case -879411630: /*patientPreparation*/ return new Property("patientPreparation", "CodeableConcept", "Preparation of the patient for specimen collection.", 0, java.lang.Integer.MAX_VALUE, patientPreparation); 3487 case 276972933: /*timeAspect*/ return new Property("timeAspect", "string", "Time aspect of specimen collection (duration or offset).", 0, 1, timeAspect); 3488 case -1741312354: /*collection*/ return new Property("collection", "CodeableConcept", "The action to be performed for collecting the specimen.", 0, java.lang.Integer.MAX_VALUE, collection); 3489 case -1407902581: /*typeTested*/ return new Property("typeTested", "", "Specimen conditioned in a container as expected by the testing laboratory.", 0, java.lang.Integer.MAX_VALUE, typeTested); 3490 default: return super.getNamedProperty(_hash, _name, _checkValid); 3491 } 3492 3493 } 3494 3495 @Override 3496 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 3497 switch (hash) { 3498 case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType 3499 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : new Base[] {this.identifier}; // Identifier 3500 case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType 3501 case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType 3502 case -978133683: /*derivedFromCanonical*/ return this.derivedFromCanonical == null ? new Base[0] : this.derivedFromCanonical.toArray(new Base[this.derivedFromCanonical.size()]); // CanonicalType 3503 case -1076333435: /*derivedFromUri*/ return this.derivedFromUri == null ? new Base[0] : this.derivedFromUri.toArray(new Base[this.derivedFromUri.size()]); // UriType 3504 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<PublicationStatus> 3505 case -404562712: /*experimental*/ return this.experimental == null ? new Base[0] : new Base[] {this.experimental}; // BooleanType 3506 case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : new Base[] {this.subject}; // DataType 3507 case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType 3508 case 1447404028: /*publisher*/ return this.publisher == null ? new Base[0] : new Base[] {this.publisher}; // StringType 3509 case 951526432: /*contact*/ return this.contact == null ? new Base[0] : this.contact.toArray(new Base[this.contact.size()]); // ContactDetail 3510 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType 3511 case -669707736: /*useContext*/ return this.useContext == null ? new Base[0] : this.useContext.toArray(new Base[this.useContext.size()]); // UsageContext 3512 case -507075711: /*jurisdiction*/ return this.jurisdiction == null ? new Base[0] : this.jurisdiction.toArray(new Base[this.jurisdiction.size()]); // CodeableConcept 3513 case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : new Base[] {this.purpose}; // MarkdownType 3514 case 1522889671: /*copyright*/ return this.copyright == null ? new Base[0] : new Base[] {this.copyright}; // MarkdownType 3515 case 223539345: /*approvalDate*/ return this.approvalDate == null ? new Base[0] : new Base[] {this.approvalDate}; // DateType 3516 case -1687512484: /*lastReviewDate*/ return this.lastReviewDate == null ? new Base[0] : new Base[] {this.lastReviewDate}; // DateType 3517 case -403934648: /*effectivePeriod*/ return this.effectivePeriod == null ? new Base[0] : new Base[] {this.effectivePeriod}; // Period 3518 case 588504367: /*typeCollected*/ return this.typeCollected == null ? new Base[0] : new Base[] {this.typeCollected}; // CodeableConcept 3519 case -879411630: /*patientPreparation*/ return this.patientPreparation == null ? new Base[0] : this.patientPreparation.toArray(new Base[this.patientPreparation.size()]); // CodeableConcept 3520 case 276972933: /*timeAspect*/ return this.timeAspect == null ? new Base[0] : new Base[] {this.timeAspect}; // StringType 3521 case -1741312354: /*collection*/ return this.collection == null ? new Base[0] : this.collection.toArray(new Base[this.collection.size()]); // CodeableConcept 3522 case -1407902581: /*typeTested*/ return this.typeTested == null ? new Base[0] : this.typeTested.toArray(new Base[this.typeTested.size()]); // SpecimenDefinitionTypeTestedComponent 3523 default: return super.getProperty(hash, name, checkValid); 3524 } 3525 3526 } 3527 3528 @Override 3529 public Base setProperty(int hash, String name, Base value) throws FHIRException { 3530 switch (hash) { 3531 case 116079: // url 3532 this.url = TypeConvertor.castToUri(value); // UriType 3533 return value; 3534 case -1618432855: // identifier 3535 this.identifier = TypeConvertor.castToIdentifier(value); // Identifier 3536 return value; 3537 case 351608024: // version 3538 this.version = TypeConvertor.castToString(value); // StringType 3539 return value; 3540 case 110371416: // title 3541 this.title = TypeConvertor.castToString(value); // StringType 3542 return value; 3543 case -978133683: // derivedFromCanonical 3544 this.getDerivedFromCanonical().add(TypeConvertor.castToCanonical(value)); // CanonicalType 3545 return value; 3546 case -1076333435: // derivedFromUri 3547 this.getDerivedFromUri().add(TypeConvertor.castToUri(value)); // UriType 3548 return value; 3549 case -892481550: // status 3550 value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 3551 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 3552 return value; 3553 case -404562712: // experimental 3554 this.experimental = TypeConvertor.castToBoolean(value); // BooleanType 3555 return value; 3556 case -1867885268: // subject 3557 this.subject = TypeConvertor.castToType(value); // DataType 3558 return value; 3559 case 3076014: // date 3560 this.date = TypeConvertor.castToDateTime(value); // DateTimeType 3561 return value; 3562 case 1447404028: // publisher 3563 this.publisher = TypeConvertor.castToString(value); // StringType 3564 return value; 3565 case 951526432: // contact 3566 this.getContact().add(TypeConvertor.castToContactDetail(value)); // ContactDetail 3567 return value; 3568 case -1724546052: // description 3569 this.description = TypeConvertor.castToMarkdown(value); // MarkdownType 3570 return value; 3571 case -669707736: // useContext 3572 this.getUseContext().add(TypeConvertor.castToUsageContext(value)); // UsageContext 3573 return value; 3574 case -507075711: // jurisdiction 3575 this.getJurisdiction().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 3576 return value; 3577 case -220463842: // purpose 3578 this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType 3579 return value; 3580 case 1522889671: // copyright 3581 this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType 3582 return value; 3583 case 223539345: // approvalDate 3584 this.approvalDate = TypeConvertor.castToDate(value); // DateType 3585 return value; 3586 case -1687512484: // lastReviewDate 3587 this.lastReviewDate = TypeConvertor.castToDate(value); // DateType 3588 return value; 3589 case -403934648: // effectivePeriod 3590 this.effectivePeriod = TypeConvertor.castToPeriod(value); // Period 3591 return value; 3592 case 588504367: // typeCollected 3593 this.typeCollected = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 3594 return value; 3595 case -879411630: // patientPreparation 3596 this.getPatientPreparation().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 3597 return value; 3598 case 276972933: // timeAspect 3599 this.timeAspect = TypeConvertor.castToString(value); // StringType 3600 return value; 3601 case -1741312354: // collection 3602 this.getCollection().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 3603 return value; 3604 case -1407902581: // typeTested 3605 this.getTypeTested().add((SpecimenDefinitionTypeTestedComponent) value); // SpecimenDefinitionTypeTestedComponent 3606 return value; 3607 default: return super.setProperty(hash, name, value); 3608 } 3609 3610 } 3611 3612 @Override 3613 public Base setProperty(String name, Base value) throws FHIRException { 3614 if (name.equals("url")) { 3615 this.url = TypeConvertor.castToUri(value); // UriType 3616 } else if (name.equals("identifier")) { 3617 this.identifier = TypeConvertor.castToIdentifier(value); // Identifier 3618 } else if (name.equals("version")) { 3619 this.version = TypeConvertor.castToString(value); // StringType 3620 } else if (name.equals("title")) { 3621 this.title = TypeConvertor.castToString(value); // StringType 3622 } else if (name.equals("derivedFromCanonical")) { 3623 this.getDerivedFromCanonical().add(TypeConvertor.castToCanonical(value)); 3624 } else if (name.equals("derivedFromUri")) { 3625 this.getDerivedFromUri().add(TypeConvertor.castToUri(value)); 3626 } else if (name.equals("status")) { 3627 value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 3628 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 3629 } else if (name.equals("experimental")) { 3630 this.experimental = TypeConvertor.castToBoolean(value); // BooleanType 3631 } else if (name.equals("subject[x]")) { 3632 this.subject = TypeConvertor.castToType(value); // DataType 3633 } else if (name.equals("date")) { 3634 this.date = TypeConvertor.castToDateTime(value); // DateTimeType 3635 } else if (name.equals("publisher")) { 3636 this.publisher = TypeConvertor.castToString(value); // StringType 3637 } else if (name.equals("contact")) { 3638 this.getContact().add(TypeConvertor.castToContactDetail(value)); 3639 } else if (name.equals("description")) { 3640 this.description = TypeConvertor.castToMarkdown(value); // MarkdownType 3641 } else if (name.equals("useContext")) { 3642 this.getUseContext().add(TypeConvertor.castToUsageContext(value)); 3643 } else if (name.equals("jurisdiction")) { 3644 this.getJurisdiction().add(TypeConvertor.castToCodeableConcept(value)); 3645 } else if (name.equals("purpose")) { 3646 this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType 3647 } else if (name.equals("copyright")) { 3648 this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType 3649 } else if (name.equals("approvalDate")) { 3650 this.approvalDate = TypeConvertor.castToDate(value); // DateType 3651 } else if (name.equals("lastReviewDate")) { 3652 this.lastReviewDate = TypeConvertor.castToDate(value); // DateType 3653 } else if (name.equals("effectivePeriod")) { 3654 this.effectivePeriod = TypeConvertor.castToPeriod(value); // Period 3655 } else if (name.equals("typeCollected")) { 3656 this.typeCollected = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 3657 } else if (name.equals("patientPreparation")) { 3658 this.getPatientPreparation().add(TypeConvertor.castToCodeableConcept(value)); 3659 } else if (name.equals("timeAspect")) { 3660 this.timeAspect = TypeConvertor.castToString(value); // StringType 3661 } else if (name.equals("collection")) { 3662 this.getCollection().add(TypeConvertor.castToCodeableConcept(value)); 3663 } else if (name.equals("typeTested")) { 3664 this.getTypeTested().add((SpecimenDefinitionTypeTestedComponent) value); 3665 } else 3666 return super.setProperty(name, value); 3667 return value; 3668 } 3669 3670 @Override 3671 public Base makeProperty(int hash, String name) throws FHIRException { 3672 switch (hash) { 3673 case 116079: return getUrlElement(); 3674 case -1618432855: return getIdentifier(); 3675 case 351608024: return getVersionElement(); 3676 case 110371416: return getTitleElement(); 3677 case -978133683: return addDerivedFromCanonicalElement(); 3678 case -1076333435: return addDerivedFromUriElement(); 3679 case -892481550: return getStatusElement(); 3680 case -404562712: return getExperimentalElement(); 3681 case -573640748: return getSubject(); 3682 case -1867885268: return getSubject(); 3683 case 3076014: return getDateElement(); 3684 case 1447404028: return getPublisherElement(); 3685 case 951526432: return addContact(); 3686 case -1724546052: return getDescriptionElement(); 3687 case -669707736: return addUseContext(); 3688 case -507075711: return addJurisdiction(); 3689 case -220463842: return getPurposeElement(); 3690 case 1522889671: return getCopyrightElement(); 3691 case 223539345: return getApprovalDateElement(); 3692 case -1687512484: return getLastReviewDateElement(); 3693 case -403934648: return getEffectivePeriod(); 3694 case 588504367: return getTypeCollected(); 3695 case -879411630: return addPatientPreparation(); 3696 case 276972933: return getTimeAspectElement(); 3697 case -1741312354: return addCollection(); 3698 case -1407902581: return addTypeTested(); 3699 default: return super.makeProperty(hash, name); 3700 } 3701 3702 } 3703 3704 @Override 3705 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 3706 switch (hash) { 3707 case 116079: /*url*/ return new String[] {"uri"}; 3708 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 3709 case 351608024: /*version*/ return new String[] {"string"}; 3710 case 110371416: /*title*/ return new String[] {"string"}; 3711 case -978133683: /*derivedFromCanonical*/ return new String[] {"canonical"}; 3712 case -1076333435: /*derivedFromUri*/ return new String[] {"uri"}; 3713 case -892481550: /*status*/ return new String[] {"code"}; 3714 case -404562712: /*experimental*/ return new String[] {"boolean"}; 3715 case -1867885268: /*subject*/ return new String[] {"CodeableConcept", "Reference"}; 3716 case 3076014: /*date*/ return new String[] {"dateTime"}; 3717 case 1447404028: /*publisher*/ return new String[] {"string"}; 3718 case 951526432: /*contact*/ return new String[] {"ContactDetail"}; 3719 case -1724546052: /*description*/ return new String[] {"markdown"}; 3720 case -669707736: /*useContext*/ return new String[] {"UsageContext"}; 3721 case -507075711: /*jurisdiction*/ return new String[] {"CodeableConcept"}; 3722 case -220463842: /*purpose*/ return new String[] {"markdown"}; 3723 case 1522889671: /*copyright*/ return new String[] {"markdown"}; 3724 case 223539345: /*approvalDate*/ return new String[] {"date"}; 3725 case -1687512484: /*lastReviewDate*/ return new String[] {"date"}; 3726 case -403934648: /*effectivePeriod*/ return new String[] {"Period"}; 3727 case 588504367: /*typeCollected*/ return new String[] {"CodeableConcept"}; 3728 case -879411630: /*patientPreparation*/ return new String[] {"CodeableConcept"}; 3729 case 276972933: /*timeAspect*/ return new String[] {"string"}; 3730 case -1741312354: /*collection*/ return new String[] {"CodeableConcept"}; 3731 case -1407902581: /*typeTested*/ return new String[] {}; 3732 default: return super.getTypesForProperty(hash, name); 3733 } 3734 3735 } 3736 3737 @Override 3738 public Base addChild(String name) throws FHIRException { 3739 if (name.equals("url")) { 3740 throw new FHIRException("Cannot call addChild on a primitive type SpecimenDefinition.url"); 3741 } 3742 else if (name.equals("identifier")) { 3743 this.identifier = new Identifier(); 3744 return this.identifier; 3745 } 3746 else if (name.equals("version")) { 3747 throw new FHIRException("Cannot call addChild on a primitive type SpecimenDefinition.version"); 3748 } 3749 else if (name.equals("title")) { 3750 throw new FHIRException("Cannot call addChild on a primitive type SpecimenDefinition.title"); 3751 } 3752 else if (name.equals("derivedFromCanonical")) { 3753 throw new FHIRException("Cannot call addChild on a primitive type SpecimenDefinition.derivedFromCanonical"); 3754 } 3755 else if (name.equals("derivedFromUri")) { 3756 throw new FHIRException("Cannot call addChild on a primitive type SpecimenDefinition.derivedFromUri"); 3757 } 3758 else if (name.equals("status")) { 3759 throw new FHIRException("Cannot call addChild on a primitive type SpecimenDefinition.status"); 3760 } 3761 else if (name.equals("experimental")) { 3762 throw new FHIRException("Cannot call addChild on a primitive type SpecimenDefinition.experimental"); 3763 } 3764 else if (name.equals("subjectCodeableConcept")) { 3765 this.subject = new CodeableConcept(); 3766 return this.subject; 3767 } 3768 else if (name.equals("subjectReference")) { 3769 this.subject = new Reference(); 3770 return this.subject; 3771 } 3772 else if (name.equals("date")) { 3773 throw new FHIRException("Cannot call addChild on a primitive type SpecimenDefinition.date"); 3774 } 3775 else if (name.equals("publisher")) { 3776 throw new FHIRException("Cannot call addChild on a primitive type SpecimenDefinition.publisher"); 3777 } 3778 else if (name.equals("contact")) { 3779 return addContact(); 3780 } 3781 else if (name.equals("description")) { 3782 throw new FHIRException("Cannot call addChild on a primitive type SpecimenDefinition.description"); 3783 } 3784 else if (name.equals("useContext")) { 3785 return addUseContext(); 3786 } 3787 else if (name.equals("jurisdiction")) { 3788 return addJurisdiction(); 3789 } 3790 else if (name.equals("purpose")) { 3791 throw new FHIRException("Cannot call addChild on a primitive type SpecimenDefinition.purpose"); 3792 } 3793 else if (name.equals("copyright")) { 3794 throw new FHIRException("Cannot call addChild on a primitive type SpecimenDefinition.copyright"); 3795 } 3796 else if (name.equals("approvalDate")) { 3797 throw new FHIRException("Cannot call addChild on a primitive type SpecimenDefinition.approvalDate"); 3798 } 3799 else if (name.equals("lastReviewDate")) { 3800 throw new FHIRException("Cannot call addChild on a primitive type SpecimenDefinition.lastReviewDate"); 3801 } 3802 else if (name.equals("effectivePeriod")) { 3803 this.effectivePeriod = new Period(); 3804 return this.effectivePeriod; 3805 } 3806 else if (name.equals("typeCollected")) { 3807 this.typeCollected = new CodeableConcept(); 3808 return this.typeCollected; 3809 } 3810 else if (name.equals("patientPreparation")) { 3811 return addPatientPreparation(); 3812 } 3813 else if (name.equals("timeAspect")) { 3814 throw new FHIRException("Cannot call addChild on a primitive type SpecimenDefinition.timeAspect"); 3815 } 3816 else if (name.equals("collection")) { 3817 return addCollection(); 3818 } 3819 else if (name.equals("typeTested")) { 3820 return addTypeTested(); 3821 } 3822 else 3823 return super.addChild(name); 3824 } 3825 3826 public String fhirType() { 3827 return "SpecimenDefinition"; 3828 3829 } 3830 3831 public SpecimenDefinition copy() { 3832 SpecimenDefinition dst = new SpecimenDefinition(); 3833 copyValues(dst); 3834 return dst; 3835 } 3836 3837 public void copyValues(SpecimenDefinition dst) { 3838 super.copyValues(dst); 3839 dst.url = url == null ? null : url.copy(); 3840 dst.identifier = identifier == null ? null : identifier.copy(); 3841 dst.version = version == null ? null : version.copy(); 3842 dst.title = title == null ? null : title.copy(); 3843 if (derivedFromCanonical != null) { 3844 dst.derivedFromCanonical = new ArrayList<CanonicalType>(); 3845 for (CanonicalType i : derivedFromCanonical) 3846 dst.derivedFromCanonical.add(i.copy()); 3847 }; 3848 if (derivedFromUri != null) { 3849 dst.derivedFromUri = new ArrayList<UriType>(); 3850 for (UriType i : derivedFromUri) 3851 dst.derivedFromUri.add(i.copy()); 3852 }; 3853 dst.status = status == null ? null : status.copy(); 3854 dst.experimental = experimental == null ? null : experimental.copy(); 3855 dst.subject = subject == null ? null : subject.copy(); 3856 dst.date = date == null ? null : date.copy(); 3857 dst.publisher = publisher == null ? null : publisher.copy(); 3858 if (contact != null) { 3859 dst.contact = new ArrayList<ContactDetail>(); 3860 for (ContactDetail i : contact) 3861 dst.contact.add(i.copy()); 3862 }; 3863 dst.description = description == null ? null : description.copy(); 3864 if (useContext != null) { 3865 dst.useContext = new ArrayList<UsageContext>(); 3866 for (UsageContext i : useContext) 3867 dst.useContext.add(i.copy()); 3868 }; 3869 if (jurisdiction != null) { 3870 dst.jurisdiction = new ArrayList<CodeableConcept>(); 3871 for (CodeableConcept i : jurisdiction) 3872 dst.jurisdiction.add(i.copy()); 3873 }; 3874 dst.purpose = purpose == null ? null : purpose.copy(); 3875 dst.copyright = copyright == null ? null : copyright.copy(); 3876 dst.approvalDate = approvalDate == null ? null : approvalDate.copy(); 3877 dst.lastReviewDate = lastReviewDate == null ? null : lastReviewDate.copy(); 3878 dst.effectivePeriod = effectivePeriod == null ? null : effectivePeriod.copy(); 3879 dst.typeCollected = typeCollected == null ? null : typeCollected.copy(); 3880 if (patientPreparation != null) { 3881 dst.patientPreparation = new ArrayList<CodeableConcept>(); 3882 for (CodeableConcept i : patientPreparation) 3883 dst.patientPreparation.add(i.copy()); 3884 }; 3885 dst.timeAspect = timeAspect == null ? null : timeAspect.copy(); 3886 if (collection != null) { 3887 dst.collection = new ArrayList<CodeableConcept>(); 3888 for (CodeableConcept i : collection) 3889 dst.collection.add(i.copy()); 3890 }; 3891 if (typeTested != null) { 3892 dst.typeTested = new ArrayList<SpecimenDefinitionTypeTestedComponent>(); 3893 for (SpecimenDefinitionTypeTestedComponent i : typeTested) 3894 dst.typeTested.add(i.copy()); 3895 }; 3896 } 3897 3898 protected SpecimenDefinition typedCopy() { 3899 return copy(); 3900 } 3901 3902 @Override 3903 public boolean equalsDeep(Base other_) { 3904 if (!super.equalsDeep(other_)) 3905 return false; 3906 if (!(other_ instanceof SpecimenDefinition)) 3907 return false; 3908 SpecimenDefinition o = (SpecimenDefinition) other_; 3909 return compareDeep(url, o.url, true) && compareDeep(identifier, o.identifier, true) && compareDeep(version, o.version, true) 3910 && compareDeep(title, o.title, true) && compareDeep(derivedFromCanonical, o.derivedFromCanonical, true) 3911 && compareDeep(derivedFromUri, o.derivedFromUri, true) && compareDeep(status, o.status, true) && compareDeep(experimental, o.experimental, true) 3912 && compareDeep(subject, o.subject, true) && compareDeep(date, o.date, true) && compareDeep(publisher, o.publisher, true) 3913 && compareDeep(contact, o.contact, true) && compareDeep(description, o.description, true) && compareDeep(useContext, o.useContext, true) 3914 && compareDeep(jurisdiction, o.jurisdiction, true) && compareDeep(purpose, o.purpose, true) && compareDeep(copyright, o.copyright, true) 3915 && compareDeep(approvalDate, o.approvalDate, true) && compareDeep(lastReviewDate, o.lastReviewDate, true) 3916 && compareDeep(effectivePeriod, o.effectivePeriod, true) && compareDeep(typeCollected, o.typeCollected, true) 3917 && compareDeep(patientPreparation, o.patientPreparation, true) && compareDeep(timeAspect, o.timeAspect, true) 3918 && compareDeep(collection, o.collection, true) && compareDeep(typeTested, o.typeTested, true); 3919 } 3920 3921 @Override 3922 public boolean equalsShallow(Base other_) { 3923 if (!super.equalsShallow(other_)) 3924 return false; 3925 if (!(other_ instanceof SpecimenDefinition)) 3926 return false; 3927 SpecimenDefinition o = (SpecimenDefinition) other_; 3928 return compareValues(url, o.url, true) && compareValues(version, o.version, true) && compareValues(title, o.title, true) 3929 && compareValues(derivedFromCanonical, o.derivedFromCanonical, true) && compareValues(derivedFromUri, o.derivedFromUri, true) 3930 && compareValues(status, o.status, true) && compareValues(experimental, o.experimental, true) && compareValues(date, o.date, true) 3931 && compareValues(publisher, o.publisher, true) && compareValues(description, o.description, true) && compareValues(purpose, o.purpose, true) 3932 && compareValues(copyright, o.copyright, true) && compareValues(approvalDate, o.approvalDate, true) 3933 && compareValues(lastReviewDate, o.lastReviewDate, true) && compareValues(timeAspect, o.timeAspect, true) 3934 ; 3935 } 3936 3937 public boolean isEmpty() { 3938 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(url, identifier, version 3939 , title, derivedFromCanonical, derivedFromUri, status, experimental, subject, date 3940 , publisher, contact, description, useContext, jurisdiction, purpose, copyright 3941 , approvalDate, lastReviewDate, effectivePeriod, typeCollected, patientPreparation 3942 , timeAspect, collection, typeTested); 3943 } 3944 3945 @Override 3946 public ResourceType getResourceType() { 3947 return ResourceType.SpecimenDefinition; 3948 } 3949 3950 /** 3951 * Search parameter: <b>identifier</b> 3952 * <p> 3953 * Description: <b>Multiple Resources: 3954 3955* [ActivityDefinition](activitydefinition.html): External identifier for the activity definition 3956* [ActorDefinition](actordefinition.html): External identifier for the Actor Definition 3957* [ChargeItemDefinition](chargeitemdefinition.html): External identifier for the charge item definition 3958* [Citation](citation.html): External identifier for the citation 3959* [CodeSystem](codesystem.html): External identifier for the code system 3960* [ConceptMap](conceptmap.html): External identifier for the concept map 3961* [ConditionDefinition](conditiondefinition.html): External identifier for the condition definition 3962* [EventDefinition](eventdefinition.html): External identifier for the event definition 3963* [Evidence](evidence.html): External identifier for the evidence 3964* [EvidenceReport](evidencereport.html): External identifier for the evidence report 3965* [EvidenceVariable](evidencevariable.html): External identifier for the evidence variable 3966* [ExampleScenario](examplescenario.html): External identifier for the example scenario 3967* [Library](library.html): External identifier for the library 3968* [Measure](measure.html): External identifier for the measure 3969* [MedicationKnowledge](medicationknowledge.html): Business identifier for this medication 3970* [MessageDefinition](messagedefinition.html): External identifier for the message definition 3971* [NamingSystem](namingsystem.html): External identifier for the naming system 3972* [ObservationDefinition](observationdefinition.html): The unique identifier associated with the specimen definition 3973* [PlanDefinition](plandefinition.html): External identifier for the plan definition 3974* [Questionnaire](questionnaire.html): External identifier for the questionnaire 3975* [Requirements](requirements.html): External identifier for the requirements 3976* [SpecimenDefinition](specimendefinition.html): The unique identifier associated with the SpecimenDefinition 3977* [StructureDefinition](structuredefinition.html): External identifier for the structure definition 3978* [StructureMap](structuremap.html): External identifier for the structure map 3979* [SubscriptionTopic](subscriptiontopic.html): Business Identifier for SubscriptionTopic 3980* [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities 3981* [TestScript](testscript.html): External identifier for the test script 3982* [ValueSet](valueset.html): External identifier for the value set 3983</b><br> 3984 * Type: <b>token</b><br> 3985 * Path: <b>ActivityDefinition.identifier | ActorDefinition.identifier | ChargeItemDefinition.identifier | Citation.identifier | CodeSystem.identifier | ConceptMap.identifier | ConditionDefinition.identifier | EventDefinition.identifier | Evidence.identifier | EvidenceReport.identifier | EvidenceVariable.identifier | ExampleScenario.identifier | Library.identifier | Measure.identifier | MedicationKnowledge.identifier | MessageDefinition.identifier | NamingSystem.identifier | ObservationDefinition.identifier | PlanDefinition.identifier | Questionnaire.identifier | Requirements.identifier | SpecimenDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | SubscriptionTopic.identifier | TerminologyCapabilities.identifier | TestScript.identifier | ValueSet.identifier</b><br> 3986 * </p> 3987 */ 3988 @SearchParamDefinition(name="identifier", path="ActivityDefinition.identifier | ActorDefinition.identifier | ChargeItemDefinition.identifier | Citation.identifier | CodeSystem.identifier | ConceptMap.identifier | ConditionDefinition.identifier | EventDefinition.identifier | Evidence.identifier | EvidenceReport.identifier | EvidenceVariable.identifier | ExampleScenario.identifier | Library.identifier | Measure.identifier | MedicationKnowledge.identifier | MessageDefinition.identifier | NamingSystem.identifier | ObservationDefinition.identifier | PlanDefinition.identifier | Questionnaire.identifier | Requirements.identifier | SpecimenDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | SubscriptionTopic.identifier | TerminologyCapabilities.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* [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* [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* [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* [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* [TestScript](testscript.html): External identifier for the test script\r\n* [ValueSet](valueset.html): External identifier for the value set\r\n", type="token" ) 3989 public static final String SP_IDENTIFIER = "identifier"; 3990 /** 3991 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 3992 * <p> 3993 * Description: <b>Multiple Resources: 3994 3995* [ActivityDefinition](activitydefinition.html): External identifier for the activity definition 3996* [ActorDefinition](actordefinition.html): External identifier for the Actor Definition 3997* [ChargeItemDefinition](chargeitemdefinition.html): External identifier for the charge item definition 3998* [Citation](citation.html): External identifier for the citation 3999* [CodeSystem](codesystem.html): External identifier for the code system 4000* [ConceptMap](conceptmap.html): External identifier for the concept map 4001* [ConditionDefinition](conditiondefinition.html): External identifier for the condition definition 4002* [EventDefinition](eventdefinition.html): External identifier for the event definition 4003* [Evidence](evidence.html): External identifier for the evidence 4004* [EvidenceReport](evidencereport.html): External identifier for the evidence report 4005* [EvidenceVariable](evidencevariable.html): External identifier for the evidence variable 4006* [ExampleScenario](examplescenario.html): External identifier for the example scenario 4007* [Library](library.html): External identifier for the library 4008* [Measure](measure.html): External identifier for the measure 4009* [MedicationKnowledge](medicationknowledge.html): Business identifier for this medication 4010* [MessageDefinition](messagedefinition.html): External identifier for the message definition 4011* [NamingSystem](namingsystem.html): External identifier for the naming system 4012* [ObservationDefinition](observationdefinition.html): The unique identifier associated with the specimen definition 4013* [PlanDefinition](plandefinition.html): External identifier for the plan definition 4014* [Questionnaire](questionnaire.html): External identifier for the questionnaire 4015* [Requirements](requirements.html): External identifier for the requirements 4016* [SpecimenDefinition](specimendefinition.html): The unique identifier associated with the SpecimenDefinition 4017* [StructureDefinition](structuredefinition.html): External identifier for the structure definition 4018* [StructureMap](structuremap.html): External identifier for the structure map 4019* [SubscriptionTopic](subscriptiontopic.html): Business Identifier for SubscriptionTopic 4020* [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities 4021* [TestScript](testscript.html): External identifier for the test script 4022* [ValueSet](valueset.html): External identifier for the value set 4023</b><br> 4024 * Type: <b>token</b><br> 4025 * Path: <b>ActivityDefinition.identifier | ActorDefinition.identifier | ChargeItemDefinition.identifier | Citation.identifier | CodeSystem.identifier | ConceptMap.identifier | ConditionDefinition.identifier | EventDefinition.identifier | Evidence.identifier | EvidenceReport.identifier | EvidenceVariable.identifier | ExampleScenario.identifier | Library.identifier | Measure.identifier | MedicationKnowledge.identifier | MessageDefinition.identifier | NamingSystem.identifier | ObservationDefinition.identifier | PlanDefinition.identifier | Questionnaire.identifier | Requirements.identifier | SpecimenDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | SubscriptionTopic.identifier | TerminologyCapabilities.identifier | TestScript.identifier | ValueSet.identifier</b><br> 4026 * </p> 4027 */ 4028 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 4029 4030 /** 4031 * Search parameter: <b>status</b> 4032 * <p> 4033 * Description: <b>Multiple Resources: 4034 4035* [ActivityDefinition](activitydefinition.html): The current status of the activity definition 4036* [ActorDefinition](actordefinition.html): The current status of the Actor Definition 4037* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement 4038* [ChargeItemDefinition](chargeitemdefinition.html): The current status of the charge item definition 4039* [Citation](citation.html): The current status of the citation 4040* [CodeSystem](codesystem.html): The current status of the code system 4041* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition 4042* [ConceptMap](conceptmap.html): The current status of the concept map 4043* [ConditionDefinition](conditiondefinition.html): The current status of the condition definition 4044* [EventDefinition](eventdefinition.html): The current status of the event definition 4045* [Evidence](evidence.html): The current status of the evidence 4046* [EvidenceReport](evidencereport.html): The current status of the evidence report 4047* [EvidenceVariable](evidencevariable.html): The current status of the evidence variable 4048* [ExampleScenario](examplescenario.html): The current status of the example scenario 4049* [GraphDefinition](graphdefinition.html): The current status of the graph definition 4050* [ImplementationGuide](implementationguide.html): The current status of the implementation guide 4051* [Library](library.html): The current status of the library 4052* [Measure](measure.html): The current status of the measure 4053* [MedicationKnowledge](medicationknowledge.html): active | inactive | entered-in-error 4054* [MessageDefinition](messagedefinition.html): The current status of the message definition 4055* [NamingSystem](namingsystem.html): The current status of the naming system 4056* [ObservationDefinition](observationdefinition.html): Publication status of the ObservationDefinition: draft, active, retired, unknown 4057* [OperationDefinition](operationdefinition.html): The current status of the operation definition 4058* [PlanDefinition](plandefinition.html): The current status of the plan definition 4059* [Questionnaire](questionnaire.html): The current status of the questionnaire 4060* [Requirements](requirements.html): The current status of the requirements 4061* [SearchParameter](searchparameter.html): The current status of the search parameter 4062* [SpecimenDefinition](specimendefinition.html): Publication status of the SpecimenDefinition: draft, active, retired, unknown 4063* [StructureDefinition](structuredefinition.html): The current status of the structure definition 4064* [StructureMap](structuremap.html): The current status of the structure map 4065* [SubscriptionTopic](subscriptiontopic.html): draft | active | retired | unknown 4066* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities 4067* [TestScript](testscript.html): The current status of the test script 4068* [ValueSet](valueset.html): The current status of the value set 4069</b><br> 4070 * Type: <b>token</b><br> 4071 * Path: <b>ActivityDefinition.status | ActorDefinition.status | CapabilityStatement.status | ChargeItemDefinition.status | Citation.status | CodeSystem.status | CompartmentDefinition.status | ConceptMap.status | ConditionDefinition.status | EventDefinition.status | Evidence.status | EvidenceReport.status | EvidenceVariable.status | ExampleScenario.status | GraphDefinition.status | ImplementationGuide.status | Library.status | Measure.status | MedicationKnowledge.status | MessageDefinition.status | NamingSystem.status | ObservationDefinition.status | OperationDefinition.status | PlanDefinition.status | Questionnaire.status | Requirements.status | SearchParameter.status | SpecimenDefinition.status | StructureDefinition.status | StructureMap.status | SubscriptionTopic.status | TerminologyCapabilities.status | TestScript.status | ValueSet.status</b><br> 4072 * </p> 4073 */ 4074 @SearchParamDefinition(name="status", path="ActivityDefinition.status | ActorDefinition.status | CapabilityStatement.status | ChargeItemDefinition.status | Citation.status | CodeSystem.status | CompartmentDefinition.status | ConceptMap.status | ConditionDefinition.status | EventDefinition.status | Evidence.status | EvidenceReport.status | EvidenceVariable.status | ExampleScenario.status | GraphDefinition.status | ImplementationGuide.status | Library.status | Measure.status | MedicationKnowledge.status | MessageDefinition.status | NamingSystem.status | ObservationDefinition.status | OperationDefinition.status | PlanDefinition.status | Questionnaire.status | Requirements.status | SearchParameter.status | SpecimenDefinition.status | StructureDefinition.status | StructureMap.status | SubscriptionTopic.status | TerminologyCapabilities.status | TestScript.status | ValueSet.status", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): The current status of the activity definition\r\n* [ActorDefinition](actordefinition.html): The current status of the Actor Definition\r\n* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement\r\n* [ChargeItemDefinition](chargeitemdefinition.html): The current status of the charge item definition\r\n* [Citation](citation.html): The current status of the citation\r\n* [CodeSystem](codesystem.html): The current status of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition\r\n* [ConceptMap](conceptmap.html): The current status of the concept map\r\n* [ConditionDefinition](conditiondefinition.html): The current status of the condition definition\r\n* [EventDefinition](eventdefinition.html): The current status of the event definition\r\n* [Evidence](evidence.html): The current status of the evidence\r\n* [EvidenceReport](evidencereport.html): The current status of the evidence report\r\n* [EvidenceVariable](evidencevariable.html): The current status of the evidence variable\r\n* [ExampleScenario](examplescenario.html): The current status of the example scenario\r\n* [GraphDefinition](graphdefinition.html): The current status of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The current status of the implementation guide\r\n* [Library](library.html): The current status of the library\r\n* [Measure](measure.html): The current status of the measure\r\n* [MedicationKnowledge](medicationknowledge.html): active | inactive | entered-in-error\r\n* [MessageDefinition](messagedefinition.html): The current status of the message definition\r\n* [NamingSystem](namingsystem.html): The current status of the naming system\r\n* [ObservationDefinition](observationdefinition.html): Publication status of the ObservationDefinition: draft, active, retired, unknown\r\n* [OperationDefinition](operationdefinition.html): The current status of the operation definition\r\n* [PlanDefinition](plandefinition.html): The current status of the plan definition\r\n* [Questionnaire](questionnaire.html): The current status of the questionnaire\r\n* [Requirements](requirements.html): The current status of the requirements\r\n* [SearchParameter](searchparameter.html): The current status of the search parameter\r\n* [SpecimenDefinition](specimendefinition.html): Publication status of the SpecimenDefinition: draft, active, retired, unknown\r\n* [StructureDefinition](structuredefinition.html): The current status of the structure definition\r\n* [StructureMap](structuremap.html): The current status of the structure map\r\n* [SubscriptionTopic](subscriptiontopic.html): draft | active | retired | unknown\r\n* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities\r\n* [TestScript](testscript.html): The current status of the test script\r\n* [ValueSet](valueset.html): The current status of the value set\r\n", type="token" ) 4075 public static final String SP_STATUS = "status"; 4076 /** 4077 * <b>Fluent Client</b> search parameter constant for <b>status</b> 4078 * <p> 4079 * Description: <b>Multiple Resources: 4080 4081* [ActivityDefinition](activitydefinition.html): The current status of the activity definition 4082* [ActorDefinition](actordefinition.html): The current status of the Actor Definition 4083* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement 4084* [ChargeItemDefinition](chargeitemdefinition.html): The current status of the charge item definition 4085* [Citation](citation.html): The current status of the citation 4086* [CodeSystem](codesystem.html): The current status of the code system 4087* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition 4088* [ConceptMap](conceptmap.html): The current status of the concept map 4089* [ConditionDefinition](conditiondefinition.html): The current status of the condition definition 4090* [EventDefinition](eventdefinition.html): The current status of the event definition 4091* [Evidence](evidence.html): The current status of the evidence 4092* [EvidenceReport](evidencereport.html): The current status of the evidence report 4093* [EvidenceVariable](evidencevariable.html): The current status of the evidence variable 4094* [ExampleScenario](examplescenario.html): The current status of the example scenario 4095* [GraphDefinition](graphdefinition.html): The current status of the graph definition 4096* [ImplementationGuide](implementationguide.html): The current status of the implementation guide 4097* [Library](library.html): The current status of the library 4098* [Measure](measure.html): The current status of the measure 4099* [MedicationKnowledge](medicationknowledge.html): active | inactive | entered-in-error 4100* [MessageDefinition](messagedefinition.html): The current status of the message definition 4101* [NamingSystem](namingsystem.html): The current status of the naming system 4102* [ObservationDefinition](observationdefinition.html): Publication status of the ObservationDefinition: draft, active, retired, unknown 4103* [OperationDefinition](operationdefinition.html): The current status of the operation definition 4104* [PlanDefinition](plandefinition.html): The current status of the plan definition 4105* [Questionnaire](questionnaire.html): The current status of the questionnaire 4106* [Requirements](requirements.html): The current status of the requirements 4107* [SearchParameter](searchparameter.html): The current status of the search parameter 4108* [SpecimenDefinition](specimendefinition.html): Publication status of the SpecimenDefinition: draft, active, retired, unknown 4109* [StructureDefinition](structuredefinition.html): The current status of the structure definition 4110* [StructureMap](structuremap.html): The current status of the structure map 4111* [SubscriptionTopic](subscriptiontopic.html): draft | active | retired | unknown 4112* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities 4113* [TestScript](testscript.html): The current status of the test script 4114* [ValueSet](valueset.html): The current status of the value set 4115</b><br> 4116 * Type: <b>token</b><br> 4117 * Path: <b>ActivityDefinition.status | ActorDefinition.status | CapabilityStatement.status | ChargeItemDefinition.status | Citation.status | CodeSystem.status | CompartmentDefinition.status | ConceptMap.status | ConditionDefinition.status | EventDefinition.status | Evidence.status | EvidenceReport.status | EvidenceVariable.status | ExampleScenario.status | GraphDefinition.status | ImplementationGuide.status | Library.status | Measure.status | MedicationKnowledge.status | MessageDefinition.status | NamingSystem.status | ObservationDefinition.status | OperationDefinition.status | PlanDefinition.status | Questionnaire.status | Requirements.status | SearchParameter.status | SpecimenDefinition.status | StructureDefinition.status | StructureMap.status | SubscriptionTopic.status | TerminologyCapabilities.status | TestScript.status | ValueSet.status</b><br> 4118 * </p> 4119 */ 4120 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 4121 4122 /** 4123 * Search parameter: <b>title</b> 4124 * <p> 4125 * Description: <b>Multiple Resources: 4126 4127* [ActivityDefinition](activitydefinition.html): The human-friendly name of the activity definition 4128* [ActorDefinition](actordefinition.html): The human-friendly name of the Actor Definition 4129* [CapabilityStatement](capabilitystatement.html): The human-friendly name of the capability statement 4130* [ChargeItemDefinition](chargeitemdefinition.html): The human-friendly name of the charge item definition 4131* [Citation](citation.html): The human-friendly name of the citation 4132* [CodeSystem](codesystem.html): The human-friendly name of the code system 4133* [ConceptMap](conceptmap.html): The human-friendly name of the concept map 4134* [ConditionDefinition](conditiondefinition.html): The human-friendly name of the condition definition 4135* [EventDefinition](eventdefinition.html): The human-friendly name of the event definition 4136* [Evidence](evidence.html): The human-friendly name of the evidence 4137* [EvidenceVariable](evidencevariable.html): The human-friendly name of the evidence variable 4138* [ImplementationGuide](implementationguide.html): The human-friendly name of the implementation guide 4139* [Library](library.html): The human-friendly name of the library 4140* [Measure](measure.html): The human-friendly name of the measure 4141* [MessageDefinition](messagedefinition.html): The human-friendly name of the message definition 4142* [ObservationDefinition](observationdefinition.html): Human-friendly name of the ObservationDefinition 4143* [OperationDefinition](operationdefinition.html): The human-friendly name of the operation definition 4144* [PlanDefinition](plandefinition.html): The human-friendly name of the plan definition 4145* [Questionnaire](questionnaire.html): The human-friendly name of the questionnaire 4146* [Requirements](requirements.html): The human-friendly name of the requirements 4147* [SpecimenDefinition](specimendefinition.html): Human-friendly name of the SpecimenDefinition 4148* [StructureDefinition](structuredefinition.html): The human-friendly name of the structure definition 4149* [StructureMap](structuremap.html): The human-friendly name of the structure map 4150* [SubscriptionTopic](subscriptiontopic.html): Name for this SubscriptionTopic (Human friendly) 4151* [TerminologyCapabilities](terminologycapabilities.html): The human-friendly name of the terminology capabilities 4152* [TestScript](testscript.html): The human-friendly name of the test script 4153* [ValueSet](valueset.html): The human-friendly name of the value set 4154</b><br> 4155 * Type: <b>string</b><br> 4156 * Path: <b>ActivityDefinition.title | ActorDefinition.title | CapabilityStatement.title | ChargeItemDefinition.title | Citation.title | CodeSystem.title | ConceptMap.title | ConditionDefinition.title | EventDefinition.title | Evidence.title | EvidenceVariable.title | ImplementationGuide.title | Library.title | Measure.title | MessageDefinition.title | ObservationDefinition.title | OperationDefinition.title | PlanDefinition.title | Questionnaire.title | Requirements.title | SpecimenDefinition.title | StructureDefinition.title | StructureMap.title | SubscriptionTopic.title | TerminologyCapabilities.title | TestScript.title | ValueSet.title</b><br> 4157 * </p> 4158 */ 4159 @SearchParamDefinition(name="title", path="ActivityDefinition.title | ActorDefinition.title | CapabilityStatement.title | ChargeItemDefinition.title | Citation.title | CodeSystem.title | ConceptMap.title | ConditionDefinition.title | EventDefinition.title | Evidence.title | EvidenceVariable.title | ImplementationGuide.title | Library.title | Measure.title | MessageDefinition.title | ObservationDefinition.title | OperationDefinition.title | PlanDefinition.title | Questionnaire.title | Requirements.title | SpecimenDefinition.title | StructureDefinition.title | StructureMap.title | SubscriptionTopic.title | TerminologyCapabilities.title | TestScript.title | ValueSet.title", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): The human-friendly name of the activity definition\r\n* [ActorDefinition](actordefinition.html): The human-friendly name of the Actor Definition\r\n* [CapabilityStatement](capabilitystatement.html): The human-friendly name of the capability statement\r\n* [ChargeItemDefinition](chargeitemdefinition.html): The human-friendly name of the charge item definition\r\n* [Citation](citation.html): The human-friendly name of the citation\r\n* [CodeSystem](codesystem.html): The human-friendly name of the code system\r\n* [ConceptMap](conceptmap.html): The human-friendly name of the concept map\r\n* [ConditionDefinition](conditiondefinition.html): The human-friendly name of the condition definition\r\n* [EventDefinition](eventdefinition.html): The human-friendly name of the event definition\r\n* [Evidence](evidence.html): The human-friendly name of the evidence\r\n* [EvidenceVariable](evidencevariable.html): The human-friendly name of the evidence variable\r\n* [ImplementationGuide](implementationguide.html): The human-friendly name of the implementation guide\r\n* [Library](library.html): The human-friendly name of the library\r\n* [Measure](measure.html): The human-friendly name of the measure\r\n* [MessageDefinition](messagedefinition.html): The human-friendly name of the message definition\r\n* [ObservationDefinition](observationdefinition.html): Human-friendly name of the ObservationDefinition\r\n* [OperationDefinition](operationdefinition.html): The human-friendly name of the operation definition\r\n* [PlanDefinition](plandefinition.html): The human-friendly name of the plan definition\r\n* [Questionnaire](questionnaire.html): The human-friendly name of the questionnaire\r\n* [Requirements](requirements.html): The human-friendly name of the requirements\r\n* [SpecimenDefinition](specimendefinition.html): Human-friendly name of the SpecimenDefinition\r\n* [StructureDefinition](structuredefinition.html): The human-friendly name of the structure definition\r\n* [StructureMap](structuremap.html): The human-friendly name of the structure map\r\n* [SubscriptionTopic](subscriptiontopic.html): Name for this SubscriptionTopic (Human friendly)\r\n* [TerminologyCapabilities](terminologycapabilities.html): The human-friendly name of the terminology capabilities\r\n* [TestScript](testscript.html): The human-friendly name of the test script\r\n* [ValueSet](valueset.html): The human-friendly name of the value set\r\n", type="string" ) 4160 public static final String SP_TITLE = "title"; 4161 /** 4162 * <b>Fluent Client</b> search parameter constant for <b>title</b> 4163 * <p> 4164 * Description: <b>Multiple Resources: 4165 4166* [ActivityDefinition](activitydefinition.html): The human-friendly name of the activity definition 4167* [ActorDefinition](actordefinition.html): The human-friendly name of the Actor Definition 4168* [CapabilityStatement](capabilitystatement.html): The human-friendly name of the capability statement 4169* [ChargeItemDefinition](chargeitemdefinition.html): The human-friendly name of the charge item definition 4170* [Citation](citation.html): The human-friendly name of the citation 4171* [CodeSystem](codesystem.html): The human-friendly name of the code system 4172* [ConceptMap](conceptmap.html): The human-friendly name of the concept map 4173* [ConditionDefinition](conditiondefinition.html): The human-friendly name of the condition definition 4174* [EventDefinition](eventdefinition.html): The human-friendly name of the event definition 4175* [Evidence](evidence.html): The human-friendly name of the evidence 4176* [EvidenceVariable](evidencevariable.html): The human-friendly name of the evidence variable 4177* [ImplementationGuide](implementationguide.html): The human-friendly name of the implementation guide 4178* [Library](library.html): The human-friendly name of the library 4179* [Measure](measure.html): The human-friendly name of the measure 4180* [MessageDefinition](messagedefinition.html): The human-friendly name of the message definition 4181* [ObservationDefinition](observationdefinition.html): Human-friendly name of the ObservationDefinition 4182* [OperationDefinition](operationdefinition.html): The human-friendly name of the operation definition 4183* [PlanDefinition](plandefinition.html): The human-friendly name of the plan definition 4184* [Questionnaire](questionnaire.html): The human-friendly name of the questionnaire 4185* [Requirements](requirements.html): The human-friendly name of the requirements 4186* [SpecimenDefinition](specimendefinition.html): Human-friendly name of the SpecimenDefinition 4187* [StructureDefinition](structuredefinition.html): The human-friendly name of the structure definition 4188* [StructureMap](structuremap.html): The human-friendly name of the structure map 4189* [SubscriptionTopic](subscriptiontopic.html): Name for this SubscriptionTopic (Human friendly) 4190* [TerminologyCapabilities](terminologycapabilities.html): The human-friendly name of the terminology capabilities 4191* [TestScript](testscript.html): The human-friendly name of the test script 4192* [ValueSet](valueset.html): The human-friendly name of the value set 4193</b><br> 4194 * Type: <b>string</b><br> 4195 * Path: <b>ActivityDefinition.title | ActorDefinition.title | CapabilityStatement.title | ChargeItemDefinition.title | Citation.title | CodeSystem.title | ConceptMap.title | ConditionDefinition.title | EventDefinition.title | Evidence.title | EvidenceVariable.title | ImplementationGuide.title | Library.title | Measure.title | MessageDefinition.title | ObservationDefinition.title | OperationDefinition.title | PlanDefinition.title | Questionnaire.title | Requirements.title | SpecimenDefinition.title | StructureDefinition.title | StructureMap.title | SubscriptionTopic.title | TerminologyCapabilities.title | TestScript.title | ValueSet.title</b><br> 4196 * </p> 4197 */ 4198 public static final ca.uhn.fhir.rest.gclient.StringClientParam TITLE = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_TITLE); 4199 4200 /** 4201 * Search parameter: <b>url</b> 4202 * <p> 4203 * Description: <b>Multiple Resources: 4204 4205* [ActivityDefinition](activitydefinition.html): The uri that identifies the activity definition 4206* [ActorDefinition](actordefinition.html): The uri that identifies the Actor Definition 4207* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement 4208* [ChargeItemDefinition](chargeitemdefinition.html): The uri that identifies the charge item definition 4209* [Citation](citation.html): The uri that identifies the citation 4210* [CodeSystem](codesystem.html): The uri that identifies the code system 4211* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition 4212* [ConceptMap](conceptmap.html): The URI that identifies the concept map 4213* [ConditionDefinition](conditiondefinition.html): The uri that identifies the condition definition 4214* [EventDefinition](eventdefinition.html): The uri that identifies the event definition 4215* [Evidence](evidence.html): The uri that identifies the evidence 4216* [EvidenceReport](evidencereport.html): The uri that identifies the evidence report 4217* [EvidenceVariable](evidencevariable.html): The uri that identifies the evidence variable 4218* [ExampleScenario](examplescenario.html): The uri that identifies the example scenario 4219* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition 4220* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide 4221* [Library](library.html): The uri that identifies the library 4222* [Measure](measure.html): The uri that identifies the measure 4223* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition 4224* [NamingSystem](namingsystem.html): The uri that identifies the naming system 4225* [ObservationDefinition](observationdefinition.html): The uri that identifies the observation definition 4226* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition 4227* [PlanDefinition](plandefinition.html): The uri that identifies the plan definition 4228* [Questionnaire](questionnaire.html): The uri that identifies the questionnaire 4229* [Requirements](requirements.html): The uri that identifies the requirements 4230* [SearchParameter](searchparameter.html): The uri that identifies the search parameter 4231* [SpecimenDefinition](specimendefinition.html): The uri that identifies the specimen definition 4232* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition 4233* [StructureMap](structuremap.html): The uri that identifies the structure map 4234* [SubscriptionTopic](subscriptiontopic.html): Logical canonical URL to reference this SubscriptionTopic (globally unique) 4235* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities 4236* [TestScript](testscript.html): The uri that identifies the test script 4237* [ValueSet](valueset.html): The uri that identifies the value set 4238</b><br> 4239 * Type: <b>uri</b><br> 4240 * Path: <b>ActivityDefinition.url | ActorDefinition.url | CapabilityStatement.url | ChargeItemDefinition.url | Citation.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | ConditionDefinition.url | EventDefinition.url | Evidence.url | EvidenceReport.url | EvidenceVariable.url | ExampleScenario.url | GraphDefinition.url | ImplementationGuide.url | Library.url | Measure.url | MessageDefinition.url | NamingSystem.url | ObservationDefinition.url | OperationDefinition.url | PlanDefinition.url | Questionnaire.url | Requirements.url | SearchParameter.url | SpecimenDefinition.url | StructureDefinition.url | StructureMap.url | SubscriptionTopic.url | TerminologyCapabilities.url | TestScript.url | ValueSet.url</b><br> 4241 * </p> 4242 */ 4243 @SearchParamDefinition(name="url", path="ActivityDefinition.url | ActorDefinition.url | CapabilityStatement.url | ChargeItemDefinition.url | Citation.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | ConditionDefinition.url | EventDefinition.url | Evidence.url | EvidenceReport.url | EvidenceVariable.url | ExampleScenario.url | GraphDefinition.url | ImplementationGuide.url | Library.url | Measure.url | MessageDefinition.url | NamingSystem.url | ObservationDefinition.url | OperationDefinition.url | PlanDefinition.url | Questionnaire.url | Requirements.url | SearchParameter.url | SpecimenDefinition.url | StructureDefinition.url | StructureMap.url | SubscriptionTopic.url | TerminologyCapabilities.url | TestScript.url | ValueSet.url", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): The uri that identifies the activity definition\r\n* [ActorDefinition](actordefinition.html): The uri that identifies the Actor Definition\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [ChargeItemDefinition](chargeitemdefinition.html): The uri that identifies the charge item definition\r\n* [Citation](citation.html): The uri that identifies the citation\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The URI that identifies the concept map\r\n* [ConditionDefinition](conditiondefinition.html): The uri that identifies the condition definition\r\n* [EventDefinition](eventdefinition.html): The uri that identifies the event definition\r\n* [Evidence](evidence.html): The uri that identifies the evidence\r\n* [EvidenceReport](evidencereport.html): The uri that identifies the evidence report\r\n* [EvidenceVariable](evidencevariable.html): The uri that identifies the evidence variable\r\n* [ExampleScenario](examplescenario.html): The uri that identifies the example scenario\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [Library](library.html): The uri that identifies the library\r\n* [Measure](measure.html): The uri that identifies the measure\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [NamingSystem](namingsystem.html): The uri that identifies the naming system\r\n* [ObservationDefinition](observationdefinition.html): The uri that identifies the observation definition\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [PlanDefinition](plandefinition.html): The uri that identifies the plan definition\r\n* [Questionnaire](questionnaire.html): The uri that identifies the questionnaire\r\n* [Requirements](requirements.html): The uri that identifies the requirements\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [SpecimenDefinition](specimendefinition.html): The uri that identifies the specimen definition\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [SubscriptionTopic](subscriptiontopic.html): Logical canonical URL to reference this SubscriptionTopic (globally unique)\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [TestScript](testscript.html): The uri that identifies the test script\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", type="uri" ) 4244 public static final String SP_URL = "url"; 4245 /** 4246 * <b>Fluent Client</b> search parameter constant for <b>url</b> 4247 * <p> 4248 * Description: <b>Multiple Resources: 4249 4250* [ActivityDefinition](activitydefinition.html): The uri that identifies the activity definition 4251* [ActorDefinition](actordefinition.html): The uri that identifies the Actor Definition 4252* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement 4253* [ChargeItemDefinition](chargeitemdefinition.html): The uri that identifies the charge item definition 4254* [Citation](citation.html): The uri that identifies the citation 4255* [CodeSystem](codesystem.html): The uri that identifies the code system 4256* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition 4257* [ConceptMap](conceptmap.html): The URI that identifies the concept map 4258* [ConditionDefinition](conditiondefinition.html): The uri that identifies the condition definition 4259* [EventDefinition](eventdefinition.html): The uri that identifies the event definition 4260* [Evidence](evidence.html): The uri that identifies the evidence 4261* [EvidenceReport](evidencereport.html): The uri that identifies the evidence report 4262* [EvidenceVariable](evidencevariable.html): The uri that identifies the evidence variable 4263* [ExampleScenario](examplescenario.html): The uri that identifies the example scenario 4264* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition 4265* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide 4266* [Library](library.html): The uri that identifies the library 4267* [Measure](measure.html): The uri that identifies the measure 4268* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition 4269* [NamingSystem](namingsystem.html): The uri that identifies the naming system 4270* [ObservationDefinition](observationdefinition.html): The uri that identifies the observation definition 4271* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition 4272* [PlanDefinition](plandefinition.html): The uri that identifies the plan definition 4273* [Questionnaire](questionnaire.html): The uri that identifies the questionnaire 4274* [Requirements](requirements.html): The uri that identifies the requirements 4275* [SearchParameter](searchparameter.html): The uri that identifies the search parameter 4276* [SpecimenDefinition](specimendefinition.html): The uri that identifies the specimen definition 4277* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition 4278* [StructureMap](structuremap.html): The uri that identifies the structure map 4279* [SubscriptionTopic](subscriptiontopic.html): Logical canonical URL to reference this SubscriptionTopic (globally unique) 4280* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities 4281* [TestScript](testscript.html): The uri that identifies the test script 4282* [ValueSet](valueset.html): The uri that identifies the value set 4283</b><br> 4284 * Type: <b>uri</b><br> 4285 * Path: <b>ActivityDefinition.url | ActorDefinition.url | CapabilityStatement.url | ChargeItemDefinition.url | Citation.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | ConditionDefinition.url | EventDefinition.url | Evidence.url | EvidenceReport.url | EvidenceVariable.url | ExampleScenario.url | GraphDefinition.url | ImplementationGuide.url | Library.url | Measure.url | MessageDefinition.url | NamingSystem.url | ObservationDefinition.url | OperationDefinition.url | PlanDefinition.url | Questionnaire.url | Requirements.url | SearchParameter.url | SpecimenDefinition.url | StructureDefinition.url | StructureMap.url | SubscriptionTopic.url | TerminologyCapabilities.url | TestScript.url | ValueSet.url</b><br> 4286 * </p> 4287 */ 4288 public static final ca.uhn.fhir.rest.gclient.UriClientParam URL = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_URL); 4289 4290 /** 4291 * Search parameter: <b>container</b> 4292 * <p> 4293 * Description: <b>The type of specimen conditioned in container expected by the lab</b><br> 4294 * Type: <b>token</b><br> 4295 * Path: <b>SpecimenDefinition.typeTested.container.type</b><br> 4296 * </p> 4297 */ 4298 @SearchParamDefinition(name="container", path="SpecimenDefinition.typeTested.container.type", description="The type of specimen conditioned in container expected by the lab", type="token" ) 4299 public static final String SP_CONTAINER = "container"; 4300 /** 4301 * <b>Fluent Client</b> search parameter constant for <b>container</b> 4302 * <p> 4303 * Description: <b>The type of specimen conditioned in container expected by the lab</b><br> 4304 * Type: <b>token</b><br> 4305 * Path: <b>SpecimenDefinition.typeTested.container.type</b><br> 4306 * </p> 4307 */ 4308 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTAINER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONTAINER); 4309 4310 /** 4311 * Search parameter: <b>experimental</b> 4312 * <p> 4313 * Description: <b>Not for genuine usage (true)</b><br> 4314 * Type: <b>token</b><br> 4315 * Path: <b>SpecimenDefinition.experimental</b><br> 4316 * </p> 4317 */ 4318 @SearchParamDefinition(name="experimental", path="SpecimenDefinition.experimental", description="Not for genuine usage (true)", type="token" ) 4319 public static final String SP_EXPERIMENTAL = "experimental"; 4320 /** 4321 * <b>Fluent Client</b> search parameter constant for <b>experimental</b> 4322 * <p> 4323 * Description: <b>Not for genuine usage (true)</b><br> 4324 * Type: <b>token</b><br> 4325 * Path: <b>SpecimenDefinition.experimental</b><br> 4326 * </p> 4327 */ 4328 public static final ca.uhn.fhir.rest.gclient.TokenClientParam EXPERIMENTAL = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_EXPERIMENTAL); 4329 4330 /** 4331 * Search parameter: <b>is-derived</b> 4332 * <p> 4333 * Description: <b>Primary specimen (false) or derived specimen (true)</b><br> 4334 * Type: <b>token</b><br> 4335 * Path: <b>SpecimenDefinition.typeTested.isDerived</b><br> 4336 * </p> 4337 */ 4338 @SearchParamDefinition(name="is-derived", path="SpecimenDefinition.typeTested.isDerived", description="Primary specimen (false) or derived specimen (true)", type="token" ) 4339 public static final String SP_IS_DERIVED = "is-derived"; 4340 /** 4341 * <b>Fluent Client</b> search parameter constant for <b>is-derived</b> 4342 * <p> 4343 * Description: <b>Primary specimen (false) or derived specimen (true)</b><br> 4344 * Type: <b>token</b><br> 4345 * Path: <b>SpecimenDefinition.typeTested.isDerived</b><br> 4346 * </p> 4347 */ 4348 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IS_DERIVED = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IS_DERIVED); 4349 4350 /** 4351 * Search parameter: <b>type-tested</b> 4352 * <p> 4353 * Description: <b>The type of specimen conditioned for testing</b><br> 4354 * Type: <b>token</b><br> 4355 * Path: <b>SpecimenDefinition.typeTested.type</b><br> 4356 * </p> 4357 */ 4358 @SearchParamDefinition(name="type-tested", path="SpecimenDefinition.typeTested.type", description="The type of specimen conditioned for testing", type="token" ) 4359 public static final String SP_TYPE_TESTED = "type-tested"; 4360 /** 4361 * <b>Fluent Client</b> search parameter constant for <b>type-tested</b> 4362 * <p> 4363 * Description: <b>The type of specimen conditioned for testing</b><br> 4364 * Type: <b>token</b><br> 4365 * Path: <b>SpecimenDefinition.typeTested.type</b><br> 4366 * </p> 4367 */ 4368 public static final ca.uhn.fhir.rest.gclient.TokenClientParam TYPE_TESTED = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_TYPE_TESTED); 4369 4370 /** 4371 * Search parameter: <b>type</b> 4372 * <p> 4373 * Description: <b>The type of collected specimen</b><br> 4374 * Type: <b>token</b><br> 4375 * Path: <b>SpecimenDefinition.typeCollected</b><br> 4376 * </p> 4377 */ 4378 @SearchParamDefinition(name="type", path="SpecimenDefinition.typeCollected", description="The type of collected specimen", type="token" ) 4379 public static final String SP_TYPE = "type"; 4380 /** 4381 * <b>Fluent Client</b> search parameter constant for <b>type</b> 4382 * <p> 4383 * Description: <b>The type of collected specimen</b><br> 4384 * Type: <b>token</b><br> 4385 * Path: <b>SpecimenDefinition.typeCollected</b><br> 4386 * </p> 4387 */ 4388 public static final ca.uhn.fhir.rest.gclient.TokenClientParam TYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_TYPE); 4389 4390 4391}