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