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