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