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