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