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 Thu, Mar 23, 2023 19:59+1100 for FHIR v5.0.0 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-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 = {MarkdownType.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 MarkdownType 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 = 1830552442L; 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 MarkdownType 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 MarkdownType(); // 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(MarkdownType 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 MarkdownType(); 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", "markdown", "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", "markdown", "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}; // MarkdownType 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.castToMarkdown(value); // MarkdownType 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.castToMarkdown(value); // MarkdownType 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 void removeChild(String name, Base value) throws FHIRException { 888 if (name.equals("vaccineCode")) { 889 this.getVaccineCode().remove(value); 890 } else if (name.equals("targetDisease")) { 891 this.getTargetDisease().remove(value); 892 } else if (name.equals("contraindicatedVaccineCode")) { 893 this.getContraindicatedVaccineCode().remove(value); 894 } else if (name.equals("forecastStatus")) { 895 this.forecastStatus = null; 896 } else if (name.equals("forecastReason")) { 897 this.getForecastReason().remove(value); 898 } else if (name.equals("dateCriterion")) { 899 this.getDateCriterion().remove((ImmunizationRecommendationRecommendationDateCriterionComponent) value); 900 } else if (name.equals("description")) { 901 this.description = null; 902 } else if (name.equals("series")) { 903 this.series = null; 904 } else if (name.equals("doseNumber")) { 905 this.doseNumber = null; 906 } else if (name.equals("seriesDoses")) { 907 this.seriesDoses = null; 908 } else if (name.equals("supportingImmunization")) { 909 this.getSupportingImmunization().remove(value); 910 } else if (name.equals("supportingPatientInformation")) { 911 this.getSupportingPatientInformation().remove(value); 912 } else 913 super.removeChild(name, value); 914 915 } 916 917 @Override 918 public Base makeProperty(int hash, String name) throws FHIRException { 919 switch (hash) { 920 case 664556354: return addVaccineCode(); 921 case -319593813: return addTargetDisease(); 922 case 571105240: return addContraindicatedVaccineCode(); 923 case 1904598477: return getForecastStatus(); 924 case 1862115359: return addForecastReason(); 925 case 2087518867: return addDateCriterion(); 926 case -1724546052: return getDescriptionElement(); 927 case -905838985: return getSeriesElement(); 928 case -887709242: return getDoseNumberElement(); 929 case -1936727105: return getSeriesDosesElement(); 930 case 1171592021: return addSupportingImmunization(); 931 case -1234160646: return addSupportingPatientInformation(); 932 default: return super.makeProperty(hash, name); 933 } 934 935 } 936 937 @Override 938 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 939 switch (hash) { 940 case 664556354: /*vaccineCode*/ return new String[] {"CodeableConcept"}; 941 case -319593813: /*targetDisease*/ return new String[] {"CodeableConcept"}; 942 case 571105240: /*contraindicatedVaccineCode*/ return new String[] {"CodeableConcept"}; 943 case 1904598477: /*forecastStatus*/ return new String[] {"CodeableConcept"}; 944 case 1862115359: /*forecastReason*/ return new String[] {"CodeableConcept"}; 945 case 2087518867: /*dateCriterion*/ return new String[] {}; 946 case -1724546052: /*description*/ return new String[] {"markdown"}; 947 case -905838985: /*series*/ return new String[] {"string"}; 948 case -887709242: /*doseNumber*/ return new String[] {"string"}; 949 case -1936727105: /*seriesDoses*/ return new String[] {"string"}; 950 case 1171592021: /*supportingImmunization*/ return new String[] {"Reference"}; 951 case -1234160646: /*supportingPatientInformation*/ return new String[] {"Reference"}; 952 default: return super.getTypesForProperty(hash, name); 953 } 954 955 } 956 957 @Override 958 public Base addChild(String name) throws FHIRException { 959 if (name.equals("vaccineCode")) { 960 return addVaccineCode(); 961 } 962 else if (name.equals("targetDisease")) { 963 return addTargetDisease(); 964 } 965 else if (name.equals("contraindicatedVaccineCode")) { 966 return addContraindicatedVaccineCode(); 967 } 968 else if (name.equals("forecastStatus")) { 969 this.forecastStatus = new CodeableConcept(); 970 return this.forecastStatus; 971 } 972 else if (name.equals("forecastReason")) { 973 return addForecastReason(); 974 } 975 else if (name.equals("dateCriterion")) { 976 return addDateCriterion(); 977 } 978 else if (name.equals("description")) { 979 throw new FHIRException("Cannot call addChild on a singleton property ImmunizationRecommendation.recommendation.description"); 980 } 981 else if (name.equals("series")) { 982 throw new FHIRException("Cannot call addChild on a singleton property ImmunizationRecommendation.recommendation.series"); 983 } 984 else if (name.equals("doseNumber")) { 985 throw new FHIRException("Cannot call addChild on a singleton property ImmunizationRecommendation.recommendation.doseNumber"); 986 } 987 else if (name.equals("seriesDoses")) { 988 throw new FHIRException("Cannot call addChild on a singleton property ImmunizationRecommendation.recommendation.seriesDoses"); 989 } 990 else if (name.equals("supportingImmunization")) { 991 return addSupportingImmunization(); 992 } 993 else if (name.equals("supportingPatientInformation")) { 994 return addSupportingPatientInformation(); 995 } 996 else 997 return super.addChild(name); 998 } 999 1000 public ImmunizationRecommendationRecommendationComponent copy() { 1001 ImmunizationRecommendationRecommendationComponent dst = new ImmunizationRecommendationRecommendationComponent(); 1002 copyValues(dst); 1003 return dst; 1004 } 1005 1006 public void copyValues(ImmunizationRecommendationRecommendationComponent dst) { 1007 super.copyValues(dst); 1008 if (vaccineCode != null) { 1009 dst.vaccineCode = new ArrayList<CodeableConcept>(); 1010 for (CodeableConcept i : vaccineCode) 1011 dst.vaccineCode.add(i.copy()); 1012 }; 1013 if (targetDisease != null) { 1014 dst.targetDisease = new ArrayList<CodeableConcept>(); 1015 for (CodeableConcept i : targetDisease) 1016 dst.targetDisease.add(i.copy()); 1017 }; 1018 if (contraindicatedVaccineCode != null) { 1019 dst.contraindicatedVaccineCode = new ArrayList<CodeableConcept>(); 1020 for (CodeableConcept i : contraindicatedVaccineCode) 1021 dst.contraindicatedVaccineCode.add(i.copy()); 1022 }; 1023 dst.forecastStatus = forecastStatus == null ? null : forecastStatus.copy(); 1024 if (forecastReason != null) { 1025 dst.forecastReason = new ArrayList<CodeableConcept>(); 1026 for (CodeableConcept i : forecastReason) 1027 dst.forecastReason.add(i.copy()); 1028 }; 1029 if (dateCriterion != null) { 1030 dst.dateCriterion = new ArrayList<ImmunizationRecommendationRecommendationDateCriterionComponent>(); 1031 for (ImmunizationRecommendationRecommendationDateCriterionComponent i : dateCriterion) 1032 dst.dateCriterion.add(i.copy()); 1033 }; 1034 dst.description = description == null ? null : description.copy(); 1035 dst.series = series == null ? null : series.copy(); 1036 dst.doseNumber = doseNumber == null ? null : doseNumber.copy(); 1037 dst.seriesDoses = seriesDoses == null ? null : seriesDoses.copy(); 1038 if (supportingImmunization != null) { 1039 dst.supportingImmunization = new ArrayList<Reference>(); 1040 for (Reference i : supportingImmunization) 1041 dst.supportingImmunization.add(i.copy()); 1042 }; 1043 if (supportingPatientInformation != null) { 1044 dst.supportingPatientInformation = new ArrayList<Reference>(); 1045 for (Reference i : supportingPatientInformation) 1046 dst.supportingPatientInformation.add(i.copy()); 1047 }; 1048 } 1049 1050 @Override 1051 public boolean equalsDeep(Base other_) { 1052 if (!super.equalsDeep(other_)) 1053 return false; 1054 if (!(other_ instanceof ImmunizationRecommendationRecommendationComponent)) 1055 return false; 1056 ImmunizationRecommendationRecommendationComponent o = (ImmunizationRecommendationRecommendationComponent) other_; 1057 return compareDeep(vaccineCode, o.vaccineCode, true) && compareDeep(targetDisease, o.targetDisease, true) 1058 && compareDeep(contraindicatedVaccineCode, o.contraindicatedVaccineCode, true) && compareDeep(forecastStatus, o.forecastStatus, true) 1059 && compareDeep(forecastReason, o.forecastReason, true) && compareDeep(dateCriterion, o.dateCriterion, true) 1060 && compareDeep(description, o.description, true) && compareDeep(series, o.series, true) && compareDeep(doseNumber, o.doseNumber, true) 1061 && compareDeep(seriesDoses, o.seriesDoses, true) && compareDeep(supportingImmunization, o.supportingImmunization, true) 1062 && compareDeep(supportingPatientInformation, o.supportingPatientInformation, true); 1063 } 1064 1065 @Override 1066 public boolean equalsShallow(Base other_) { 1067 if (!super.equalsShallow(other_)) 1068 return false; 1069 if (!(other_ instanceof ImmunizationRecommendationRecommendationComponent)) 1070 return false; 1071 ImmunizationRecommendationRecommendationComponent o = (ImmunizationRecommendationRecommendationComponent) other_; 1072 return compareValues(description, o.description, true) && compareValues(series, o.series, true) && compareValues(doseNumber, o.doseNumber, true) 1073 && compareValues(seriesDoses, o.seriesDoses, true); 1074 } 1075 1076 public boolean isEmpty() { 1077 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(vaccineCode, targetDisease 1078 , contraindicatedVaccineCode, forecastStatus, forecastReason, dateCriterion, description 1079 , series, doseNumber, seriesDoses, supportingImmunization, supportingPatientInformation 1080 ); 1081 } 1082 1083 public String fhirType() { 1084 return "ImmunizationRecommendation.recommendation"; 1085 1086 } 1087 1088 } 1089 1090 @Block() 1091 public static class ImmunizationRecommendationRecommendationDateCriterionComponent extends BackboneElement implements IBaseBackboneElement { 1092 /** 1093 * Date classification of recommendation. For example, earliest date to give, latest date to give, etc. 1094 */ 1095 @Child(name = "code", type = {CodeableConcept.class}, order=1, min=1, max=1, modifier=false, summary=false) 1096 @Description(shortDefinition="Type of date", formalDefinition="Date classification of recommendation. For example, earliest date to give, latest date to give, etc." ) 1097 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/immunization-recommendation-date-criterion") 1098 protected CodeableConcept code; 1099 1100 /** 1101 * The date whose meaning is specified by dateCriterion.code. 1102 */ 1103 @Child(name = "value", type = {DateTimeType.class}, order=2, min=1, max=1, modifier=false, summary=false) 1104 @Description(shortDefinition="Recommended date", formalDefinition="The date whose meaning is specified by dateCriterion.code." ) 1105 protected DateTimeType value; 1106 1107 private static final long serialVersionUID = 1036994566L; 1108 1109 /** 1110 * Constructor 1111 */ 1112 public ImmunizationRecommendationRecommendationDateCriterionComponent() { 1113 super(); 1114 } 1115 1116 /** 1117 * Constructor 1118 */ 1119 public ImmunizationRecommendationRecommendationDateCriterionComponent(CodeableConcept code, Date value) { 1120 super(); 1121 this.setCode(code); 1122 this.setValue(value); 1123 } 1124 1125 /** 1126 * @return {@link #code} (Date classification of recommendation. For example, earliest date to give, latest date to give, etc.) 1127 */ 1128 public CodeableConcept getCode() { 1129 if (this.code == null) 1130 if (Configuration.errorOnAutoCreate()) 1131 throw new Error("Attempt to auto-create ImmunizationRecommendationRecommendationDateCriterionComponent.code"); 1132 else if (Configuration.doAutoCreate()) 1133 this.code = new CodeableConcept(); // cc 1134 return this.code; 1135 } 1136 1137 public boolean hasCode() { 1138 return this.code != null && !this.code.isEmpty(); 1139 } 1140 1141 /** 1142 * @param value {@link #code} (Date classification of recommendation. For example, earliest date to give, latest date to give, etc.) 1143 */ 1144 public ImmunizationRecommendationRecommendationDateCriterionComponent setCode(CodeableConcept value) { 1145 this.code = value; 1146 return this; 1147 } 1148 1149 /** 1150 * @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 1151 */ 1152 public DateTimeType getValueElement() { 1153 if (this.value == null) 1154 if (Configuration.errorOnAutoCreate()) 1155 throw new Error("Attempt to auto-create ImmunizationRecommendationRecommendationDateCriterionComponent.value"); 1156 else if (Configuration.doAutoCreate()) 1157 this.value = new DateTimeType(); // bb 1158 return this.value; 1159 } 1160 1161 public boolean hasValueElement() { 1162 return this.value != null && !this.value.isEmpty(); 1163 } 1164 1165 public boolean hasValue() { 1166 return this.value != null && !this.value.isEmpty(); 1167 } 1168 1169 /** 1170 * @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 1171 */ 1172 public ImmunizationRecommendationRecommendationDateCriterionComponent setValueElement(DateTimeType value) { 1173 this.value = value; 1174 return this; 1175 } 1176 1177 /** 1178 * @return The date whose meaning is specified by dateCriterion.code. 1179 */ 1180 public Date getValue() { 1181 return this.value == null ? null : this.value.getValue(); 1182 } 1183 1184 /** 1185 * @param value The date whose meaning is specified by dateCriterion.code. 1186 */ 1187 public ImmunizationRecommendationRecommendationDateCriterionComponent setValue(Date value) { 1188 if (this.value == null) 1189 this.value = new DateTimeType(); 1190 this.value.setValue(value); 1191 return this; 1192 } 1193 1194 protected void listChildren(List<Property> children) { 1195 super.listChildren(children); 1196 children.add(new Property("code", "CodeableConcept", "Date classification of recommendation. For example, earliest date to give, latest date to give, etc.", 0, 1, code)); 1197 children.add(new Property("value", "dateTime", "The date whose meaning is specified by dateCriterion.code.", 0, 1, value)); 1198 } 1199 1200 @Override 1201 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1202 switch (_hash) { 1203 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); 1204 case 111972721: /*value*/ return new Property("value", "dateTime", "The date whose meaning is specified by dateCriterion.code.", 0, 1, value); 1205 default: return super.getNamedProperty(_hash, _name, _checkValid); 1206 } 1207 1208 } 1209 1210 @Override 1211 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1212 switch (hash) { 1213 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableConcept 1214 case 111972721: /*value*/ return this.value == null ? new Base[0] : new Base[] {this.value}; // DateTimeType 1215 default: return super.getProperty(hash, name, checkValid); 1216 } 1217 1218 } 1219 1220 @Override 1221 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1222 switch (hash) { 1223 case 3059181: // code 1224 this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1225 return value; 1226 case 111972721: // value 1227 this.value = TypeConvertor.castToDateTime(value); // DateTimeType 1228 return value; 1229 default: return super.setProperty(hash, name, value); 1230 } 1231 1232 } 1233 1234 @Override 1235 public Base setProperty(String name, Base value) throws FHIRException { 1236 if (name.equals("code")) { 1237 this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1238 } else if (name.equals("value")) { 1239 this.value = TypeConvertor.castToDateTime(value); // DateTimeType 1240 } else 1241 return super.setProperty(name, value); 1242 return value; 1243 } 1244 1245 @Override 1246 public void removeChild(String name, Base value) throws FHIRException { 1247 if (name.equals("code")) { 1248 this.code = null; 1249 } else if (name.equals("value")) { 1250 this.value = null; 1251 } else 1252 super.removeChild(name, value); 1253 1254 } 1255 1256 @Override 1257 public Base makeProperty(int hash, String name) throws FHIRException { 1258 switch (hash) { 1259 case 3059181: return getCode(); 1260 case 111972721: return getValueElement(); 1261 default: return super.makeProperty(hash, name); 1262 } 1263 1264 } 1265 1266 @Override 1267 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1268 switch (hash) { 1269 case 3059181: /*code*/ return new String[] {"CodeableConcept"}; 1270 case 111972721: /*value*/ return new String[] {"dateTime"}; 1271 default: return super.getTypesForProperty(hash, name); 1272 } 1273 1274 } 1275 1276 @Override 1277 public Base addChild(String name) throws FHIRException { 1278 if (name.equals("code")) { 1279 this.code = new CodeableConcept(); 1280 return this.code; 1281 } 1282 else if (name.equals("value")) { 1283 throw new FHIRException("Cannot call addChild on a singleton property ImmunizationRecommendation.recommendation.dateCriterion.value"); 1284 } 1285 else 1286 return super.addChild(name); 1287 } 1288 1289 public ImmunizationRecommendationRecommendationDateCriterionComponent copy() { 1290 ImmunizationRecommendationRecommendationDateCriterionComponent dst = new ImmunizationRecommendationRecommendationDateCriterionComponent(); 1291 copyValues(dst); 1292 return dst; 1293 } 1294 1295 public void copyValues(ImmunizationRecommendationRecommendationDateCriterionComponent dst) { 1296 super.copyValues(dst); 1297 dst.code = code == null ? null : code.copy(); 1298 dst.value = value == null ? null : value.copy(); 1299 } 1300 1301 @Override 1302 public boolean equalsDeep(Base other_) { 1303 if (!super.equalsDeep(other_)) 1304 return false; 1305 if (!(other_ instanceof ImmunizationRecommendationRecommendationDateCriterionComponent)) 1306 return false; 1307 ImmunizationRecommendationRecommendationDateCriterionComponent o = (ImmunizationRecommendationRecommendationDateCriterionComponent) other_; 1308 return compareDeep(code, o.code, true) && compareDeep(value, o.value, true); 1309 } 1310 1311 @Override 1312 public boolean equalsShallow(Base other_) { 1313 if (!super.equalsShallow(other_)) 1314 return false; 1315 if (!(other_ instanceof ImmunizationRecommendationRecommendationDateCriterionComponent)) 1316 return false; 1317 ImmunizationRecommendationRecommendationDateCriterionComponent o = (ImmunizationRecommendationRecommendationDateCriterionComponent) other_; 1318 return compareValues(value, o.value, true); 1319 } 1320 1321 public boolean isEmpty() { 1322 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(code, value); 1323 } 1324 1325 public String fhirType() { 1326 return "ImmunizationRecommendation.recommendation.dateCriterion"; 1327 1328 } 1329 1330 } 1331 1332 /** 1333 * A unique identifier assigned to this particular recommendation record. 1334 */ 1335 @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1336 @Description(shortDefinition="Business identifier", formalDefinition="A unique identifier assigned to this particular recommendation record." ) 1337 protected List<Identifier> identifier; 1338 1339 /** 1340 * The patient the recommendation(s) are for. 1341 */ 1342 @Child(name = "patient", type = {Patient.class}, order=1, min=1, max=1, modifier=false, summary=true) 1343 @Description(shortDefinition="Who this profile is for", formalDefinition="The patient the recommendation(s) are for." ) 1344 protected Reference patient; 1345 1346 /** 1347 * The date the immunization recommendation(s) were created. 1348 */ 1349 @Child(name = "date", type = {DateTimeType.class}, order=2, min=1, max=1, modifier=false, summary=true) 1350 @Description(shortDefinition="Date recommendation(s) created", formalDefinition="The date the immunization recommendation(s) were created." ) 1351 protected DateTimeType date; 1352 1353 /** 1354 * Indicates the authority who published the protocol (e.g. ACIP). 1355 */ 1356 @Child(name = "authority", type = {Organization.class}, order=3, min=0, max=1, modifier=false, summary=false) 1357 @Description(shortDefinition="Who is responsible for protocol", formalDefinition="Indicates the authority who published the protocol (e.g. ACIP)." ) 1358 protected Reference authority; 1359 1360 /** 1361 * Vaccine administration recommendations. 1362 */ 1363 @Child(name = "recommendation", type = {}, order=4, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1364 @Description(shortDefinition="Vaccine administration recommendations", formalDefinition="Vaccine administration recommendations." ) 1365 protected List<ImmunizationRecommendationRecommendationComponent> recommendation; 1366 1367 private static final long serialVersionUID = 534427937L; 1368 1369 /** 1370 * Constructor 1371 */ 1372 public ImmunizationRecommendation() { 1373 super(); 1374 } 1375 1376 /** 1377 * Constructor 1378 */ 1379 public ImmunizationRecommendation(Reference patient, Date date, ImmunizationRecommendationRecommendationComponent recommendation) { 1380 super(); 1381 this.setPatient(patient); 1382 this.setDate(date); 1383 this.addRecommendation(recommendation); 1384 } 1385 1386 /** 1387 * @return {@link #identifier} (A unique identifier assigned to this particular recommendation record.) 1388 */ 1389 public List<Identifier> getIdentifier() { 1390 if (this.identifier == null) 1391 this.identifier = new ArrayList<Identifier>(); 1392 return this.identifier; 1393 } 1394 1395 /** 1396 * @return Returns a reference to <code>this</code> for easy method chaining 1397 */ 1398 public ImmunizationRecommendation setIdentifier(List<Identifier> theIdentifier) { 1399 this.identifier = theIdentifier; 1400 return this; 1401 } 1402 1403 public boolean hasIdentifier() { 1404 if (this.identifier == null) 1405 return false; 1406 for (Identifier item : this.identifier) 1407 if (!item.isEmpty()) 1408 return true; 1409 return false; 1410 } 1411 1412 public Identifier addIdentifier() { //3 1413 Identifier t = new Identifier(); 1414 if (this.identifier == null) 1415 this.identifier = new ArrayList<Identifier>(); 1416 this.identifier.add(t); 1417 return t; 1418 } 1419 1420 public ImmunizationRecommendation addIdentifier(Identifier t) { //3 1421 if (t == null) 1422 return this; 1423 if (this.identifier == null) 1424 this.identifier = new ArrayList<Identifier>(); 1425 this.identifier.add(t); 1426 return this; 1427 } 1428 1429 /** 1430 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} 1431 */ 1432 public Identifier getIdentifierFirstRep() { 1433 if (getIdentifier().isEmpty()) { 1434 addIdentifier(); 1435 } 1436 return getIdentifier().get(0); 1437 } 1438 1439 /** 1440 * @return {@link #patient} (The patient the recommendation(s) are for.) 1441 */ 1442 public Reference getPatient() { 1443 if (this.patient == null) 1444 if (Configuration.errorOnAutoCreate()) 1445 throw new Error("Attempt to auto-create ImmunizationRecommendation.patient"); 1446 else if (Configuration.doAutoCreate()) 1447 this.patient = new Reference(); // cc 1448 return this.patient; 1449 } 1450 1451 public boolean hasPatient() { 1452 return this.patient != null && !this.patient.isEmpty(); 1453 } 1454 1455 /** 1456 * @param value {@link #patient} (The patient the recommendation(s) are for.) 1457 */ 1458 public ImmunizationRecommendation setPatient(Reference value) { 1459 this.patient = value; 1460 return this; 1461 } 1462 1463 /** 1464 * @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 1465 */ 1466 public DateTimeType getDateElement() { 1467 if (this.date == null) 1468 if (Configuration.errorOnAutoCreate()) 1469 throw new Error("Attempt to auto-create ImmunizationRecommendation.date"); 1470 else if (Configuration.doAutoCreate()) 1471 this.date = new DateTimeType(); // bb 1472 return this.date; 1473 } 1474 1475 public boolean hasDateElement() { 1476 return this.date != null && !this.date.isEmpty(); 1477 } 1478 1479 public boolean hasDate() { 1480 return this.date != null && !this.date.isEmpty(); 1481 } 1482 1483 /** 1484 * @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 1485 */ 1486 public ImmunizationRecommendation setDateElement(DateTimeType value) { 1487 this.date = value; 1488 return this; 1489 } 1490 1491 /** 1492 * @return The date the immunization recommendation(s) were created. 1493 */ 1494 public Date getDate() { 1495 return this.date == null ? null : this.date.getValue(); 1496 } 1497 1498 /** 1499 * @param value The date the immunization recommendation(s) were created. 1500 */ 1501 public ImmunizationRecommendation setDate(Date value) { 1502 if (this.date == null) 1503 this.date = new DateTimeType(); 1504 this.date.setValue(value); 1505 return this; 1506 } 1507 1508 /** 1509 * @return {@link #authority} (Indicates the authority who published the protocol (e.g. ACIP).) 1510 */ 1511 public Reference getAuthority() { 1512 if (this.authority == null) 1513 if (Configuration.errorOnAutoCreate()) 1514 throw new Error("Attempt to auto-create ImmunizationRecommendation.authority"); 1515 else if (Configuration.doAutoCreate()) 1516 this.authority = new Reference(); // cc 1517 return this.authority; 1518 } 1519 1520 public boolean hasAuthority() { 1521 return this.authority != null && !this.authority.isEmpty(); 1522 } 1523 1524 /** 1525 * @param value {@link #authority} (Indicates the authority who published the protocol (e.g. ACIP).) 1526 */ 1527 public ImmunizationRecommendation setAuthority(Reference value) { 1528 this.authority = value; 1529 return this; 1530 } 1531 1532 /** 1533 * @return {@link #recommendation} (Vaccine administration recommendations.) 1534 */ 1535 public List<ImmunizationRecommendationRecommendationComponent> getRecommendation() { 1536 if (this.recommendation == null) 1537 this.recommendation = new ArrayList<ImmunizationRecommendationRecommendationComponent>(); 1538 return this.recommendation; 1539 } 1540 1541 /** 1542 * @return Returns a reference to <code>this</code> for easy method chaining 1543 */ 1544 public ImmunizationRecommendation setRecommendation(List<ImmunizationRecommendationRecommendationComponent> theRecommendation) { 1545 this.recommendation = theRecommendation; 1546 return this; 1547 } 1548 1549 public boolean hasRecommendation() { 1550 if (this.recommendation == null) 1551 return false; 1552 for (ImmunizationRecommendationRecommendationComponent item : this.recommendation) 1553 if (!item.isEmpty()) 1554 return true; 1555 return false; 1556 } 1557 1558 public ImmunizationRecommendationRecommendationComponent addRecommendation() { //3 1559 ImmunizationRecommendationRecommendationComponent t = new ImmunizationRecommendationRecommendationComponent(); 1560 if (this.recommendation == null) 1561 this.recommendation = new ArrayList<ImmunizationRecommendationRecommendationComponent>(); 1562 this.recommendation.add(t); 1563 return t; 1564 } 1565 1566 public ImmunizationRecommendation addRecommendation(ImmunizationRecommendationRecommendationComponent t) { //3 1567 if (t == null) 1568 return this; 1569 if (this.recommendation == null) 1570 this.recommendation = new ArrayList<ImmunizationRecommendationRecommendationComponent>(); 1571 this.recommendation.add(t); 1572 return this; 1573 } 1574 1575 /** 1576 * @return The first repetition of repeating field {@link #recommendation}, creating it if it does not already exist {3} 1577 */ 1578 public ImmunizationRecommendationRecommendationComponent getRecommendationFirstRep() { 1579 if (getRecommendation().isEmpty()) { 1580 addRecommendation(); 1581 } 1582 return getRecommendation().get(0); 1583 } 1584 1585 protected void listChildren(List<Property> children) { 1586 super.listChildren(children); 1587 children.add(new Property("identifier", "Identifier", "A unique identifier assigned to this particular recommendation record.", 0, java.lang.Integer.MAX_VALUE, identifier)); 1588 children.add(new Property("patient", "Reference(Patient)", "The patient the recommendation(s) are for.", 0, 1, patient)); 1589 children.add(new Property("date", "dateTime", "The date the immunization recommendation(s) were created.", 0, 1, date)); 1590 children.add(new Property("authority", "Reference(Organization)", "Indicates the authority who published the protocol (e.g. ACIP).", 0, 1, authority)); 1591 children.add(new Property("recommendation", "", "Vaccine administration recommendations.", 0, java.lang.Integer.MAX_VALUE, recommendation)); 1592 } 1593 1594 @Override 1595 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1596 switch (_hash) { 1597 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "A unique identifier assigned to this particular recommendation record.", 0, java.lang.Integer.MAX_VALUE, identifier); 1598 case -791418107: /*patient*/ return new Property("patient", "Reference(Patient)", "The patient the recommendation(s) are for.", 0, 1, patient); 1599 case 3076014: /*date*/ return new Property("date", "dateTime", "The date the immunization recommendation(s) were created.", 0, 1, date); 1600 case 1475610435: /*authority*/ return new Property("authority", "Reference(Organization)", "Indicates the authority who published the protocol (e.g. ACIP).", 0, 1, authority); 1601 case -1028636743: /*recommendation*/ return new Property("recommendation", "", "Vaccine administration recommendations.", 0, java.lang.Integer.MAX_VALUE, recommendation); 1602 default: return super.getNamedProperty(_hash, _name, _checkValid); 1603 } 1604 1605 } 1606 1607 @Override 1608 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1609 switch (hash) { 1610 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 1611 case -791418107: /*patient*/ return this.patient == null ? new Base[0] : new Base[] {this.patient}; // Reference 1612 case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType 1613 case 1475610435: /*authority*/ return this.authority == null ? new Base[0] : new Base[] {this.authority}; // Reference 1614 case -1028636743: /*recommendation*/ return this.recommendation == null ? new Base[0] : this.recommendation.toArray(new Base[this.recommendation.size()]); // ImmunizationRecommendationRecommendationComponent 1615 default: return super.getProperty(hash, name, checkValid); 1616 } 1617 1618 } 1619 1620 @Override 1621 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1622 switch (hash) { 1623 case -1618432855: // identifier 1624 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier 1625 return value; 1626 case -791418107: // patient 1627 this.patient = TypeConvertor.castToReference(value); // Reference 1628 return value; 1629 case 3076014: // date 1630 this.date = TypeConvertor.castToDateTime(value); // DateTimeType 1631 return value; 1632 case 1475610435: // authority 1633 this.authority = TypeConvertor.castToReference(value); // Reference 1634 return value; 1635 case -1028636743: // recommendation 1636 this.getRecommendation().add((ImmunizationRecommendationRecommendationComponent) value); // ImmunizationRecommendationRecommendationComponent 1637 return value; 1638 default: return super.setProperty(hash, name, value); 1639 } 1640 1641 } 1642 1643 @Override 1644 public Base setProperty(String name, Base value) throws FHIRException { 1645 if (name.equals("identifier")) { 1646 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); 1647 } else if (name.equals("patient")) { 1648 this.patient = TypeConvertor.castToReference(value); // Reference 1649 } else if (name.equals("date")) { 1650 this.date = TypeConvertor.castToDateTime(value); // DateTimeType 1651 } else if (name.equals("authority")) { 1652 this.authority = TypeConvertor.castToReference(value); // Reference 1653 } else if (name.equals("recommendation")) { 1654 this.getRecommendation().add((ImmunizationRecommendationRecommendationComponent) value); 1655 } else 1656 return super.setProperty(name, value); 1657 return value; 1658 } 1659 1660 @Override 1661 public void removeChild(String name, Base value) throws FHIRException { 1662 if (name.equals("identifier")) { 1663 this.getIdentifier().remove(value); 1664 } else if (name.equals("patient")) { 1665 this.patient = null; 1666 } else if (name.equals("date")) { 1667 this.date = null; 1668 } else if (name.equals("authority")) { 1669 this.authority = null; 1670 } else if (name.equals("recommendation")) { 1671 this.getRecommendation().remove((ImmunizationRecommendationRecommendationComponent) value); 1672 } else 1673 super.removeChild(name, value); 1674 1675 } 1676 1677 @Override 1678 public Base makeProperty(int hash, String name) throws FHIRException { 1679 switch (hash) { 1680 case -1618432855: return addIdentifier(); 1681 case -791418107: return getPatient(); 1682 case 3076014: return getDateElement(); 1683 case 1475610435: return getAuthority(); 1684 case -1028636743: return addRecommendation(); 1685 default: return super.makeProperty(hash, name); 1686 } 1687 1688 } 1689 1690 @Override 1691 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1692 switch (hash) { 1693 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 1694 case -791418107: /*patient*/ return new String[] {"Reference"}; 1695 case 3076014: /*date*/ return new String[] {"dateTime"}; 1696 case 1475610435: /*authority*/ return new String[] {"Reference"}; 1697 case -1028636743: /*recommendation*/ return new String[] {}; 1698 default: return super.getTypesForProperty(hash, name); 1699 } 1700 1701 } 1702 1703 @Override 1704 public Base addChild(String name) throws FHIRException { 1705 if (name.equals("identifier")) { 1706 return addIdentifier(); 1707 } 1708 else if (name.equals("patient")) { 1709 this.patient = new Reference(); 1710 return this.patient; 1711 } 1712 else if (name.equals("date")) { 1713 throw new FHIRException("Cannot call addChild on a singleton property ImmunizationRecommendation.date"); 1714 } 1715 else if (name.equals("authority")) { 1716 this.authority = new Reference(); 1717 return this.authority; 1718 } 1719 else if (name.equals("recommendation")) { 1720 return addRecommendation(); 1721 } 1722 else 1723 return super.addChild(name); 1724 } 1725 1726 public String fhirType() { 1727 return "ImmunizationRecommendation"; 1728 1729 } 1730 1731 public ImmunizationRecommendation copy() { 1732 ImmunizationRecommendation dst = new ImmunizationRecommendation(); 1733 copyValues(dst); 1734 return dst; 1735 } 1736 1737 public void copyValues(ImmunizationRecommendation dst) { 1738 super.copyValues(dst); 1739 if (identifier != null) { 1740 dst.identifier = new ArrayList<Identifier>(); 1741 for (Identifier i : identifier) 1742 dst.identifier.add(i.copy()); 1743 }; 1744 dst.patient = patient == null ? null : patient.copy(); 1745 dst.date = date == null ? null : date.copy(); 1746 dst.authority = authority == null ? null : authority.copy(); 1747 if (recommendation != null) { 1748 dst.recommendation = new ArrayList<ImmunizationRecommendationRecommendationComponent>(); 1749 for (ImmunizationRecommendationRecommendationComponent i : recommendation) 1750 dst.recommendation.add(i.copy()); 1751 }; 1752 } 1753 1754 protected ImmunizationRecommendation typedCopy() { 1755 return copy(); 1756 } 1757 1758 @Override 1759 public boolean equalsDeep(Base other_) { 1760 if (!super.equalsDeep(other_)) 1761 return false; 1762 if (!(other_ instanceof ImmunizationRecommendation)) 1763 return false; 1764 ImmunizationRecommendation o = (ImmunizationRecommendation) other_; 1765 return compareDeep(identifier, o.identifier, true) && compareDeep(patient, o.patient, true) && compareDeep(date, o.date, true) 1766 && compareDeep(authority, o.authority, true) && compareDeep(recommendation, o.recommendation, true) 1767 ; 1768 } 1769 1770 @Override 1771 public boolean equalsShallow(Base other_) { 1772 if (!super.equalsShallow(other_)) 1773 return false; 1774 if (!(other_ instanceof ImmunizationRecommendation)) 1775 return false; 1776 ImmunizationRecommendation o = (ImmunizationRecommendation) other_; 1777 return compareValues(date, o.date, true); 1778 } 1779 1780 public boolean isEmpty() { 1781 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, patient, date 1782 , authority, recommendation); 1783 } 1784 1785 @Override 1786 public ResourceType getResourceType() { 1787 return ResourceType.ImmunizationRecommendation; 1788 } 1789 1790 /** 1791 * Search parameter: <b>information</b> 1792 * <p> 1793 * Description: <b>Patient observations supporting recommendation</b><br> 1794 * Type: <b>reference</b><br> 1795 * Path: <b>ImmunizationRecommendation.recommendation.supportingPatientInformation</b><br> 1796 * </p> 1797 */ 1798 @SearchParamDefinition(name="information", path="ImmunizationRecommendation.recommendation.supportingPatientInformation", description="Patient observations supporting recommendation", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BiologicallyDerivedProductDispense.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceAssociation.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentReference.class, Encounter.class, EncounterHistory.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, FormularyItem.class, GenomicStudy.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, InventoryItem.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, MedicationStatement.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, Parameters.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, RequestOrchestration.class, Requirements.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, TestPlan.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) 1799 public static final String SP_INFORMATION = "information"; 1800 /** 1801 * <b>Fluent Client</b> search parameter constant for <b>information</b> 1802 * <p> 1803 * Description: <b>Patient observations supporting recommendation</b><br> 1804 * Type: <b>reference</b><br> 1805 * Path: <b>ImmunizationRecommendation.recommendation.supportingPatientInformation</b><br> 1806 * </p> 1807 */ 1808 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam INFORMATION = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_INFORMATION); 1809 1810/** 1811 * Constant for fluent queries to be used to add include statements. Specifies 1812 * the path value of "<b>ImmunizationRecommendation:information</b>". 1813 */ 1814 public static final ca.uhn.fhir.model.api.Include INCLUDE_INFORMATION = new ca.uhn.fhir.model.api.Include("ImmunizationRecommendation:information").toLocked(); 1815 1816 /** 1817 * Search parameter: <b>status</b> 1818 * <p> 1819 * Description: <b>Vaccine recommendation status</b><br> 1820 * Type: <b>token</b><br> 1821 * Path: <b>ImmunizationRecommendation.recommendation.forecastStatus</b><br> 1822 * </p> 1823 */ 1824 @SearchParamDefinition(name="status", path="ImmunizationRecommendation.recommendation.forecastStatus", description="Vaccine recommendation status", type="token" ) 1825 public static final String SP_STATUS = "status"; 1826 /** 1827 * <b>Fluent Client</b> search parameter constant for <b>status</b> 1828 * <p> 1829 * Description: <b>Vaccine recommendation status</b><br> 1830 * Type: <b>token</b><br> 1831 * Path: <b>ImmunizationRecommendation.recommendation.forecastStatus</b><br> 1832 * </p> 1833 */ 1834 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 1835 1836 /** 1837 * Search parameter: <b>support</b> 1838 * <p> 1839 * Description: <b>Past immunizations supporting recommendation</b><br> 1840 * Type: <b>reference</b><br> 1841 * Path: <b>ImmunizationRecommendation.recommendation.supportingImmunization</b><br> 1842 * </p> 1843 */ 1844 @SearchParamDefinition(name="support", path="ImmunizationRecommendation.recommendation.supportingImmunization", description="Past immunizations supporting recommendation", type="reference", target={Immunization.class, ImmunizationEvaluation.class } ) 1845 public static final String SP_SUPPORT = "support"; 1846 /** 1847 * <b>Fluent Client</b> search parameter constant for <b>support</b> 1848 * <p> 1849 * Description: <b>Past immunizations supporting recommendation</b><br> 1850 * Type: <b>reference</b><br> 1851 * Path: <b>ImmunizationRecommendation.recommendation.supportingImmunization</b><br> 1852 * </p> 1853 */ 1854 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SUPPORT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SUPPORT); 1855 1856/** 1857 * Constant for fluent queries to be used to add include statements. Specifies 1858 * the path value of "<b>ImmunizationRecommendation:support</b>". 1859 */ 1860 public static final ca.uhn.fhir.model.api.Include INCLUDE_SUPPORT = new ca.uhn.fhir.model.api.Include("ImmunizationRecommendation:support").toLocked(); 1861 1862 /** 1863 * Search parameter: <b>target-disease</b> 1864 * <p> 1865 * Description: <b>Disease to be immunized against</b><br> 1866 * Type: <b>token</b><br> 1867 * Path: <b>ImmunizationRecommendation.recommendation.targetDisease</b><br> 1868 * </p> 1869 */ 1870 @SearchParamDefinition(name="target-disease", path="ImmunizationRecommendation.recommendation.targetDisease", description="Disease to be immunized against", type="token" ) 1871 public static final String SP_TARGET_DISEASE = "target-disease"; 1872 /** 1873 * <b>Fluent Client</b> search parameter constant for <b>target-disease</b> 1874 * <p> 1875 * Description: <b>Disease to be immunized against</b><br> 1876 * Type: <b>token</b><br> 1877 * Path: <b>ImmunizationRecommendation.recommendation.targetDisease</b><br> 1878 * </p> 1879 */ 1880 public static final ca.uhn.fhir.rest.gclient.TokenClientParam TARGET_DISEASE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_TARGET_DISEASE); 1881 1882 /** 1883 * Search parameter: <b>vaccine-type</b> 1884 * <p> 1885 * Description: <b>Vaccine or vaccine group recommendation applies to</b><br> 1886 * Type: <b>token</b><br> 1887 * Path: <b>ImmunizationRecommendation.recommendation.vaccineCode</b><br> 1888 * </p> 1889 */ 1890 @SearchParamDefinition(name="vaccine-type", path="ImmunizationRecommendation.recommendation.vaccineCode", description="Vaccine or vaccine group recommendation applies to", type="token" ) 1891 public static final String SP_VACCINE_TYPE = "vaccine-type"; 1892 /** 1893 * <b>Fluent Client</b> search parameter constant for <b>vaccine-type</b> 1894 * <p> 1895 * Description: <b>Vaccine or vaccine group recommendation applies to</b><br> 1896 * Type: <b>token</b><br> 1897 * Path: <b>ImmunizationRecommendation.recommendation.vaccineCode</b><br> 1898 * </p> 1899 */ 1900 public static final ca.uhn.fhir.rest.gclient.TokenClientParam VACCINE_TYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_VACCINE_TYPE); 1901 1902 /** 1903 * Search parameter: <b>date</b> 1904 * <p> 1905 * Description: <b>Multiple Resources: 1906 1907* [AdverseEvent](adverseevent.html): When the event occurred 1908* [AllergyIntolerance](allergyintolerance.html): Date first version of the resource instance was recorded 1909* [Appointment](appointment.html): Appointment date/time. 1910* [AuditEvent](auditevent.html): Time when the event was recorded 1911* [CarePlan](careplan.html): Time period plan covers 1912* [CareTeam](careteam.html): A date within the coverage time period. 1913* [ClinicalImpression](clinicalimpression.html): When the assessment was documented 1914* [Composition](composition.html): Composition editing time 1915* [Consent](consent.html): When consent was agreed to 1916* [DiagnosticReport](diagnosticreport.html): The clinically relevant time of the report 1917* [DocumentReference](documentreference.html): When this document reference was created 1918* [Encounter](encounter.html): A date within the actualPeriod the Encounter lasted 1919* [EpisodeOfCare](episodeofcare.html): The provided date search value falls within the episode of care's period 1920* [FamilyMemberHistory](familymemberhistory.html): When history was recorded or last updated 1921* [Flag](flag.html): Time period when flag is active 1922* [Immunization](immunization.html): Vaccination (non)-Administration Date 1923* [ImmunizationEvaluation](immunizationevaluation.html): Date the evaluation was generated 1924* [ImmunizationRecommendation](immunizationrecommendation.html): Date recommendation(s) created 1925* [Invoice](invoice.html): Invoice date / posting date 1926* [List](list.html): When the list was prepared 1927* [MeasureReport](measurereport.html): The date of the measure report 1928* [NutritionIntake](nutritionintake.html): Date when patient was taking (or not taking) the medication 1929* [Observation](observation.html): Clinically relevant time/time-period for observation 1930* [Procedure](procedure.html): When the procedure occurred or is occurring 1931* [ResearchSubject](researchsubject.html): Start and end of participation 1932* [RiskAssessment](riskassessment.html): When was assessment made? 1933* [SupplyRequest](supplyrequest.html): When the request was made 1934</b><br> 1935 * Type: <b>date</b><br> 1936 * Path: <b>AdverseEvent.occurrence.ofType(dateTime) | AdverseEvent.occurrence.ofType(Period) | AdverseEvent.occurrence.ofType(Timing) | AllergyIntolerance.recordedDate | (start | requestedPeriod.start).first() | AuditEvent.recorded | CarePlan.period | ClinicalImpression.date | Composition.date | Consent.date | DiagnosticReport.effective.ofType(dateTime) | DiagnosticReport.effective.ofType(Period) | DocumentReference.date | Encounter.actualPeriod | EpisodeOfCare.period | FamilyMemberHistory.date | Flag.period | (Immunization.occurrence.ofType(dateTime)) | ImmunizationEvaluation.date | ImmunizationRecommendation.date | Invoice.date | List.date | MeasureReport.date | NutritionIntake.occurrence.ofType(dateTime) | NutritionIntake.occurrence.ofType(Period) | Observation.effective.ofType(dateTime) | Observation.effective.ofType(Period) | Observation.effective.ofType(Timing) | Observation.effective.ofType(instant) | Procedure.occurrence.ofType(dateTime) | Procedure.occurrence.ofType(Period) | Procedure.occurrence.ofType(Timing) | ResearchSubject.period | (RiskAssessment.occurrence.ofType(dateTime)) | SupplyRequest.authoredOn</b><br> 1937 * </p> 1938 */ 1939 @SearchParamDefinition(name="date", path="AdverseEvent.occurrence.ofType(dateTime) | AdverseEvent.occurrence.ofType(Period) | AdverseEvent.occurrence.ofType(Timing) | AllergyIntolerance.recordedDate | (start | requestedPeriod.start).first() | AuditEvent.recorded | CarePlan.period | ClinicalImpression.date | Composition.date | Consent.date | DiagnosticReport.effective.ofType(dateTime) | DiagnosticReport.effective.ofType(Period) | DocumentReference.date | Encounter.actualPeriod | EpisodeOfCare.period | FamilyMemberHistory.date | Flag.period | (Immunization.occurrence.ofType(dateTime)) | ImmunizationEvaluation.date | ImmunizationRecommendation.date | Invoice.date | List.date | MeasureReport.date | NutritionIntake.occurrence.ofType(dateTime) | NutritionIntake.occurrence.ofType(Period) | Observation.effective.ofType(dateTime) | Observation.effective.ofType(Period) | Observation.effective.ofType(Timing) | Observation.effective.ofType(instant) | Procedure.occurrence.ofType(dateTime) | Procedure.occurrence.ofType(Period) | Procedure.occurrence.ofType(Timing) | ResearchSubject.period | (RiskAssessment.occurrence.ofType(dateTime)) | SupplyRequest.authoredOn", description="Multiple Resources: \r\n\r\n* [AdverseEvent](adverseevent.html): When the event occurred\r\n* [AllergyIntolerance](allergyintolerance.html): Date first version of the resource instance was recorded\r\n* [Appointment](appointment.html): Appointment date/time.\r\n* [AuditEvent](auditevent.html): Time when the event was recorded\r\n* [CarePlan](careplan.html): Time period plan covers\r\n* [CareTeam](careteam.html): A date within the coverage time period.\r\n* [ClinicalImpression](clinicalimpression.html): When the assessment was documented\r\n* [Composition](composition.html): Composition editing time\r\n* [Consent](consent.html): When consent was agreed to\r\n* [DiagnosticReport](diagnosticreport.html): The clinically relevant time of the report\r\n* [DocumentReference](documentreference.html): When this document reference was created\r\n* [Encounter](encounter.html): A date within the actualPeriod the Encounter lasted\r\n* [EpisodeOfCare](episodeofcare.html): The provided date search value falls within the episode of care's period\r\n* [FamilyMemberHistory](familymemberhistory.html): When history was recorded or last updated\r\n* [Flag](flag.html): Time period when flag is active\r\n* [Immunization](immunization.html): Vaccination (non)-Administration Date\r\n* [ImmunizationEvaluation](immunizationevaluation.html): Date the evaluation was generated\r\n* [ImmunizationRecommendation](immunizationrecommendation.html): Date recommendation(s) created\r\n* [Invoice](invoice.html): Invoice date / posting date\r\n* [List](list.html): When the list was prepared\r\n* [MeasureReport](measurereport.html): The date of the measure report\r\n* [NutritionIntake](nutritionintake.html): Date when patient was taking (or not taking) the medication\r\n* [Observation](observation.html): Clinically relevant time/time-period for observation\r\n* [Procedure](procedure.html): When the procedure occurred or is occurring\r\n* [ResearchSubject](researchsubject.html): Start and end of participation\r\n* [RiskAssessment](riskassessment.html): When was assessment made?\r\n* [SupplyRequest](supplyrequest.html): When the request was made\r\n", type="date" ) 1940 public static final String SP_DATE = "date"; 1941 /** 1942 * <b>Fluent Client</b> search parameter constant for <b>date</b> 1943 * <p> 1944 * Description: <b>Multiple Resources: 1945 1946* [AdverseEvent](adverseevent.html): When the event occurred 1947* [AllergyIntolerance](allergyintolerance.html): Date first version of the resource instance was recorded 1948* [Appointment](appointment.html): Appointment date/time. 1949* [AuditEvent](auditevent.html): Time when the event was recorded 1950* [CarePlan](careplan.html): Time period plan covers 1951* [CareTeam](careteam.html): A date within the coverage time period. 1952* [ClinicalImpression](clinicalimpression.html): When the assessment was documented 1953* [Composition](composition.html): Composition editing time 1954* [Consent](consent.html): When consent was agreed to 1955* [DiagnosticReport](diagnosticreport.html): The clinically relevant time of the report 1956* [DocumentReference](documentreference.html): When this document reference was created 1957* [Encounter](encounter.html): A date within the actualPeriod the Encounter lasted 1958* [EpisodeOfCare](episodeofcare.html): The provided date search value falls within the episode of care's period 1959* [FamilyMemberHistory](familymemberhistory.html): When history was recorded or last updated 1960* [Flag](flag.html): Time period when flag is active 1961* [Immunization](immunization.html): Vaccination (non)-Administration Date 1962* [ImmunizationEvaluation](immunizationevaluation.html): Date the evaluation was generated 1963* [ImmunizationRecommendation](immunizationrecommendation.html): Date recommendation(s) created 1964* [Invoice](invoice.html): Invoice date / posting date 1965* [List](list.html): When the list was prepared 1966* [MeasureReport](measurereport.html): The date of the measure report 1967* [NutritionIntake](nutritionintake.html): Date when patient was taking (or not taking) the medication 1968* [Observation](observation.html): Clinically relevant time/time-period for observation 1969* [Procedure](procedure.html): When the procedure occurred or is occurring 1970* [ResearchSubject](researchsubject.html): Start and end of participation 1971* [RiskAssessment](riskassessment.html): When was assessment made? 1972* [SupplyRequest](supplyrequest.html): When the request was made 1973</b><br> 1974 * Type: <b>date</b><br> 1975 * Path: <b>AdverseEvent.occurrence.ofType(dateTime) | AdverseEvent.occurrence.ofType(Period) | AdverseEvent.occurrence.ofType(Timing) | AllergyIntolerance.recordedDate | (start | requestedPeriod.start).first() | AuditEvent.recorded | CarePlan.period | ClinicalImpression.date | Composition.date | Consent.date | DiagnosticReport.effective.ofType(dateTime) | DiagnosticReport.effective.ofType(Period) | DocumentReference.date | Encounter.actualPeriod | EpisodeOfCare.period | FamilyMemberHistory.date | Flag.period | (Immunization.occurrence.ofType(dateTime)) | ImmunizationEvaluation.date | ImmunizationRecommendation.date | Invoice.date | List.date | MeasureReport.date | NutritionIntake.occurrence.ofType(dateTime) | NutritionIntake.occurrence.ofType(Period) | Observation.effective.ofType(dateTime) | Observation.effective.ofType(Period) | Observation.effective.ofType(Timing) | Observation.effective.ofType(instant) | Procedure.occurrence.ofType(dateTime) | Procedure.occurrence.ofType(Period) | Procedure.occurrence.ofType(Timing) | ResearchSubject.period | (RiskAssessment.occurrence.ofType(dateTime)) | SupplyRequest.authoredOn</b><br> 1976 * </p> 1977 */ 1978 public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE); 1979 1980 /** 1981 * Search parameter: <b>identifier</b> 1982 * <p> 1983 * Description: <b>Multiple Resources: 1984 1985* [Account](account.html): Account number 1986* [AdverseEvent](adverseevent.html): Business identifier for the event 1987* [AllergyIntolerance](allergyintolerance.html): External ids for this item 1988* [Appointment](appointment.html): An Identifier of the Appointment 1989* [AppointmentResponse](appointmentresponse.html): An Identifier in this appointment response 1990* [Basic](basic.html): Business identifier 1991* [BodyStructure](bodystructure.html): Bodystructure identifier 1992* [CarePlan](careplan.html): External Ids for this plan 1993* [CareTeam](careteam.html): External Ids for this team 1994* [ChargeItem](chargeitem.html): Business Identifier for item 1995* [Claim](claim.html): The primary identifier of the financial resource 1996* [ClaimResponse](claimresponse.html): The identity of the ClaimResponse 1997* [ClinicalImpression](clinicalimpression.html): Business identifier 1998* [Communication](communication.html): Unique identifier 1999* [CommunicationRequest](communicationrequest.html): Unique identifier 2000* [Composition](composition.html): Version-independent identifier for the Composition 2001* [Condition](condition.html): A unique identifier of the condition record 2002* [Consent](consent.html): Identifier for this record (external references) 2003* [Contract](contract.html): The identity of the contract 2004* [Coverage](coverage.html): The primary identifier of the insured and the coverage 2005* [CoverageEligibilityRequest](coverageeligibilityrequest.html): The business identifier of the Eligibility 2006* [CoverageEligibilityResponse](coverageeligibilityresponse.html): The business identifier 2007* [DetectedIssue](detectedissue.html): Unique id for the detected issue 2008* [DeviceRequest](devicerequest.html): Business identifier for request/order 2009* [DeviceUsage](deviceusage.html): Search by identifier 2010* [DiagnosticReport](diagnosticreport.html): An identifier for the report 2011* [DocumentReference](documentreference.html): Identifier of the attachment binary 2012* [Encounter](encounter.html): Identifier(s) by which this encounter is known 2013* [EnrollmentRequest](enrollmentrequest.html): The business identifier of the Enrollment 2014* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare 2015* [ExplanationOfBenefit](explanationofbenefit.html): The business identifier of the Explanation of Benefit 2016* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier 2017* [Flag](flag.html): Business identifier 2018* [Goal](goal.html): External Ids for this goal 2019* [GuidanceResponse](guidanceresponse.html): The identifier of the guidance response 2020* [ImagingSelection](imagingselection.html): Identifiers for the imaging selection 2021* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID 2022* [Immunization](immunization.html): Business identifier 2023* [ImmunizationEvaluation](immunizationevaluation.html): ID of the evaluation 2024* [ImmunizationRecommendation](immunizationrecommendation.html): Business identifier 2025* [Invoice](invoice.html): Business Identifier for item 2026* [List](list.html): Business identifier 2027* [MeasureReport](measurereport.html): External identifier of the measure report to be returned 2028* [Medication](medication.html): Returns medications with this external identifier 2029* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier 2030* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier 2031* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier 2032* [MedicationStatement](medicationstatement.html): Return statements with this external identifier 2033* [MolecularSequence](molecularsequence.html): The unique identity for a particular sequence 2034* [NutritionIntake](nutritionintake.html): Return statements with this external identifier 2035* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier 2036* [Observation](observation.html): The unique id for a particular observation 2037* [Person](person.html): A person Identifier 2038* [Procedure](procedure.html): A unique identifier for a procedure 2039* [QuestionnaireResponse](questionnaireresponse.html): The unique identifier for the questionnaire response 2040* [RelatedPerson](relatedperson.html): An Identifier of the RelatedPerson 2041* [RequestOrchestration](requestorchestration.html): External identifiers for the request orchestration 2042* [ResearchSubject](researchsubject.html): Business Identifier for research subject in a study 2043* [RiskAssessment](riskassessment.html): Unique identifier for the assessment 2044* [ServiceRequest](servicerequest.html): Identifiers assigned to this order 2045* [Specimen](specimen.html): The unique identifier associated with the specimen 2046* [SupplyDelivery](supplydelivery.html): External identifier 2047* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest 2048* [Task](task.html): Search for a task instance by its business identifier 2049* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier 2050</b><br> 2051 * Type: <b>token</b><br> 2052 * Path: <b>Account.identifier | AdverseEvent.identifier | AllergyIntolerance.identifier | Appointment.identifier | AppointmentResponse.identifier | Basic.identifier | BodyStructure.identifier | CarePlan.identifier | CareTeam.identifier | ChargeItem.identifier | Claim.identifier | ClaimResponse.identifier | ClinicalImpression.identifier | Communication.identifier | CommunicationRequest.identifier | Composition.identifier | Condition.identifier | Consent.identifier | Contract.identifier | Coverage.identifier | CoverageEligibilityRequest.identifier | CoverageEligibilityResponse.identifier | DetectedIssue.identifier | DeviceRequest.identifier | DeviceUsage.identifier | DiagnosticReport.identifier | DocumentReference.identifier | Encounter.identifier | EnrollmentRequest.identifier | EpisodeOfCare.identifier | ExplanationOfBenefit.identifier | FamilyMemberHistory.identifier | Flag.identifier | Goal.identifier | GuidanceResponse.identifier | ImagingSelection.identifier | ImagingStudy.identifier | Immunization.identifier | ImmunizationEvaluation.identifier | ImmunizationRecommendation.identifier | Invoice.identifier | List.identifier | MeasureReport.identifier | Medication.identifier | MedicationAdministration.identifier | MedicationDispense.identifier | MedicationRequest.identifier | MedicationStatement.identifier | MolecularSequence.identifier | NutritionIntake.identifier | NutritionOrder.identifier | Observation.identifier | Person.identifier | Procedure.identifier | QuestionnaireResponse.identifier | RelatedPerson.identifier | RequestOrchestration.identifier | ResearchSubject.identifier | RiskAssessment.identifier | ServiceRequest.identifier | Specimen.identifier | SupplyDelivery.identifier | SupplyRequest.identifier | Task.identifier | VisionPrescription.identifier</b><br> 2053 * </p> 2054 */ 2055 @SearchParamDefinition(name="identifier", path="Account.identifier | AdverseEvent.identifier | AllergyIntolerance.identifier | Appointment.identifier | AppointmentResponse.identifier | Basic.identifier | BodyStructure.identifier | CarePlan.identifier | CareTeam.identifier | ChargeItem.identifier | Claim.identifier | ClaimResponse.identifier | ClinicalImpression.identifier | Communication.identifier | CommunicationRequest.identifier | Composition.identifier | Condition.identifier | Consent.identifier | Contract.identifier | Coverage.identifier | CoverageEligibilityRequest.identifier | CoverageEligibilityResponse.identifier | DetectedIssue.identifier | DeviceRequest.identifier | DeviceUsage.identifier | DiagnosticReport.identifier | DocumentReference.identifier | Encounter.identifier | EnrollmentRequest.identifier | EpisodeOfCare.identifier | ExplanationOfBenefit.identifier | FamilyMemberHistory.identifier | Flag.identifier | Goal.identifier | GuidanceResponse.identifier | ImagingSelection.identifier | ImagingStudy.identifier | Immunization.identifier | ImmunizationEvaluation.identifier | ImmunizationRecommendation.identifier | Invoice.identifier | List.identifier | MeasureReport.identifier | Medication.identifier | MedicationAdministration.identifier | MedicationDispense.identifier | MedicationRequest.identifier | MedicationStatement.identifier | MolecularSequence.identifier | NutritionIntake.identifier | NutritionOrder.identifier | Observation.identifier | Person.identifier | Procedure.identifier | QuestionnaireResponse.identifier | RelatedPerson.identifier | RequestOrchestration.identifier | ResearchSubject.identifier | RiskAssessment.identifier | ServiceRequest.identifier | Specimen.identifier | SupplyDelivery.identifier | SupplyRequest.identifier | Task.identifier | VisionPrescription.identifier", description="Multiple Resources: \r\n\r\n* [Account](account.html): Account number\r\n* [AdverseEvent](adverseevent.html): Business identifier for the event\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [Appointment](appointment.html): An Identifier of the Appointment\r\n* [AppointmentResponse](appointmentresponse.html): An Identifier in this appointment response\r\n* [Basic](basic.html): Business identifier\r\n* [BodyStructure](bodystructure.html): Bodystructure identifier\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [ChargeItem](chargeitem.html): Business Identifier for item\r\n* [Claim](claim.html): The primary identifier of the financial resource\r\n* [ClaimResponse](claimresponse.html): The identity of the ClaimResponse\r\n* [ClinicalImpression](clinicalimpression.html): Business identifier\r\n* [Communication](communication.html): Unique identifier\r\n* [CommunicationRequest](communicationrequest.html): Unique identifier\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [Contract](contract.html): The identity of the contract\r\n* [Coverage](coverage.html): The primary identifier of the insured and the coverage\r\n* [CoverageEligibilityRequest](coverageeligibilityrequest.html): The business identifier of the Eligibility\r\n* [CoverageEligibilityResponse](coverageeligibilityresponse.html): The business identifier\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DeviceUsage](deviceusage.html): Search by identifier\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentReference](documentreference.html): Identifier of the attachment binary\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EnrollmentRequest](enrollmentrequest.html): The business identifier of the Enrollment\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [ExplanationOfBenefit](explanationofbenefit.html): The business identifier of the Explanation of Benefit\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Flag](flag.html): Business identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [GuidanceResponse](guidanceresponse.html): The identifier of the guidance response\r\n* [ImagingSelection](imagingselection.html): Identifiers for the imaging selection\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID\r\n* [Immunization](immunization.html): Business identifier\r\n* [ImmunizationEvaluation](immunizationevaluation.html): ID of the evaluation\r\n* [ImmunizationRecommendation](immunizationrecommendation.html): Business identifier\r\n* [Invoice](invoice.html): Business Identifier for item\r\n* [List](list.html): Business identifier\r\n* [MeasureReport](measurereport.html): External identifier of the measure report to be returned\r\n* [Medication](medication.html): Returns medications with this external identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [MolecularSequence](molecularsequence.html): The unique identity for a particular sequence\r\n* [NutritionIntake](nutritionintake.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Person](person.html): A person Identifier\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [QuestionnaireResponse](questionnaireresponse.html): The unique identifier for the questionnaire response\r\n* [RelatedPerson](relatedperson.html): An Identifier of the RelatedPerson\r\n* [RequestOrchestration](requestorchestration.html): External identifiers for the request orchestration\r\n* [ResearchSubject](researchsubject.html): Business Identifier for research subject in a study\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [Specimen](specimen.html): The unique identifier associated with the specimen\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [Task](task.html): Search for a task instance by its business identifier\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", type="token" ) 2056 public static final String SP_IDENTIFIER = "identifier"; 2057 /** 2058 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 2059 * <p> 2060 * Description: <b>Multiple Resources: 2061 2062* [Account](account.html): Account number 2063* [AdverseEvent](adverseevent.html): Business identifier for the event 2064* [AllergyIntolerance](allergyintolerance.html): External ids for this item 2065* [Appointment](appointment.html): An Identifier of the Appointment 2066* [AppointmentResponse](appointmentresponse.html): An Identifier in this appointment response 2067* [Basic](basic.html): Business identifier 2068* [BodyStructure](bodystructure.html): Bodystructure identifier 2069* [CarePlan](careplan.html): External Ids for this plan 2070* [CareTeam](careteam.html): External Ids for this team 2071* [ChargeItem](chargeitem.html): Business Identifier for item 2072* [Claim](claim.html): The primary identifier of the financial resource 2073* [ClaimResponse](claimresponse.html): The identity of the ClaimResponse 2074* [ClinicalImpression](clinicalimpression.html): Business identifier 2075* [Communication](communication.html): Unique identifier 2076* [CommunicationRequest](communicationrequest.html): Unique identifier 2077* [Composition](composition.html): Version-independent identifier for the Composition 2078* [Condition](condition.html): A unique identifier of the condition record 2079* [Consent](consent.html): Identifier for this record (external references) 2080* [Contract](contract.html): The identity of the contract 2081* [Coverage](coverage.html): The primary identifier of the insured and the coverage 2082* [CoverageEligibilityRequest](coverageeligibilityrequest.html): The business identifier of the Eligibility 2083* [CoverageEligibilityResponse](coverageeligibilityresponse.html): The business identifier 2084* [DetectedIssue](detectedissue.html): Unique id for the detected issue 2085* [DeviceRequest](devicerequest.html): Business identifier for request/order 2086* [DeviceUsage](deviceusage.html): Search by identifier 2087* [DiagnosticReport](diagnosticreport.html): An identifier for the report 2088* [DocumentReference](documentreference.html): Identifier of the attachment binary 2089* [Encounter](encounter.html): Identifier(s) by which this encounter is known 2090* [EnrollmentRequest](enrollmentrequest.html): The business identifier of the Enrollment 2091* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare 2092* [ExplanationOfBenefit](explanationofbenefit.html): The business identifier of the Explanation of Benefit 2093* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier 2094* [Flag](flag.html): Business identifier 2095* [Goal](goal.html): External Ids for this goal 2096* [GuidanceResponse](guidanceresponse.html): The identifier of the guidance response 2097* [ImagingSelection](imagingselection.html): Identifiers for the imaging selection 2098* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID 2099* [Immunization](immunization.html): Business identifier 2100* [ImmunizationEvaluation](immunizationevaluation.html): ID of the evaluation 2101* [ImmunizationRecommendation](immunizationrecommendation.html): Business identifier 2102* [Invoice](invoice.html): Business Identifier for item 2103* [List](list.html): Business identifier 2104* [MeasureReport](measurereport.html): External identifier of the measure report to be returned 2105* [Medication](medication.html): Returns medications with this external identifier 2106* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier 2107* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier 2108* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier 2109* [MedicationStatement](medicationstatement.html): Return statements with this external identifier 2110* [MolecularSequence](molecularsequence.html): The unique identity for a particular sequence 2111* [NutritionIntake](nutritionintake.html): Return statements with this external identifier 2112* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier 2113* [Observation](observation.html): The unique id for a particular observation 2114* [Person](person.html): A person Identifier 2115* [Procedure](procedure.html): A unique identifier for a procedure 2116* [QuestionnaireResponse](questionnaireresponse.html): The unique identifier for the questionnaire response 2117* [RelatedPerson](relatedperson.html): An Identifier of the RelatedPerson 2118* [RequestOrchestration](requestorchestration.html): External identifiers for the request orchestration 2119* [ResearchSubject](researchsubject.html): Business Identifier for research subject in a study 2120* [RiskAssessment](riskassessment.html): Unique identifier for the assessment 2121* [ServiceRequest](servicerequest.html): Identifiers assigned to this order 2122* [Specimen](specimen.html): The unique identifier associated with the specimen 2123* [SupplyDelivery](supplydelivery.html): External identifier 2124* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest 2125* [Task](task.html): Search for a task instance by its business identifier 2126* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier 2127</b><br> 2128 * Type: <b>token</b><br> 2129 * Path: <b>Account.identifier | AdverseEvent.identifier | AllergyIntolerance.identifier | Appointment.identifier | AppointmentResponse.identifier | Basic.identifier | BodyStructure.identifier | CarePlan.identifier | CareTeam.identifier | ChargeItem.identifier | Claim.identifier | ClaimResponse.identifier | ClinicalImpression.identifier | Communication.identifier | CommunicationRequest.identifier | Composition.identifier | Condition.identifier | Consent.identifier | Contract.identifier | Coverage.identifier | CoverageEligibilityRequest.identifier | CoverageEligibilityResponse.identifier | DetectedIssue.identifier | DeviceRequest.identifier | DeviceUsage.identifier | DiagnosticReport.identifier | DocumentReference.identifier | Encounter.identifier | EnrollmentRequest.identifier | EpisodeOfCare.identifier | ExplanationOfBenefit.identifier | FamilyMemberHistory.identifier | Flag.identifier | Goal.identifier | GuidanceResponse.identifier | ImagingSelection.identifier | ImagingStudy.identifier | Immunization.identifier | ImmunizationEvaluation.identifier | ImmunizationRecommendation.identifier | Invoice.identifier | List.identifier | MeasureReport.identifier | Medication.identifier | MedicationAdministration.identifier | MedicationDispense.identifier | MedicationRequest.identifier | MedicationStatement.identifier | MolecularSequence.identifier | NutritionIntake.identifier | NutritionOrder.identifier | Observation.identifier | Person.identifier | Procedure.identifier | QuestionnaireResponse.identifier | RelatedPerson.identifier | RequestOrchestration.identifier | ResearchSubject.identifier | RiskAssessment.identifier | ServiceRequest.identifier | Specimen.identifier | SupplyDelivery.identifier | SupplyRequest.identifier | Task.identifier | VisionPrescription.identifier</b><br> 2130 * </p> 2131 */ 2132 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 2133 2134 /** 2135 * Search parameter: <b>patient</b> 2136 * <p> 2137 * Description: <b>Multiple Resources: 2138 2139* [Account](account.html): The entity that caused the expenses 2140* [AdverseEvent](adverseevent.html): Subject impacted by event 2141* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for 2142* [Appointment](appointment.html): One of the individuals of the appointment is this patient 2143* [AppointmentResponse](appointmentresponse.html): This Response is for this Patient 2144* [AuditEvent](auditevent.html): Where the activity involved patient data 2145* [Basic](basic.html): Identifies the focus of this resource 2146* [BodyStructure](bodystructure.html): Who this is about 2147* [CarePlan](careplan.html): Who the care plan is for 2148* [CareTeam](careteam.html): Who care team is for 2149* [ChargeItem](chargeitem.html): Individual service was done for/to 2150* [Claim](claim.html): Patient receiving the products or services 2151* [ClaimResponse](claimresponse.html): The subject of care 2152* [ClinicalImpression](clinicalimpression.html): Patient assessed 2153* [Communication](communication.html): Focus of message 2154* [CommunicationRequest](communicationrequest.html): Focus of message 2155* [Composition](composition.html): Who and/or what the composition is about 2156* [Condition](condition.html): Who has the condition? 2157* [Consent](consent.html): Who the consent applies to 2158* [Contract](contract.html): The identity of the subject of the contract (if a patient) 2159* [Coverage](coverage.html): Retrieve coverages for a patient 2160* [CoverageEligibilityRequest](coverageeligibilityrequest.html): The reference to the patient 2161* [CoverageEligibilityResponse](coverageeligibilityresponse.html): The reference to the patient 2162* [DetectedIssue](detectedissue.html): Associated patient 2163* [DeviceRequest](devicerequest.html): Individual the service is ordered for 2164* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device 2165* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient 2166* [DocumentReference](documentreference.html): Who/what is the subject of the document 2167* [Encounter](encounter.html): The patient present at the encounter 2168* [EnrollmentRequest](enrollmentrequest.html): The party to be enrolled 2169* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care 2170* [ExplanationOfBenefit](explanationofbenefit.html): The reference to the patient 2171* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for 2172* [Flag](flag.html): The identity of a subject to list flags for 2173* [Goal](goal.html): Who this goal is intended for 2174* [GuidanceResponse](guidanceresponse.html): The identity of a patient to search for guidance response results 2175* [ImagingSelection](imagingselection.html): Who the study is about 2176* [ImagingStudy](imagingstudy.html): Who the study is about 2177* [Immunization](immunization.html): The patient for the vaccination record 2178* [ImmunizationEvaluation](immunizationevaluation.html): The patient being evaluated 2179* [ImmunizationRecommendation](immunizationrecommendation.html): Who this profile is for 2180* [Invoice](invoice.html): Recipient(s) of goods and services 2181* [List](list.html): If all resources have the same subject 2182* [MeasureReport](measurereport.html): The identity of a patient to search for individual measure report results for 2183* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for 2184* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for 2185* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient 2186* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient. 2187* [MolecularSequence](molecularsequence.html): The subject that the sequence is about 2188* [NutritionIntake](nutritionintake.html): Returns statements for a specific patient. 2189* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement 2190* [Observation](observation.html): The subject that the observation is about (if patient) 2191* [Person](person.html): The Person links to this Patient 2192* [Procedure](procedure.html): Search by subject - a patient 2193* [Provenance](provenance.html): Where the activity involved patient data 2194* [QuestionnaireResponse](questionnaireresponse.html): The patient that is the subject of the questionnaire response 2195* [RelatedPerson](relatedperson.html): The patient this related person is related to 2196* [RequestOrchestration](requestorchestration.html): The identity of a patient to search for request orchestrations 2197* [ResearchSubject](researchsubject.html): Who or what is part of study 2198* [RiskAssessment](riskassessment.html): Who/what does assessment apply to? 2199* [ServiceRequest](servicerequest.html): Search by subject - a patient 2200* [Specimen](specimen.html): The patient the specimen comes from 2201* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied 2202* [SupplyRequest](supplyrequest.html): The patient or subject for whom the supply is destined 2203* [Task](task.html): Search by patient 2204* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for 2205</b><br> 2206 * Type: <b>reference</b><br> 2207 * Path: <b>Account.subject.where(resolve() is Patient) | AdverseEvent.subject.where(resolve() is Patient) | AllergyIntolerance.patient | Appointment.participant.actor.where(resolve() is Patient) | Appointment.subject.where(resolve() is Patient) | AppointmentResponse.actor.where(resolve() is Patient) | AuditEvent.patient | Basic.subject.where(resolve() is Patient) | BodyStructure.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ChargeItem.subject.where(resolve() is Patient) | Claim.patient | ClaimResponse.patient | ClinicalImpression.subject.where(resolve() is Patient) | Communication.subject.where(resolve() is Patient) | CommunicationRequest.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | Contract.subject.where(resolve() is Patient) | Coverage.beneficiary | CoverageEligibilityRequest.patient | CoverageEligibilityResponse.patient | DetectedIssue.subject.where(resolve() is Patient) | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EnrollmentRequest.candidate | EpisodeOfCare.patient | ExplanationOfBenefit.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | GuidanceResponse.subject.where(resolve() is Patient) | ImagingSelection.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | ImmunizationEvaluation.patient | ImmunizationRecommendation.patient | Invoice.subject.where(resolve() is Patient) | List.subject.where(resolve() is Patient) | MeasureReport.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationStatement.subject.where(resolve() is Patient) | MolecularSequence.subject.where(resolve() is Patient) | NutritionIntake.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Person.link.target.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | Provenance.patient | QuestionnaireResponse.subject.where(resolve() is Patient) | RelatedPerson.patient | RequestOrchestration.subject.where(resolve() is Patient) | ResearchSubject.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | Specimen.subject.where(resolve() is Patient) | SupplyDelivery.patient | SupplyRequest.deliverFor | Task.for.where(resolve() is Patient) | VisionPrescription.patient</b><br> 2208 * </p> 2209 */ 2210 @SearchParamDefinition(name="patient", path="Account.subject.where(resolve() is Patient) | AdverseEvent.subject.where(resolve() is Patient) | AllergyIntolerance.patient | Appointment.participant.actor.where(resolve() is Patient) | Appointment.subject.where(resolve() is Patient) | AppointmentResponse.actor.where(resolve() is Patient) | AuditEvent.patient | Basic.subject.where(resolve() is Patient) | BodyStructure.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ChargeItem.subject.where(resolve() is Patient) | Claim.patient | ClaimResponse.patient | ClinicalImpression.subject.where(resolve() is Patient) | Communication.subject.where(resolve() is Patient) | CommunicationRequest.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | Contract.subject.where(resolve() is Patient) | Coverage.beneficiary | CoverageEligibilityRequest.patient | CoverageEligibilityResponse.patient | DetectedIssue.subject.where(resolve() is Patient) | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EnrollmentRequest.candidate | EpisodeOfCare.patient | ExplanationOfBenefit.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | GuidanceResponse.subject.where(resolve() is Patient) | ImagingSelection.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | ImmunizationEvaluation.patient | ImmunizationRecommendation.patient | Invoice.subject.where(resolve() is Patient) | List.subject.where(resolve() is Patient) | MeasureReport.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationStatement.subject.where(resolve() is Patient) | MolecularSequence.subject.where(resolve() is Patient) | NutritionIntake.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Person.link.target.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | Provenance.patient | QuestionnaireResponse.subject.where(resolve() is Patient) | RelatedPerson.patient | RequestOrchestration.subject.where(resolve() is Patient) | ResearchSubject.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | Specimen.subject.where(resolve() is Patient) | SupplyDelivery.patient | SupplyRequest.deliverFor | Task.for.where(resolve() is Patient) | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [Account](account.html): The entity that caused the expenses\r\n* [AdverseEvent](adverseevent.html): Subject impacted by event\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [Appointment](appointment.html): One of the individuals of the appointment is this patient\r\n* [AppointmentResponse](appointmentresponse.html): This Response is for this Patient\r\n* [AuditEvent](auditevent.html): Where the activity involved patient data\r\n* [Basic](basic.html): Identifies the focus of this resource\r\n* [BodyStructure](bodystructure.html): Who this is about\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ChargeItem](chargeitem.html): Individual service was done for/to\r\n* [Claim](claim.html): Patient receiving the products or services\r\n* [ClaimResponse](claimresponse.html): The subject of care\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Communication](communication.html): Focus of message\r\n* [CommunicationRequest](communicationrequest.html): Focus of message\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [Contract](contract.html): The identity of the subject of the contract (if a patient)\r\n* [Coverage](coverage.html): Retrieve coverages for a patient\r\n* [CoverageEligibilityRequest](coverageeligibilityrequest.html): The reference to the patient\r\n* [CoverageEligibilityResponse](coverageeligibilityresponse.html): The reference to the patient\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EnrollmentRequest](enrollmentrequest.html): The party to be enrolled\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [ExplanationOfBenefit](explanationofbenefit.html): The reference to the patient\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [GuidanceResponse](guidanceresponse.html): The identity of a patient to search for guidance response results\r\n* [ImagingSelection](imagingselection.html): Who the study is about\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [ImmunizationEvaluation](immunizationevaluation.html): The patient being evaluated\r\n* [ImmunizationRecommendation](immunizationrecommendation.html): Who this profile is for\r\n* [Invoice](invoice.html): Recipient(s) of goods and services\r\n* [List](list.html): If all resources have the same subject\r\n* [MeasureReport](measurereport.html): The identity of a patient to search for individual measure report results for\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [MolecularSequence](molecularsequence.html): The subject that the sequence is about\r\n* [NutritionIntake](nutritionintake.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Person](person.html): The Person links to this Patient\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [Provenance](provenance.html): Where the activity involved patient data\r\n* [QuestionnaireResponse](questionnaireresponse.html): The patient that is the subject of the questionnaire response\r\n* [RelatedPerson](relatedperson.html): The patient this related person is related to\r\n* [RequestOrchestration](requestorchestration.html): The identity of a patient to search for request orchestrations\r\n* [ResearchSubject](researchsubject.html): Who or what is part of study\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [Specimen](specimen.html): The patient the specimen comes from\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [SupplyRequest](supplyrequest.html): The patient or subject for whom the supply is destined\r\n* [Task](task.html): Search by patient\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={Patient.class } ) 2211 public static final String SP_PATIENT = "patient"; 2212 /** 2213 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 2214 * <p> 2215 * Description: <b>Multiple Resources: 2216 2217* [Account](account.html): The entity that caused the expenses 2218* [AdverseEvent](adverseevent.html): Subject impacted by event 2219* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for 2220* [Appointment](appointment.html): One of the individuals of the appointment is this patient 2221* [AppointmentResponse](appointmentresponse.html): This Response is for this Patient 2222* [AuditEvent](auditevent.html): Where the activity involved patient data 2223* [Basic](basic.html): Identifies the focus of this resource 2224* [BodyStructure](bodystructure.html): Who this is about 2225* [CarePlan](careplan.html): Who the care plan is for 2226* [CareTeam](careteam.html): Who care team is for 2227* [ChargeItem](chargeitem.html): Individual service was done for/to 2228* [Claim](claim.html): Patient receiving the products or services 2229* [ClaimResponse](claimresponse.html): The subject of care 2230* [ClinicalImpression](clinicalimpression.html): Patient assessed 2231* [Communication](communication.html): Focus of message 2232* [CommunicationRequest](communicationrequest.html): Focus of message 2233* [Composition](composition.html): Who and/or what the composition is about 2234* [Condition](condition.html): Who has the condition? 2235* [Consent](consent.html): Who the consent applies to 2236* [Contract](contract.html): The identity of the subject of the contract (if a patient) 2237* [Coverage](coverage.html): Retrieve coverages for a patient 2238* [CoverageEligibilityRequest](coverageeligibilityrequest.html): The reference to the patient 2239* [CoverageEligibilityResponse](coverageeligibilityresponse.html): The reference to the patient 2240* [DetectedIssue](detectedissue.html): Associated patient 2241* [DeviceRequest](devicerequest.html): Individual the service is ordered for 2242* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device 2243* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient 2244* [DocumentReference](documentreference.html): Who/what is the subject of the document 2245* [Encounter](encounter.html): The patient present at the encounter 2246* [EnrollmentRequest](enrollmentrequest.html): The party to be enrolled 2247* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care 2248* [ExplanationOfBenefit](explanationofbenefit.html): The reference to the patient 2249* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for 2250* [Flag](flag.html): The identity of a subject to list flags for 2251* [Goal](goal.html): Who this goal is intended for 2252* [GuidanceResponse](guidanceresponse.html): The identity of a patient to search for guidance response results 2253* [ImagingSelection](imagingselection.html): Who the study is about 2254* [ImagingStudy](imagingstudy.html): Who the study is about 2255* [Immunization](immunization.html): The patient for the vaccination record 2256* [ImmunizationEvaluation](immunizationevaluation.html): The patient being evaluated 2257* [ImmunizationRecommendation](immunizationrecommendation.html): Who this profile is for 2258* [Invoice](invoice.html): Recipient(s) of goods and services 2259* [List](list.html): If all resources have the same subject 2260* [MeasureReport](measurereport.html): The identity of a patient to search for individual measure report results for 2261* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for 2262* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for 2263* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient 2264* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient. 2265* [MolecularSequence](molecularsequence.html): The subject that the sequence is about 2266* [NutritionIntake](nutritionintake.html): Returns statements for a specific patient. 2267* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement 2268* [Observation](observation.html): The subject that the observation is about (if patient) 2269* [Person](person.html): The Person links to this Patient 2270* [Procedure](procedure.html): Search by subject - a patient 2271* [Provenance](provenance.html): Where the activity involved patient data 2272* [QuestionnaireResponse](questionnaireresponse.html): The patient that is the subject of the questionnaire response 2273* [RelatedPerson](relatedperson.html): The patient this related person is related to 2274* [RequestOrchestration](requestorchestration.html): The identity of a patient to search for request orchestrations 2275* [ResearchSubject](researchsubject.html): Who or what is part of study 2276* [RiskAssessment](riskassessment.html): Who/what does assessment apply to? 2277* [ServiceRequest](servicerequest.html): Search by subject - a patient 2278* [Specimen](specimen.html): The patient the specimen comes from 2279* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied 2280* [SupplyRequest](supplyrequest.html): The patient or subject for whom the supply is destined 2281* [Task](task.html): Search by patient 2282* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for 2283</b><br> 2284 * Type: <b>reference</b><br> 2285 * Path: <b>Account.subject.where(resolve() is Patient) | AdverseEvent.subject.where(resolve() is Patient) | AllergyIntolerance.patient | Appointment.participant.actor.where(resolve() is Patient) | Appointment.subject.where(resolve() is Patient) | AppointmentResponse.actor.where(resolve() is Patient) | AuditEvent.patient | Basic.subject.where(resolve() is Patient) | BodyStructure.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ChargeItem.subject.where(resolve() is Patient) | Claim.patient | ClaimResponse.patient | ClinicalImpression.subject.where(resolve() is Patient) | Communication.subject.where(resolve() is Patient) | CommunicationRequest.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | Contract.subject.where(resolve() is Patient) | Coverage.beneficiary | CoverageEligibilityRequest.patient | CoverageEligibilityResponse.patient | DetectedIssue.subject.where(resolve() is Patient) | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EnrollmentRequest.candidate | EpisodeOfCare.patient | ExplanationOfBenefit.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | GuidanceResponse.subject.where(resolve() is Patient) | ImagingSelection.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | ImmunizationEvaluation.patient | ImmunizationRecommendation.patient | Invoice.subject.where(resolve() is Patient) | List.subject.where(resolve() is Patient) | MeasureReport.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationStatement.subject.where(resolve() is Patient) | MolecularSequence.subject.where(resolve() is Patient) | NutritionIntake.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Person.link.target.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | Provenance.patient | QuestionnaireResponse.subject.where(resolve() is Patient) | RelatedPerson.patient | RequestOrchestration.subject.where(resolve() is Patient) | ResearchSubject.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | Specimen.subject.where(resolve() is Patient) | SupplyDelivery.patient | SupplyRequest.deliverFor | Task.for.where(resolve() is Patient) | VisionPrescription.patient</b><br> 2286 * </p> 2287 */ 2288 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); 2289 2290/** 2291 * Constant for fluent queries to be used to add include statements. Specifies 2292 * the path value of "<b>ImmunizationRecommendation:patient</b>". 2293 */ 2294 public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("ImmunizationRecommendation:patient").toLocked(); 2295 2296 2297} 2298