001package org.hl7.fhir.dstu3.model; 002 003/* 004 Copyright (c) 2011+, HL7, Inc. 005 All rights reserved. 006 007 Redistribution and use in source and binary forms, with or without modification, 008 are permitted provided that the following conditions are met: 009 010 * Redistributions of source code must retain the above copyright notice, this 011 list of conditions and the following disclaimer. 012 * Redistributions in binary form must reproduce the above copyright notice, 013 this list of conditions and the following disclaimer in the documentation 014 and/or other materials provided with the distribution. 015 * Neither the name of HL7 nor the names of its contributors may be used to 016 endorse or promote products derived from this software without specific 017 prior written permission. 018 019 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 020 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 021 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 022 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 023 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 024 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 025 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 026 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 027 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 028 POSSIBILITY OF SUCH DAMAGE. 029 030*/ 031 032// Generated on Mon, Apr 17, 2017 17:38-0400 for FHIR v3.0.1 033 034import java.util.*; 035 036import org.hl7.fhir.utilities.Utilities; 037import ca.uhn.fhir.model.api.annotation.ResourceDef; 038import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 039import ca.uhn.fhir.model.api.annotation.Child; 040import ca.uhn.fhir.model.api.annotation.ChildOrder; 041import ca.uhn.fhir.model.api.annotation.Description; 042import ca.uhn.fhir.model.api.annotation.Block; 043import org.hl7.fhir.instance.model.api.*; 044import org.hl7.fhir.exceptions.FHIRException; 045/** 046 * A patient's point-in-time immunization and recommendation (i.e. forecasting a patient's immunization eligibility according to a published schedule) with optional supporting justification. 047 */ 048@ResourceDef(name="ImmunizationRecommendation", profile="http://hl7.org/fhir/Profile/ImmunizationRecommendation") 049public class ImmunizationRecommendation extends DomainResource { 050 051 @Block() 052 public static class ImmunizationRecommendationRecommendationComponent extends BackboneElement implements IBaseBackboneElement { 053 /** 054 * The date the immunization recommendation was created. 055 */ 056 @Child(name = "date", type = {DateTimeType.class}, order=1, min=1, max=1, modifier=false, summary=true) 057 @Description(shortDefinition="Date recommendation created", formalDefinition="The date the immunization recommendation was created." ) 058 protected DateTimeType date; 059 060 /** 061 * Vaccine that pertains to the recommendation. 062 */ 063 @Child(name = "vaccineCode", type = {CodeableConcept.class}, order=2, min=0, max=1, modifier=false, summary=true) 064 @Description(shortDefinition="Vaccine recommendation applies to", formalDefinition="Vaccine that pertains to the recommendation." ) 065 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/vaccine-code") 066 protected CodeableConcept vaccineCode; 067 068 /** 069 * The targeted disease for the recommendation. 070 */ 071 @Child(name = "targetDisease", type = {CodeableConcept.class}, order=3, min=0, max=1, modifier=false, summary=true) 072 @Description(shortDefinition="Disease to be immunized against", formalDefinition="The targeted disease for the recommendation." ) 073 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/immunization-recommendation-target-disease") 074 protected CodeableConcept targetDisease; 075 076 /** 077 * The next recommended dose number (e.g. dose 2 is the next recommended dose). 078 */ 079 @Child(name = "doseNumber", type = {PositiveIntType.class}, order=4, min=0, max=1, modifier=false, summary=true) 080 @Description(shortDefinition="Recommended dose number", formalDefinition="The next recommended dose number (e.g. dose 2 is the next recommended dose)." ) 081 protected PositiveIntType doseNumber; 082 083 /** 084 * Vaccine administration status. 085 */ 086 @Child(name = "forecastStatus", type = {CodeableConcept.class}, order=5, min=1, max=1, modifier=false, summary=true) 087 @Description(shortDefinition="Vaccine administration status", formalDefinition="Vaccine administration status." ) 088 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/immunization-recommendation-status") 089 protected CodeableConcept forecastStatus; 090 091 /** 092 * Vaccine date recommendations. For example, earliest date to administer, latest date to administer, etc. 093 */ 094 @Child(name = "dateCriterion", type = {}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 095 @Description(shortDefinition="Dates governing proposed immunization", formalDefinition="Vaccine date recommendations. For example, earliest date to administer, latest date to administer, etc." ) 096 protected List<ImmunizationRecommendationRecommendationDateCriterionComponent> dateCriterion; 097 098 /** 099 * Contains information about the protocol under which the vaccine was administered. 100 */ 101 @Child(name = "protocol", type = {}, order=7, min=0, max=1, modifier=false, summary=false) 102 @Description(shortDefinition="Protocol used by recommendation", formalDefinition="Contains information about the protocol under which the vaccine was administered." ) 103 protected ImmunizationRecommendationRecommendationProtocolComponent protocol; 104 105 /** 106 * Immunization event history that supports the status and recommendation. 107 */ 108 @Child(name = "supportingImmunization", type = {Immunization.class}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 109 @Description(shortDefinition="Past immunizations supporting recommendation", formalDefinition="Immunization event history that supports the status and recommendation." ) 110 protected List<Reference> supportingImmunization; 111 /** 112 * The actual objects that are the target of the reference (Immunization event history that supports the status and recommendation.) 113 */ 114 protected List<Immunization> supportingImmunizationTarget; 115 116 117 /** 118 * Patient Information that supports the status and recommendation. This includes patient observations, adverse reactions and allergy/intolerance information. 119 */ 120 @Child(name = "supportingPatientInformation", type = {Observation.class, AllergyIntolerance.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 121 @Description(shortDefinition="Patient observations supporting recommendation", formalDefinition="Patient Information that supports the status and recommendation. This includes patient observations, adverse reactions and allergy/intolerance information." ) 122 protected List<Reference> supportingPatientInformation; 123 /** 124 * The actual objects that are the target of the reference (Patient Information that supports the status and recommendation. This includes patient observations, adverse reactions and allergy/intolerance information.) 125 */ 126 protected List<Resource> supportingPatientInformationTarget; 127 128 129 private static final long serialVersionUID = 1279700888L; 130 131 /** 132 * Constructor 133 */ 134 public ImmunizationRecommendationRecommendationComponent() { 135 super(); 136 } 137 138 /** 139 * Constructor 140 */ 141 public ImmunizationRecommendationRecommendationComponent(DateTimeType date, CodeableConcept forecastStatus) { 142 super(); 143 this.date = date; 144 this.forecastStatus = forecastStatus; 145 } 146 147 /** 148 * @return {@link #date} (The date the immunization recommendation was created.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 149 */ 150 public DateTimeType getDateElement() { 151 if (this.date == null) 152 if (Configuration.errorOnAutoCreate()) 153 throw new Error("Attempt to auto-create ImmunizationRecommendationRecommendationComponent.date"); 154 else if (Configuration.doAutoCreate()) 155 this.date = new DateTimeType(); // bb 156 return this.date; 157 } 158 159 public boolean hasDateElement() { 160 return this.date != null && !this.date.isEmpty(); 161 } 162 163 public boolean hasDate() { 164 return this.date != null && !this.date.isEmpty(); 165 } 166 167 /** 168 * @param value {@link #date} (The date the immunization recommendation was created.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 169 */ 170 public ImmunizationRecommendationRecommendationComponent setDateElement(DateTimeType value) { 171 this.date = value; 172 return this; 173 } 174 175 /** 176 * @return The date the immunization recommendation was created. 177 */ 178 public Date getDate() { 179 return this.date == null ? null : this.date.getValue(); 180 } 181 182 /** 183 * @param value The date the immunization recommendation was created. 184 */ 185 public ImmunizationRecommendationRecommendationComponent setDate(Date value) { 186 if (this.date == null) 187 this.date = new DateTimeType(); 188 this.date.setValue(value); 189 return this; 190 } 191 192 /** 193 * @return {@link #vaccineCode} (Vaccine that pertains to the recommendation.) 194 */ 195 public CodeableConcept getVaccineCode() { 196 if (this.vaccineCode == null) 197 if (Configuration.errorOnAutoCreate()) 198 throw new Error("Attempt to auto-create ImmunizationRecommendationRecommendationComponent.vaccineCode"); 199 else if (Configuration.doAutoCreate()) 200 this.vaccineCode = new CodeableConcept(); // cc 201 return this.vaccineCode; 202 } 203 204 public boolean hasVaccineCode() { 205 return this.vaccineCode != null && !this.vaccineCode.isEmpty(); 206 } 207 208 /** 209 * @param value {@link #vaccineCode} (Vaccine that pertains to the recommendation.) 210 */ 211 public ImmunizationRecommendationRecommendationComponent setVaccineCode(CodeableConcept value) { 212 this.vaccineCode = value; 213 return this; 214 } 215 216 /** 217 * @return {@link #targetDisease} (The targeted disease for the recommendation.) 218 */ 219 public CodeableConcept getTargetDisease() { 220 if (this.targetDisease == null) 221 if (Configuration.errorOnAutoCreate()) 222 throw new Error("Attempt to auto-create ImmunizationRecommendationRecommendationComponent.targetDisease"); 223 else if (Configuration.doAutoCreate()) 224 this.targetDisease = new CodeableConcept(); // cc 225 return this.targetDisease; 226 } 227 228 public boolean hasTargetDisease() { 229 return this.targetDisease != null && !this.targetDisease.isEmpty(); 230 } 231 232 /** 233 * @param value {@link #targetDisease} (The targeted disease for the recommendation.) 234 */ 235 public ImmunizationRecommendationRecommendationComponent setTargetDisease(CodeableConcept value) { 236 this.targetDisease = value; 237 return this; 238 } 239 240 /** 241 * @return {@link #doseNumber} (The next recommended dose number (e.g. dose 2 is the next recommended dose).). This is the underlying object with id, value and extensions. The accessor "getDoseNumber" gives direct access to the value 242 */ 243 public PositiveIntType getDoseNumberElement() { 244 if (this.doseNumber == null) 245 if (Configuration.errorOnAutoCreate()) 246 throw new Error("Attempt to auto-create ImmunizationRecommendationRecommendationComponent.doseNumber"); 247 else if (Configuration.doAutoCreate()) 248 this.doseNumber = new PositiveIntType(); // bb 249 return this.doseNumber; 250 } 251 252 public boolean hasDoseNumberElement() { 253 return this.doseNumber != null && !this.doseNumber.isEmpty(); 254 } 255 256 public boolean hasDoseNumber() { 257 return this.doseNumber != null && !this.doseNumber.isEmpty(); 258 } 259 260 /** 261 * @param value {@link #doseNumber} (The next recommended dose number (e.g. dose 2 is the next recommended dose).). This is the underlying object with id, value and extensions. The accessor "getDoseNumber" gives direct access to the value 262 */ 263 public ImmunizationRecommendationRecommendationComponent setDoseNumberElement(PositiveIntType value) { 264 this.doseNumber = value; 265 return this; 266 } 267 268 /** 269 * @return The next recommended dose number (e.g. dose 2 is the next recommended dose). 270 */ 271 public int getDoseNumber() { 272 return this.doseNumber == null || this.doseNumber.isEmpty() ? 0 : this.doseNumber.getValue(); 273 } 274 275 /** 276 * @param value The next recommended dose number (e.g. dose 2 is the next recommended dose). 277 */ 278 public ImmunizationRecommendationRecommendationComponent setDoseNumber(int value) { 279 if (this.doseNumber == null) 280 this.doseNumber = new PositiveIntType(); 281 this.doseNumber.setValue(value); 282 return this; 283 } 284 285 /** 286 * @return {@link #forecastStatus} (Vaccine administration status.) 287 */ 288 public CodeableConcept getForecastStatus() { 289 if (this.forecastStatus == null) 290 if (Configuration.errorOnAutoCreate()) 291 throw new Error("Attempt to auto-create ImmunizationRecommendationRecommendationComponent.forecastStatus"); 292 else if (Configuration.doAutoCreate()) 293 this.forecastStatus = new CodeableConcept(); // cc 294 return this.forecastStatus; 295 } 296 297 public boolean hasForecastStatus() { 298 return this.forecastStatus != null && !this.forecastStatus.isEmpty(); 299 } 300 301 /** 302 * @param value {@link #forecastStatus} (Vaccine administration status.) 303 */ 304 public ImmunizationRecommendationRecommendationComponent setForecastStatus(CodeableConcept value) { 305 this.forecastStatus = value; 306 return this; 307 } 308 309 /** 310 * @return {@link #dateCriterion} (Vaccine date recommendations. For example, earliest date to administer, latest date to administer, etc.) 311 */ 312 public List<ImmunizationRecommendationRecommendationDateCriterionComponent> getDateCriterion() { 313 if (this.dateCriterion == null) 314 this.dateCriterion = new ArrayList<ImmunizationRecommendationRecommendationDateCriterionComponent>(); 315 return this.dateCriterion; 316 } 317 318 /** 319 * @return Returns a reference to <code>this</code> for easy method chaining 320 */ 321 public ImmunizationRecommendationRecommendationComponent setDateCriterion(List<ImmunizationRecommendationRecommendationDateCriterionComponent> theDateCriterion) { 322 this.dateCriterion = theDateCriterion; 323 return this; 324 } 325 326 public boolean hasDateCriterion() { 327 if (this.dateCriterion == null) 328 return false; 329 for (ImmunizationRecommendationRecommendationDateCriterionComponent item : this.dateCriterion) 330 if (!item.isEmpty()) 331 return true; 332 return false; 333 } 334 335 public ImmunizationRecommendationRecommendationDateCriterionComponent addDateCriterion() { //3 336 ImmunizationRecommendationRecommendationDateCriterionComponent t = new ImmunizationRecommendationRecommendationDateCriterionComponent(); 337 if (this.dateCriterion == null) 338 this.dateCriterion = new ArrayList<ImmunizationRecommendationRecommendationDateCriterionComponent>(); 339 this.dateCriterion.add(t); 340 return t; 341 } 342 343 public ImmunizationRecommendationRecommendationComponent addDateCriterion(ImmunizationRecommendationRecommendationDateCriterionComponent t) { //3 344 if (t == null) 345 return this; 346 if (this.dateCriterion == null) 347 this.dateCriterion = new ArrayList<ImmunizationRecommendationRecommendationDateCriterionComponent>(); 348 this.dateCriterion.add(t); 349 return this; 350 } 351 352 /** 353 * @return The first repetition of repeating field {@link #dateCriterion}, creating it if it does not already exist 354 */ 355 public ImmunizationRecommendationRecommendationDateCriterionComponent getDateCriterionFirstRep() { 356 if (getDateCriterion().isEmpty()) { 357 addDateCriterion(); 358 } 359 return getDateCriterion().get(0); 360 } 361 362 /** 363 * @return {@link #protocol} (Contains information about the protocol under which the vaccine was administered.) 364 */ 365 public ImmunizationRecommendationRecommendationProtocolComponent getProtocol() { 366 if (this.protocol == null) 367 if (Configuration.errorOnAutoCreate()) 368 throw new Error("Attempt to auto-create ImmunizationRecommendationRecommendationComponent.protocol"); 369 else if (Configuration.doAutoCreate()) 370 this.protocol = new ImmunizationRecommendationRecommendationProtocolComponent(); // cc 371 return this.protocol; 372 } 373 374 public boolean hasProtocol() { 375 return this.protocol != null && !this.protocol.isEmpty(); 376 } 377 378 /** 379 * @param value {@link #protocol} (Contains information about the protocol under which the vaccine was administered.) 380 */ 381 public ImmunizationRecommendationRecommendationComponent setProtocol(ImmunizationRecommendationRecommendationProtocolComponent value) { 382 this.protocol = value; 383 return this; 384 } 385 386 /** 387 * @return {@link #supportingImmunization} (Immunization event history that supports the status and recommendation.) 388 */ 389 public List<Reference> getSupportingImmunization() { 390 if (this.supportingImmunization == null) 391 this.supportingImmunization = new ArrayList<Reference>(); 392 return this.supportingImmunization; 393 } 394 395 /** 396 * @return Returns a reference to <code>this</code> for easy method chaining 397 */ 398 public ImmunizationRecommendationRecommendationComponent setSupportingImmunization(List<Reference> theSupportingImmunization) { 399 this.supportingImmunization = theSupportingImmunization; 400 return this; 401 } 402 403 public boolean hasSupportingImmunization() { 404 if (this.supportingImmunization == null) 405 return false; 406 for (Reference item : this.supportingImmunization) 407 if (!item.isEmpty()) 408 return true; 409 return false; 410 } 411 412 public Reference addSupportingImmunization() { //3 413 Reference t = new Reference(); 414 if (this.supportingImmunization == null) 415 this.supportingImmunization = new ArrayList<Reference>(); 416 this.supportingImmunization.add(t); 417 return t; 418 } 419 420 public ImmunizationRecommendationRecommendationComponent addSupportingImmunization(Reference t) { //3 421 if (t == null) 422 return this; 423 if (this.supportingImmunization == null) 424 this.supportingImmunization = new ArrayList<Reference>(); 425 this.supportingImmunization.add(t); 426 return this; 427 } 428 429 /** 430 * @return The first repetition of repeating field {@link #supportingImmunization}, creating it if it does not already exist 431 */ 432 public Reference getSupportingImmunizationFirstRep() { 433 if (getSupportingImmunization().isEmpty()) { 434 addSupportingImmunization(); 435 } 436 return getSupportingImmunization().get(0); 437 } 438 439 /** 440 * @deprecated Use Reference#setResource(IBaseResource) instead 441 */ 442 @Deprecated 443 public List<Immunization> getSupportingImmunizationTarget() { 444 if (this.supportingImmunizationTarget == null) 445 this.supportingImmunizationTarget = new ArrayList<Immunization>(); 446 return this.supportingImmunizationTarget; 447 } 448 449 /** 450 * @deprecated Use Reference#setResource(IBaseResource) instead 451 */ 452 @Deprecated 453 public Immunization addSupportingImmunizationTarget() { 454 Immunization r = new Immunization(); 455 if (this.supportingImmunizationTarget == null) 456 this.supportingImmunizationTarget = new ArrayList<Immunization>(); 457 this.supportingImmunizationTarget.add(r); 458 return r; 459 } 460 461 /** 462 * @return {@link #supportingPatientInformation} (Patient Information that supports the status and recommendation. This includes patient observations, adverse reactions and allergy/intolerance information.) 463 */ 464 public List<Reference> getSupportingPatientInformation() { 465 if (this.supportingPatientInformation == null) 466 this.supportingPatientInformation = new ArrayList<Reference>(); 467 return this.supportingPatientInformation; 468 } 469 470 /** 471 * @return Returns a reference to <code>this</code> for easy method chaining 472 */ 473 public ImmunizationRecommendationRecommendationComponent setSupportingPatientInformation(List<Reference> theSupportingPatientInformation) { 474 this.supportingPatientInformation = theSupportingPatientInformation; 475 return this; 476 } 477 478 public boolean hasSupportingPatientInformation() { 479 if (this.supportingPatientInformation == null) 480 return false; 481 for (Reference item : this.supportingPatientInformation) 482 if (!item.isEmpty()) 483 return true; 484 return false; 485 } 486 487 public Reference addSupportingPatientInformation() { //3 488 Reference t = new Reference(); 489 if (this.supportingPatientInformation == null) 490 this.supportingPatientInformation = new ArrayList<Reference>(); 491 this.supportingPatientInformation.add(t); 492 return t; 493 } 494 495 public ImmunizationRecommendationRecommendationComponent addSupportingPatientInformation(Reference t) { //3 496 if (t == null) 497 return this; 498 if (this.supportingPatientInformation == null) 499 this.supportingPatientInformation = new ArrayList<Reference>(); 500 this.supportingPatientInformation.add(t); 501 return this; 502 } 503 504 /** 505 * @return The first repetition of repeating field {@link #supportingPatientInformation}, creating it if it does not already exist 506 */ 507 public Reference getSupportingPatientInformationFirstRep() { 508 if (getSupportingPatientInformation().isEmpty()) { 509 addSupportingPatientInformation(); 510 } 511 return getSupportingPatientInformation().get(0); 512 } 513 514 /** 515 * @deprecated Use Reference#setResource(IBaseResource) instead 516 */ 517 @Deprecated 518 public List<Resource> getSupportingPatientInformationTarget() { 519 if (this.supportingPatientInformationTarget == null) 520 this.supportingPatientInformationTarget = new ArrayList<Resource>(); 521 return this.supportingPatientInformationTarget; 522 } 523 524 protected void listChildren(List<Property> childrenList) { 525 super.listChildren(childrenList); 526 childrenList.add(new Property("date", "dateTime", "The date the immunization recommendation was created.", 0, java.lang.Integer.MAX_VALUE, date)); 527 childrenList.add(new Property("vaccineCode", "CodeableConcept", "Vaccine that pertains to the recommendation.", 0, java.lang.Integer.MAX_VALUE, vaccineCode)); 528 childrenList.add(new Property("targetDisease", "CodeableConcept", "The targeted disease for the recommendation.", 0, java.lang.Integer.MAX_VALUE, targetDisease)); 529 childrenList.add(new Property("doseNumber", "positiveInt", "The next recommended dose number (e.g. dose 2 is the next recommended dose).", 0, java.lang.Integer.MAX_VALUE, doseNumber)); 530 childrenList.add(new Property("forecastStatus", "CodeableConcept", "Vaccine administration status.", 0, java.lang.Integer.MAX_VALUE, forecastStatus)); 531 childrenList.add(new Property("dateCriterion", "", "Vaccine date recommendations. For example, earliest date to administer, latest date to administer, etc.", 0, java.lang.Integer.MAX_VALUE, dateCriterion)); 532 childrenList.add(new Property("protocol", "", "Contains information about the protocol under which the vaccine was administered.", 0, java.lang.Integer.MAX_VALUE, protocol)); 533 childrenList.add(new Property("supportingImmunization", "Reference(Immunization)", "Immunization event history that supports the status and recommendation.", 0, java.lang.Integer.MAX_VALUE, supportingImmunization)); 534 childrenList.add(new Property("supportingPatientInformation", "Reference(Observation|AllergyIntolerance)", "Patient Information that supports the status and recommendation. This includes patient observations, adverse reactions and allergy/intolerance information.", 0, java.lang.Integer.MAX_VALUE, supportingPatientInformation)); 535 } 536 537 @Override 538 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 539 switch (hash) { 540 case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType 541 case 664556354: /*vaccineCode*/ return this.vaccineCode == null ? new Base[0] : new Base[] {this.vaccineCode}; // CodeableConcept 542 case -319593813: /*targetDisease*/ return this.targetDisease == null ? new Base[0] : new Base[] {this.targetDisease}; // CodeableConcept 543 case -887709242: /*doseNumber*/ return this.doseNumber == null ? new Base[0] : new Base[] {this.doseNumber}; // PositiveIntType 544 case 1904598477: /*forecastStatus*/ return this.forecastStatus == null ? new Base[0] : new Base[] {this.forecastStatus}; // CodeableConcept 545 case 2087518867: /*dateCriterion*/ return this.dateCriterion == null ? new Base[0] : this.dateCriterion.toArray(new Base[this.dateCriterion.size()]); // ImmunizationRecommendationRecommendationDateCriterionComponent 546 case -989163880: /*protocol*/ return this.protocol == null ? new Base[0] : new Base[] {this.protocol}; // ImmunizationRecommendationRecommendationProtocolComponent 547 case 1171592021: /*supportingImmunization*/ return this.supportingImmunization == null ? new Base[0] : this.supportingImmunization.toArray(new Base[this.supportingImmunization.size()]); // Reference 548 case -1234160646: /*supportingPatientInformation*/ return this.supportingPatientInformation == null ? new Base[0] : this.supportingPatientInformation.toArray(new Base[this.supportingPatientInformation.size()]); // Reference 549 default: return super.getProperty(hash, name, checkValid); 550 } 551 552 } 553 554 @Override 555 public Base setProperty(int hash, String name, Base value) throws FHIRException { 556 switch (hash) { 557 case 3076014: // date 558 this.date = castToDateTime(value); // DateTimeType 559 return value; 560 case 664556354: // vaccineCode 561 this.vaccineCode = castToCodeableConcept(value); // CodeableConcept 562 return value; 563 case -319593813: // targetDisease 564 this.targetDisease = castToCodeableConcept(value); // CodeableConcept 565 return value; 566 case -887709242: // doseNumber 567 this.doseNumber = castToPositiveInt(value); // PositiveIntType 568 return value; 569 case 1904598477: // forecastStatus 570 this.forecastStatus = castToCodeableConcept(value); // CodeableConcept 571 return value; 572 case 2087518867: // dateCriterion 573 this.getDateCriterion().add((ImmunizationRecommendationRecommendationDateCriterionComponent) value); // ImmunizationRecommendationRecommendationDateCriterionComponent 574 return value; 575 case -989163880: // protocol 576 this.protocol = (ImmunizationRecommendationRecommendationProtocolComponent) value; // ImmunizationRecommendationRecommendationProtocolComponent 577 return value; 578 case 1171592021: // supportingImmunization 579 this.getSupportingImmunization().add(castToReference(value)); // Reference 580 return value; 581 case -1234160646: // supportingPatientInformation 582 this.getSupportingPatientInformation().add(castToReference(value)); // Reference 583 return value; 584 default: return super.setProperty(hash, name, value); 585 } 586 587 } 588 589 @Override 590 public Base setProperty(String name, Base value) throws FHIRException { 591 if (name.equals("date")) { 592 this.date = castToDateTime(value); // DateTimeType 593 } else if (name.equals("vaccineCode")) { 594 this.vaccineCode = castToCodeableConcept(value); // CodeableConcept 595 } else if (name.equals("targetDisease")) { 596 this.targetDisease = castToCodeableConcept(value); // CodeableConcept 597 } else if (name.equals("doseNumber")) { 598 this.doseNumber = castToPositiveInt(value); // PositiveIntType 599 } else if (name.equals("forecastStatus")) { 600 this.forecastStatus = castToCodeableConcept(value); // CodeableConcept 601 } else if (name.equals("dateCriterion")) { 602 this.getDateCriterion().add((ImmunizationRecommendationRecommendationDateCriterionComponent) value); 603 } else if (name.equals("protocol")) { 604 this.protocol = (ImmunizationRecommendationRecommendationProtocolComponent) value; // ImmunizationRecommendationRecommendationProtocolComponent 605 } else if (name.equals("supportingImmunization")) { 606 this.getSupportingImmunization().add(castToReference(value)); 607 } else if (name.equals("supportingPatientInformation")) { 608 this.getSupportingPatientInformation().add(castToReference(value)); 609 } else 610 return super.setProperty(name, value); 611 return value; 612 } 613 614 @Override 615 public Base makeProperty(int hash, String name) throws FHIRException { 616 switch (hash) { 617 case 3076014: return getDateElement(); 618 case 664556354: return getVaccineCode(); 619 case -319593813: return getTargetDisease(); 620 case -887709242: return getDoseNumberElement(); 621 case 1904598477: return getForecastStatus(); 622 case 2087518867: return addDateCriterion(); 623 case -989163880: return getProtocol(); 624 case 1171592021: return addSupportingImmunization(); 625 case -1234160646: return addSupportingPatientInformation(); 626 default: return super.makeProperty(hash, name); 627 } 628 629 } 630 631 @Override 632 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 633 switch (hash) { 634 case 3076014: /*date*/ return new String[] {"dateTime"}; 635 case 664556354: /*vaccineCode*/ return new String[] {"CodeableConcept"}; 636 case -319593813: /*targetDisease*/ return new String[] {"CodeableConcept"}; 637 case -887709242: /*doseNumber*/ return new String[] {"positiveInt"}; 638 case 1904598477: /*forecastStatus*/ return new String[] {"CodeableConcept"}; 639 case 2087518867: /*dateCriterion*/ return new String[] {}; 640 case -989163880: /*protocol*/ return new String[] {}; 641 case 1171592021: /*supportingImmunization*/ return new String[] {"Reference"}; 642 case -1234160646: /*supportingPatientInformation*/ return new String[] {"Reference"}; 643 default: return super.getTypesForProperty(hash, name); 644 } 645 646 } 647 648 @Override 649 public Base addChild(String name) throws FHIRException { 650 if (name.equals("date")) { 651 throw new FHIRException("Cannot call addChild on a primitive type ImmunizationRecommendation.date"); 652 } 653 else if (name.equals("vaccineCode")) { 654 this.vaccineCode = new CodeableConcept(); 655 return this.vaccineCode; 656 } 657 else if (name.equals("targetDisease")) { 658 this.targetDisease = new CodeableConcept(); 659 return this.targetDisease; 660 } 661 else if (name.equals("doseNumber")) { 662 throw new FHIRException("Cannot call addChild on a primitive type ImmunizationRecommendation.doseNumber"); 663 } 664 else if (name.equals("forecastStatus")) { 665 this.forecastStatus = new CodeableConcept(); 666 return this.forecastStatus; 667 } 668 else if (name.equals("dateCriterion")) { 669 return addDateCriterion(); 670 } 671 else if (name.equals("protocol")) { 672 this.protocol = new ImmunizationRecommendationRecommendationProtocolComponent(); 673 return this.protocol; 674 } 675 else if (name.equals("supportingImmunization")) { 676 return addSupportingImmunization(); 677 } 678 else if (name.equals("supportingPatientInformation")) { 679 return addSupportingPatientInformation(); 680 } 681 else 682 return super.addChild(name); 683 } 684 685 public ImmunizationRecommendationRecommendationComponent copy() { 686 ImmunizationRecommendationRecommendationComponent dst = new ImmunizationRecommendationRecommendationComponent(); 687 copyValues(dst); 688 dst.date = date == null ? null : date.copy(); 689 dst.vaccineCode = vaccineCode == null ? null : vaccineCode.copy(); 690 dst.targetDisease = targetDisease == null ? null : targetDisease.copy(); 691 dst.doseNumber = doseNumber == null ? null : doseNumber.copy(); 692 dst.forecastStatus = forecastStatus == null ? null : forecastStatus.copy(); 693 if (dateCriterion != null) { 694 dst.dateCriterion = new ArrayList<ImmunizationRecommendationRecommendationDateCriterionComponent>(); 695 for (ImmunizationRecommendationRecommendationDateCriterionComponent i : dateCriterion) 696 dst.dateCriterion.add(i.copy()); 697 }; 698 dst.protocol = protocol == null ? null : protocol.copy(); 699 if (supportingImmunization != null) { 700 dst.supportingImmunization = new ArrayList<Reference>(); 701 for (Reference i : supportingImmunization) 702 dst.supportingImmunization.add(i.copy()); 703 }; 704 if (supportingPatientInformation != null) { 705 dst.supportingPatientInformation = new ArrayList<Reference>(); 706 for (Reference i : supportingPatientInformation) 707 dst.supportingPatientInformation.add(i.copy()); 708 }; 709 return dst; 710 } 711 712 @Override 713 public boolean equalsDeep(Base other) { 714 if (!super.equalsDeep(other)) 715 return false; 716 if (!(other instanceof ImmunizationRecommendationRecommendationComponent)) 717 return false; 718 ImmunizationRecommendationRecommendationComponent o = (ImmunizationRecommendationRecommendationComponent) other; 719 return compareDeep(date, o.date, true) && compareDeep(vaccineCode, o.vaccineCode, true) && compareDeep(targetDisease, o.targetDisease, true) 720 && compareDeep(doseNumber, o.doseNumber, true) && compareDeep(forecastStatus, o.forecastStatus, true) 721 && compareDeep(dateCriterion, o.dateCriterion, true) && compareDeep(protocol, o.protocol, true) 722 && compareDeep(supportingImmunization, o.supportingImmunization, true) && compareDeep(supportingPatientInformation, o.supportingPatientInformation, true) 723 ; 724 } 725 726 @Override 727 public boolean equalsShallow(Base other) { 728 if (!super.equalsShallow(other)) 729 return false; 730 if (!(other instanceof ImmunizationRecommendationRecommendationComponent)) 731 return false; 732 ImmunizationRecommendationRecommendationComponent o = (ImmunizationRecommendationRecommendationComponent) other; 733 return compareValues(date, o.date, true) && compareValues(doseNumber, o.doseNumber, true); 734 } 735 736 public boolean isEmpty() { 737 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(date, vaccineCode, targetDisease 738 , doseNumber, forecastStatus, dateCriterion, protocol, supportingImmunization, supportingPatientInformation 739 ); 740 } 741 742 public String fhirType() { 743 return "ImmunizationRecommendation.recommendation"; 744 745 } 746 747 } 748 749 @Block() 750 public static class ImmunizationRecommendationRecommendationDateCriterionComponent extends BackboneElement implements IBaseBackboneElement { 751 /** 752 * Date classification of recommendation. For example, earliest date to give, latest date to give, etc. 753 */ 754 @Child(name = "code", type = {CodeableConcept.class}, order=1, min=1, max=1, modifier=false, summary=false) 755 @Description(shortDefinition="Type of date", formalDefinition="Date classification of recommendation. For example, earliest date to give, latest date to give, etc." ) 756 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/immunization-recommendation-date-criterion") 757 protected CodeableConcept code; 758 759 /** 760 * The date whose meaning is specified by dateCriterion.code. 761 */ 762 @Child(name = "value", type = {DateTimeType.class}, order=2, min=1, max=1, modifier=false, summary=false) 763 @Description(shortDefinition="Recommended date", formalDefinition="The date whose meaning is specified by dateCriterion.code." ) 764 protected DateTimeType value; 765 766 private static final long serialVersionUID = 1036994566L; 767 768 /** 769 * Constructor 770 */ 771 public ImmunizationRecommendationRecommendationDateCriterionComponent() { 772 super(); 773 } 774 775 /** 776 * Constructor 777 */ 778 public ImmunizationRecommendationRecommendationDateCriterionComponent(CodeableConcept code, DateTimeType value) { 779 super(); 780 this.code = code; 781 this.value = value; 782 } 783 784 /** 785 * @return {@link #code} (Date classification of recommendation. For example, earliest date to give, latest date to give, etc.) 786 */ 787 public CodeableConcept getCode() { 788 if (this.code == null) 789 if (Configuration.errorOnAutoCreate()) 790 throw new Error("Attempt to auto-create ImmunizationRecommendationRecommendationDateCriterionComponent.code"); 791 else if (Configuration.doAutoCreate()) 792 this.code = new CodeableConcept(); // cc 793 return this.code; 794 } 795 796 public boolean hasCode() { 797 return this.code != null && !this.code.isEmpty(); 798 } 799 800 /** 801 * @param value {@link #code} (Date classification of recommendation. For example, earliest date to give, latest date to give, etc.) 802 */ 803 public ImmunizationRecommendationRecommendationDateCriterionComponent setCode(CodeableConcept value) { 804 this.code = value; 805 return this; 806 } 807 808 /** 809 * @return {@link #value} (The date whose meaning is specified by dateCriterion.code.). This is the underlying object with id, value and extensions. The accessor "getValue" gives direct access to the value 810 */ 811 public DateTimeType getValueElement() { 812 if (this.value == null) 813 if (Configuration.errorOnAutoCreate()) 814 throw new Error("Attempt to auto-create ImmunizationRecommendationRecommendationDateCriterionComponent.value"); 815 else if (Configuration.doAutoCreate()) 816 this.value = new DateTimeType(); // bb 817 return this.value; 818 } 819 820 public boolean hasValueElement() { 821 return this.value != null && !this.value.isEmpty(); 822 } 823 824 public boolean hasValue() { 825 return this.value != null && !this.value.isEmpty(); 826 } 827 828 /** 829 * @param value {@link #value} (The date whose meaning is specified by dateCriterion.code.). This is the underlying object with id, value and extensions. The accessor "getValue" gives direct access to the value 830 */ 831 public ImmunizationRecommendationRecommendationDateCriterionComponent setValueElement(DateTimeType value) { 832 this.value = value; 833 return this; 834 } 835 836 /** 837 * @return The date whose meaning is specified by dateCriterion.code. 838 */ 839 public Date getValue() { 840 return this.value == null ? null : this.value.getValue(); 841 } 842 843 /** 844 * @param value The date whose meaning is specified by dateCriterion.code. 845 */ 846 public ImmunizationRecommendationRecommendationDateCriterionComponent setValue(Date value) { 847 if (this.value == null) 848 this.value = new DateTimeType(); 849 this.value.setValue(value); 850 return this; 851 } 852 853 protected void listChildren(List<Property> childrenList) { 854 super.listChildren(childrenList); 855 childrenList.add(new Property("code", "CodeableConcept", "Date classification of recommendation. For example, earliest date to give, latest date to give, etc.", 0, java.lang.Integer.MAX_VALUE, code)); 856 childrenList.add(new Property("value", "dateTime", "The date whose meaning is specified by dateCriterion.code.", 0, java.lang.Integer.MAX_VALUE, value)); 857 } 858 859 @Override 860 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 861 switch (hash) { 862 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableConcept 863 case 111972721: /*value*/ return this.value == null ? new Base[0] : new Base[] {this.value}; // DateTimeType 864 default: return super.getProperty(hash, name, checkValid); 865 } 866 867 } 868 869 @Override 870 public Base setProperty(int hash, String name, Base value) throws FHIRException { 871 switch (hash) { 872 case 3059181: // code 873 this.code = castToCodeableConcept(value); // CodeableConcept 874 return value; 875 case 111972721: // value 876 this.value = castToDateTime(value); // DateTimeType 877 return value; 878 default: return super.setProperty(hash, name, value); 879 } 880 881 } 882 883 @Override 884 public Base setProperty(String name, Base value) throws FHIRException { 885 if (name.equals("code")) { 886 this.code = castToCodeableConcept(value); // CodeableConcept 887 } else if (name.equals("value")) { 888 this.value = castToDateTime(value); // DateTimeType 889 } else 890 return super.setProperty(name, value); 891 return value; 892 } 893 894 @Override 895 public Base makeProperty(int hash, String name) throws FHIRException { 896 switch (hash) { 897 case 3059181: return getCode(); 898 case 111972721: return getValueElement(); 899 default: return super.makeProperty(hash, name); 900 } 901 902 } 903 904 @Override 905 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 906 switch (hash) { 907 case 3059181: /*code*/ return new String[] {"CodeableConcept"}; 908 case 111972721: /*value*/ return new String[] {"dateTime"}; 909 default: return super.getTypesForProperty(hash, name); 910 } 911 912 } 913 914 @Override 915 public Base addChild(String name) throws FHIRException { 916 if (name.equals("code")) { 917 this.code = new CodeableConcept(); 918 return this.code; 919 } 920 else if (name.equals("value")) { 921 throw new FHIRException("Cannot call addChild on a primitive type ImmunizationRecommendation.value"); 922 } 923 else 924 return super.addChild(name); 925 } 926 927 public ImmunizationRecommendationRecommendationDateCriterionComponent copy() { 928 ImmunizationRecommendationRecommendationDateCriterionComponent dst = new ImmunizationRecommendationRecommendationDateCriterionComponent(); 929 copyValues(dst); 930 dst.code = code == null ? null : code.copy(); 931 dst.value = value == null ? null : value.copy(); 932 return dst; 933 } 934 935 @Override 936 public boolean equalsDeep(Base other) { 937 if (!super.equalsDeep(other)) 938 return false; 939 if (!(other instanceof ImmunizationRecommendationRecommendationDateCriterionComponent)) 940 return false; 941 ImmunizationRecommendationRecommendationDateCriterionComponent o = (ImmunizationRecommendationRecommendationDateCriterionComponent) other; 942 return compareDeep(code, o.code, true) && compareDeep(value, o.value, true); 943 } 944 945 @Override 946 public boolean equalsShallow(Base other) { 947 if (!super.equalsShallow(other)) 948 return false; 949 if (!(other instanceof ImmunizationRecommendationRecommendationDateCriterionComponent)) 950 return false; 951 ImmunizationRecommendationRecommendationDateCriterionComponent o = (ImmunizationRecommendationRecommendationDateCriterionComponent) other; 952 return compareValues(value, o.value, true); 953 } 954 955 public boolean isEmpty() { 956 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(code, value); 957 } 958 959 public String fhirType() { 960 return "ImmunizationRecommendation.recommendation.dateCriterion"; 961 962 } 963 964 } 965 966 @Block() 967 public static class ImmunizationRecommendationRecommendationProtocolComponent extends BackboneElement implements IBaseBackboneElement { 968 /** 969 * Indicates the nominal position in a series of the next dose. This is the recommended dose number as per a specified protocol. 970 */ 971 @Child(name = "doseSequence", type = {PositiveIntType.class}, order=1, min=0, max=1, modifier=false, summary=false) 972 @Description(shortDefinition="Dose number within sequence", formalDefinition="Indicates the nominal position in a series of the next dose. This is the recommended dose number as per a specified protocol." ) 973 protected PositiveIntType doseSequence; 974 975 /** 976 * Contains the description about the protocol under which the vaccine was administered. 977 */ 978 @Child(name = "description", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=false) 979 @Description(shortDefinition="Protocol details", formalDefinition="Contains the description about the protocol under which the vaccine was administered." ) 980 protected StringType description; 981 982 /** 983 * Indicates the authority who published the protocol. For example, ACIP. 984 */ 985 @Child(name = "authority", type = {Organization.class}, order=3, min=0, max=1, modifier=false, summary=false) 986 @Description(shortDefinition="Who is responsible for protocol", formalDefinition="Indicates the authority who published the protocol. For example, ACIP." ) 987 protected Reference authority; 988 989 /** 990 * The actual object that is the target of the reference (Indicates the authority who published the protocol. For example, ACIP.) 991 */ 992 protected Organization authorityTarget; 993 994 /** 995 * One possible path to achieve presumed immunity against a disease - within the context of an authority. 996 */ 997 @Child(name = "series", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=false) 998 @Description(shortDefinition="Name of vaccination series", formalDefinition="One possible path to achieve presumed immunity against a disease - within the context of an authority." ) 999 protected StringType series; 1000 1001 private static final long serialVersionUID = 215094970L; 1002 1003 /** 1004 * Constructor 1005 */ 1006 public ImmunizationRecommendationRecommendationProtocolComponent() { 1007 super(); 1008 } 1009 1010 /** 1011 * @return {@link #doseSequence} (Indicates the nominal position in a series of the next dose. This is the recommended dose number as per a specified protocol.). This is the underlying object with id, value and extensions. The accessor "getDoseSequence" gives direct access to the value 1012 */ 1013 public PositiveIntType getDoseSequenceElement() { 1014 if (this.doseSequence == null) 1015 if (Configuration.errorOnAutoCreate()) 1016 throw new Error("Attempt to auto-create ImmunizationRecommendationRecommendationProtocolComponent.doseSequence"); 1017 else if (Configuration.doAutoCreate()) 1018 this.doseSequence = new PositiveIntType(); // bb 1019 return this.doseSequence; 1020 } 1021 1022 public boolean hasDoseSequenceElement() { 1023 return this.doseSequence != null && !this.doseSequence.isEmpty(); 1024 } 1025 1026 public boolean hasDoseSequence() { 1027 return this.doseSequence != null && !this.doseSequence.isEmpty(); 1028 } 1029 1030 /** 1031 * @param value {@link #doseSequence} (Indicates the nominal position in a series of the next dose. This is the recommended dose number as per a specified protocol.). This is the underlying object with id, value and extensions. The accessor "getDoseSequence" gives direct access to the value 1032 */ 1033 public ImmunizationRecommendationRecommendationProtocolComponent setDoseSequenceElement(PositiveIntType value) { 1034 this.doseSequence = value; 1035 return this; 1036 } 1037 1038 /** 1039 * @return Indicates the nominal position in a series of the next dose. This is the recommended dose number as per a specified protocol. 1040 */ 1041 public int getDoseSequence() { 1042 return this.doseSequence == null || this.doseSequence.isEmpty() ? 0 : this.doseSequence.getValue(); 1043 } 1044 1045 /** 1046 * @param value Indicates the nominal position in a series of the next dose. This is the recommended dose number as per a specified protocol. 1047 */ 1048 public ImmunizationRecommendationRecommendationProtocolComponent setDoseSequence(int value) { 1049 if (this.doseSequence == null) 1050 this.doseSequence = new PositiveIntType(); 1051 this.doseSequence.setValue(value); 1052 return this; 1053 } 1054 1055 /** 1056 * @return {@link #description} (Contains the description about the protocol under which the vaccine was administered.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 1057 */ 1058 public StringType getDescriptionElement() { 1059 if (this.description == null) 1060 if (Configuration.errorOnAutoCreate()) 1061 throw new Error("Attempt to auto-create ImmunizationRecommendationRecommendationProtocolComponent.description"); 1062 else if (Configuration.doAutoCreate()) 1063 this.description = new StringType(); // bb 1064 return this.description; 1065 } 1066 1067 public boolean hasDescriptionElement() { 1068 return this.description != null && !this.description.isEmpty(); 1069 } 1070 1071 public boolean hasDescription() { 1072 return this.description != null && !this.description.isEmpty(); 1073 } 1074 1075 /** 1076 * @param value {@link #description} (Contains the description about the protocol under which the vaccine was administered.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 1077 */ 1078 public ImmunizationRecommendationRecommendationProtocolComponent setDescriptionElement(StringType value) { 1079 this.description = value; 1080 return this; 1081 } 1082 1083 /** 1084 * @return Contains the description about the protocol under which the vaccine was administered. 1085 */ 1086 public String getDescription() { 1087 return this.description == null ? null : this.description.getValue(); 1088 } 1089 1090 /** 1091 * @param value Contains the description about the protocol under which the vaccine was administered. 1092 */ 1093 public ImmunizationRecommendationRecommendationProtocolComponent setDescription(String value) { 1094 if (Utilities.noString(value)) 1095 this.description = null; 1096 else { 1097 if (this.description == null) 1098 this.description = new StringType(); 1099 this.description.setValue(value); 1100 } 1101 return this; 1102 } 1103 1104 /** 1105 * @return {@link #authority} (Indicates the authority who published the protocol. For example, ACIP.) 1106 */ 1107 public Reference getAuthority() { 1108 if (this.authority == null) 1109 if (Configuration.errorOnAutoCreate()) 1110 throw new Error("Attempt to auto-create ImmunizationRecommendationRecommendationProtocolComponent.authority"); 1111 else if (Configuration.doAutoCreate()) 1112 this.authority = new Reference(); // cc 1113 return this.authority; 1114 } 1115 1116 public boolean hasAuthority() { 1117 return this.authority != null && !this.authority.isEmpty(); 1118 } 1119 1120 /** 1121 * @param value {@link #authority} (Indicates the authority who published the protocol. For example, ACIP.) 1122 */ 1123 public ImmunizationRecommendationRecommendationProtocolComponent setAuthority(Reference value) { 1124 this.authority = value; 1125 return this; 1126 } 1127 1128 /** 1129 * @return {@link #authority} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (Indicates the authority who published the protocol. For example, ACIP.) 1130 */ 1131 public Organization getAuthorityTarget() { 1132 if (this.authorityTarget == null) 1133 if (Configuration.errorOnAutoCreate()) 1134 throw new Error("Attempt to auto-create ImmunizationRecommendationRecommendationProtocolComponent.authority"); 1135 else if (Configuration.doAutoCreate()) 1136 this.authorityTarget = new Organization(); // aa 1137 return this.authorityTarget; 1138 } 1139 1140 /** 1141 * @param value {@link #authority} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (Indicates the authority who published the protocol. For example, ACIP.) 1142 */ 1143 public ImmunizationRecommendationRecommendationProtocolComponent setAuthorityTarget(Organization value) { 1144 this.authorityTarget = value; 1145 return this; 1146 } 1147 1148 /** 1149 * @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 1150 */ 1151 public StringType getSeriesElement() { 1152 if (this.series == null) 1153 if (Configuration.errorOnAutoCreate()) 1154 throw new Error("Attempt to auto-create ImmunizationRecommendationRecommendationProtocolComponent.series"); 1155 else if (Configuration.doAutoCreate()) 1156 this.series = new StringType(); // bb 1157 return this.series; 1158 } 1159 1160 public boolean hasSeriesElement() { 1161 return this.series != null && !this.series.isEmpty(); 1162 } 1163 1164 public boolean hasSeries() { 1165 return this.series != null && !this.series.isEmpty(); 1166 } 1167 1168 /** 1169 * @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 1170 */ 1171 public ImmunizationRecommendationRecommendationProtocolComponent setSeriesElement(StringType value) { 1172 this.series = value; 1173 return this; 1174 } 1175 1176 /** 1177 * @return One possible path to achieve presumed immunity against a disease - within the context of an authority. 1178 */ 1179 public String getSeries() { 1180 return this.series == null ? null : this.series.getValue(); 1181 } 1182 1183 /** 1184 * @param value One possible path to achieve presumed immunity against a disease - within the context of an authority. 1185 */ 1186 public ImmunizationRecommendationRecommendationProtocolComponent setSeries(String value) { 1187 if (Utilities.noString(value)) 1188 this.series = null; 1189 else { 1190 if (this.series == null) 1191 this.series = new StringType(); 1192 this.series.setValue(value); 1193 } 1194 return this; 1195 } 1196 1197 protected void listChildren(List<Property> childrenList) { 1198 super.listChildren(childrenList); 1199 childrenList.add(new Property("doseSequence", "positiveInt", "Indicates the nominal position in a series of the next dose. This is the recommended dose number as per a specified protocol.", 0, java.lang.Integer.MAX_VALUE, doseSequence)); 1200 childrenList.add(new Property("description", "string", "Contains the description about the protocol under which the vaccine was administered.", 0, java.lang.Integer.MAX_VALUE, description)); 1201 childrenList.add(new Property("authority", "Reference(Organization)", "Indicates the authority who published the protocol. For example, ACIP.", 0, java.lang.Integer.MAX_VALUE, authority)); 1202 childrenList.add(new Property("series", "string", "One possible path to achieve presumed immunity against a disease - within the context of an authority.", 0, java.lang.Integer.MAX_VALUE, series)); 1203 } 1204 1205 @Override 1206 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1207 switch (hash) { 1208 case 550933246: /*doseSequence*/ return this.doseSequence == null ? new Base[0] : new Base[] {this.doseSequence}; // PositiveIntType 1209 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType 1210 case 1475610435: /*authority*/ return this.authority == null ? new Base[0] : new Base[] {this.authority}; // Reference 1211 case -905838985: /*series*/ return this.series == null ? new Base[0] : new Base[] {this.series}; // StringType 1212 default: return super.getProperty(hash, name, checkValid); 1213 } 1214 1215 } 1216 1217 @Override 1218 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1219 switch (hash) { 1220 case 550933246: // doseSequence 1221 this.doseSequence = castToPositiveInt(value); // PositiveIntType 1222 return value; 1223 case -1724546052: // description 1224 this.description = castToString(value); // StringType 1225 return value; 1226 case 1475610435: // authority 1227 this.authority = castToReference(value); // Reference 1228 return value; 1229 case -905838985: // series 1230 this.series = castToString(value); // StringType 1231 return value; 1232 default: return super.setProperty(hash, name, value); 1233 } 1234 1235 } 1236 1237 @Override 1238 public Base setProperty(String name, Base value) throws FHIRException { 1239 if (name.equals("doseSequence")) { 1240 this.doseSequence = castToPositiveInt(value); // PositiveIntType 1241 } else if (name.equals("description")) { 1242 this.description = castToString(value); // StringType 1243 } else if (name.equals("authority")) { 1244 this.authority = castToReference(value); // Reference 1245 } else if (name.equals("series")) { 1246 this.series = castToString(value); // StringType 1247 } else 1248 return super.setProperty(name, value); 1249 return value; 1250 } 1251 1252 @Override 1253 public Base makeProperty(int hash, String name) throws FHIRException { 1254 switch (hash) { 1255 case 550933246: return getDoseSequenceElement(); 1256 case -1724546052: return getDescriptionElement(); 1257 case 1475610435: return getAuthority(); 1258 case -905838985: return getSeriesElement(); 1259 default: return super.makeProperty(hash, name); 1260 } 1261 1262 } 1263 1264 @Override 1265 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1266 switch (hash) { 1267 case 550933246: /*doseSequence*/ return new String[] {"positiveInt"}; 1268 case -1724546052: /*description*/ return new String[] {"string"}; 1269 case 1475610435: /*authority*/ return new String[] {"Reference"}; 1270 case -905838985: /*series*/ return new String[] {"string"}; 1271 default: return super.getTypesForProperty(hash, name); 1272 } 1273 1274 } 1275 1276 @Override 1277 public Base addChild(String name) throws FHIRException { 1278 if (name.equals("doseSequence")) { 1279 throw new FHIRException("Cannot call addChild on a primitive type ImmunizationRecommendation.doseSequence"); 1280 } 1281 else if (name.equals("description")) { 1282 throw new FHIRException("Cannot call addChild on a primitive type ImmunizationRecommendation.description"); 1283 } 1284 else if (name.equals("authority")) { 1285 this.authority = new Reference(); 1286 return this.authority; 1287 } 1288 else if (name.equals("series")) { 1289 throw new FHIRException("Cannot call addChild on a primitive type ImmunizationRecommendation.series"); 1290 } 1291 else 1292 return super.addChild(name); 1293 } 1294 1295 public ImmunizationRecommendationRecommendationProtocolComponent copy() { 1296 ImmunizationRecommendationRecommendationProtocolComponent dst = new ImmunizationRecommendationRecommendationProtocolComponent(); 1297 copyValues(dst); 1298 dst.doseSequence = doseSequence == null ? null : doseSequence.copy(); 1299 dst.description = description == null ? null : description.copy(); 1300 dst.authority = authority == null ? null : authority.copy(); 1301 dst.series = series == null ? null : series.copy(); 1302 return dst; 1303 } 1304 1305 @Override 1306 public boolean equalsDeep(Base other) { 1307 if (!super.equalsDeep(other)) 1308 return false; 1309 if (!(other instanceof ImmunizationRecommendationRecommendationProtocolComponent)) 1310 return false; 1311 ImmunizationRecommendationRecommendationProtocolComponent o = (ImmunizationRecommendationRecommendationProtocolComponent) other; 1312 return compareDeep(doseSequence, o.doseSequence, true) && compareDeep(description, o.description, true) 1313 && compareDeep(authority, o.authority, true) && compareDeep(series, o.series, true); 1314 } 1315 1316 @Override 1317 public boolean equalsShallow(Base other) { 1318 if (!super.equalsShallow(other)) 1319 return false; 1320 if (!(other instanceof ImmunizationRecommendationRecommendationProtocolComponent)) 1321 return false; 1322 ImmunizationRecommendationRecommendationProtocolComponent o = (ImmunizationRecommendationRecommendationProtocolComponent) other; 1323 return compareValues(doseSequence, o.doseSequence, true) && compareValues(description, o.description, true) 1324 && compareValues(series, o.series, true); 1325 } 1326 1327 public boolean isEmpty() { 1328 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(doseSequence, description 1329 , authority, series); 1330 } 1331 1332 public String fhirType() { 1333 return "ImmunizationRecommendation.recommendation.protocol"; 1334 1335 } 1336 1337 } 1338 1339 /** 1340 * A unique identifier assigned to this particular recommendation record. 1341 */ 1342 @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1343 @Description(shortDefinition="Business identifier", formalDefinition="A unique identifier assigned to this particular recommendation record." ) 1344 protected List<Identifier> identifier; 1345 1346 /** 1347 * The patient the recommendations are for. 1348 */ 1349 @Child(name = "patient", type = {Patient.class}, order=1, min=1, max=1, modifier=false, summary=true) 1350 @Description(shortDefinition="Who this profile is for", formalDefinition="The patient the recommendations are for." ) 1351 protected Reference patient; 1352 1353 /** 1354 * The actual object that is the target of the reference (The patient the recommendations are for.) 1355 */ 1356 protected Patient patientTarget; 1357 1358 /** 1359 * Vaccine administration recommendations. 1360 */ 1361 @Child(name = "recommendation", type = {}, order=2, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1362 @Description(shortDefinition="Vaccine administration recommendations", formalDefinition="Vaccine administration recommendations." ) 1363 protected List<ImmunizationRecommendationRecommendationComponent> recommendation; 1364 1365 private static final long serialVersionUID = 641058495L; 1366 1367 /** 1368 * Constructor 1369 */ 1370 public ImmunizationRecommendation() { 1371 super(); 1372 } 1373 1374 /** 1375 * Constructor 1376 */ 1377 public ImmunizationRecommendation(Reference patient) { 1378 super(); 1379 this.patient = patient; 1380 } 1381 1382 /** 1383 * @return {@link #identifier} (A unique identifier assigned to this particular recommendation record.) 1384 */ 1385 public List<Identifier> getIdentifier() { 1386 if (this.identifier == null) 1387 this.identifier = new ArrayList<Identifier>(); 1388 return this.identifier; 1389 } 1390 1391 /** 1392 * @return Returns a reference to <code>this</code> for easy method chaining 1393 */ 1394 public ImmunizationRecommendation setIdentifier(List<Identifier> theIdentifier) { 1395 this.identifier = theIdentifier; 1396 return this; 1397 } 1398 1399 public boolean hasIdentifier() { 1400 if (this.identifier == null) 1401 return false; 1402 for (Identifier item : this.identifier) 1403 if (!item.isEmpty()) 1404 return true; 1405 return false; 1406 } 1407 1408 public Identifier addIdentifier() { //3 1409 Identifier t = new Identifier(); 1410 if (this.identifier == null) 1411 this.identifier = new ArrayList<Identifier>(); 1412 this.identifier.add(t); 1413 return t; 1414 } 1415 1416 public ImmunizationRecommendation addIdentifier(Identifier t) { //3 1417 if (t == null) 1418 return this; 1419 if (this.identifier == null) 1420 this.identifier = new ArrayList<Identifier>(); 1421 this.identifier.add(t); 1422 return this; 1423 } 1424 1425 /** 1426 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist 1427 */ 1428 public Identifier getIdentifierFirstRep() { 1429 if (getIdentifier().isEmpty()) { 1430 addIdentifier(); 1431 } 1432 return getIdentifier().get(0); 1433 } 1434 1435 /** 1436 * @return {@link #patient} (The patient the recommendations are for.) 1437 */ 1438 public Reference getPatient() { 1439 if (this.patient == null) 1440 if (Configuration.errorOnAutoCreate()) 1441 throw new Error("Attempt to auto-create ImmunizationRecommendation.patient"); 1442 else if (Configuration.doAutoCreate()) 1443 this.patient = new Reference(); // cc 1444 return this.patient; 1445 } 1446 1447 public boolean hasPatient() { 1448 return this.patient != null && !this.patient.isEmpty(); 1449 } 1450 1451 /** 1452 * @param value {@link #patient} (The patient the recommendations are for.) 1453 */ 1454 public ImmunizationRecommendation setPatient(Reference value) { 1455 this.patient = value; 1456 return this; 1457 } 1458 1459 /** 1460 * @return {@link #patient} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (The patient the recommendations are for.) 1461 */ 1462 public Patient getPatientTarget() { 1463 if (this.patientTarget == null) 1464 if (Configuration.errorOnAutoCreate()) 1465 throw new Error("Attempt to auto-create ImmunizationRecommendation.patient"); 1466 else if (Configuration.doAutoCreate()) 1467 this.patientTarget = new Patient(); // aa 1468 return this.patientTarget; 1469 } 1470 1471 /** 1472 * @param value {@link #patient} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (The patient the recommendations are for.) 1473 */ 1474 public ImmunizationRecommendation setPatientTarget(Patient value) { 1475 this.patientTarget = value; 1476 return this; 1477 } 1478 1479 /** 1480 * @return {@link #recommendation} (Vaccine administration recommendations.) 1481 */ 1482 public List<ImmunizationRecommendationRecommendationComponent> getRecommendation() { 1483 if (this.recommendation == null) 1484 this.recommendation = new ArrayList<ImmunizationRecommendationRecommendationComponent>(); 1485 return this.recommendation; 1486 } 1487 1488 /** 1489 * @return Returns a reference to <code>this</code> for easy method chaining 1490 */ 1491 public ImmunizationRecommendation setRecommendation(List<ImmunizationRecommendationRecommendationComponent> theRecommendation) { 1492 this.recommendation = theRecommendation; 1493 return this; 1494 } 1495 1496 public boolean hasRecommendation() { 1497 if (this.recommendation == null) 1498 return false; 1499 for (ImmunizationRecommendationRecommendationComponent item : this.recommendation) 1500 if (!item.isEmpty()) 1501 return true; 1502 return false; 1503 } 1504 1505 public ImmunizationRecommendationRecommendationComponent addRecommendation() { //3 1506 ImmunizationRecommendationRecommendationComponent t = new ImmunizationRecommendationRecommendationComponent(); 1507 if (this.recommendation == null) 1508 this.recommendation = new ArrayList<ImmunizationRecommendationRecommendationComponent>(); 1509 this.recommendation.add(t); 1510 return t; 1511 } 1512 1513 public ImmunizationRecommendation addRecommendation(ImmunizationRecommendationRecommendationComponent t) { //3 1514 if (t == null) 1515 return this; 1516 if (this.recommendation == null) 1517 this.recommendation = new ArrayList<ImmunizationRecommendationRecommendationComponent>(); 1518 this.recommendation.add(t); 1519 return this; 1520 } 1521 1522 /** 1523 * @return The first repetition of repeating field {@link #recommendation}, creating it if it does not already exist 1524 */ 1525 public ImmunizationRecommendationRecommendationComponent getRecommendationFirstRep() { 1526 if (getRecommendation().isEmpty()) { 1527 addRecommendation(); 1528 } 1529 return getRecommendation().get(0); 1530 } 1531 1532 protected void listChildren(List<Property> childrenList) { 1533 super.listChildren(childrenList); 1534 childrenList.add(new Property("identifier", "Identifier", "A unique identifier assigned to this particular recommendation record.", 0, java.lang.Integer.MAX_VALUE, identifier)); 1535 childrenList.add(new Property("patient", "Reference(Patient)", "The patient the recommendations are for.", 0, java.lang.Integer.MAX_VALUE, patient)); 1536 childrenList.add(new Property("recommendation", "", "Vaccine administration recommendations.", 0, java.lang.Integer.MAX_VALUE, recommendation)); 1537 } 1538 1539 @Override 1540 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1541 switch (hash) { 1542 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 1543 case -791418107: /*patient*/ return this.patient == null ? new Base[0] : new Base[] {this.patient}; // Reference 1544 case -1028636743: /*recommendation*/ return this.recommendation == null ? new Base[0] : this.recommendation.toArray(new Base[this.recommendation.size()]); // ImmunizationRecommendationRecommendationComponent 1545 default: return super.getProperty(hash, name, checkValid); 1546 } 1547 1548 } 1549 1550 @Override 1551 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1552 switch (hash) { 1553 case -1618432855: // identifier 1554 this.getIdentifier().add(castToIdentifier(value)); // Identifier 1555 return value; 1556 case -791418107: // patient 1557 this.patient = castToReference(value); // Reference 1558 return value; 1559 case -1028636743: // recommendation 1560 this.getRecommendation().add((ImmunizationRecommendationRecommendationComponent) value); // ImmunizationRecommendationRecommendationComponent 1561 return value; 1562 default: return super.setProperty(hash, name, value); 1563 } 1564 1565 } 1566 1567 @Override 1568 public Base setProperty(String name, Base value) throws FHIRException { 1569 if (name.equals("identifier")) { 1570 this.getIdentifier().add(castToIdentifier(value)); 1571 } else if (name.equals("patient")) { 1572 this.patient = castToReference(value); // Reference 1573 } else if (name.equals("recommendation")) { 1574 this.getRecommendation().add((ImmunizationRecommendationRecommendationComponent) value); 1575 } else 1576 return super.setProperty(name, value); 1577 return value; 1578 } 1579 1580 @Override 1581 public Base makeProperty(int hash, String name) throws FHIRException { 1582 switch (hash) { 1583 case -1618432855: return addIdentifier(); 1584 case -791418107: return getPatient(); 1585 case -1028636743: return addRecommendation(); 1586 default: return super.makeProperty(hash, name); 1587 } 1588 1589 } 1590 1591 @Override 1592 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1593 switch (hash) { 1594 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 1595 case -791418107: /*patient*/ return new String[] {"Reference"}; 1596 case -1028636743: /*recommendation*/ return new String[] {}; 1597 default: return super.getTypesForProperty(hash, name); 1598 } 1599 1600 } 1601 1602 @Override 1603 public Base addChild(String name) throws FHIRException { 1604 if (name.equals("identifier")) { 1605 return addIdentifier(); 1606 } 1607 else if (name.equals("patient")) { 1608 this.patient = new Reference(); 1609 return this.patient; 1610 } 1611 else if (name.equals("recommendation")) { 1612 return addRecommendation(); 1613 } 1614 else 1615 return super.addChild(name); 1616 } 1617 1618 public String fhirType() { 1619 return "ImmunizationRecommendation"; 1620 1621 } 1622 1623 public ImmunizationRecommendation copy() { 1624 ImmunizationRecommendation dst = new ImmunizationRecommendation(); 1625 copyValues(dst); 1626 if (identifier != null) { 1627 dst.identifier = new ArrayList<Identifier>(); 1628 for (Identifier i : identifier) 1629 dst.identifier.add(i.copy()); 1630 }; 1631 dst.patient = patient == null ? null : patient.copy(); 1632 if (recommendation != null) { 1633 dst.recommendation = new ArrayList<ImmunizationRecommendationRecommendationComponent>(); 1634 for (ImmunizationRecommendationRecommendationComponent i : recommendation) 1635 dst.recommendation.add(i.copy()); 1636 }; 1637 return dst; 1638 } 1639 1640 protected ImmunizationRecommendation typedCopy() { 1641 return copy(); 1642 } 1643 1644 @Override 1645 public boolean equalsDeep(Base other) { 1646 if (!super.equalsDeep(other)) 1647 return false; 1648 if (!(other instanceof ImmunizationRecommendation)) 1649 return false; 1650 ImmunizationRecommendation o = (ImmunizationRecommendation) other; 1651 return compareDeep(identifier, o.identifier, true) && compareDeep(patient, o.patient, true) && compareDeep(recommendation, o.recommendation, true) 1652 ; 1653 } 1654 1655 @Override 1656 public boolean equalsShallow(Base other) { 1657 if (!super.equalsShallow(other)) 1658 return false; 1659 if (!(other instanceof ImmunizationRecommendation)) 1660 return false; 1661 ImmunizationRecommendation o = (ImmunizationRecommendation) other; 1662 return true; 1663 } 1664 1665 public boolean isEmpty() { 1666 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, patient, recommendation 1667 ); 1668 } 1669 1670 @Override 1671 public ResourceType getResourceType() { 1672 return ResourceType.ImmunizationRecommendation; 1673 } 1674 1675 /** 1676 * Search parameter: <b>date</b> 1677 * <p> 1678 * Description: <b>Date recommendation created</b><br> 1679 * Type: <b>date</b><br> 1680 * Path: <b>ImmunizationRecommendation.recommendation.date</b><br> 1681 * </p> 1682 */ 1683 @SearchParamDefinition(name="date", path="ImmunizationRecommendation.recommendation.date", description="Date recommendation created", type="date" ) 1684 public static final String SP_DATE = "date"; 1685 /** 1686 * <b>Fluent Client</b> search parameter constant for <b>date</b> 1687 * <p> 1688 * Description: <b>Date recommendation created</b><br> 1689 * Type: <b>date</b><br> 1690 * Path: <b>ImmunizationRecommendation.recommendation.date</b><br> 1691 * </p> 1692 */ 1693 public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE); 1694 1695 /** 1696 * Search parameter: <b>identifier</b> 1697 * <p> 1698 * Description: <b>Business identifier</b><br> 1699 * Type: <b>token</b><br> 1700 * Path: <b>ImmunizationRecommendation.identifier</b><br> 1701 * </p> 1702 */ 1703 @SearchParamDefinition(name="identifier", path="ImmunizationRecommendation.identifier", description="Business identifier", type="token" ) 1704 public static final String SP_IDENTIFIER = "identifier"; 1705 /** 1706 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 1707 * <p> 1708 * Description: <b>Business identifier</b><br> 1709 * Type: <b>token</b><br> 1710 * Path: <b>ImmunizationRecommendation.identifier</b><br> 1711 * </p> 1712 */ 1713 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 1714 1715 /** 1716 * Search parameter: <b>dose-sequence</b> 1717 * <p> 1718 * Description: <b>Dose number within sequence</b><br> 1719 * Type: <b>number</b><br> 1720 * Path: <b>ImmunizationRecommendation.recommendation.protocol.doseSequence</b><br> 1721 * </p> 1722 */ 1723 @SearchParamDefinition(name="dose-sequence", path="ImmunizationRecommendation.recommendation.protocol.doseSequence", description="Dose number within sequence", type="number" ) 1724 public static final String SP_DOSE_SEQUENCE = "dose-sequence"; 1725 /** 1726 * <b>Fluent Client</b> search parameter constant for <b>dose-sequence</b> 1727 * <p> 1728 * Description: <b>Dose number within sequence</b><br> 1729 * Type: <b>number</b><br> 1730 * Path: <b>ImmunizationRecommendation.recommendation.protocol.doseSequence</b><br> 1731 * </p> 1732 */ 1733 public static final ca.uhn.fhir.rest.gclient.NumberClientParam DOSE_SEQUENCE = new ca.uhn.fhir.rest.gclient.NumberClientParam(SP_DOSE_SEQUENCE); 1734 1735 /** 1736 * Search parameter: <b>target-disease</b> 1737 * <p> 1738 * Description: <b>Disease to be immunized against</b><br> 1739 * Type: <b>token</b><br> 1740 * Path: <b>ImmunizationRecommendation.recommendation.targetDisease</b><br> 1741 * </p> 1742 */ 1743 @SearchParamDefinition(name="target-disease", path="ImmunizationRecommendation.recommendation.targetDisease", description="Disease to be immunized against", type="token" ) 1744 public static final String SP_TARGET_DISEASE = "target-disease"; 1745 /** 1746 * <b>Fluent Client</b> search parameter constant for <b>target-disease</b> 1747 * <p> 1748 * Description: <b>Disease to be immunized against</b><br> 1749 * Type: <b>token</b><br> 1750 * Path: <b>ImmunizationRecommendation.recommendation.targetDisease</b><br> 1751 * </p> 1752 */ 1753 public static final ca.uhn.fhir.rest.gclient.TokenClientParam TARGET_DISEASE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_TARGET_DISEASE); 1754 1755 /** 1756 * Search parameter: <b>patient</b> 1757 * <p> 1758 * Description: <b>Who this profile is for</b><br> 1759 * Type: <b>reference</b><br> 1760 * Path: <b>ImmunizationRecommendation.patient</b><br> 1761 * </p> 1762 */ 1763 @SearchParamDefinition(name="patient", path="ImmunizationRecommendation.patient", description="Who this profile is for", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Patient") }, target={Patient.class } ) 1764 public static final String SP_PATIENT = "patient"; 1765 /** 1766 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 1767 * <p> 1768 * Description: <b>Who this profile is for</b><br> 1769 * Type: <b>reference</b><br> 1770 * Path: <b>ImmunizationRecommendation.patient</b><br> 1771 * </p> 1772 */ 1773 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); 1774 1775/** 1776 * Constant for fluent queries to be used to add include statements. Specifies 1777 * the path value of "<b>ImmunizationRecommendation:patient</b>". 1778 */ 1779 public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("ImmunizationRecommendation:patient").toLocked(); 1780 1781 /** 1782 * Search parameter: <b>vaccine-type</b> 1783 * <p> 1784 * Description: <b>Vaccine recommendation applies to</b><br> 1785 * Type: <b>token</b><br> 1786 * Path: <b>ImmunizationRecommendation.recommendation.vaccineCode</b><br> 1787 * </p> 1788 */ 1789 @SearchParamDefinition(name="vaccine-type", path="ImmunizationRecommendation.recommendation.vaccineCode", description="Vaccine recommendation applies to", type="token" ) 1790 public static final String SP_VACCINE_TYPE = "vaccine-type"; 1791 /** 1792 * <b>Fluent Client</b> search parameter constant for <b>vaccine-type</b> 1793 * <p> 1794 * Description: <b>Vaccine recommendation applies to</b><br> 1795 * Type: <b>token</b><br> 1796 * Path: <b>ImmunizationRecommendation.recommendation.vaccineCode</b><br> 1797 * </p> 1798 */ 1799 public static final ca.uhn.fhir.rest.gclient.TokenClientParam VACCINE_TYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_VACCINE_TYPE); 1800 1801 /** 1802 * Search parameter: <b>dose-number</b> 1803 * <p> 1804 * Description: <b>Recommended dose number</b><br> 1805 * Type: <b>number</b><br> 1806 * Path: <b>ImmunizationRecommendation.recommendation.doseNumber</b><br> 1807 * </p> 1808 */ 1809 @SearchParamDefinition(name="dose-number", path="ImmunizationRecommendation.recommendation.doseNumber", description="Recommended dose number", type="number" ) 1810 public static final String SP_DOSE_NUMBER = "dose-number"; 1811 /** 1812 * <b>Fluent Client</b> search parameter constant for <b>dose-number</b> 1813 * <p> 1814 * Description: <b>Recommended dose number</b><br> 1815 * Type: <b>number</b><br> 1816 * Path: <b>ImmunizationRecommendation.recommendation.doseNumber</b><br> 1817 * </p> 1818 */ 1819 public static final ca.uhn.fhir.rest.gclient.NumberClientParam DOSE_NUMBER = new ca.uhn.fhir.rest.gclient.NumberClientParam(SP_DOSE_NUMBER); 1820 1821 /** 1822 * Search parameter: <b>information</b> 1823 * <p> 1824 * Description: <b>Patient observations supporting recommendation</b><br> 1825 * Type: <b>reference</b><br> 1826 * Path: <b>ImmunizationRecommendation.recommendation.supportingPatientInformation</b><br> 1827 * </p> 1828 */ 1829 @SearchParamDefinition(name="information", path="ImmunizationRecommendation.recommendation.supportingPatientInformation", description="Patient observations supporting recommendation", type="reference", target={AllergyIntolerance.class, Observation.class } ) 1830 public static final String SP_INFORMATION = "information"; 1831 /** 1832 * <b>Fluent Client</b> search parameter constant for <b>information</b> 1833 * <p> 1834 * Description: <b>Patient observations supporting recommendation</b><br> 1835 * Type: <b>reference</b><br> 1836 * Path: <b>ImmunizationRecommendation.recommendation.supportingPatientInformation</b><br> 1837 * </p> 1838 */ 1839 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam INFORMATION = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_INFORMATION); 1840 1841/** 1842 * Constant for fluent queries to be used to add include statements. Specifies 1843 * the path value of "<b>ImmunizationRecommendation:information</b>". 1844 */ 1845 public static final ca.uhn.fhir.model.api.Include INCLUDE_INFORMATION = new ca.uhn.fhir.model.api.Include("ImmunizationRecommendation:information").toLocked(); 1846 1847 /** 1848 * Search parameter: <b>support</b> 1849 * <p> 1850 * Description: <b>Past immunizations supporting recommendation</b><br> 1851 * Type: <b>reference</b><br> 1852 * Path: <b>ImmunizationRecommendation.recommendation.supportingImmunization</b><br> 1853 * </p> 1854 */ 1855 @SearchParamDefinition(name="support", path="ImmunizationRecommendation.recommendation.supportingImmunization", description="Past immunizations supporting recommendation", type="reference", target={Immunization.class } ) 1856 public static final String SP_SUPPORT = "support"; 1857 /** 1858 * <b>Fluent Client</b> search parameter constant for <b>support</b> 1859 * <p> 1860 * Description: <b>Past immunizations supporting recommendation</b><br> 1861 * Type: <b>reference</b><br> 1862 * Path: <b>ImmunizationRecommendation.recommendation.supportingImmunization</b><br> 1863 * </p> 1864 */ 1865 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SUPPORT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SUPPORT); 1866 1867/** 1868 * Constant for fluent queries to be used to add include statements. Specifies 1869 * the path value of "<b>ImmunizationRecommendation:support</b>". 1870 */ 1871 public static final ca.uhn.fhir.model.api.Include INCLUDE_SUPPORT = new ca.uhn.fhir.model.api.Include("ImmunizationRecommendation:support").toLocked(); 1872 1873 /** 1874 * Search parameter: <b>status</b> 1875 * <p> 1876 * Description: <b>Vaccine administration status</b><br> 1877 * Type: <b>token</b><br> 1878 * Path: <b>ImmunizationRecommendation.recommendation.forecastStatus</b><br> 1879 * </p> 1880 */ 1881 @SearchParamDefinition(name="status", path="ImmunizationRecommendation.recommendation.forecastStatus", description="Vaccine administration status", type="token" ) 1882 public static final String SP_STATUS = "status"; 1883 /** 1884 * <b>Fluent Client</b> search parameter constant for <b>status</b> 1885 * <p> 1886 * Description: <b>Vaccine administration status</b><br> 1887 * Type: <b>token</b><br> 1888 * Path: <b>ImmunizationRecommendation.recommendation.forecastStatus</b><br> 1889 * </p> 1890 */ 1891 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 1892 1893 1894} 1895