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