001package org.hl7.fhir.dstu3.model; 002 003/*- 004 * #%L 005 * org.hl7.fhir.dstu3 006 * %% 007 * Copyright (C) 2014 - 2019 Health Level 7 008 * %% 009 * Licensed under the Apache License, Version 2.0 (the "License"); 010 * you may not use this file except in compliance with the License. 011 * You may obtain a copy of the License at 012 * 013 * http://www.apache.org/licenses/LICENSE-2.0 014 * 015 * Unless required by applicable law or agreed to in writing, software 016 * distributed under the License is distributed on an "AS IS" BASIS, 017 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 018 * See the License for the specific language governing permissions and 019 * limitations under the License. 020 * #L% 021 */ 022 023/* 024 Copyright (c) 2011+, HL7, Inc. 025 All rights reserved. 026 027 Redistribution and use in source and binary forms, with or without modification, 028 are permitted provided that the following conditions are met: 029 030 * Redistributions of source code must retain the above copyright notice, this 031 list of conditions and the following disclaimer. 032 * Redistributions in binary form must reproduce the above copyright notice, 033 this list of conditions and the following disclaimer in the documentation 034 and/or other materials provided with the distribution. 035 * Neither the name of HL7 nor the names of its contributors may be used to 036 endorse or promote products derived from this software without specific 037 prior written permission. 038 039 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 040 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 041 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 042 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 043 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 044 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 045 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 046 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 047 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 048 POSSIBILITY OF SUCH DAMAGE. 049 050*/ 051 052// Generated on Fri, Mar 16, 2018 15:21+1100 for FHIR v3.0.x 053import java.util.ArrayList; 054import java.util.Date; 055import java.util.List; 056 057import org.hl7.fhir.exceptions.FHIRException; 058import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 059import org.hl7.fhir.utilities.Utilities; 060 061import ca.uhn.fhir.model.api.annotation.Block; 062import ca.uhn.fhir.model.api.annotation.Child; 063import ca.uhn.fhir.model.api.annotation.Description; 064import ca.uhn.fhir.model.api.annotation.ResourceDef; 065import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 066/** 067 * Describes the event of a patient being administered a vaccination or a record of a vaccination as reported by a patient, a clinician or another party and may include vaccine reaction information and what vaccination protocol was followed. 068 */ 069@ResourceDef(name="Immunization", profile="http://hl7.org/fhir/Profile/Immunization") 070public class Immunization extends DomainResource { 071 072 public enum ImmunizationStatus { 073 /** 074 * null 075 */ 076 COMPLETED, 077 /** 078 * null 079 */ 080 ENTEREDINERROR, 081 /** 082 * added to help the parsers with the generic types 083 */ 084 NULL; 085 public static ImmunizationStatus fromCode(String codeString) throws FHIRException { 086 if (codeString == null || "".equals(codeString)) 087 return null; 088 if ("completed".equals(codeString)) 089 return COMPLETED; 090 if ("entered-in-error".equals(codeString)) 091 return ENTEREDINERROR; 092 if (Configuration.isAcceptInvalidEnums()) 093 return null; 094 else 095 throw new FHIRException("Unknown ImmunizationStatus code '"+codeString+"'"); 096 } 097 public String toCode() { 098 switch (this) { 099 case COMPLETED: return "completed"; 100 case ENTEREDINERROR: return "entered-in-error"; 101 default: return "?"; 102 } 103 } 104 public String getSystem() { 105 switch (this) { 106 case COMPLETED: return "http://hl7.org/fhir/medication-admin-status"; 107 case ENTEREDINERROR: return "http://hl7.org/fhir/medication-admin-status"; 108 default: return "?"; 109 } 110 } 111 public String getDefinition() { 112 switch (this) { 113 case COMPLETED: return ""; 114 case ENTEREDINERROR: return ""; 115 default: return "?"; 116 } 117 } 118 public String getDisplay() { 119 switch (this) { 120 case COMPLETED: return "completed"; 121 case ENTEREDINERROR: return "entered-in-error"; 122 default: return "?"; 123 } 124 } 125 } 126 127 public static class ImmunizationStatusEnumFactory implements EnumFactory<ImmunizationStatus> { 128 public ImmunizationStatus fromCode(String codeString) throws IllegalArgumentException { 129 if (codeString == null || "".equals(codeString)) 130 if (codeString == null || "".equals(codeString)) 131 return null; 132 if ("completed".equals(codeString)) 133 return ImmunizationStatus.COMPLETED; 134 if ("entered-in-error".equals(codeString)) 135 return ImmunizationStatus.ENTEREDINERROR; 136 throw new IllegalArgumentException("Unknown ImmunizationStatus code '"+codeString+"'"); 137 } 138 public Enumeration<ImmunizationStatus> fromType(Base code) throws FHIRException { 139 if (code == null) 140 return null; 141 if (code.isEmpty()) 142 return new Enumeration<ImmunizationStatus>(this); 143 String codeString = ((PrimitiveType) code).asStringValue(); 144 if (codeString == null || "".equals(codeString)) 145 return null; 146 if ("completed".equals(codeString)) 147 return new Enumeration<ImmunizationStatus>(this, ImmunizationStatus.COMPLETED); 148 if ("entered-in-error".equals(codeString)) 149 return new Enumeration<ImmunizationStatus>(this, ImmunizationStatus.ENTEREDINERROR); 150 throw new FHIRException("Unknown ImmunizationStatus code '"+codeString+"'"); 151 } 152 public String toCode(ImmunizationStatus code) { 153 if (code == ImmunizationStatus.COMPLETED) 154 return "completed"; 155 if (code == ImmunizationStatus.ENTEREDINERROR) 156 return "entered-in-error"; 157 return "?"; 158 } 159 public String toSystem(ImmunizationStatus code) { 160 return code.getSystem(); 161 } 162 } 163 164 @Block() 165 public static class ImmunizationPractitionerComponent extends BackboneElement implements IBaseBackboneElement { 166 /** 167 * Describes the type of performance (e.g. ordering provider, administering provider, etc.). 168 */ 169 @Child(name = "role", type = {CodeableConcept.class}, order=1, min=0, max=1, modifier=false, summary=true) 170 @Description(shortDefinition="What type of performance was done", formalDefinition="Describes the type of performance (e.g. ordering provider, administering provider, etc.)." ) 171 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/immunization-role") 172 protected CodeableConcept role; 173 174 /** 175 * The device, practitioner, etc. who performed the action. 176 */ 177 @Child(name = "actor", type = {Practitioner.class}, order=2, min=1, max=1, modifier=false, summary=true) 178 @Description(shortDefinition="Individual who was performing", formalDefinition="The device, practitioner, etc. who performed the action." ) 179 protected Reference actor; 180 181 /** 182 * The actual object that is the target of the reference (The device, practitioner, etc. who performed the action.) 183 */ 184 protected Practitioner actorTarget; 185 186 private static final long serialVersionUID = -922003669L; 187 188 /** 189 * Constructor 190 */ 191 public ImmunizationPractitionerComponent() { 192 super(); 193 } 194 195 /** 196 * Constructor 197 */ 198 public ImmunizationPractitionerComponent(Reference actor) { 199 super(); 200 this.actor = actor; 201 } 202 203 /** 204 * @return {@link #role} (Describes the type of performance (e.g. ordering provider, administering provider, etc.).) 205 */ 206 public CodeableConcept getRole() { 207 if (this.role == null) 208 if (Configuration.errorOnAutoCreate()) 209 throw new Error("Attempt to auto-create ImmunizationPractitionerComponent.role"); 210 else if (Configuration.doAutoCreate()) 211 this.role = new CodeableConcept(); // cc 212 return this.role; 213 } 214 215 public boolean hasRole() { 216 return this.role != null && !this.role.isEmpty(); 217 } 218 219 /** 220 * @param value {@link #role} (Describes the type of performance (e.g. ordering provider, administering provider, etc.).) 221 */ 222 public ImmunizationPractitionerComponent setRole(CodeableConcept value) { 223 this.role = value; 224 return this; 225 } 226 227 /** 228 * @return {@link #actor} (The device, practitioner, etc. who performed the action.) 229 */ 230 public Reference getActor() { 231 if (this.actor == null) 232 if (Configuration.errorOnAutoCreate()) 233 throw new Error("Attempt to auto-create ImmunizationPractitionerComponent.actor"); 234 else if (Configuration.doAutoCreate()) 235 this.actor = new Reference(); // cc 236 return this.actor; 237 } 238 239 public boolean hasActor() { 240 return this.actor != null && !this.actor.isEmpty(); 241 } 242 243 /** 244 * @param value {@link #actor} (The device, practitioner, etc. who performed the action.) 245 */ 246 public ImmunizationPractitionerComponent setActor(Reference value) { 247 this.actor = value; 248 return this; 249 } 250 251 /** 252 * @return {@link #actor} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (The device, practitioner, etc. who performed the action.) 253 */ 254 public Practitioner getActorTarget() { 255 if (this.actorTarget == null) 256 if (Configuration.errorOnAutoCreate()) 257 throw new Error("Attempt to auto-create ImmunizationPractitionerComponent.actor"); 258 else if (Configuration.doAutoCreate()) 259 this.actorTarget = new Practitioner(); // aa 260 return this.actorTarget; 261 } 262 263 /** 264 * @param value {@link #actor} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (The device, practitioner, etc. who performed the action.) 265 */ 266 public ImmunizationPractitionerComponent setActorTarget(Practitioner value) { 267 this.actorTarget = value; 268 return this; 269 } 270 271 protected void listChildren(List<Property> children) { 272 super.listChildren(children); 273 children.add(new Property("role", "CodeableConcept", "Describes the type of performance (e.g. ordering provider, administering provider, etc.).", 0, 1, role)); 274 children.add(new Property("actor", "Reference(Practitioner)", "The device, practitioner, etc. who performed the action.", 0, 1, actor)); 275 } 276 277 @Override 278 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 279 switch (_hash) { 280 case 3506294: /*role*/ return new Property("role", "CodeableConcept", "Describes the type of performance (e.g. ordering provider, administering provider, etc.).", 0, 1, role); 281 case 92645877: /*actor*/ return new Property("actor", "Reference(Practitioner)", "The device, practitioner, etc. who performed the action.", 0, 1, actor); 282 default: return super.getNamedProperty(_hash, _name, _checkValid); 283 } 284 285 } 286 287 @Override 288 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 289 switch (hash) { 290 case 3506294: /*role*/ return this.role == null ? new Base[0] : new Base[] {this.role}; // CodeableConcept 291 case 92645877: /*actor*/ return this.actor == null ? new Base[0] : new Base[] {this.actor}; // Reference 292 default: return super.getProperty(hash, name, checkValid); 293 } 294 295 } 296 297 @Override 298 public Base setProperty(int hash, String name, Base value) throws FHIRException { 299 switch (hash) { 300 case 3506294: // role 301 this.role = castToCodeableConcept(value); // CodeableConcept 302 return value; 303 case 92645877: // actor 304 this.actor = castToReference(value); // Reference 305 return value; 306 default: return super.setProperty(hash, name, value); 307 } 308 309 } 310 311 @Override 312 public Base setProperty(String name, Base value) throws FHIRException { 313 if (name.equals("role")) { 314 this.role = castToCodeableConcept(value); // CodeableConcept 315 } else if (name.equals("actor")) { 316 this.actor = castToReference(value); // Reference 317 } else 318 return super.setProperty(name, value); 319 return value; 320 } 321 322 @Override 323 public Base makeProperty(int hash, String name) throws FHIRException { 324 switch (hash) { 325 case 3506294: return getRole(); 326 case 92645877: return getActor(); 327 default: return super.makeProperty(hash, name); 328 } 329 330 } 331 332 @Override 333 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 334 switch (hash) { 335 case 3506294: /*role*/ return new String[] {"CodeableConcept"}; 336 case 92645877: /*actor*/ return new String[] {"Reference"}; 337 default: return super.getTypesForProperty(hash, name); 338 } 339 340 } 341 342 @Override 343 public Base addChild(String name) throws FHIRException { 344 if (name.equals("role")) { 345 this.role = new CodeableConcept(); 346 return this.role; 347 } 348 else if (name.equals("actor")) { 349 this.actor = new Reference(); 350 return this.actor; 351 } 352 else 353 return super.addChild(name); 354 } 355 356 public ImmunizationPractitionerComponent copy() { 357 ImmunizationPractitionerComponent dst = new ImmunizationPractitionerComponent(); 358 copyValues(dst); 359 dst.role = role == null ? null : role.copy(); 360 dst.actor = actor == null ? null : actor.copy(); 361 return dst; 362 } 363 364 @Override 365 public boolean equalsDeep(Base other_) { 366 if (!super.equalsDeep(other_)) 367 return false; 368 if (!(other_ instanceof ImmunizationPractitionerComponent)) 369 return false; 370 ImmunizationPractitionerComponent o = (ImmunizationPractitionerComponent) other_; 371 return compareDeep(role, o.role, true) && compareDeep(actor, o.actor, true); 372 } 373 374 @Override 375 public boolean equalsShallow(Base other_) { 376 if (!super.equalsShallow(other_)) 377 return false; 378 if (!(other_ instanceof ImmunizationPractitionerComponent)) 379 return false; 380 ImmunizationPractitionerComponent o = (ImmunizationPractitionerComponent) other_; 381 return true; 382 } 383 384 public boolean isEmpty() { 385 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(role, actor); 386 } 387 388 public String fhirType() { 389 return "Immunization.practitioner"; 390 391 } 392 393 } 394 395 @Block() 396 public static class ImmunizationExplanationComponent extends BackboneElement implements IBaseBackboneElement { 397 /** 398 * Reasons why a vaccine was administered. 399 */ 400 @Child(name = "reason", type = {CodeableConcept.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 401 @Description(shortDefinition="Why immunization occurred", formalDefinition="Reasons why a vaccine was administered." ) 402 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/immunization-reason") 403 protected List<CodeableConcept> reason; 404 405 /** 406 * Reason why a vaccine was not administered. 407 */ 408 @Child(name = "reasonNotGiven", type = {CodeableConcept.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 409 @Description(shortDefinition="Why immunization did not occur", formalDefinition="Reason why a vaccine was not administered." ) 410 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/no-immunization-reason") 411 protected List<CodeableConcept> reasonNotGiven; 412 413 private static final long serialVersionUID = -539821866L; 414 415 /** 416 * Constructor 417 */ 418 public ImmunizationExplanationComponent() { 419 super(); 420 } 421 422 /** 423 * @return {@link #reason} (Reasons why a vaccine was administered.) 424 */ 425 public List<CodeableConcept> getReason() { 426 if (this.reason == null) 427 this.reason = new ArrayList<CodeableConcept>(); 428 return this.reason; 429 } 430 431 /** 432 * @return Returns a reference to <code>this</code> for easy method chaining 433 */ 434 public ImmunizationExplanationComponent setReason(List<CodeableConcept> theReason) { 435 this.reason = theReason; 436 return this; 437 } 438 439 public boolean hasReason() { 440 if (this.reason == null) 441 return false; 442 for (CodeableConcept item : this.reason) 443 if (!item.isEmpty()) 444 return true; 445 return false; 446 } 447 448 public CodeableConcept addReason() { //3 449 CodeableConcept t = new CodeableConcept(); 450 if (this.reason == null) 451 this.reason = new ArrayList<CodeableConcept>(); 452 this.reason.add(t); 453 return t; 454 } 455 456 public ImmunizationExplanationComponent addReason(CodeableConcept t) { //3 457 if (t == null) 458 return this; 459 if (this.reason == null) 460 this.reason = new ArrayList<CodeableConcept>(); 461 this.reason.add(t); 462 return this; 463 } 464 465 /** 466 * @return The first repetition of repeating field {@link #reason}, creating it if it does not already exist 467 */ 468 public CodeableConcept getReasonFirstRep() { 469 if (getReason().isEmpty()) { 470 addReason(); 471 } 472 return getReason().get(0); 473 } 474 475 /** 476 * @return {@link #reasonNotGiven} (Reason why a vaccine was not administered.) 477 */ 478 public List<CodeableConcept> getReasonNotGiven() { 479 if (this.reasonNotGiven == null) 480 this.reasonNotGiven = new ArrayList<CodeableConcept>(); 481 return this.reasonNotGiven; 482 } 483 484 /** 485 * @return Returns a reference to <code>this</code> for easy method chaining 486 */ 487 public ImmunizationExplanationComponent setReasonNotGiven(List<CodeableConcept> theReasonNotGiven) { 488 this.reasonNotGiven = theReasonNotGiven; 489 return this; 490 } 491 492 public boolean hasReasonNotGiven() { 493 if (this.reasonNotGiven == null) 494 return false; 495 for (CodeableConcept item : this.reasonNotGiven) 496 if (!item.isEmpty()) 497 return true; 498 return false; 499 } 500 501 public CodeableConcept addReasonNotGiven() { //3 502 CodeableConcept t = new CodeableConcept(); 503 if (this.reasonNotGiven == null) 504 this.reasonNotGiven = new ArrayList<CodeableConcept>(); 505 this.reasonNotGiven.add(t); 506 return t; 507 } 508 509 public ImmunizationExplanationComponent addReasonNotGiven(CodeableConcept t) { //3 510 if (t == null) 511 return this; 512 if (this.reasonNotGiven == null) 513 this.reasonNotGiven = new ArrayList<CodeableConcept>(); 514 this.reasonNotGiven.add(t); 515 return this; 516 } 517 518 /** 519 * @return The first repetition of repeating field {@link #reasonNotGiven}, creating it if it does not already exist 520 */ 521 public CodeableConcept getReasonNotGivenFirstRep() { 522 if (getReasonNotGiven().isEmpty()) { 523 addReasonNotGiven(); 524 } 525 return getReasonNotGiven().get(0); 526 } 527 528 protected void listChildren(List<Property> children) { 529 super.listChildren(children); 530 children.add(new Property("reason", "CodeableConcept", "Reasons why a vaccine was administered.", 0, java.lang.Integer.MAX_VALUE, reason)); 531 children.add(new Property("reasonNotGiven", "CodeableConcept", "Reason why a vaccine was not administered.", 0, java.lang.Integer.MAX_VALUE, reasonNotGiven)); 532 } 533 534 @Override 535 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 536 switch (_hash) { 537 case -934964668: /*reason*/ return new Property("reason", "CodeableConcept", "Reasons why a vaccine was administered.", 0, java.lang.Integer.MAX_VALUE, reason); 538 case 2101123790: /*reasonNotGiven*/ return new Property("reasonNotGiven", "CodeableConcept", "Reason why a vaccine was not administered.", 0, java.lang.Integer.MAX_VALUE, reasonNotGiven); 539 default: return super.getNamedProperty(_hash, _name, _checkValid); 540 } 541 542 } 543 544 @Override 545 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 546 switch (hash) { 547 case -934964668: /*reason*/ return this.reason == null ? new Base[0] : this.reason.toArray(new Base[this.reason.size()]); // CodeableConcept 548 case 2101123790: /*reasonNotGiven*/ return this.reasonNotGiven == null ? new Base[0] : this.reasonNotGiven.toArray(new Base[this.reasonNotGiven.size()]); // CodeableConcept 549 default: return super.getProperty(hash, name, checkValid); 550 } 551 552 } 553 554 @Override 555 public Base setProperty(int hash, String name, Base value) throws FHIRException { 556 switch (hash) { 557 case -934964668: // reason 558 this.getReason().add(castToCodeableConcept(value)); // CodeableConcept 559 return value; 560 case 2101123790: // reasonNotGiven 561 this.getReasonNotGiven().add(castToCodeableConcept(value)); // CodeableConcept 562 return value; 563 default: return super.setProperty(hash, name, value); 564 } 565 566 } 567 568 @Override 569 public Base setProperty(String name, Base value) throws FHIRException { 570 if (name.equals("reason")) { 571 this.getReason().add(castToCodeableConcept(value)); 572 } else if (name.equals("reasonNotGiven")) { 573 this.getReasonNotGiven().add(castToCodeableConcept(value)); 574 } else 575 return super.setProperty(name, value); 576 return value; 577 } 578 579 @Override 580 public Base makeProperty(int hash, String name) throws FHIRException { 581 switch (hash) { 582 case -934964668: return addReason(); 583 case 2101123790: return addReasonNotGiven(); 584 default: return super.makeProperty(hash, name); 585 } 586 587 } 588 589 @Override 590 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 591 switch (hash) { 592 case -934964668: /*reason*/ return new String[] {"CodeableConcept"}; 593 case 2101123790: /*reasonNotGiven*/ return new String[] {"CodeableConcept"}; 594 default: return super.getTypesForProperty(hash, name); 595 } 596 597 } 598 599 @Override 600 public Base addChild(String name) throws FHIRException { 601 if (name.equals("reason")) { 602 return addReason(); 603 } 604 else if (name.equals("reasonNotGiven")) { 605 return addReasonNotGiven(); 606 } 607 else 608 return super.addChild(name); 609 } 610 611 public ImmunizationExplanationComponent copy() { 612 ImmunizationExplanationComponent dst = new ImmunizationExplanationComponent(); 613 copyValues(dst); 614 if (reason != null) { 615 dst.reason = new ArrayList<CodeableConcept>(); 616 for (CodeableConcept i : reason) 617 dst.reason.add(i.copy()); 618 }; 619 if (reasonNotGiven != null) { 620 dst.reasonNotGiven = new ArrayList<CodeableConcept>(); 621 for (CodeableConcept i : reasonNotGiven) 622 dst.reasonNotGiven.add(i.copy()); 623 }; 624 return dst; 625 } 626 627 @Override 628 public boolean equalsDeep(Base other_) { 629 if (!super.equalsDeep(other_)) 630 return false; 631 if (!(other_ instanceof ImmunizationExplanationComponent)) 632 return false; 633 ImmunizationExplanationComponent o = (ImmunizationExplanationComponent) other_; 634 return compareDeep(reason, o.reason, true) && compareDeep(reasonNotGiven, o.reasonNotGiven, true) 635 ; 636 } 637 638 @Override 639 public boolean equalsShallow(Base other_) { 640 if (!super.equalsShallow(other_)) 641 return false; 642 if (!(other_ instanceof ImmunizationExplanationComponent)) 643 return false; 644 ImmunizationExplanationComponent o = (ImmunizationExplanationComponent) other_; 645 return true; 646 } 647 648 public boolean isEmpty() { 649 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(reason, reasonNotGiven); 650 } 651 652 public String fhirType() { 653 return "Immunization.explanation"; 654 655 } 656 657 } 658 659 @Block() 660 public static class ImmunizationReactionComponent extends BackboneElement implements IBaseBackboneElement { 661 /** 662 * Date of reaction to the immunization. 663 */ 664 @Child(name = "date", type = {DateTimeType.class}, order=1, min=0, max=1, modifier=false, summary=false) 665 @Description(shortDefinition="When reaction started", formalDefinition="Date of reaction to the immunization." ) 666 protected DateTimeType date; 667 668 /** 669 * Details of the reaction. 670 */ 671 @Child(name = "detail", type = {Observation.class}, order=2, min=0, max=1, modifier=false, summary=false) 672 @Description(shortDefinition="Additional information on reaction", formalDefinition="Details of the reaction." ) 673 protected Reference detail; 674 675 /** 676 * The actual object that is the target of the reference (Details of the reaction.) 677 */ 678 protected Observation detailTarget; 679 680 /** 681 * Self-reported indicator. 682 */ 683 @Child(name = "reported", type = {BooleanType.class}, order=3, min=0, max=1, modifier=false, summary=false) 684 @Description(shortDefinition="Indicates self-reported reaction", formalDefinition="Self-reported indicator." ) 685 protected BooleanType reported; 686 687 private static final long serialVersionUID = -1297668556L; 688 689 /** 690 * Constructor 691 */ 692 public ImmunizationReactionComponent() { 693 super(); 694 } 695 696 /** 697 * @return {@link #date} (Date of reaction to the immunization.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 698 */ 699 public DateTimeType getDateElement() { 700 if (this.date == null) 701 if (Configuration.errorOnAutoCreate()) 702 throw new Error("Attempt to auto-create ImmunizationReactionComponent.date"); 703 else if (Configuration.doAutoCreate()) 704 this.date = new DateTimeType(); // bb 705 return this.date; 706 } 707 708 public boolean hasDateElement() { 709 return this.date != null && !this.date.isEmpty(); 710 } 711 712 public boolean hasDate() { 713 return this.date != null && !this.date.isEmpty(); 714 } 715 716 /** 717 * @param value {@link #date} (Date of reaction to the immunization.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 718 */ 719 public ImmunizationReactionComponent setDateElement(DateTimeType value) { 720 this.date = value; 721 return this; 722 } 723 724 /** 725 * @return Date of reaction to the immunization. 726 */ 727 public Date getDate() { 728 return this.date == null ? null : this.date.getValue(); 729 } 730 731 /** 732 * @param value Date of reaction to the immunization. 733 */ 734 public ImmunizationReactionComponent setDate(Date value) { 735 if (value == null) 736 this.date = null; 737 else { 738 if (this.date == null) 739 this.date = new DateTimeType(); 740 this.date.setValue(value); 741 } 742 return this; 743 } 744 745 /** 746 * @return {@link #detail} (Details of the reaction.) 747 */ 748 public Reference getDetail() { 749 if (this.detail == null) 750 if (Configuration.errorOnAutoCreate()) 751 throw new Error("Attempt to auto-create ImmunizationReactionComponent.detail"); 752 else if (Configuration.doAutoCreate()) 753 this.detail = new Reference(); // cc 754 return this.detail; 755 } 756 757 public boolean hasDetail() { 758 return this.detail != null && !this.detail.isEmpty(); 759 } 760 761 /** 762 * @param value {@link #detail} (Details of the reaction.) 763 */ 764 public ImmunizationReactionComponent setDetail(Reference value) { 765 this.detail = value; 766 return this; 767 } 768 769 /** 770 * @return {@link #detail} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (Details of the reaction.) 771 */ 772 public Observation getDetailTarget() { 773 if (this.detailTarget == null) 774 if (Configuration.errorOnAutoCreate()) 775 throw new Error("Attempt to auto-create ImmunizationReactionComponent.detail"); 776 else if (Configuration.doAutoCreate()) 777 this.detailTarget = new Observation(); // aa 778 return this.detailTarget; 779 } 780 781 /** 782 * @param value {@link #detail} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (Details of the reaction.) 783 */ 784 public ImmunizationReactionComponent setDetailTarget(Observation value) { 785 this.detailTarget = value; 786 return this; 787 } 788 789 /** 790 * @return {@link #reported} (Self-reported indicator.). This is the underlying object with id, value and extensions. The accessor "getReported" gives direct access to the value 791 */ 792 public BooleanType getReportedElement() { 793 if (this.reported == null) 794 if (Configuration.errorOnAutoCreate()) 795 throw new Error("Attempt to auto-create ImmunizationReactionComponent.reported"); 796 else if (Configuration.doAutoCreate()) 797 this.reported = new BooleanType(); // bb 798 return this.reported; 799 } 800 801 public boolean hasReportedElement() { 802 return this.reported != null && !this.reported.isEmpty(); 803 } 804 805 public boolean hasReported() { 806 return this.reported != null && !this.reported.isEmpty(); 807 } 808 809 /** 810 * @param value {@link #reported} (Self-reported indicator.). This is the underlying object with id, value and extensions. The accessor "getReported" gives direct access to the value 811 */ 812 public ImmunizationReactionComponent setReportedElement(BooleanType value) { 813 this.reported = value; 814 return this; 815 } 816 817 /** 818 * @return Self-reported indicator. 819 */ 820 public boolean getReported() { 821 return this.reported == null || this.reported.isEmpty() ? false : this.reported.getValue(); 822 } 823 824 /** 825 * @param value Self-reported indicator. 826 */ 827 public ImmunizationReactionComponent setReported(boolean value) { 828 if (this.reported == null) 829 this.reported = new BooleanType(); 830 this.reported.setValue(value); 831 return this; 832 } 833 834 protected void listChildren(List<Property> children) { 835 super.listChildren(children); 836 children.add(new Property("date", "dateTime", "Date of reaction to the immunization.", 0, 1, date)); 837 children.add(new Property("detail", "Reference(Observation)", "Details of the reaction.", 0, 1, detail)); 838 children.add(new Property("reported", "boolean", "Self-reported indicator.", 0, 1, reported)); 839 } 840 841 @Override 842 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 843 switch (_hash) { 844 case 3076014: /*date*/ return new Property("date", "dateTime", "Date of reaction to the immunization.", 0, 1, date); 845 case -1335224239: /*detail*/ return new Property("detail", "Reference(Observation)", "Details of the reaction.", 0, 1, detail); 846 case -427039533: /*reported*/ return new Property("reported", "boolean", "Self-reported indicator.", 0, 1, reported); 847 default: return super.getNamedProperty(_hash, _name, _checkValid); 848 } 849 850 } 851 852 @Override 853 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 854 switch (hash) { 855 case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType 856 case -1335224239: /*detail*/ return this.detail == null ? new Base[0] : new Base[] {this.detail}; // Reference 857 case -427039533: /*reported*/ return this.reported == null ? new Base[0] : new Base[] {this.reported}; // BooleanType 858 default: return super.getProperty(hash, name, checkValid); 859 } 860 861 } 862 863 @Override 864 public Base setProperty(int hash, String name, Base value) throws FHIRException { 865 switch (hash) { 866 case 3076014: // date 867 this.date = castToDateTime(value); // DateTimeType 868 return value; 869 case -1335224239: // detail 870 this.detail = castToReference(value); // Reference 871 return value; 872 case -427039533: // reported 873 this.reported = castToBoolean(value); // BooleanType 874 return value; 875 default: return super.setProperty(hash, name, value); 876 } 877 878 } 879 880 @Override 881 public Base setProperty(String name, Base value) throws FHIRException { 882 if (name.equals("date")) { 883 this.date = castToDateTime(value); // DateTimeType 884 } else if (name.equals("detail")) { 885 this.detail = castToReference(value); // Reference 886 } else if (name.equals("reported")) { 887 this.reported = castToBoolean(value); // BooleanType 888 } else 889 return super.setProperty(name, value); 890 return value; 891 } 892 893 @Override 894 public Base makeProperty(int hash, String name) throws FHIRException { 895 switch (hash) { 896 case 3076014: return getDateElement(); 897 case -1335224239: return getDetail(); 898 case -427039533: return getReportedElement(); 899 default: return super.makeProperty(hash, name); 900 } 901 902 } 903 904 @Override 905 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 906 switch (hash) { 907 case 3076014: /*date*/ return new String[] {"dateTime"}; 908 case -1335224239: /*detail*/ return new String[] {"Reference"}; 909 case -427039533: /*reported*/ return new String[] {"boolean"}; 910 default: return super.getTypesForProperty(hash, name); 911 } 912 913 } 914 915 @Override 916 public Base addChild(String name) throws FHIRException { 917 if (name.equals("date")) { 918 throw new FHIRException("Cannot call addChild on a primitive type Immunization.date"); 919 } 920 else if (name.equals("detail")) { 921 this.detail = new Reference(); 922 return this.detail; 923 } 924 else if (name.equals("reported")) { 925 throw new FHIRException("Cannot call addChild on a primitive type Immunization.reported"); 926 } 927 else 928 return super.addChild(name); 929 } 930 931 public ImmunizationReactionComponent copy() { 932 ImmunizationReactionComponent dst = new ImmunizationReactionComponent(); 933 copyValues(dst); 934 dst.date = date == null ? null : date.copy(); 935 dst.detail = detail == null ? null : detail.copy(); 936 dst.reported = reported == null ? null : reported.copy(); 937 return dst; 938 } 939 940 @Override 941 public boolean equalsDeep(Base other_) { 942 if (!super.equalsDeep(other_)) 943 return false; 944 if (!(other_ instanceof ImmunizationReactionComponent)) 945 return false; 946 ImmunizationReactionComponent o = (ImmunizationReactionComponent) other_; 947 return compareDeep(date, o.date, true) && compareDeep(detail, o.detail, true) && compareDeep(reported, o.reported, true) 948 ; 949 } 950 951 @Override 952 public boolean equalsShallow(Base other_) { 953 if (!super.equalsShallow(other_)) 954 return false; 955 if (!(other_ instanceof ImmunizationReactionComponent)) 956 return false; 957 ImmunizationReactionComponent o = (ImmunizationReactionComponent) other_; 958 return compareValues(date, o.date, true) && compareValues(reported, o.reported, true); 959 } 960 961 public boolean isEmpty() { 962 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(date, detail, reported); 963 } 964 965 public String fhirType() { 966 return "Immunization.reaction"; 967 968 } 969 970 } 971 972 @Block() 973 public static class ImmunizationVaccinationProtocolComponent extends BackboneElement implements IBaseBackboneElement { 974 /** 975 * Nominal position in a series. 976 */ 977 @Child(name = "doseSequence", type = {PositiveIntType.class}, order=1, min=0, max=1, modifier=false, summary=false) 978 @Description(shortDefinition="Dose number within series", formalDefinition="Nominal position in a series." ) 979 protected PositiveIntType doseSequence; 980 981 /** 982 * Contains the description about the protocol under which the vaccine was administered. 983 */ 984 @Child(name = "description", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=false) 985 @Description(shortDefinition="Details of vaccine protocol", formalDefinition="Contains the description about the protocol under which the vaccine was administered." ) 986 protected StringType description; 987 988 /** 989 * Indicates the authority who published the protocol. E.g. ACIP. 990 */ 991 @Child(name = "authority", type = {Organization.class}, order=3, min=0, max=1, modifier=false, summary=false) 992 @Description(shortDefinition="Who is responsible for protocol", formalDefinition="Indicates the authority who published the protocol. E.g. ACIP." ) 993 protected Reference authority; 994 995 /** 996 * The actual object that is the target of the reference (Indicates the authority who published the protocol. E.g. ACIP.) 997 */ 998 protected Organization authorityTarget; 999 1000 /** 1001 * One possible path to achieve presumed immunity against a disease - within the context of an authority. 1002 */ 1003 @Child(name = "series", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=false) 1004 @Description(shortDefinition="Name of vaccine series", formalDefinition="One possible path to achieve presumed immunity against a disease - within the context of an authority." ) 1005 protected StringType series; 1006 1007 /** 1008 * The recommended number of doses to achieve immunity. 1009 */ 1010 @Child(name = "seriesDoses", type = {PositiveIntType.class}, order=5, min=0, max=1, modifier=false, summary=false) 1011 @Description(shortDefinition="Recommended number of doses for immunity", formalDefinition="The recommended number of doses to achieve immunity." ) 1012 protected PositiveIntType seriesDoses; 1013 1014 /** 1015 * The targeted disease. 1016 */ 1017 @Child(name = "targetDisease", type = {CodeableConcept.class}, order=6, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1018 @Description(shortDefinition="Disease immunized against", formalDefinition="The targeted disease." ) 1019 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/vaccination-protocol-dose-target") 1020 protected List<CodeableConcept> targetDisease; 1021 1022 /** 1023 * Indicates if the immunization event should "count" against the protocol. 1024 */ 1025 @Child(name = "doseStatus", type = {CodeableConcept.class}, order=7, min=1, max=1, modifier=false, summary=false) 1026 @Description(shortDefinition="Indicates if dose counts towards immunity", formalDefinition="Indicates if the immunization event should \"count\" against the protocol." ) 1027 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/vaccination-protocol-dose-status") 1028 protected CodeableConcept doseStatus; 1029 1030 /** 1031 * Provides an explanation as to why an immunization event should or should not count against the protocol. 1032 */ 1033 @Child(name = "doseStatusReason", type = {CodeableConcept.class}, order=8, min=0, max=1, modifier=false, summary=false) 1034 @Description(shortDefinition="Why dose does (not) count", formalDefinition="Provides an explanation as to why an immunization event should or should not count against the protocol." ) 1035 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/vaccination-protocol-dose-status-reason") 1036 protected CodeableConcept doseStatusReason; 1037 1038 private static final long serialVersionUID = 386814037L; 1039 1040 /** 1041 * Constructor 1042 */ 1043 public ImmunizationVaccinationProtocolComponent() { 1044 super(); 1045 } 1046 1047 /** 1048 * Constructor 1049 */ 1050 public ImmunizationVaccinationProtocolComponent(CodeableConcept doseStatus) { 1051 super(); 1052 this.doseStatus = doseStatus; 1053 } 1054 1055 /** 1056 * @return {@link #doseSequence} (Nominal position in a series.). This is the underlying object with id, value and extensions. The accessor "getDoseSequence" gives direct access to the value 1057 */ 1058 public PositiveIntType getDoseSequenceElement() { 1059 if (this.doseSequence == null) 1060 if (Configuration.errorOnAutoCreate()) 1061 throw new Error("Attempt to auto-create ImmunizationVaccinationProtocolComponent.doseSequence"); 1062 else if (Configuration.doAutoCreate()) 1063 this.doseSequence = new PositiveIntType(); // bb 1064 return this.doseSequence; 1065 } 1066 1067 public boolean hasDoseSequenceElement() { 1068 return this.doseSequence != null && !this.doseSequence.isEmpty(); 1069 } 1070 1071 public boolean hasDoseSequence() { 1072 return this.doseSequence != null && !this.doseSequence.isEmpty(); 1073 } 1074 1075 /** 1076 * @param value {@link #doseSequence} (Nominal position in a series.). This is the underlying object with id, value and extensions. The accessor "getDoseSequence" gives direct access to the value 1077 */ 1078 public ImmunizationVaccinationProtocolComponent setDoseSequenceElement(PositiveIntType value) { 1079 this.doseSequence = value; 1080 return this; 1081 } 1082 1083 /** 1084 * @return Nominal position in a series. 1085 */ 1086 public int getDoseSequence() { 1087 return this.doseSequence == null || this.doseSequence.isEmpty() ? 0 : this.doseSequence.getValue(); 1088 } 1089 1090 /** 1091 * @param value Nominal position in a series. 1092 */ 1093 public ImmunizationVaccinationProtocolComponent setDoseSequence(int value) { 1094 if (this.doseSequence == null) 1095 this.doseSequence = new PositiveIntType(); 1096 this.doseSequence.setValue(value); 1097 return this; 1098 } 1099 1100 /** 1101 * @return {@link #description} (Contains the description about the protocol under which the vaccine was administered.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 1102 */ 1103 public StringType getDescriptionElement() { 1104 if (this.description == null) 1105 if (Configuration.errorOnAutoCreate()) 1106 throw new Error("Attempt to auto-create ImmunizationVaccinationProtocolComponent.description"); 1107 else if (Configuration.doAutoCreate()) 1108 this.description = new StringType(); // bb 1109 return this.description; 1110 } 1111 1112 public boolean hasDescriptionElement() { 1113 return this.description != null && !this.description.isEmpty(); 1114 } 1115 1116 public boolean hasDescription() { 1117 return this.description != null && !this.description.isEmpty(); 1118 } 1119 1120 /** 1121 * @param value {@link #description} (Contains the description about the protocol under which the vaccine was administered.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 1122 */ 1123 public ImmunizationVaccinationProtocolComponent setDescriptionElement(StringType value) { 1124 this.description = value; 1125 return this; 1126 } 1127 1128 /** 1129 * @return Contains the description about the protocol under which the vaccine was administered. 1130 */ 1131 public String getDescription() { 1132 return this.description == null ? null : this.description.getValue(); 1133 } 1134 1135 /** 1136 * @param value Contains the description about the protocol under which the vaccine was administered. 1137 */ 1138 public ImmunizationVaccinationProtocolComponent setDescription(String value) { 1139 if (Utilities.noString(value)) 1140 this.description = null; 1141 else { 1142 if (this.description == null) 1143 this.description = new StringType(); 1144 this.description.setValue(value); 1145 } 1146 return this; 1147 } 1148 1149 /** 1150 * @return {@link #authority} (Indicates the authority who published the protocol. E.g. ACIP.) 1151 */ 1152 public Reference getAuthority() { 1153 if (this.authority == null) 1154 if (Configuration.errorOnAutoCreate()) 1155 throw new Error("Attempt to auto-create ImmunizationVaccinationProtocolComponent.authority"); 1156 else if (Configuration.doAutoCreate()) 1157 this.authority = new Reference(); // cc 1158 return this.authority; 1159 } 1160 1161 public boolean hasAuthority() { 1162 return this.authority != null && !this.authority.isEmpty(); 1163 } 1164 1165 /** 1166 * @param value {@link #authority} (Indicates the authority who published the protocol. E.g. ACIP.) 1167 */ 1168 public ImmunizationVaccinationProtocolComponent setAuthority(Reference value) { 1169 this.authority = value; 1170 return this; 1171 } 1172 1173 /** 1174 * @return {@link #authority} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (Indicates the authority who published the protocol. E.g. ACIP.) 1175 */ 1176 public Organization getAuthorityTarget() { 1177 if (this.authorityTarget == null) 1178 if (Configuration.errorOnAutoCreate()) 1179 throw new Error("Attempt to auto-create ImmunizationVaccinationProtocolComponent.authority"); 1180 else if (Configuration.doAutoCreate()) 1181 this.authorityTarget = new Organization(); // aa 1182 return this.authorityTarget; 1183 } 1184 1185 /** 1186 * @param value {@link #authority} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (Indicates the authority who published the protocol. E.g. ACIP.) 1187 */ 1188 public ImmunizationVaccinationProtocolComponent setAuthorityTarget(Organization value) { 1189 this.authorityTarget = value; 1190 return this; 1191 } 1192 1193 /** 1194 * @return {@link #series} (One possible path to achieve presumed immunity against a disease - within the context of an authority.). This is the underlying object with id, value and extensions. The accessor "getSeries" gives direct access to the value 1195 */ 1196 public StringType getSeriesElement() { 1197 if (this.series == null) 1198 if (Configuration.errorOnAutoCreate()) 1199 throw new Error("Attempt to auto-create ImmunizationVaccinationProtocolComponent.series"); 1200 else if (Configuration.doAutoCreate()) 1201 this.series = new StringType(); // bb 1202 return this.series; 1203 } 1204 1205 public boolean hasSeriesElement() { 1206 return this.series != null && !this.series.isEmpty(); 1207 } 1208 1209 public boolean hasSeries() { 1210 return this.series != null && !this.series.isEmpty(); 1211 } 1212 1213 /** 1214 * @param value {@link #series} (One possible path to achieve presumed immunity against a disease - within the context of an authority.). This is the underlying object with id, value and extensions. The accessor "getSeries" gives direct access to the value 1215 */ 1216 public ImmunizationVaccinationProtocolComponent setSeriesElement(StringType value) { 1217 this.series = value; 1218 return this; 1219 } 1220 1221 /** 1222 * @return One possible path to achieve presumed immunity against a disease - within the context of an authority. 1223 */ 1224 public String getSeries() { 1225 return this.series == null ? null : this.series.getValue(); 1226 } 1227 1228 /** 1229 * @param value One possible path to achieve presumed immunity against a disease - within the context of an authority. 1230 */ 1231 public ImmunizationVaccinationProtocolComponent setSeries(String value) { 1232 if (Utilities.noString(value)) 1233 this.series = null; 1234 else { 1235 if (this.series == null) 1236 this.series = new StringType(); 1237 this.series.setValue(value); 1238 } 1239 return this; 1240 } 1241 1242 /** 1243 * @return {@link #seriesDoses} (The recommended number of doses to achieve immunity.). This is the underlying object with id, value and extensions. The accessor "getSeriesDoses" gives direct access to the value 1244 */ 1245 public PositiveIntType getSeriesDosesElement() { 1246 if (this.seriesDoses == null) 1247 if (Configuration.errorOnAutoCreate()) 1248 throw new Error("Attempt to auto-create ImmunizationVaccinationProtocolComponent.seriesDoses"); 1249 else if (Configuration.doAutoCreate()) 1250 this.seriesDoses = new PositiveIntType(); // bb 1251 return this.seriesDoses; 1252 } 1253 1254 public boolean hasSeriesDosesElement() { 1255 return this.seriesDoses != null && !this.seriesDoses.isEmpty(); 1256 } 1257 1258 public boolean hasSeriesDoses() { 1259 return this.seriesDoses != null && !this.seriesDoses.isEmpty(); 1260 } 1261 1262 /** 1263 * @param value {@link #seriesDoses} (The recommended number of doses to achieve immunity.). This is the underlying object with id, value and extensions. The accessor "getSeriesDoses" gives direct access to the value 1264 */ 1265 public ImmunizationVaccinationProtocolComponent setSeriesDosesElement(PositiveIntType value) { 1266 this.seriesDoses = value; 1267 return this; 1268 } 1269 1270 /** 1271 * @return The recommended number of doses to achieve immunity. 1272 */ 1273 public int getSeriesDoses() { 1274 return this.seriesDoses == null || this.seriesDoses.isEmpty() ? 0 : this.seriesDoses.getValue(); 1275 } 1276 1277 /** 1278 * @param value The recommended number of doses to achieve immunity. 1279 */ 1280 public ImmunizationVaccinationProtocolComponent setSeriesDoses(int value) { 1281 if (this.seriesDoses == null) 1282 this.seriesDoses = new PositiveIntType(); 1283 this.seriesDoses.setValue(value); 1284 return this; 1285 } 1286 1287 /** 1288 * @return {@link #targetDisease} (The targeted disease.) 1289 */ 1290 public List<CodeableConcept> getTargetDisease() { 1291 if (this.targetDisease == null) 1292 this.targetDisease = new ArrayList<CodeableConcept>(); 1293 return this.targetDisease; 1294 } 1295 1296 /** 1297 * @return Returns a reference to <code>this</code> for easy method chaining 1298 */ 1299 public ImmunizationVaccinationProtocolComponent setTargetDisease(List<CodeableConcept> theTargetDisease) { 1300 this.targetDisease = theTargetDisease; 1301 return this; 1302 } 1303 1304 public boolean hasTargetDisease() { 1305 if (this.targetDisease == null) 1306 return false; 1307 for (CodeableConcept item : this.targetDisease) 1308 if (!item.isEmpty()) 1309 return true; 1310 return false; 1311 } 1312 1313 public CodeableConcept addTargetDisease() { //3 1314 CodeableConcept t = new CodeableConcept(); 1315 if (this.targetDisease == null) 1316 this.targetDisease = new ArrayList<CodeableConcept>(); 1317 this.targetDisease.add(t); 1318 return t; 1319 } 1320 1321 public ImmunizationVaccinationProtocolComponent addTargetDisease(CodeableConcept t) { //3 1322 if (t == null) 1323 return this; 1324 if (this.targetDisease == null) 1325 this.targetDisease = new ArrayList<CodeableConcept>(); 1326 this.targetDisease.add(t); 1327 return this; 1328 } 1329 1330 /** 1331 * @return The first repetition of repeating field {@link #targetDisease}, creating it if it does not already exist 1332 */ 1333 public CodeableConcept getTargetDiseaseFirstRep() { 1334 if (getTargetDisease().isEmpty()) { 1335 addTargetDisease(); 1336 } 1337 return getTargetDisease().get(0); 1338 } 1339 1340 /** 1341 * @return {@link #doseStatus} (Indicates if the immunization event should "count" against the protocol.) 1342 */ 1343 public CodeableConcept getDoseStatus() { 1344 if (this.doseStatus == null) 1345 if (Configuration.errorOnAutoCreate()) 1346 throw new Error("Attempt to auto-create ImmunizationVaccinationProtocolComponent.doseStatus"); 1347 else if (Configuration.doAutoCreate()) 1348 this.doseStatus = new CodeableConcept(); // cc 1349 return this.doseStatus; 1350 } 1351 1352 public boolean hasDoseStatus() { 1353 return this.doseStatus != null && !this.doseStatus.isEmpty(); 1354 } 1355 1356 /** 1357 * @param value {@link #doseStatus} (Indicates if the immunization event should "count" against the protocol.) 1358 */ 1359 public ImmunizationVaccinationProtocolComponent setDoseStatus(CodeableConcept value) { 1360 this.doseStatus = value; 1361 return this; 1362 } 1363 1364 /** 1365 * @return {@link #doseStatusReason} (Provides an explanation as to why an immunization event should or should not count against the protocol.) 1366 */ 1367 public CodeableConcept getDoseStatusReason() { 1368 if (this.doseStatusReason == null) 1369 if (Configuration.errorOnAutoCreate()) 1370 throw new Error("Attempt to auto-create ImmunizationVaccinationProtocolComponent.doseStatusReason"); 1371 else if (Configuration.doAutoCreate()) 1372 this.doseStatusReason = new CodeableConcept(); // cc 1373 return this.doseStatusReason; 1374 } 1375 1376 public boolean hasDoseStatusReason() { 1377 return this.doseStatusReason != null && !this.doseStatusReason.isEmpty(); 1378 } 1379 1380 /** 1381 * @param value {@link #doseStatusReason} (Provides an explanation as to why an immunization event should or should not count against the protocol.) 1382 */ 1383 public ImmunizationVaccinationProtocolComponent setDoseStatusReason(CodeableConcept value) { 1384 this.doseStatusReason = value; 1385 return this; 1386 } 1387 1388 protected void listChildren(List<Property> children) { 1389 super.listChildren(children); 1390 children.add(new Property("doseSequence", "positiveInt", "Nominal position in a series.", 0, 1, doseSequence)); 1391 children.add(new Property("description", "string", "Contains the description about the protocol under which the vaccine was administered.", 0, 1, description)); 1392 children.add(new Property("authority", "Reference(Organization)", "Indicates the authority who published the protocol. E.g. ACIP.", 0, 1, authority)); 1393 children.add(new Property("series", "string", "One possible path to achieve presumed immunity against a disease - within the context of an authority.", 0, 1, series)); 1394 children.add(new Property("seriesDoses", "positiveInt", "The recommended number of doses to achieve immunity.", 0, 1, seriesDoses)); 1395 children.add(new Property("targetDisease", "CodeableConcept", "The targeted disease.", 0, java.lang.Integer.MAX_VALUE, targetDisease)); 1396 children.add(new Property("doseStatus", "CodeableConcept", "Indicates if the immunization event should \"count\" against the protocol.", 0, 1, doseStatus)); 1397 children.add(new Property("doseStatusReason", "CodeableConcept", "Provides an explanation as to why an immunization event should or should not count against the protocol.", 0, 1, doseStatusReason)); 1398 } 1399 1400 @Override 1401 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1402 switch (_hash) { 1403 case 550933246: /*doseSequence*/ return new Property("doseSequence", "positiveInt", "Nominal position in a series.", 0, 1, doseSequence); 1404 case -1724546052: /*description*/ return new Property("description", "string", "Contains the description about the protocol under which the vaccine was administered.", 0, 1, description); 1405 case 1475610435: /*authority*/ return new Property("authority", "Reference(Organization)", "Indicates the authority who published the protocol. E.g. ACIP.", 0, 1, authority); 1406 case -905838985: /*series*/ return new Property("series", "string", "One possible path to achieve presumed immunity against a disease - within the context of an authority.", 0, 1, series); 1407 case -1936727105: /*seriesDoses*/ return new Property("seriesDoses", "positiveInt", "The recommended number of doses to achieve immunity.", 0, 1, seriesDoses); 1408 case -319593813: /*targetDisease*/ return new Property("targetDisease", "CodeableConcept", "The targeted disease.", 0, java.lang.Integer.MAX_VALUE, targetDisease); 1409 case -745826705: /*doseStatus*/ return new Property("doseStatus", "CodeableConcept", "Indicates if the immunization event should \"count\" against the protocol.", 0, 1, doseStatus); 1410 case 662783379: /*doseStatusReason*/ return new Property("doseStatusReason", "CodeableConcept", "Provides an explanation as to why an immunization event should or should not count against the protocol.", 0, 1, doseStatusReason); 1411 default: return super.getNamedProperty(_hash, _name, _checkValid); 1412 } 1413 1414 } 1415 1416 @Override 1417 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1418 switch (hash) { 1419 case 550933246: /*doseSequence*/ return this.doseSequence == null ? new Base[0] : new Base[] {this.doseSequence}; // PositiveIntType 1420 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType 1421 case 1475610435: /*authority*/ return this.authority == null ? new Base[0] : new Base[] {this.authority}; // Reference 1422 case -905838985: /*series*/ return this.series == null ? new Base[0] : new Base[] {this.series}; // StringType 1423 case -1936727105: /*seriesDoses*/ return this.seriesDoses == null ? new Base[0] : new Base[] {this.seriesDoses}; // PositiveIntType 1424 case -319593813: /*targetDisease*/ return this.targetDisease == null ? new Base[0] : this.targetDisease.toArray(new Base[this.targetDisease.size()]); // CodeableConcept 1425 case -745826705: /*doseStatus*/ return this.doseStatus == null ? new Base[0] : new Base[] {this.doseStatus}; // CodeableConcept 1426 case 662783379: /*doseStatusReason*/ return this.doseStatusReason == null ? new Base[0] : new Base[] {this.doseStatusReason}; // CodeableConcept 1427 default: return super.getProperty(hash, name, checkValid); 1428 } 1429 1430 } 1431 1432 @Override 1433 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1434 switch (hash) { 1435 case 550933246: // doseSequence 1436 this.doseSequence = castToPositiveInt(value); // PositiveIntType 1437 return value; 1438 case -1724546052: // description 1439 this.description = castToString(value); // StringType 1440 return value; 1441 case 1475610435: // authority 1442 this.authority = castToReference(value); // Reference 1443 return value; 1444 case -905838985: // series 1445 this.series = castToString(value); // StringType 1446 return value; 1447 case -1936727105: // seriesDoses 1448 this.seriesDoses = castToPositiveInt(value); // PositiveIntType 1449 return value; 1450 case -319593813: // targetDisease 1451 this.getTargetDisease().add(castToCodeableConcept(value)); // CodeableConcept 1452 return value; 1453 case -745826705: // doseStatus 1454 this.doseStatus = castToCodeableConcept(value); // CodeableConcept 1455 return value; 1456 case 662783379: // doseStatusReason 1457 this.doseStatusReason = castToCodeableConcept(value); // CodeableConcept 1458 return value; 1459 default: return super.setProperty(hash, name, value); 1460 } 1461 1462 } 1463 1464 @Override 1465 public Base setProperty(String name, Base value) throws FHIRException { 1466 if (name.equals("doseSequence")) { 1467 this.doseSequence = castToPositiveInt(value); // PositiveIntType 1468 } else if (name.equals("description")) { 1469 this.description = castToString(value); // StringType 1470 } else if (name.equals("authority")) { 1471 this.authority = castToReference(value); // Reference 1472 } else if (name.equals("series")) { 1473 this.series = castToString(value); // StringType 1474 } else if (name.equals("seriesDoses")) { 1475 this.seriesDoses = castToPositiveInt(value); // PositiveIntType 1476 } else if (name.equals("targetDisease")) { 1477 this.getTargetDisease().add(castToCodeableConcept(value)); 1478 } else if (name.equals("doseStatus")) { 1479 this.doseStatus = castToCodeableConcept(value); // CodeableConcept 1480 } else if (name.equals("doseStatusReason")) { 1481 this.doseStatusReason = castToCodeableConcept(value); // CodeableConcept 1482 } else 1483 return super.setProperty(name, value); 1484 return value; 1485 } 1486 1487 @Override 1488 public Base makeProperty(int hash, String name) throws FHIRException { 1489 switch (hash) { 1490 case 550933246: return getDoseSequenceElement(); 1491 case -1724546052: return getDescriptionElement(); 1492 case 1475610435: return getAuthority(); 1493 case -905838985: return getSeriesElement(); 1494 case -1936727105: return getSeriesDosesElement(); 1495 case -319593813: return addTargetDisease(); 1496 case -745826705: return getDoseStatus(); 1497 case 662783379: return getDoseStatusReason(); 1498 default: return super.makeProperty(hash, name); 1499 } 1500 1501 } 1502 1503 @Override 1504 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1505 switch (hash) { 1506 case 550933246: /*doseSequence*/ return new String[] {"positiveInt"}; 1507 case -1724546052: /*description*/ return new String[] {"string"}; 1508 case 1475610435: /*authority*/ return new String[] {"Reference"}; 1509 case -905838985: /*series*/ return new String[] {"string"}; 1510 case -1936727105: /*seriesDoses*/ return new String[] {"positiveInt"}; 1511 case -319593813: /*targetDisease*/ return new String[] {"CodeableConcept"}; 1512 case -745826705: /*doseStatus*/ return new String[] {"CodeableConcept"}; 1513 case 662783379: /*doseStatusReason*/ return new String[] {"CodeableConcept"}; 1514 default: return super.getTypesForProperty(hash, name); 1515 } 1516 1517 } 1518 1519 @Override 1520 public Base addChild(String name) throws FHIRException { 1521 if (name.equals("doseSequence")) { 1522 throw new FHIRException("Cannot call addChild on a primitive type Immunization.doseSequence"); 1523 } 1524 else if (name.equals("description")) { 1525 throw new FHIRException("Cannot call addChild on a primitive type Immunization.description"); 1526 } 1527 else if (name.equals("authority")) { 1528 this.authority = new Reference(); 1529 return this.authority; 1530 } 1531 else if (name.equals("series")) { 1532 throw new FHIRException("Cannot call addChild on a primitive type Immunization.series"); 1533 } 1534 else if (name.equals("seriesDoses")) { 1535 throw new FHIRException("Cannot call addChild on a primitive type Immunization.seriesDoses"); 1536 } 1537 else if (name.equals("targetDisease")) { 1538 return addTargetDisease(); 1539 } 1540 else if (name.equals("doseStatus")) { 1541 this.doseStatus = new CodeableConcept(); 1542 return this.doseStatus; 1543 } 1544 else if (name.equals("doseStatusReason")) { 1545 this.doseStatusReason = new CodeableConcept(); 1546 return this.doseStatusReason; 1547 } 1548 else 1549 return super.addChild(name); 1550 } 1551 1552 public ImmunizationVaccinationProtocolComponent copy() { 1553 ImmunizationVaccinationProtocolComponent dst = new ImmunizationVaccinationProtocolComponent(); 1554 copyValues(dst); 1555 dst.doseSequence = doseSequence == null ? null : doseSequence.copy(); 1556 dst.description = description == null ? null : description.copy(); 1557 dst.authority = authority == null ? null : authority.copy(); 1558 dst.series = series == null ? null : series.copy(); 1559 dst.seriesDoses = seriesDoses == null ? null : seriesDoses.copy(); 1560 if (targetDisease != null) { 1561 dst.targetDisease = new ArrayList<CodeableConcept>(); 1562 for (CodeableConcept i : targetDisease) 1563 dst.targetDisease.add(i.copy()); 1564 }; 1565 dst.doseStatus = doseStatus == null ? null : doseStatus.copy(); 1566 dst.doseStatusReason = doseStatusReason == null ? null : doseStatusReason.copy(); 1567 return dst; 1568 } 1569 1570 @Override 1571 public boolean equalsDeep(Base other_) { 1572 if (!super.equalsDeep(other_)) 1573 return false; 1574 if (!(other_ instanceof ImmunizationVaccinationProtocolComponent)) 1575 return false; 1576 ImmunizationVaccinationProtocolComponent o = (ImmunizationVaccinationProtocolComponent) other_; 1577 return compareDeep(doseSequence, o.doseSequence, true) && compareDeep(description, o.description, true) 1578 && compareDeep(authority, o.authority, true) && compareDeep(series, o.series, true) && compareDeep(seriesDoses, o.seriesDoses, true) 1579 && compareDeep(targetDisease, o.targetDisease, true) && compareDeep(doseStatus, o.doseStatus, true) 1580 && compareDeep(doseStatusReason, o.doseStatusReason, true); 1581 } 1582 1583 @Override 1584 public boolean equalsShallow(Base other_) { 1585 if (!super.equalsShallow(other_)) 1586 return false; 1587 if (!(other_ instanceof ImmunizationVaccinationProtocolComponent)) 1588 return false; 1589 ImmunizationVaccinationProtocolComponent o = (ImmunizationVaccinationProtocolComponent) other_; 1590 return compareValues(doseSequence, o.doseSequence, true) && compareValues(description, o.description, true) 1591 && compareValues(series, o.series, true) && compareValues(seriesDoses, o.seriesDoses, true); 1592 } 1593 1594 public boolean isEmpty() { 1595 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(doseSequence, description 1596 , authority, series, seriesDoses, targetDisease, doseStatus, doseStatusReason); 1597 } 1598 1599 public String fhirType() { 1600 return "Immunization.vaccinationProtocol"; 1601 1602 } 1603 1604 } 1605 1606 /** 1607 * A unique identifier assigned to this immunization record. 1608 */ 1609 @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1610 @Description(shortDefinition="Business identifier", formalDefinition="A unique identifier assigned to this immunization record." ) 1611 protected List<Identifier> identifier; 1612 1613 /** 1614 * Indicates the current status of the vaccination event. 1615 */ 1616 @Child(name = "status", type = {CodeType.class}, order=1, min=1, max=1, modifier=true, summary=true) 1617 @Description(shortDefinition="completed | entered-in-error", formalDefinition="Indicates the current status of the vaccination event." ) 1618 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/immunization-status") 1619 protected Enumeration<ImmunizationStatus> status; 1620 1621 /** 1622 * Indicates if the vaccination was or was not given. 1623 */ 1624 @Child(name = "notGiven", type = {BooleanType.class}, order=2, min=1, max=1, modifier=true, summary=true) 1625 @Description(shortDefinition="Flag for whether immunization was given", formalDefinition="Indicates if the vaccination was or was not given." ) 1626 protected BooleanType notGiven; 1627 1628 /** 1629 * Vaccine that was administered or was to be administered. 1630 */ 1631 @Child(name = "vaccineCode", type = {CodeableConcept.class}, order=3, min=1, max=1, modifier=false, summary=false) 1632 @Description(shortDefinition="Vaccine product administered", formalDefinition="Vaccine that was administered or was to be administered." ) 1633 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/vaccine-code") 1634 protected CodeableConcept vaccineCode; 1635 1636 /** 1637 * The patient who either received or did not receive the immunization. 1638 */ 1639 @Child(name = "patient", type = {Patient.class}, order=4, min=1, max=1, modifier=false, summary=false) 1640 @Description(shortDefinition="Who was immunized", formalDefinition="The patient who either received or did not receive the immunization." ) 1641 protected Reference patient; 1642 1643 /** 1644 * The actual object that is the target of the reference (The patient who either received or did not receive the immunization.) 1645 */ 1646 protected Patient patientTarget; 1647 1648 /** 1649 * The visit or admission or other contact between patient and health care provider the immunization was performed as part of. 1650 */ 1651 @Child(name = "encounter", type = {Encounter.class}, order=5, min=0, max=1, modifier=false, summary=false) 1652 @Description(shortDefinition="Encounter administered as part of", formalDefinition="The visit or admission or other contact between patient and health care provider the immunization was performed as part of." ) 1653 protected Reference encounter; 1654 1655 /** 1656 * The actual object that is the target of the reference (The visit or admission or other contact between patient and health care provider the immunization was performed as part of.) 1657 */ 1658 protected Encounter encounterTarget; 1659 1660 /** 1661 * Date vaccine administered or was to be administered. 1662 */ 1663 @Child(name = "date", type = {DateTimeType.class}, order=6, min=0, max=1, modifier=false, summary=false) 1664 @Description(shortDefinition="Vaccination administration date", formalDefinition="Date vaccine administered or was to be administered." ) 1665 protected DateTimeType date; 1666 1667 /** 1668 * An indication that the content of the record is based on information from the person who administered the vaccine. This reflects the context under which the data was originally recorded. 1669 */ 1670 @Child(name = "primarySource", type = {BooleanType.class}, order=7, min=1, max=1, modifier=false, summary=false) 1671 @Description(shortDefinition="Indicates context the data was recorded in", formalDefinition="An indication that the content of the record is based on information from the person who administered the vaccine. This reflects the context under which the data was originally recorded." ) 1672 protected BooleanType primarySource; 1673 1674 /** 1675 * The source of the data when the report of the immunization event is not based on information from the person who administered the vaccine. 1676 */ 1677 @Child(name = "reportOrigin", type = {CodeableConcept.class}, order=8, min=0, max=1, modifier=false, summary=false) 1678 @Description(shortDefinition="Indicates the source of a secondarily reported record", formalDefinition="The source of the data when the report of the immunization event is not based on information from the person who administered the vaccine." ) 1679 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/immunization-origin") 1680 protected CodeableConcept reportOrigin; 1681 1682 /** 1683 * The service delivery location where the vaccine administration occurred. 1684 */ 1685 @Child(name = "location", type = {Location.class}, order=9, min=0, max=1, modifier=false, summary=false) 1686 @Description(shortDefinition="Where vaccination occurred", formalDefinition="The service delivery location where the vaccine administration occurred." ) 1687 protected Reference location; 1688 1689 /** 1690 * The actual object that is the target of the reference (The service delivery location where the vaccine administration occurred.) 1691 */ 1692 protected Location locationTarget; 1693 1694 /** 1695 * Name of vaccine manufacturer. 1696 */ 1697 @Child(name = "manufacturer", type = {Organization.class}, order=10, min=0, max=1, modifier=false, summary=false) 1698 @Description(shortDefinition="Vaccine manufacturer", formalDefinition="Name of vaccine manufacturer." ) 1699 protected Reference manufacturer; 1700 1701 /** 1702 * The actual object that is the target of the reference (Name of vaccine manufacturer.) 1703 */ 1704 protected Organization manufacturerTarget; 1705 1706 /** 1707 * Lot number of the vaccine product. 1708 */ 1709 @Child(name = "lotNumber", type = {StringType.class}, order=11, min=0, max=1, modifier=false, summary=false) 1710 @Description(shortDefinition="Vaccine lot number", formalDefinition="Lot number of the vaccine product." ) 1711 protected StringType lotNumber; 1712 1713 /** 1714 * Date vaccine batch expires. 1715 */ 1716 @Child(name = "expirationDate", type = {DateType.class}, order=12, min=0, max=1, modifier=false, summary=false) 1717 @Description(shortDefinition="Vaccine expiration date", formalDefinition="Date vaccine batch expires." ) 1718 protected DateType expirationDate; 1719 1720 /** 1721 * Body site where vaccine was administered. 1722 */ 1723 @Child(name = "site", type = {CodeableConcept.class}, order=13, min=0, max=1, modifier=false, summary=false) 1724 @Description(shortDefinition="Body site vaccine was administered", formalDefinition="Body site where vaccine was administered." ) 1725 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/immunization-site") 1726 protected CodeableConcept site; 1727 1728 /** 1729 * The path by which the vaccine product is taken into the body. 1730 */ 1731 @Child(name = "route", type = {CodeableConcept.class}, order=14, min=0, max=1, modifier=false, summary=false) 1732 @Description(shortDefinition="How vaccine entered body", formalDefinition="The path by which the vaccine product is taken into the body." ) 1733 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/immunization-route") 1734 protected CodeableConcept route; 1735 1736 /** 1737 * The quantity of vaccine product that was administered. 1738 */ 1739 @Child(name = "doseQuantity", type = {SimpleQuantity.class}, order=15, min=0, max=1, modifier=false, summary=false) 1740 @Description(shortDefinition="Amount of vaccine administered", formalDefinition="The quantity of vaccine product that was administered." ) 1741 protected SimpleQuantity doseQuantity; 1742 1743 /** 1744 * Indicates who or what performed the event. 1745 */ 1746 @Child(name = "practitioner", type = {}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1747 @Description(shortDefinition="Who performed event", formalDefinition="Indicates who or what performed the event." ) 1748 protected List<ImmunizationPractitionerComponent> practitioner; 1749 1750 /** 1751 * Extra information about the immunization that is not conveyed by the other attributes. 1752 */ 1753 @Child(name = "note", type = {Annotation.class}, order=17, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1754 @Description(shortDefinition="Vaccination notes", formalDefinition="Extra information about the immunization that is not conveyed by the other attributes." ) 1755 protected List<Annotation> note; 1756 1757 /** 1758 * Reasons why a vaccine was or was not administered. 1759 */ 1760 @Child(name = "explanation", type = {}, order=18, min=0, max=1, modifier=false, summary=false) 1761 @Description(shortDefinition="Administration/non-administration reasons", formalDefinition="Reasons why a vaccine was or was not administered." ) 1762 protected ImmunizationExplanationComponent explanation; 1763 1764 /** 1765 * Categorical data indicating that an adverse event is associated in time to an immunization. 1766 */ 1767 @Child(name = "reaction", type = {}, order=19, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1768 @Description(shortDefinition="Details of a reaction that follows immunization", formalDefinition="Categorical data indicating that an adverse event is associated in time to an immunization." ) 1769 protected List<ImmunizationReactionComponent> reaction; 1770 1771 /** 1772 * Contains information about the protocol(s) under which the vaccine was administered. 1773 */ 1774 @Child(name = "vaccinationProtocol", type = {}, order=20, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1775 @Description(shortDefinition="What protocol was followed", formalDefinition="Contains information about the protocol(s) under which the vaccine was administered." ) 1776 protected List<ImmunizationVaccinationProtocolComponent> vaccinationProtocol; 1777 1778 private static final long serialVersionUID = 658058655L; 1779 1780 /** 1781 * Constructor 1782 */ 1783 public Immunization() { 1784 super(); 1785 } 1786 1787 /** 1788 * Constructor 1789 */ 1790 public Immunization(Enumeration<ImmunizationStatus> status, BooleanType notGiven, CodeableConcept vaccineCode, Reference patient, BooleanType primarySource) { 1791 super(); 1792 this.status = status; 1793 this.notGiven = notGiven; 1794 this.vaccineCode = vaccineCode; 1795 this.patient = patient; 1796 this.primarySource = primarySource; 1797 } 1798 1799 /** 1800 * @return {@link #identifier} (A unique identifier assigned to this immunization record.) 1801 */ 1802 public List<Identifier> getIdentifier() { 1803 if (this.identifier == null) 1804 this.identifier = new ArrayList<Identifier>(); 1805 return this.identifier; 1806 } 1807 1808 /** 1809 * @return Returns a reference to <code>this</code> for easy method chaining 1810 */ 1811 public Immunization setIdentifier(List<Identifier> theIdentifier) { 1812 this.identifier = theIdentifier; 1813 return this; 1814 } 1815 1816 public boolean hasIdentifier() { 1817 if (this.identifier == null) 1818 return false; 1819 for (Identifier item : this.identifier) 1820 if (!item.isEmpty()) 1821 return true; 1822 return false; 1823 } 1824 1825 public Identifier addIdentifier() { //3 1826 Identifier t = new Identifier(); 1827 if (this.identifier == null) 1828 this.identifier = new ArrayList<Identifier>(); 1829 this.identifier.add(t); 1830 return t; 1831 } 1832 1833 public Immunization addIdentifier(Identifier t) { //3 1834 if (t == null) 1835 return this; 1836 if (this.identifier == null) 1837 this.identifier = new ArrayList<Identifier>(); 1838 this.identifier.add(t); 1839 return this; 1840 } 1841 1842 /** 1843 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist 1844 */ 1845 public Identifier getIdentifierFirstRep() { 1846 if (getIdentifier().isEmpty()) { 1847 addIdentifier(); 1848 } 1849 return getIdentifier().get(0); 1850 } 1851 1852 /** 1853 * @return {@link #status} (Indicates the current status of the vaccination event.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 1854 */ 1855 public Enumeration<ImmunizationStatus> getStatusElement() { 1856 if (this.status == null) 1857 if (Configuration.errorOnAutoCreate()) 1858 throw new Error("Attempt to auto-create Immunization.status"); 1859 else if (Configuration.doAutoCreate()) 1860 this.status = new Enumeration<ImmunizationStatus>(new ImmunizationStatusEnumFactory()); // bb 1861 return this.status; 1862 } 1863 1864 public boolean hasStatusElement() { 1865 return this.status != null && !this.status.isEmpty(); 1866 } 1867 1868 public boolean hasStatus() { 1869 return this.status != null && !this.status.isEmpty(); 1870 } 1871 1872 /** 1873 * @param value {@link #status} (Indicates the current status of the vaccination event.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 1874 */ 1875 public Immunization setStatusElement(Enumeration<ImmunizationStatus> value) { 1876 this.status = value; 1877 return this; 1878 } 1879 1880 /** 1881 * @return Indicates the current status of the vaccination event. 1882 */ 1883 public ImmunizationStatus getStatus() { 1884 return this.status == null ? null : this.status.getValue(); 1885 } 1886 1887 /** 1888 * @param value Indicates the current status of the vaccination event. 1889 */ 1890 public Immunization setStatus(ImmunizationStatus value) { 1891 if (this.status == null) 1892 this.status = new Enumeration<ImmunizationStatus>(new ImmunizationStatusEnumFactory()); 1893 this.status.setValue(value); 1894 return this; 1895 } 1896 1897 /** 1898 * @return {@link #notGiven} (Indicates if the vaccination was or was not given.). This is the underlying object with id, value and extensions. The accessor "getNotGiven" gives direct access to the value 1899 */ 1900 public BooleanType getNotGivenElement() { 1901 if (this.notGiven == null) 1902 if (Configuration.errorOnAutoCreate()) 1903 throw new Error("Attempt to auto-create Immunization.notGiven"); 1904 else if (Configuration.doAutoCreate()) 1905 this.notGiven = new BooleanType(); // bb 1906 return this.notGiven; 1907 } 1908 1909 public boolean hasNotGivenElement() { 1910 return this.notGiven != null && !this.notGiven.isEmpty(); 1911 } 1912 1913 public boolean hasNotGiven() { 1914 return this.notGiven != null && !this.notGiven.isEmpty(); 1915 } 1916 1917 /** 1918 * @param value {@link #notGiven} (Indicates if the vaccination was or was not given.). This is the underlying object with id, value and extensions. The accessor "getNotGiven" gives direct access to the value 1919 */ 1920 public Immunization setNotGivenElement(BooleanType value) { 1921 this.notGiven = value; 1922 return this; 1923 } 1924 1925 /** 1926 * @return Indicates if the vaccination was or was not given. 1927 */ 1928 public boolean getNotGiven() { 1929 return this.notGiven == null || this.notGiven.isEmpty() ? false : this.notGiven.getValue(); 1930 } 1931 1932 /** 1933 * @param value Indicates if the vaccination was or was not given. 1934 */ 1935 public Immunization setNotGiven(boolean value) { 1936 if (this.notGiven == null) 1937 this.notGiven = new BooleanType(); 1938 this.notGiven.setValue(value); 1939 return this; 1940 } 1941 1942 /** 1943 * @return {@link #vaccineCode} (Vaccine that was administered or was to be administered.) 1944 */ 1945 public CodeableConcept getVaccineCode() { 1946 if (this.vaccineCode == null) 1947 if (Configuration.errorOnAutoCreate()) 1948 throw new Error("Attempt to auto-create Immunization.vaccineCode"); 1949 else if (Configuration.doAutoCreate()) 1950 this.vaccineCode = new CodeableConcept(); // cc 1951 return this.vaccineCode; 1952 } 1953 1954 public boolean hasVaccineCode() { 1955 return this.vaccineCode != null && !this.vaccineCode.isEmpty(); 1956 } 1957 1958 /** 1959 * @param value {@link #vaccineCode} (Vaccine that was administered or was to be administered.) 1960 */ 1961 public Immunization setVaccineCode(CodeableConcept value) { 1962 this.vaccineCode = value; 1963 return this; 1964 } 1965 1966 /** 1967 * @return {@link #patient} (The patient who either received or did not receive the immunization.) 1968 */ 1969 public Reference getPatient() { 1970 if (this.patient == null) 1971 if (Configuration.errorOnAutoCreate()) 1972 throw new Error("Attempt to auto-create Immunization.patient"); 1973 else if (Configuration.doAutoCreate()) 1974 this.patient = new Reference(); // cc 1975 return this.patient; 1976 } 1977 1978 public boolean hasPatient() { 1979 return this.patient != null && !this.patient.isEmpty(); 1980 } 1981 1982 /** 1983 * @param value {@link #patient} (The patient who either received or did not receive the immunization.) 1984 */ 1985 public Immunization setPatient(Reference value) { 1986 this.patient = value; 1987 return this; 1988 } 1989 1990 /** 1991 * @return {@link #patient} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (The patient who either received or did not receive the immunization.) 1992 */ 1993 public Patient getPatientTarget() { 1994 if (this.patientTarget == null) 1995 if (Configuration.errorOnAutoCreate()) 1996 throw new Error("Attempt to auto-create Immunization.patient"); 1997 else if (Configuration.doAutoCreate()) 1998 this.patientTarget = new Patient(); // aa 1999 return this.patientTarget; 2000 } 2001 2002 /** 2003 * @param value {@link #patient} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (The patient who either received or did not receive the immunization.) 2004 */ 2005 public Immunization setPatientTarget(Patient value) { 2006 this.patientTarget = value; 2007 return this; 2008 } 2009 2010 /** 2011 * @return {@link #encounter} (The visit or admission or other contact between patient and health care provider the immunization was performed as part of.) 2012 */ 2013 public Reference getEncounter() { 2014 if (this.encounter == null) 2015 if (Configuration.errorOnAutoCreate()) 2016 throw new Error("Attempt to auto-create Immunization.encounter"); 2017 else if (Configuration.doAutoCreate()) 2018 this.encounter = new Reference(); // cc 2019 return this.encounter; 2020 } 2021 2022 public boolean hasEncounter() { 2023 return this.encounter != null && !this.encounter.isEmpty(); 2024 } 2025 2026 /** 2027 * @param value {@link #encounter} (The visit or admission or other contact between patient and health care provider the immunization was performed as part of.) 2028 */ 2029 public Immunization setEncounter(Reference value) { 2030 this.encounter = value; 2031 return this; 2032 } 2033 2034 /** 2035 * @return {@link #encounter} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (The visit or admission or other contact between patient and health care provider the immunization was performed as part of.) 2036 */ 2037 public Encounter getEncounterTarget() { 2038 if (this.encounterTarget == null) 2039 if (Configuration.errorOnAutoCreate()) 2040 throw new Error("Attempt to auto-create Immunization.encounter"); 2041 else if (Configuration.doAutoCreate()) 2042 this.encounterTarget = new Encounter(); // aa 2043 return this.encounterTarget; 2044 } 2045 2046 /** 2047 * @param value {@link #encounter} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (The visit or admission or other contact between patient and health care provider the immunization was performed as part of.) 2048 */ 2049 public Immunization setEncounterTarget(Encounter value) { 2050 this.encounterTarget = value; 2051 return this; 2052 } 2053 2054 /** 2055 * @return {@link #date} (Date vaccine administered or was to be administered.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 2056 */ 2057 public DateTimeType getDateElement() { 2058 if (this.date == null) 2059 if (Configuration.errorOnAutoCreate()) 2060 throw new Error("Attempt to auto-create Immunization.date"); 2061 else if (Configuration.doAutoCreate()) 2062 this.date = new DateTimeType(); // bb 2063 return this.date; 2064 } 2065 2066 public boolean hasDateElement() { 2067 return this.date != null && !this.date.isEmpty(); 2068 } 2069 2070 public boolean hasDate() { 2071 return this.date != null && !this.date.isEmpty(); 2072 } 2073 2074 /** 2075 * @param value {@link #date} (Date vaccine administered or was to be administered.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 2076 */ 2077 public Immunization setDateElement(DateTimeType value) { 2078 this.date = value; 2079 return this; 2080 } 2081 2082 /** 2083 * @return Date vaccine administered or was to be administered. 2084 */ 2085 public Date getDate() { 2086 return this.date == null ? null : this.date.getValue(); 2087 } 2088 2089 /** 2090 * @param value Date vaccine administered or was to be administered. 2091 */ 2092 public Immunization setDate(Date value) { 2093 if (value == null) 2094 this.date = null; 2095 else { 2096 if (this.date == null) 2097 this.date = new DateTimeType(); 2098 this.date.setValue(value); 2099 } 2100 return this; 2101 } 2102 2103 /** 2104 * @return {@link #primarySource} (An indication that the content of the record is based on information from the person who administered the vaccine. This reflects the context under which the data was originally recorded.). This is the underlying object with id, value and extensions. The accessor "getPrimarySource" gives direct access to the value 2105 */ 2106 public BooleanType getPrimarySourceElement() { 2107 if (this.primarySource == null) 2108 if (Configuration.errorOnAutoCreate()) 2109 throw new Error("Attempt to auto-create Immunization.primarySource"); 2110 else if (Configuration.doAutoCreate()) 2111 this.primarySource = new BooleanType(); // bb 2112 return this.primarySource; 2113 } 2114 2115 public boolean hasPrimarySourceElement() { 2116 return this.primarySource != null && !this.primarySource.isEmpty(); 2117 } 2118 2119 public boolean hasPrimarySource() { 2120 return this.primarySource != null && !this.primarySource.isEmpty(); 2121 } 2122 2123 /** 2124 * @param value {@link #primarySource} (An indication that the content of the record is based on information from the person who administered the vaccine. This reflects the context under which the data was originally recorded.). This is the underlying object with id, value and extensions. The accessor "getPrimarySource" gives direct access to the value 2125 */ 2126 public Immunization setPrimarySourceElement(BooleanType value) { 2127 this.primarySource = value; 2128 return this; 2129 } 2130 2131 /** 2132 * @return An indication that the content of the record is based on information from the person who administered the vaccine. This reflects the context under which the data was originally recorded. 2133 */ 2134 public boolean getPrimarySource() { 2135 return this.primarySource == null || this.primarySource.isEmpty() ? false : this.primarySource.getValue(); 2136 } 2137 2138 /** 2139 * @param value An indication that the content of the record is based on information from the person who administered the vaccine. This reflects the context under which the data was originally recorded. 2140 */ 2141 public Immunization setPrimarySource(boolean value) { 2142 if (this.primarySource == null) 2143 this.primarySource = new BooleanType(); 2144 this.primarySource.setValue(value); 2145 return this; 2146 } 2147 2148 /** 2149 * @return {@link #reportOrigin} (The source of the data when the report of the immunization event is not based on information from the person who administered the vaccine.) 2150 */ 2151 public CodeableConcept getReportOrigin() { 2152 if (this.reportOrigin == null) 2153 if (Configuration.errorOnAutoCreate()) 2154 throw new Error("Attempt to auto-create Immunization.reportOrigin"); 2155 else if (Configuration.doAutoCreate()) 2156 this.reportOrigin = new CodeableConcept(); // cc 2157 return this.reportOrigin; 2158 } 2159 2160 public boolean hasReportOrigin() { 2161 return this.reportOrigin != null && !this.reportOrigin.isEmpty(); 2162 } 2163 2164 /** 2165 * @param value {@link #reportOrigin} (The source of the data when the report of the immunization event is not based on information from the person who administered the vaccine.) 2166 */ 2167 public Immunization setReportOrigin(CodeableConcept value) { 2168 this.reportOrigin = value; 2169 return this; 2170 } 2171 2172 /** 2173 * @return {@link #location} (The service delivery location where the vaccine administration occurred.) 2174 */ 2175 public Reference getLocation() { 2176 if (this.location == null) 2177 if (Configuration.errorOnAutoCreate()) 2178 throw new Error("Attempt to auto-create Immunization.location"); 2179 else if (Configuration.doAutoCreate()) 2180 this.location = new Reference(); // cc 2181 return this.location; 2182 } 2183 2184 public boolean hasLocation() { 2185 return this.location != null && !this.location.isEmpty(); 2186 } 2187 2188 /** 2189 * @param value {@link #location} (The service delivery location where the vaccine administration occurred.) 2190 */ 2191 public Immunization setLocation(Reference value) { 2192 this.location = value; 2193 return this; 2194 } 2195 2196 /** 2197 * @return {@link #location} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (The service delivery location where the vaccine administration occurred.) 2198 */ 2199 public Location getLocationTarget() { 2200 if (this.locationTarget == null) 2201 if (Configuration.errorOnAutoCreate()) 2202 throw new Error("Attempt to auto-create Immunization.location"); 2203 else if (Configuration.doAutoCreate()) 2204 this.locationTarget = new Location(); // aa 2205 return this.locationTarget; 2206 } 2207 2208 /** 2209 * @param value {@link #location} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (The service delivery location where the vaccine administration occurred.) 2210 */ 2211 public Immunization setLocationTarget(Location value) { 2212 this.locationTarget = value; 2213 return this; 2214 } 2215 2216 /** 2217 * @return {@link #manufacturer} (Name of vaccine manufacturer.) 2218 */ 2219 public Reference getManufacturer() { 2220 if (this.manufacturer == null) 2221 if (Configuration.errorOnAutoCreate()) 2222 throw new Error("Attempt to auto-create Immunization.manufacturer"); 2223 else if (Configuration.doAutoCreate()) 2224 this.manufacturer = new Reference(); // cc 2225 return this.manufacturer; 2226 } 2227 2228 public boolean hasManufacturer() { 2229 return this.manufacturer != null && !this.manufacturer.isEmpty(); 2230 } 2231 2232 /** 2233 * @param value {@link #manufacturer} (Name of vaccine manufacturer.) 2234 */ 2235 public Immunization setManufacturer(Reference value) { 2236 this.manufacturer = value; 2237 return this; 2238 } 2239 2240 /** 2241 * @return {@link #manufacturer} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (Name of vaccine manufacturer.) 2242 */ 2243 public Organization getManufacturerTarget() { 2244 if (this.manufacturerTarget == null) 2245 if (Configuration.errorOnAutoCreate()) 2246 throw new Error("Attempt to auto-create Immunization.manufacturer"); 2247 else if (Configuration.doAutoCreate()) 2248 this.manufacturerTarget = new Organization(); // aa 2249 return this.manufacturerTarget; 2250 } 2251 2252 /** 2253 * @param value {@link #manufacturer} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (Name of vaccine manufacturer.) 2254 */ 2255 public Immunization setManufacturerTarget(Organization value) { 2256 this.manufacturerTarget = value; 2257 return this; 2258 } 2259 2260 /** 2261 * @return {@link #lotNumber} (Lot number of the vaccine product.). This is the underlying object with id, value and extensions. The accessor "getLotNumber" gives direct access to the value 2262 */ 2263 public StringType getLotNumberElement() { 2264 if (this.lotNumber == null) 2265 if (Configuration.errorOnAutoCreate()) 2266 throw new Error("Attempt to auto-create Immunization.lotNumber"); 2267 else if (Configuration.doAutoCreate()) 2268 this.lotNumber = new StringType(); // bb 2269 return this.lotNumber; 2270 } 2271 2272 public boolean hasLotNumberElement() { 2273 return this.lotNumber != null && !this.lotNumber.isEmpty(); 2274 } 2275 2276 public boolean hasLotNumber() { 2277 return this.lotNumber != null && !this.lotNumber.isEmpty(); 2278 } 2279 2280 /** 2281 * @param value {@link #lotNumber} (Lot number of the vaccine product.). This is the underlying object with id, value and extensions. The accessor "getLotNumber" gives direct access to the value 2282 */ 2283 public Immunization setLotNumberElement(StringType value) { 2284 this.lotNumber = value; 2285 return this; 2286 } 2287 2288 /** 2289 * @return Lot number of the vaccine product. 2290 */ 2291 public String getLotNumber() { 2292 return this.lotNumber == null ? null : this.lotNumber.getValue(); 2293 } 2294 2295 /** 2296 * @param value Lot number of the vaccine product. 2297 */ 2298 public Immunization setLotNumber(String value) { 2299 if (Utilities.noString(value)) 2300 this.lotNumber = null; 2301 else { 2302 if (this.lotNumber == null) 2303 this.lotNumber = new StringType(); 2304 this.lotNumber.setValue(value); 2305 } 2306 return this; 2307 } 2308 2309 /** 2310 * @return {@link #expirationDate} (Date vaccine batch expires.). This is the underlying object with id, value and extensions. The accessor "getExpirationDate" gives direct access to the value 2311 */ 2312 public DateType getExpirationDateElement() { 2313 if (this.expirationDate == null) 2314 if (Configuration.errorOnAutoCreate()) 2315 throw new Error("Attempt to auto-create Immunization.expirationDate"); 2316 else if (Configuration.doAutoCreate()) 2317 this.expirationDate = new DateType(); // bb 2318 return this.expirationDate; 2319 } 2320 2321 public boolean hasExpirationDateElement() { 2322 return this.expirationDate != null && !this.expirationDate.isEmpty(); 2323 } 2324 2325 public boolean hasExpirationDate() { 2326 return this.expirationDate != null && !this.expirationDate.isEmpty(); 2327 } 2328 2329 /** 2330 * @param value {@link #expirationDate} (Date vaccine batch expires.). This is the underlying object with id, value and extensions. The accessor "getExpirationDate" gives direct access to the value 2331 */ 2332 public Immunization setExpirationDateElement(DateType value) { 2333 this.expirationDate = value; 2334 return this; 2335 } 2336 2337 /** 2338 * @return Date vaccine batch expires. 2339 */ 2340 public Date getExpirationDate() { 2341 return this.expirationDate == null ? null : this.expirationDate.getValue(); 2342 } 2343 2344 /** 2345 * @param value Date vaccine batch expires. 2346 */ 2347 public Immunization setExpirationDate(Date value) { 2348 if (value == null) 2349 this.expirationDate = null; 2350 else { 2351 if (this.expirationDate == null) 2352 this.expirationDate = new DateType(); 2353 this.expirationDate.setValue(value); 2354 } 2355 return this; 2356 } 2357 2358 /** 2359 * @return {@link #site} (Body site where vaccine was administered.) 2360 */ 2361 public CodeableConcept getSite() { 2362 if (this.site == null) 2363 if (Configuration.errorOnAutoCreate()) 2364 throw new Error("Attempt to auto-create Immunization.site"); 2365 else if (Configuration.doAutoCreate()) 2366 this.site = new CodeableConcept(); // cc 2367 return this.site; 2368 } 2369 2370 public boolean hasSite() { 2371 return this.site != null && !this.site.isEmpty(); 2372 } 2373 2374 /** 2375 * @param value {@link #site} (Body site where vaccine was administered.) 2376 */ 2377 public Immunization setSite(CodeableConcept value) { 2378 this.site = value; 2379 return this; 2380 } 2381 2382 /** 2383 * @return {@link #route} (The path by which the vaccine product is taken into the body.) 2384 */ 2385 public CodeableConcept getRoute() { 2386 if (this.route == null) 2387 if (Configuration.errorOnAutoCreate()) 2388 throw new Error("Attempt to auto-create Immunization.route"); 2389 else if (Configuration.doAutoCreate()) 2390 this.route = new CodeableConcept(); // cc 2391 return this.route; 2392 } 2393 2394 public boolean hasRoute() { 2395 return this.route != null && !this.route.isEmpty(); 2396 } 2397 2398 /** 2399 * @param value {@link #route} (The path by which the vaccine product is taken into the body.) 2400 */ 2401 public Immunization setRoute(CodeableConcept value) { 2402 this.route = value; 2403 return this; 2404 } 2405 2406 /** 2407 * @return {@link #doseQuantity} (The quantity of vaccine product that was administered.) 2408 */ 2409 public SimpleQuantity getDoseQuantity() { 2410 if (this.doseQuantity == null) 2411 if (Configuration.errorOnAutoCreate()) 2412 throw new Error("Attempt to auto-create Immunization.doseQuantity"); 2413 else if (Configuration.doAutoCreate()) 2414 this.doseQuantity = new SimpleQuantity(); // cc 2415 return this.doseQuantity; 2416 } 2417 2418 public boolean hasDoseQuantity() { 2419 return this.doseQuantity != null && !this.doseQuantity.isEmpty(); 2420 } 2421 2422 /** 2423 * @param value {@link #doseQuantity} (The quantity of vaccine product that was administered.) 2424 */ 2425 public Immunization setDoseQuantity(SimpleQuantity value) { 2426 this.doseQuantity = value; 2427 return this; 2428 } 2429 2430 /** 2431 * @return {@link #practitioner} (Indicates who or what performed the event.) 2432 */ 2433 public List<ImmunizationPractitionerComponent> getPractitioner() { 2434 if (this.practitioner == null) 2435 this.practitioner = new ArrayList<ImmunizationPractitionerComponent>(); 2436 return this.practitioner; 2437 } 2438 2439 /** 2440 * @return Returns a reference to <code>this</code> for easy method chaining 2441 */ 2442 public Immunization setPractitioner(List<ImmunizationPractitionerComponent> thePractitioner) { 2443 this.practitioner = thePractitioner; 2444 return this; 2445 } 2446 2447 public boolean hasPractitioner() { 2448 if (this.practitioner == null) 2449 return false; 2450 for (ImmunizationPractitionerComponent item : this.practitioner) 2451 if (!item.isEmpty()) 2452 return true; 2453 return false; 2454 } 2455 2456 public ImmunizationPractitionerComponent addPractitioner() { //3 2457 ImmunizationPractitionerComponent t = new ImmunizationPractitionerComponent(); 2458 if (this.practitioner == null) 2459 this.practitioner = new ArrayList<ImmunizationPractitionerComponent>(); 2460 this.practitioner.add(t); 2461 return t; 2462 } 2463 2464 public Immunization addPractitioner(ImmunizationPractitionerComponent t) { //3 2465 if (t == null) 2466 return this; 2467 if (this.practitioner == null) 2468 this.practitioner = new ArrayList<ImmunizationPractitionerComponent>(); 2469 this.practitioner.add(t); 2470 return this; 2471 } 2472 2473 /** 2474 * @return The first repetition of repeating field {@link #practitioner}, creating it if it does not already exist 2475 */ 2476 public ImmunizationPractitionerComponent getPractitionerFirstRep() { 2477 if (getPractitioner().isEmpty()) { 2478 addPractitioner(); 2479 } 2480 return getPractitioner().get(0); 2481 } 2482 2483 /** 2484 * @return {@link #note} (Extra information about the immunization that is not conveyed by the other attributes.) 2485 */ 2486 public List<Annotation> getNote() { 2487 if (this.note == null) 2488 this.note = new ArrayList<Annotation>(); 2489 return this.note; 2490 } 2491 2492 /** 2493 * @return Returns a reference to <code>this</code> for easy method chaining 2494 */ 2495 public Immunization setNote(List<Annotation> theNote) { 2496 this.note = theNote; 2497 return this; 2498 } 2499 2500 public boolean hasNote() { 2501 if (this.note == null) 2502 return false; 2503 for (Annotation item : this.note) 2504 if (!item.isEmpty()) 2505 return true; 2506 return false; 2507 } 2508 2509 public Annotation addNote() { //3 2510 Annotation t = new Annotation(); 2511 if (this.note == null) 2512 this.note = new ArrayList<Annotation>(); 2513 this.note.add(t); 2514 return t; 2515 } 2516 2517 public Immunization addNote(Annotation t) { //3 2518 if (t == null) 2519 return this; 2520 if (this.note == null) 2521 this.note = new ArrayList<Annotation>(); 2522 this.note.add(t); 2523 return this; 2524 } 2525 2526 /** 2527 * @return The first repetition of repeating field {@link #note}, creating it if it does not already exist 2528 */ 2529 public Annotation getNoteFirstRep() { 2530 if (getNote().isEmpty()) { 2531 addNote(); 2532 } 2533 return getNote().get(0); 2534 } 2535 2536 /** 2537 * @return {@link #explanation} (Reasons why a vaccine was or was not administered.) 2538 */ 2539 public ImmunizationExplanationComponent getExplanation() { 2540 if (this.explanation == null) 2541 if (Configuration.errorOnAutoCreate()) 2542 throw new Error("Attempt to auto-create Immunization.explanation"); 2543 else if (Configuration.doAutoCreate()) 2544 this.explanation = new ImmunizationExplanationComponent(); // cc 2545 return this.explanation; 2546 } 2547 2548 public boolean hasExplanation() { 2549 return this.explanation != null && !this.explanation.isEmpty(); 2550 } 2551 2552 /** 2553 * @param value {@link #explanation} (Reasons why a vaccine was or was not administered.) 2554 */ 2555 public Immunization setExplanation(ImmunizationExplanationComponent value) { 2556 this.explanation = value; 2557 return this; 2558 } 2559 2560 /** 2561 * @return {@link #reaction} (Categorical data indicating that an adverse event is associated in time to an immunization.) 2562 */ 2563 public List<ImmunizationReactionComponent> getReaction() { 2564 if (this.reaction == null) 2565 this.reaction = new ArrayList<ImmunizationReactionComponent>(); 2566 return this.reaction; 2567 } 2568 2569 /** 2570 * @return Returns a reference to <code>this</code> for easy method chaining 2571 */ 2572 public Immunization setReaction(List<ImmunizationReactionComponent> theReaction) { 2573 this.reaction = theReaction; 2574 return this; 2575 } 2576 2577 public boolean hasReaction() { 2578 if (this.reaction == null) 2579 return false; 2580 for (ImmunizationReactionComponent item : this.reaction) 2581 if (!item.isEmpty()) 2582 return true; 2583 return false; 2584 } 2585 2586 public ImmunizationReactionComponent addReaction() { //3 2587 ImmunizationReactionComponent t = new ImmunizationReactionComponent(); 2588 if (this.reaction == null) 2589 this.reaction = new ArrayList<ImmunizationReactionComponent>(); 2590 this.reaction.add(t); 2591 return t; 2592 } 2593 2594 public Immunization addReaction(ImmunizationReactionComponent t) { //3 2595 if (t == null) 2596 return this; 2597 if (this.reaction == null) 2598 this.reaction = new ArrayList<ImmunizationReactionComponent>(); 2599 this.reaction.add(t); 2600 return this; 2601 } 2602 2603 /** 2604 * @return The first repetition of repeating field {@link #reaction}, creating it if it does not already exist 2605 */ 2606 public ImmunizationReactionComponent getReactionFirstRep() { 2607 if (getReaction().isEmpty()) { 2608 addReaction(); 2609 } 2610 return getReaction().get(0); 2611 } 2612 2613 /** 2614 * @return {@link #vaccinationProtocol} (Contains information about the protocol(s) under which the vaccine was administered.) 2615 */ 2616 public List<ImmunizationVaccinationProtocolComponent> getVaccinationProtocol() { 2617 if (this.vaccinationProtocol == null) 2618 this.vaccinationProtocol = new ArrayList<ImmunizationVaccinationProtocolComponent>(); 2619 return this.vaccinationProtocol; 2620 } 2621 2622 /** 2623 * @return Returns a reference to <code>this</code> for easy method chaining 2624 */ 2625 public Immunization setVaccinationProtocol(List<ImmunizationVaccinationProtocolComponent> theVaccinationProtocol) { 2626 this.vaccinationProtocol = theVaccinationProtocol; 2627 return this; 2628 } 2629 2630 public boolean hasVaccinationProtocol() { 2631 if (this.vaccinationProtocol == null) 2632 return false; 2633 for (ImmunizationVaccinationProtocolComponent item : this.vaccinationProtocol) 2634 if (!item.isEmpty()) 2635 return true; 2636 return false; 2637 } 2638 2639 public ImmunizationVaccinationProtocolComponent addVaccinationProtocol() { //3 2640 ImmunizationVaccinationProtocolComponent t = new ImmunizationVaccinationProtocolComponent(); 2641 if (this.vaccinationProtocol == null) 2642 this.vaccinationProtocol = new ArrayList<ImmunizationVaccinationProtocolComponent>(); 2643 this.vaccinationProtocol.add(t); 2644 return t; 2645 } 2646 2647 public Immunization addVaccinationProtocol(ImmunizationVaccinationProtocolComponent t) { //3 2648 if (t == null) 2649 return this; 2650 if (this.vaccinationProtocol == null) 2651 this.vaccinationProtocol = new ArrayList<ImmunizationVaccinationProtocolComponent>(); 2652 this.vaccinationProtocol.add(t); 2653 return this; 2654 } 2655 2656 /** 2657 * @return The first repetition of repeating field {@link #vaccinationProtocol}, creating it if it does not already exist 2658 */ 2659 public ImmunizationVaccinationProtocolComponent getVaccinationProtocolFirstRep() { 2660 if (getVaccinationProtocol().isEmpty()) { 2661 addVaccinationProtocol(); 2662 } 2663 return getVaccinationProtocol().get(0); 2664 } 2665 2666 protected void listChildren(List<Property> children) { 2667 super.listChildren(children); 2668 children.add(new Property("identifier", "Identifier", "A unique identifier assigned to this immunization record.", 0, java.lang.Integer.MAX_VALUE, identifier)); 2669 children.add(new Property("status", "code", "Indicates the current status of the vaccination event.", 0, 1, status)); 2670 children.add(new Property("notGiven", "boolean", "Indicates if the vaccination was or was not given.", 0, 1, notGiven)); 2671 children.add(new Property("vaccineCode", "CodeableConcept", "Vaccine that was administered or was to be administered.", 0, 1, vaccineCode)); 2672 children.add(new Property("patient", "Reference(Patient)", "The patient who either received or did not receive the immunization.", 0, 1, patient)); 2673 children.add(new Property("encounter", "Reference(Encounter)", "The visit or admission or other contact between patient and health care provider the immunization was performed as part of.", 0, 1, encounter)); 2674 children.add(new Property("date", "dateTime", "Date vaccine administered or was to be administered.", 0, 1, date)); 2675 children.add(new Property("primarySource", "boolean", "An indication that the content of the record is based on information from the person who administered the vaccine. This reflects the context under which the data was originally recorded.", 0, 1, primarySource)); 2676 children.add(new Property("reportOrigin", "CodeableConcept", "The source of the data when the report of the immunization event is not based on information from the person who administered the vaccine.", 0, 1, reportOrigin)); 2677 children.add(new Property("location", "Reference(Location)", "The service delivery location where the vaccine administration occurred.", 0, 1, location)); 2678 children.add(new Property("manufacturer", "Reference(Organization)", "Name of vaccine manufacturer.", 0, 1, manufacturer)); 2679 children.add(new Property("lotNumber", "string", "Lot number of the vaccine product.", 0, 1, lotNumber)); 2680 children.add(new Property("expirationDate", "date", "Date vaccine batch expires.", 0, 1, expirationDate)); 2681 children.add(new Property("site", "CodeableConcept", "Body site where vaccine was administered.", 0, 1, site)); 2682 children.add(new Property("route", "CodeableConcept", "The path by which the vaccine product is taken into the body.", 0, 1, route)); 2683 children.add(new Property("doseQuantity", "SimpleQuantity", "The quantity of vaccine product that was administered.", 0, 1, doseQuantity)); 2684 children.add(new Property("practitioner", "", "Indicates who or what performed the event.", 0, java.lang.Integer.MAX_VALUE, practitioner)); 2685 children.add(new Property("note", "Annotation", "Extra information about the immunization that is not conveyed by the other attributes.", 0, java.lang.Integer.MAX_VALUE, note)); 2686 children.add(new Property("explanation", "", "Reasons why a vaccine was or was not administered.", 0, 1, explanation)); 2687 children.add(new Property("reaction", "", "Categorical data indicating that an adverse event is associated in time to an immunization.", 0, java.lang.Integer.MAX_VALUE, reaction)); 2688 children.add(new Property("vaccinationProtocol", "", "Contains information about the protocol(s) under which the vaccine was administered.", 0, java.lang.Integer.MAX_VALUE, vaccinationProtocol)); 2689 } 2690 2691 @Override 2692 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 2693 switch (_hash) { 2694 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "A unique identifier assigned to this immunization record.", 0, java.lang.Integer.MAX_VALUE, identifier); 2695 case -892481550: /*status*/ return new Property("status", "code", "Indicates the current status of the vaccination event.", 0, 1, status); 2696 case 1554065514: /*notGiven*/ return new Property("notGiven", "boolean", "Indicates if the vaccination was or was not given.", 0, 1, notGiven); 2697 case 664556354: /*vaccineCode*/ return new Property("vaccineCode", "CodeableConcept", "Vaccine that was administered or was to be administered.", 0, 1, vaccineCode); 2698 case -791418107: /*patient*/ return new Property("patient", "Reference(Patient)", "The patient who either received or did not receive the immunization.", 0, 1, patient); 2699 case 1524132147: /*encounter*/ return new Property("encounter", "Reference(Encounter)", "The visit or admission or other contact between patient and health care provider the immunization was performed as part of.", 0, 1, encounter); 2700 case 3076014: /*date*/ return new Property("date", "dateTime", "Date vaccine administered or was to be administered.", 0, 1, date); 2701 case -528721731: /*primarySource*/ return new Property("primarySource", "boolean", "An indication that the content of the record is based on information from the person who administered the vaccine. This reflects the context under which the data was originally recorded.", 0, 1, primarySource); 2702 case 486750586: /*reportOrigin*/ return new Property("reportOrigin", "CodeableConcept", "The source of the data when the report of the immunization event is not based on information from the person who administered the vaccine.", 0, 1, reportOrigin); 2703 case 1901043637: /*location*/ return new Property("location", "Reference(Location)", "The service delivery location where the vaccine administration occurred.", 0, 1, location); 2704 case -1969347631: /*manufacturer*/ return new Property("manufacturer", "Reference(Organization)", "Name of vaccine manufacturer.", 0, 1, manufacturer); 2705 case 462547450: /*lotNumber*/ return new Property("lotNumber", "string", "Lot number of the vaccine product.", 0, 1, lotNumber); 2706 case -668811523: /*expirationDate*/ return new Property("expirationDate", "date", "Date vaccine batch expires.", 0, 1, expirationDate); 2707 case 3530567: /*site*/ return new Property("site", "CodeableConcept", "Body site where vaccine was administered.", 0, 1, site); 2708 case 108704329: /*route*/ return new Property("route", "CodeableConcept", "The path by which the vaccine product is taken into the body.", 0, 1, route); 2709 case -2083618872: /*doseQuantity*/ return new Property("doseQuantity", "SimpleQuantity", "The quantity of vaccine product that was administered.", 0, 1, doseQuantity); 2710 case 574573338: /*practitioner*/ return new Property("practitioner", "", "Indicates who or what performed the event.", 0, java.lang.Integer.MAX_VALUE, practitioner); 2711 case 3387378: /*note*/ return new Property("note", "Annotation", "Extra information about the immunization that is not conveyed by the other attributes.", 0, java.lang.Integer.MAX_VALUE, note); 2712 case -1105867239: /*explanation*/ return new Property("explanation", "", "Reasons why a vaccine was or was not administered.", 0, 1, explanation); 2713 case -867509719: /*reaction*/ return new Property("reaction", "", "Categorical data indicating that an adverse event is associated in time to an immunization.", 0, java.lang.Integer.MAX_VALUE, reaction); 2714 case -179633155: /*vaccinationProtocol*/ return new Property("vaccinationProtocol", "", "Contains information about the protocol(s) under which the vaccine was administered.", 0, java.lang.Integer.MAX_VALUE, vaccinationProtocol); 2715 default: return super.getNamedProperty(_hash, _name, _checkValid); 2716 } 2717 2718 } 2719 2720 @Override 2721 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 2722 switch (hash) { 2723 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 2724 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<ImmunizationStatus> 2725 case 1554065514: /*notGiven*/ return this.notGiven == null ? new Base[0] : new Base[] {this.notGiven}; // BooleanType 2726 case 664556354: /*vaccineCode*/ return this.vaccineCode == null ? new Base[0] : new Base[] {this.vaccineCode}; // CodeableConcept 2727 case -791418107: /*patient*/ return this.patient == null ? new Base[0] : new Base[] {this.patient}; // Reference 2728 case 1524132147: /*encounter*/ return this.encounter == null ? new Base[0] : new Base[] {this.encounter}; // Reference 2729 case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType 2730 case -528721731: /*primarySource*/ return this.primarySource == null ? new Base[0] : new Base[] {this.primarySource}; // BooleanType 2731 case 486750586: /*reportOrigin*/ return this.reportOrigin == null ? new Base[0] : new Base[] {this.reportOrigin}; // CodeableConcept 2732 case 1901043637: /*location*/ return this.location == null ? new Base[0] : new Base[] {this.location}; // Reference 2733 case -1969347631: /*manufacturer*/ return this.manufacturer == null ? new Base[0] : new Base[] {this.manufacturer}; // Reference 2734 case 462547450: /*lotNumber*/ return this.lotNumber == null ? new Base[0] : new Base[] {this.lotNumber}; // StringType 2735 case -668811523: /*expirationDate*/ return this.expirationDate == null ? new Base[0] : new Base[] {this.expirationDate}; // DateType 2736 case 3530567: /*site*/ return this.site == null ? new Base[0] : new Base[] {this.site}; // CodeableConcept 2737 case 108704329: /*route*/ return this.route == null ? new Base[0] : new Base[] {this.route}; // CodeableConcept 2738 case -2083618872: /*doseQuantity*/ return this.doseQuantity == null ? new Base[0] : new Base[] {this.doseQuantity}; // SimpleQuantity 2739 case 574573338: /*practitioner*/ return this.practitioner == null ? new Base[0] : this.practitioner.toArray(new Base[this.practitioner.size()]); // ImmunizationPractitionerComponent 2740 case 3387378: /*note*/ return this.note == null ? new Base[0] : this.note.toArray(new Base[this.note.size()]); // Annotation 2741 case -1105867239: /*explanation*/ return this.explanation == null ? new Base[0] : new Base[] {this.explanation}; // ImmunizationExplanationComponent 2742 case -867509719: /*reaction*/ return this.reaction == null ? new Base[0] : this.reaction.toArray(new Base[this.reaction.size()]); // ImmunizationReactionComponent 2743 case -179633155: /*vaccinationProtocol*/ return this.vaccinationProtocol == null ? new Base[0] : this.vaccinationProtocol.toArray(new Base[this.vaccinationProtocol.size()]); // ImmunizationVaccinationProtocolComponent 2744 default: return super.getProperty(hash, name, checkValid); 2745 } 2746 2747 } 2748 2749 @Override 2750 public Base setProperty(int hash, String name, Base value) throws FHIRException { 2751 switch (hash) { 2752 case -1618432855: // identifier 2753 this.getIdentifier().add(castToIdentifier(value)); // Identifier 2754 return value; 2755 case -892481550: // status 2756 value = new ImmunizationStatusEnumFactory().fromType(castToCode(value)); 2757 this.status = (Enumeration) value; // Enumeration<ImmunizationStatus> 2758 return value; 2759 case 1554065514: // notGiven 2760 this.notGiven = castToBoolean(value); // BooleanType 2761 return value; 2762 case 664556354: // vaccineCode 2763 this.vaccineCode = castToCodeableConcept(value); // CodeableConcept 2764 return value; 2765 case -791418107: // patient 2766 this.patient = castToReference(value); // Reference 2767 return value; 2768 case 1524132147: // encounter 2769 this.encounter = castToReference(value); // Reference 2770 return value; 2771 case 3076014: // date 2772 this.date = castToDateTime(value); // DateTimeType 2773 return value; 2774 case -528721731: // primarySource 2775 this.primarySource = castToBoolean(value); // BooleanType 2776 return value; 2777 case 486750586: // reportOrigin 2778 this.reportOrigin = castToCodeableConcept(value); // CodeableConcept 2779 return value; 2780 case 1901043637: // location 2781 this.location = castToReference(value); // Reference 2782 return value; 2783 case -1969347631: // manufacturer 2784 this.manufacturer = castToReference(value); // Reference 2785 return value; 2786 case 462547450: // lotNumber 2787 this.lotNumber = castToString(value); // StringType 2788 return value; 2789 case -668811523: // expirationDate 2790 this.expirationDate = castToDate(value); // DateType 2791 return value; 2792 case 3530567: // site 2793 this.site = castToCodeableConcept(value); // CodeableConcept 2794 return value; 2795 case 108704329: // route 2796 this.route = castToCodeableConcept(value); // CodeableConcept 2797 return value; 2798 case -2083618872: // doseQuantity 2799 this.doseQuantity = castToSimpleQuantity(value); // SimpleQuantity 2800 return value; 2801 case 574573338: // practitioner 2802 this.getPractitioner().add((ImmunizationPractitionerComponent) value); // ImmunizationPractitionerComponent 2803 return value; 2804 case 3387378: // note 2805 this.getNote().add(castToAnnotation(value)); // Annotation 2806 return value; 2807 case -1105867239: // explanation 2808 this.explanation = (ImmunizationExplanationComponent) value; // ImmunizationExplanationComponent 2809 return value; 2810 case -867509719: // reaction 2811 this.getReaction().add((ImmunizationReactionComponent) value); // ImmunizationReactionComponent 2812 return value; 2813 case -179633155: // vaccinationProtocol 2814 this.getVaccinationProtocol().add((ImmunizationVaccinationProtocolComponent) value); // ImmunizationVaccinationProtocolComponent 2815 return value; 2816 default: return super.setProperty(hash, name, value); 2817 } 2818 2819 } 2820 2821 @Override 2822 public Base setProperty(String name, Base value) throws FHIRException { 2823 if (name.equals("identifier")) { 2824 this.getIdentifier().add(castToIdentifier(value)); 2825 } else if (name.equals("status")) { 2826 value = new ImmunizationStatusEnumFactory().fromType(castToCode(value)); 2827 this.status = (Enumeration) value; // Enumeration<ImmunizationStatus> 2828 } else if (name.equals("notGiven")) { 2829 this.notGiven = castToBoolean(value); // BooleanType 2830 } else if (name.equals("vaccineCode")) { 2831 this.vaccineCode = castToCodeableConcept(value); // CodeableConcept 2832 } else if (name.equals("patient")) { 2833 this.patient = castToReference(value); // Reference 2834 } else if (name.equals("encounter")) { 2835 this.encounter = castToReference(value); // Reference 2836 } else if (name.equals("date")) { 2837 this.date = castToDateTime(value); // DateTimeType 2838 } else if (name.equals("primarySource")) { 2839 this.primarySource = castToBoolean(value); // BooleanType 2840 } else if (name.equals("reportOrigin")) { 2841 this.reportOrigin = castToCodeableConcept(value); // CodeableConcept 2842 } else if (name.equals("location")) { 2843 this.location = castToReference(value); // Reference 2844 } else if (name.equals("manufacturer")) { 2845 this.manufacturer = castToReference(value); // Reference 2846 } else if (name.equals("lotNumber")) { 2847 this.lotNumber = castToString(value); // StringType 2848 } else if (name.equals("expirationDate")) { 2849 this.expirationDate = castToDate(value); // DateType 2850 } else if (name.equals("site")) { 2851 this.site = castToCodeableConcept(value); // CodeableConcept 2852 } else if (name.equals("route")) { 2853 this.route = castToCodeableConcept(value); // CodeableConcept 2854 } else if (name.equals("doseQuantity")) { 2855 this.doseQuantity = castToSimpleQuantity(value); // SimpleQuantity 2856 } else if (name.equals("practitioner")) { 2857 this.getPractitioner().add((ImmunizationPractitionerComponent) value); 2858 } else if (name.equals("note")) { 2859 this.getNote().add(castToAnnotation(value)); 2860 } else if (name.equals("explanation")) { 2861 this.explanation = (ImmunizationExplanationComponent) value; // ImmunizationExplanationComponent 2862 } else if (name.equals("reaction")) { 2863 this.getReaction().add((ImmunizationReactionComponent) value); 2864 } else if (name.equals("vaccinationProtocol")) { 2865 this.getVaccinationProtocol().add((ImmunizationVaccinationProtocolComponent) value); 2866 } else 2867 return super.setProperty(name, value); 2868 return value; 2869 } 2870 2871 @Override 2872 public Base makeProperty(int hash, String name) throws FHIRException { 2873 switch (hash) { 2874 case -1618432855: return addIdentifier(); 2875 case -892481550: return getStatusElement(); 2876 case 1554065514: return getNotGivenElement(); 2877 case 664556354: return getVaccineCode(); 2878 case -791418107: return getPatient(); 2879 case 1524132147: return getEncounter(); 2880 case 3076014: return getDateElement(); 2881 case -528721731: return getPrimarySourceElement(); 2882 case 486750586: return getReportOrigin(); 2883 case 1901043637: return getLocation(); 2884 case -1969347631: return getManufacturer(); 2885 case 462547450: return getLotNumberElement(); 2886 case -668811523: return getExpirationDateElement(); 2887 case 3530567: return getSite(); 2888 case 108704329: return getRoute(); 2889 case -2083618872: return getDoseQuantity(); 2890 case 574573338: return addPractitioner(); 2891 case 3387378: return addNote(); 2892 case -1105867239: return getExplanation(); 2893 case -867509719: return addReaction(); 2894 case -179633155: return addVaccinationProtocol(); 2895 default: return super.makeProperty(hash, name); 2896 } 2897 2898 } 2899 2900 @Override 2901 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2902 switch (hash) { 2903 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 2904 case -892481550: /*status*/ return new String[] {"code"}; 2905 case 1554065514: /*notGiven*/ return new String[] {"boolean"}; 2906 case 664556354: /*vaccineCode*/ return new String[] {"CodeableConcept"}; 2907 case -791418107: /*patient*/ return new String[] {"Reference"}; 2908 case 1524132147: /*encounter*/ return new String[] {"Reference"}; 2909 case 3076014: /*date*/ return new String[] {"dateTime"}; 2910 case -528721731: /*primarySource*/ return new String[] {"boolean"}; 2911 case 486750586: /*reportOrigin*/ return new String[] {"CodeableConcept"}; 2912 case 1901043637: /*location*/ return new String[] {"Reference"}; 2913 case -1969347631: /*manufacturer*/ return new String[] {"Reference"}; 2914 case 462547450: /*lotNumber*/ return new String[] {"string"}; 2915 case -668811523: /*expirationDate*/ return new String[] {"date"}; 2916 case 3530567: /*site*/ return new String[] {"CodeableConcept"}; 2917 case 108704329: /*route*/ return new String[] {"CodeableConcept"}; 2918 case -2083618872: /*doseQuantity*/ return new String[] {"SimpleQuantity"}; 2919 case 574573338: /*practitioner*/ return new String[] {}; 2920 case 3387378: /*note*/ return new String[] {"Annotation"}; 2921 case -1105867239: /*explanation*/ return new String[] {}; 2922 case -867509719: /*reaction*/ return new String[] {}; 2923 case -179633155: /*vaccinationProtocol*/ return new String[] {}; 2924 default: return super.getTypesForProperty(hash, name); 2925 } 2926 2927 } 2928 2929 @Override 2930 public Base addChild(String name) throws FHIRException { 2931 if (name.equals("identifier")) { 2932 return addIdentifier(); 2933 } 2934 else if (name.equals("status")) { 2935 throw new FHIRException("Cannot call addChild on a primitive type Immunization.status"); 2936 } 2937 else if (name.equals("notGiven")) { 2938 throw new FHIRException("Cannot call addChild on a primitive type Immunization.notGiven"); 2939 } 2940 else if (name.equals("vaccineCode")) { 2941 this.vaccineCode = new CodeableConcept(); 2942 return this.vaccineCode; 2943 } 2944 else if (name.equals("patient")) { 2945 this.patient = new Reference(); 2946 return this.patient; 2947 } 2948 else if (name.equals("encounter")) { 2949 this.encounter = new Reference(); 2950 return this.encounter; 2951 } 2952 else if (name.equals("date")) { 2953 throw new FHIRException("Cannot call addChild on a primitive type Immunization.date"); 2954 } 2955 else if (name.equals("primarySource")) { 2956 throw new FHIRException("Cannot call addChild on a primitive type Immunization.primarySource"); 2957 } 2958 else if (name.equals("reportOrigin")) { 2959 this.reportOrigin = new CodeableConcept(); 2960 return this.reportOrigin; 2961 } 2962 else if (name.equals("location")) { 2963 this.location = new Reference(); 2964 return this.location; 2965 } 2966 else if (name.equals("manufacturer")) { 2967 this.manufacturer = new Reference(); 2968 return this.manufacturer; 2969 } 2970 else if (name.equals("lotNumber")) { 2971 throw new FHIRException("Cannot call addChild on a primitive type Immunization.lotNumber"); 2972 } 2973 else if (name.equals("expirationDate")) { 2974 throw new FHIRException("Cannot call addChild on a primitive type Immunization.expirationDate"); 2975 } 2976 else if (name.equals("site")) { 2977 this.site = new CodeableConcept(); 2978 return this.site; 2979 } 2980 else if (name.equals("route")) { 2981 this.route = new CodeableConcept(); 2982 return this.route; 2983 } 2984 else if (name.equals("doseQuantity")) { 2985 this.doseQuantity = new SimpleQuantity(); 2986 return this.doseQuantity; 2987 } 2988 else if (name.equals("practitioner")) { 2989 return addPractitioner(); 2990 } 2991 else if (name.equals("note")) { 2992 return addNote(); 2993 } 2994 else if (name.equals("explanation")) { 2995 this.explanation = new ImmunizationExplanationComponent(); 2996 return this.explanation; 2997 } 2998 else if (name.equals("reaction")) { 2999 return addReaction(); 3000 } 3001 else if (name.equals("vaccinationProtocol")) { 3002 return addVaccinationProtocol(); 3003 } 3004 else 3005 return super.addChild(name); 3006 } 3007 3008 public String fhirType() { 3009 return "Immunization"; 3010 3011 } 3012 3013 public Immunization copy() { 3014 Immunization dst = new Immunization(); 3015 copyValues(dst); 3016 if (identifier != null) { 3017 dst.identifier = new ArrayList<Identifier>(); 3018 for (Identifier i : identifier) 3019 dst.identifier.add(i.copy()); 3020 }; 3021 dst.status = status == null ? null : status.copy(); 3022 dst.notGiven = notGiven == null ? null : notGiven.copy(); 3023 dst.vaccineCode = vaccineCode == null ? null : vaccineCode.copy(); 3024 dst.patient = patient == null ? null : patient.copy(); 3025 dst.encounter = encounter == null ? null : encounter.copy(); 3026 dst.date = date == null ? null : date.copy(); 3027 dst.primarySource = primarySource == null ? null : primarySource.copy(); 3028 dst.reportOrigin = reportOrigin == null ? null : reportOrigin.copy(); 3029 dst.location = location == null ? null : location.copy(); 3030 dst.manufacturer = manufacturer == null ? null : manufacturer.copy(); 3031 dst.lotNumber = lotNumber == null ? null : lotNumber.copy(); 3032 dst.expirationDate = expirationDate == null ? null : expirationDate.copy(); 3033 dst.site = site == null ? null : site.copy(); 3034 dst.route = route == null ? null : route.copy(); 3035 dst.doseQuantity = doseQuantity == null ? null : doseQuantity.copy(); 3036 if (practitioner != null) { 3037 dst.practitioner = new ArrayList<ImmunizationPractitionerComponent>(); 3038 for (ImmunizationPractitionerComponent i : practitioner) 3039 dst.practitioner.add(i.copy()); 3040 }; 3041 if (note != null) { 3042 dst.note = new ArrayList<Annotation>(); 3043 for (Annotation i : note) 3044 dst.note.add(i.copy()); 3045 }; 3046 dst.explanation = explanation == null ? null : explanation.copy(); 3047 if (reaction != null) { 3048 dst.reaction = new ArrayList<ImmunizationReactionComponent>(); 3049 for (ImmunizationReactionComponent i : reaction) 3050 dst.reaction.add(i.copy()); 3051 }; 3052 if (vaccinationProtocol != null) { 3053 dst.vaccinationProtocol = new ArrayList<ImmunizationVaccinationProtocolComponent>(); 3054 for (ImmunizationVaccinationProtocolComponent i : vaccinationProtocol) 3055 dst.vaccinationProtocol.add(i.copy()); 3056 }; 3057 return dst; 3058 } 3059 3060 protected Immunization typedCopy() { 3061 return copy(); 3062 } 3063 3064 @Override 3065 public boolean equalsDeep(Base other_) { 3066 if (!super.equalsDeep(other_)) 3067 return false; 3068 if (!(other_ instanceof Immunization)) 3069 return false; 3070 Immunization o = (Immunization) other_; 3071 return compareDeep(identifier, o.identifier, true) && compareDeep(status, o.status, true) && compareDeep(notGiven, o.notGiven, true) 3072 && compareDeep(vaccineCode, o.vaccineCode, true) && compareDeep(patient, o.patient, true) && compareDeep(encounter, o.encounter, true) 3073 && compareDeep(date, o.date, true) && compareDeep(primarySource, o.primarySource, true) && compareDeep(reportOrigin, o.reportOrigin, true) 3074 && compareDeep(location, o.location, true) && compareDeep(manufacturer, o.manufacturer, true) && compareDeep(lotNumber, o.lotNumber, true) 3075 && compareDeep(expirationDate, o.expirationDate, true) && compareDeep(site, o.site, true) && compareDeep(route, o.route, true) 3076 && compareDeep(doseQuantity, o.doseQuantity, true) && compareDeep(practitioner, o.practitioner, true) 3077 && compareDeep(note, o.note, true) && compareDeep(explanation, o.explanation, true) && compareDeep(reaction, o.reaction, true) 3078 && compareDeep(vaccinationProtocol, o.vaccinationProtocol, true); 3079 } 3080 3081 @Override 3082 public boolean equalsShallow(Base other_) { 3083 if (!super.equalsShallow(other_)) 3084 return false; 3085 if (!(other_ instanceof Immunization)) 3086 return false; 3087 Immunization o = (Immunization) other_; 3088 return compareValues(status, o.status, true) && compareValues(notGiven, o.notGiven, true) && compareValues(date, o.date, true) 3089 && compareValues(primarySource, o.primarySource, true) && compareValues(lotNumber, o.lotNumber, true) 3090 && compareValues(expirationDate, o.expirationDate, true); 3091 } 3092 3093 public boolean isEmpty() { 3094 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, status, notGiven 3095 , vaccineCode, patient, encounter, date, primarySource, reportOrigin, location 3096 , manufacturer, lotNumber, expirationDate, site, route, doseQuantity, practitioner 3097 , note, explanation, reaction, vaccinationProtocol); 3098 } 3099 3100 @Override 3101 public ResourceType getResourceType() { 3102 return ResourceType.Immunization; 3103 } 3104 3105 /** 3106 * Search parameter: <b>date</b> 3107 * <p> 3108 * Description: <b>Vaccination (non)-Administration Date</b><br> 3109 * Type: <b>date</b><br> 3110 * Path: <b>Immunization.date</b><br> 3111 * </p> 3112 */ 3113 @SearchParamDefinition(name="date", path="Immunization.date", description="Vaccination (non)-Administration Date", type="date" ) 3114 public static final String SP_DATE = "date"; 3115 /** 3116 * <b>Fluent Client</b> search parameter constant for <b>date</b> 3117 * <p> 3118 * Description: <b>Vaccination (non)-Administration Date</b><br> 3119 * Type: <b>date</b><br> 3120 * Path: <b>Immunization.date</b><br> 3121 * </p> 3122 */ 3123 public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE); 3124 3125 /** 3126 * Search parameter: <b>identifier</b> 3127 * <p> 3128 * Description: <b>Business identifier</b><br> 3129 * Type: <b>token</b><br> 3130 * Path: <b>Immunization.identifier</b><br> 3131 * </p> 3132 */ 3133 @SearchParamDefinition(name="identifier", path="Immunization.identifier", description="Business identifier", type="token" ) 3134 public static final String SP_IDENTIFIER = "identifier"; 3135 /** 3136 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 3137 * <p> 3138 * Description: <b>Business identifier</b><br> 3139 * Type: <b>token</b><br> 3140 * Path: <b>Immunization.identifier</b><br> 3141 * </p> 3142 */ 3143 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 3144 3145 /** 3146 * Search parameter: <b>reason</b> 3147 * <p> 3148 * Description: <b>Why immunization occurred</b><br> 3149 * Type: <b>token</b><br> 3150 * Path: <b>Immunization.explanation.reason</b><br> 3151 * </p> 3152 */ 3153 @SearchParamDefinition(name="reason", path="Immunization.explanation.reason", description="Why immunization occurred", type="token" ) 3154 public static final String SP_REASON = "reason"; 3155 /** 3156 * <b>Fluent Client</b> search parameter constant for <b>reason</b> 3157 * <p> 3158 * Description: <b>Why immunization occurred</b><br> 3159 * Type: <b>token</b><br> 3160 * Path: <b>Immunization.explanation.reason</b><br> 3161 * </p> 3162 */ 3163 public static final ca.uhn.fhir.rest.gclient.TokenClientParam REASON = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_REASON); 3164 3165 /** 3166 * Search parameter: <b>reaction</b> 3167 * <p> 3168 * Description: <b>Additional information on reaction</b><br> 3169 * Type: <b>reference</b><br> 3170 * Path: <b>Immunization.reaction.detail</b><br> 3171 * </p> 3172 */ 3173 @SearchParamDefinition(name="reaction", path="Immunization.reaction.detail", description="Additional information on reaction", type="reference", target={Observation.class } ) 3174 public static final String SP_REACTION = "reaction"; 3175 /** 3176 * <b>Fluent Client</b> search parameter constant for <b>reaction</b> 3177 * <p> 3178 * Description: <b>Additional information on reaction</b><br> 3179 * Type: <b>reference</b><br> 3180 * Path: <b>Immunization.reaction.detail</b><br> 3181 * </p> 3182 */ 3183 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam REACTION = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_REACTION); 3184 3185/** 3186 * Constant for fluent queries to be used to add include statements. Specifies 3187 * the path value of "<b>Immunization:reaction</b>". 3188 */ 3189 public static final ca.uhn.fhir.model.api.Include INCLUDE_REACTION = new ca.uhn.fhir.model.api.Include("Immunization:reaction").toLocked(); 3190 3191 /** 3192 * Search parameter: <b>lot-number</b> 3193 * <p> 3194 * Description: <b>Vaccine Lot Number</b><br> 3195 * Type: <b>string</b><br> 3196 * Path: <b>Immunization.lotNumber</b><br> 3197 * </p> 3198 */ 3199 @SearchParamDefinition(name="lot-number", path="Immunization.lotNumber", description="Vaccine Lot Number", type="string" ) 3200 public static final String SP_LOT_NUMBER = "lot-number"; 3201 /** 3202 * <b>Fluent Client</b> search parameter constant for <b>lot-number</b> 3203 * <p> 3204 * Description: <b>Vaccine Lot Number</b><br> 3205 * Type: <b>string</b><br> 3206 * Path: <b>Immunization.lotNumber</b><br> 3207 * </p> 3208 */ 3209 public static final ca.uhn.fhir.rest.gclient.StringClientParam LOT_NUMBER = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_LOT_NUMBER); 3210 3211 /** 3212 * Search parameter: <b>practitioner</b> 3213 * <p> 3214 * Description: <b>The practitioner who played a role in the vaccination</b><br> 3215 * Type: <b>reference</b><br> 3216 * Path: <b>Immunization.practitioner.actor</b><br> 3217 * </p> 3218 */ 3219 @SearchParamDefinition(name="practitioner", path="Immunization.practitioner.actor", description="The practitioner who played a role in the vaccination", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Practitioner") }, target={Practitioner.class } ) 3220 public static final String SP_PRACTITIONER = "practitioner"; 3221 /** 3222 * <b>Fluent Client</b> search parameter constant for <b>practitioner</b> 3223 * <p> 3224 * Description: <b>The practitioner who played a role in the vaccination</b><br> 3225 * Type: <b>reference</b><br> 3226 * Path: <b>Immunization.practitioner.actor</b><br> 3227 * </p> 3228 */ 3229 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PRACTITIONER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PRACTITIONER); 3230 3231/** 3232 * Constant for fluent queries to be used to add include statements. Specifies 3233 * the path value of "<b>Immunization:practitioner</b>". 3234 */ 3235 public static final ca.uhn.fhir.model.api.Include INCLUDE_PRACTITIONER = new ca.uhn.fhir.model.api.Include("Immunization:practitioner").toLocked(); 3236 3237 /** 3238 * Search parameter: <b>notgiven</b> 3239 * <p> 3240 * Description: <b>Administrations which were not given</b><br> 3241 * Type: <b>token</b><br> 3242 * Path: <b>Immunization.notGiven</b><br> 3243 * </p> 3244 */ 3245 @SearchParamDefinition(name="notgiven", path="Immunization.notGiven", description="Administrations which were not given", type="token" ) 3246 public static final String SP_NOTGIVEN = "notgiven"; 3247 /** 3248 * <b>Fluent Client</b> search parameter constant for <b>notgiven</b> 3249 * <p> 3250 * Description: <b>Administrations which were not given</b><br> 3251 * Type: <b>token</b><br> 3252 * Path: <b>Immunization.notGiven</b><br> 3253 * </p> 3254 */ 3255 public static final ca.uhn.fhir.rest.gclient.TokenClientParam NOTGIVEN = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_NOTGIVEN); 3256 3257 /** 3258 * Search parameter: <b>manufacturer</b> 3259 * <p> 3260 * Description: <b>Vaccine Manufacturer</b><br> 3261 * Type: <b>reference</b><br> 3262 * Path: <b>Immunization.manufacturer</b><br> 3263 * </p> 3264 */ 3265 @SearchParamDefinition(name="manufacturer", path="Immunization.manufacturer", description="Vaccine Manufacturer", type="reference", target={Organization.class } ) 3266 public static final String SP_MANUFACTURER = "manufacturer"; 3267 /** 3268 * <b>Fluent Client</b> search parameter constant for <b>manufacturer</b> 3269 * <p> 3270 * Description: <b>Vaccine Manufacturer</b><br> 3271 * Type: <b>reference</b><br> 3272 * Path: <b>Immunization.manufacturer</b><br> 3273 * </p> 3274 */ 3275 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam MANUFACTURER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_MANUFACTURER); 3276 3277/** 3278 * Constant for fluent queries to be used to add include statements. Specifies 3279 * the path value of "<b>Immunization:manufacturer</b>". 3280 */ 3281 public static final ca.uhn.fhir.model.api.Include INCLUDE_MANUFACTURER = new ca.uhn.fhir.model.api.Include("Immunization:manufacturer").toLocked(); 3282 3283 /** 3284 * Search parameter: <b>dose-sequence</b> 3285 * <p> 3286 * Description: <b>Dose number within series</b><br> 3287 * Type: <b>number</b><br> 3288 * Path: <b>Immunization.vaccinationProtocol.doseSequence</b><br> 3289 * </p> 3290 */ 3291 @SearchParamDefinition(name="dose-sequence", path="Immunization.vaccinationProtocol.doseSequence", description="Dose number within series", type="number" ) 3292 public static final String SP_DOSE_SEQUENCE = "dose-sequence"; 3293 /** 3294 * <b>Fluent Client</b> search parameter constant for <b>dose-sequence</b> 3295 * <p> 3296 * Description: <b>Dose number within series</b><br> 3297 * Type: <b>number</b><br> 3298 * Path: <b>Immunization.vaccinationProtocol.doseSequence</b><br> 3299 * </p> 3300 */ 3301 public static final ca.uhn.fhir.rest.gclient.NumberClientParam DOSE_SEQUENCE = new ca.uhn.fhir.rest.gclient.NumberClientParam(SP_DOSE_SEQUENCE); 3302 3303 /** 3304 * Search parameter: <b>patient</b> 3305 * <p> 3306 * Description: <b>The patient for the vaccination record</b><br> 3307 * Type: <b>reference</b><br> 3308 * Path: <b>Immunization.patient</b><br> 3309 * </p> 3310 */ 3311 @SearchParamDefinition(name="patient", path="Immunization.patient", description="The patient for the vaccination record", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Patient") }, target={Patient.class } ) 3312 public static final String SP_PATIENT = "patient"; 3313 /** 3314 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 3315 * <p> 3316 * Description: <b>The patient for the vaccination record</b><br> 3317 * Type: <b>reference</b><br> 3318 * Path: <b>Immunization.patient</b><br> 3319 * </p> 3320 */ 3321 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); 3322 3323/** 3324 * Constant for fluent queries to be used to add include statements. Specifies 3325 * the path value of "<b>Immunization:patient</b>". 3326 */ 3327 public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("Immunization:patient").toLocked(); 3328 3329 /** 3330 * Search parameter: <b>vaccine-code</b> 3331 * <p> 3332 * Description: <b>Vaccine Product Administered</b><br> 3333 * Type: <b>token</b><br> 3334 * Path: <b>Immunization.vaccineCode</b><br> 3335 * </p> 3336 */ 3337 @SearchParamDefinition(name="vaccine-code", path="Immunization.vaccineCode", description="Vaccine Product Administered", type="token" ) 3338 public static final String SP_VACCINE_CODE = "vaccine-code"; 3339 /** 3340 * <b>Fluent Client</b> search parameter constant for <b>vaccine-code</b> 3341 * <p> 3342 * Description: <b>Vaccine Product Administered</b><br> 3343 * Type: <b>token</b><br> 3344 * Path: <b>Immunization.vaccineCode</b><br> 3345 * </p> 3346 */ 3347 public static final ca.uhn.fhir.rest.gclient.TokenClientParam VACCINE_CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_VACCINE_CODE); 3348 3349 /** 3350 * Search parameter: <b>reason-not-given</b> 3351 * <p> 3352 * Description: <b>Explanation of reason vaccination was not administered</b><br> 3353 * Type: <b>token</b><br> 3354 * Path: <b>Immunization.explanation.reasonNotGiven</b><br> 3355 * </p> 3356 */ 3357 @SearchParamDefinition(name="reason-not-given", path="Immunization.explanation.reasonNotGiven", description="Explanation of reason vaccination was not administered", type="token" ) 3358 public static final String SP_REASON_NOT_GIVEN = "reason-not-given"; 3359 /** 3360 * <b>Fluent Client</b> search parameter constant for <b>reason-not-given</b> 3361 * <p> 3362 * Description: <b>Explanation of reason vaccination was not administered</b><br> 3363 * Type: <b>token</b><br> 3364 * Path: <b>Immunization.explanation.reasonNotGiven</b><br> 3365 * </p> 3366 */ 3367 public static final ca.uhn.fhir.rest.gclient.TokenClientParam REASON_NOT_GIVEN = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_REASON_NOT_GIVEN); 3368 3369 /** 3370 * Search parameter: <b>location</b> 3371 * <p> 3372 * Description: <b>The service delivery location or facility in which the vaccine was / was to be administered</b><br> 3373 * Type: <b>reference</b><br> 3374 * Path: <b>Immunization.location</b><br> 3375 * </p> 3376 */ 3377 @SearchParamDefinition(name="location", path="Immunization.location", description="The service delivery location or facility in which the vaccine was / was to be administered", type="reference", target={Location.class } ) 3378 public static final String SP_LOCATION = "location"; 3379 /** 3380 * <b>Fluent Client</b> search parameter constant for <b>location</b> 3381 * <p> 3382 * Description: <b>The service delivery location or facility in which the vaccine was / was to be administered</b><br> 3383 * Type: <b>reference</b><br> 3384 * Path: <b>Immunization.location</b><br> 3385 * </p> 3386 */ 3387 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam LOCATION = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_LOCATION); 3388 3389/** 3390 * Constant for fluent queries to be used to add include statements. Specifies 3391 * the path value of "<b>Immunization:location</b>". 3392 */ 3393 public static final ca.uhn.fhir.model.api.Include INCLUDE_LOCATION = new ca.uhn.fhir.model.api.Include("Immunization:location").toLocked(); 3394 3395 /** 3396 * Search parameter: <b>reaction-date</b> 3397 * <p> 3398 * Description: <b>When reaction started</b><br> 3399 * Type: <b>date</b><br> 3400 * Path: <b>Immunization.reaction.date</b><br> 3401 * </p> 3402 */ 3403 @SearchParamDefinition(name="reaction-date", path="Immunization.reaction.date", description="When reaction started", type="date" ) 3404 public static final String SP_REACTION_DATE = "reaction-date"; 3405 /** 3406 * <b>Fluent Client</b> search parameter constant for <b>reaction-date</b> 3407 * <p> 3408 * Description: <b>When reaction started</b><br> 3409 * Type: <b>date</b><br> 3410 * Path: <b>Immunization.reaction.date</b><br> 3411 * </p> 3412 */ 3413 public static final ca.uhn.fhir.rest.gclient.DateClientParam REACTION_DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_REACTION_DATE); 3414 3415 /** 3416 * Search parameter: <b>status</b> 3417 * <p> 3418 * Description: <b>Immunization event status</b><br> 3419 * Type: <b>token</b><br> 3420 * Path: <b>Immunization.status</b><br> 3421 * </p> 3422 */ 3423 @SearchParamDefinition(name="status", path="Immunization.status", description="Immunization event status", type="token" ) 3424 public static final String SP_STATUS = "status"; 3425 /** 3426 * <b>Fluent Client</b> search parameter constant for <b>status</b> 3427 * <p> 3428 * Description: <b>Immunization event status</b><br> 3429 * Type: <b>token</b><br> 3430 * Path: <b>Immunization.status</b><br> 3431 * </p> 3432 */ 3433 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 3434 3435 3436} 3437