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