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