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