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 * The CoverageEligibilityRequest provides patient and insurance coverage information to an insurer for them to respond, in the form of an CoverageEligibilityResponse, with information regarding whether the stated coverage is valid and in-force and optionally to provide the insurance details of the policy. 052 */ 053@ResourceDef(name="CoverageEligibilityRequest", profile="http://hl7.org/fhir/StructureDefinition/CoverageEligibilityRequest") 054public class CoverageEligibilityRequest extends DomainResource { 055 056 public enum EligibilityRequestPurpose { 057 /** 058 * The prior authorization requirements for the listed, or discovered if specified, converages for the categories of service and/or specifed biling codes are requested. 059 */ 060 AUTHREQUIREMENTS, 061 /** 062 * The plan benefits and optionally benefits consumed for the listed, or discovered if specified, converages are requested. 063 */ 064 BENEFITS, 065 /** 066 * The insurer is requested to report on any coverages which they are aware of in addition to any specifed. 067 */ 068 DISCOVERY, 069 /** 070 * A check that the specified coverages are in-force is requested. 071 */ 072 VALIDATION, 073 /** 074 * added to help the parsers with the generic types 075 */ 076 NULL; 077 public static EligibilityRequestPurpose fromCode(String codeString) throws FHIRException { 078 if (codeString == null || "".equals(codeString)) 079 return null; 080 if ("auth-requirements".equals(codeString)) 081 return AUTHREQUIREMENTS; 082 if ("benefits".equals(codeString)) 083 return BENEFITS; 084 if ("discovery".equals(codeString)) 085 return DISCOVERY; 086 if ("validation".equals(codeString)) 087 return VALIDATION; 088 if (Configuration.isAcceptInvalidEnums()) 089 return null; 090 else 091 throw new FHIRException("Unknown EligibilityRequestPurpose code '"+codeString+"'"); 092 } 093 public String toCode() { 094 switch (this) { 095 case AUTHREQUIREMENTS: return "auth-requirements"; 096 case BENEFITS: return "benefits"; 097 case DISCOVERY: return "discovery"; 098 case VALIDATION: return "validation"; 099 case NULL: return null; 100 default: return "?"; 101 } 102 } 103 public String getSystem() { 104 switch (this) { 105 case AUTHREQUIREMENTS: return "http://hl7.org/fhir/eligibilityrequest-purpose"; 106 case BENEFITS: return "http://hl7.org/fhir/eligibilityrequest-purpose"; 107 case DISCOVERY: return "http://hl7.org/fhir/eligibilityrequest-purpose"; 108 case VALIDATION: return "http://hl7.org/fhir/eligibilityrequest-purpose"; 109 case NULL: return null; 110 default: return "?"; 111 } 112 } 113 public String getDefinition() { 114 switch (this) { 115 case AUTHREQUIREMENTS: return "The prior authorization requirements for the listed, or discovered if specified, converages for the categories of service and/or specifed biling codes are requested."; 116 case BENEFITS: return "The plan benefits and optionally benefits consumed for the listed, or discovered if specified, converages are requested."; 117 case DISCOVERY: return "The insurer is requested to report on any coverages which they are aware of in addition to any specifed."; 118 case VALIDATION: return "A check that the specified coverages are in-force is requested."; 119 case NULL: return null; 120 default: return "?"; 121 } 122 } 123 public String getDisplay() { 124 switch (this) { 125 case AUTHREQUIREMENTS: return "Coverage auth-requirements"; 126 case BENEFITS: return "Coverage benefits"; 127 case DISCOVERY: return "Coverage Discovery"; 128 case VALIDATION: return "Coverage Validation"; 129 case NULL: return null; 130 default: return "?"; 131 } 132 } 133 } 134 135 public static class EligibilityRequestPurposeEnumFactory implements EnumFactory<EligibilityRequestPurpose> { 136 public EligibilityRequestPurpose fromCode(String codeString) throws IllegalArgumentException { 137 if (codeString == null || "".equals(codeString)) 138 if (codeString == null || "".equals(codeString)) 139 return null; 140 if ("auth-requirements".equals(codeString)) 141 return EligibilityRequestPurpose.AUTHREQUIREMENTS; 142 if ("benefits".equals(codeString)) 143 return EligibilityRequestPurpose.BENEFITS; 144 if ("discovery".equals(codeString)) 145 return EligibilityRequestPurpose.DISCOVERY; 146 if ("validation".equals(codeString)) 147 return EligibilityRequestPurpose.VALIDATION; 148 throw new IllegalArgumentException("Unknown EligibilityRequestPurpose code '"+codeString+"'"); 149 } 150 public Enumeration<EligibilityRequestPurpose> fromType(PrimitiveType<?> code) throws FHIRException { 151 if (code == null) 152 return null; 153 if (code.isEmpty()) 154 return new Enumeration<EligibilityRequestPurpose>(this, EligibilityRequestPurpose.NULL, code); 155 String codeString = ((PrimitiveType) code).asStringValue(); 156 if (codeString == null || "".equals(codeString)) 157 return new Enumeration<EligibilityRequestPurpose>(this, EligibilityRequestPurpose.NULL, code); 158 if ("auth-requirements".equals(codeString)) 159 return new Enumeration<EligibilityRequestPurpose>(this, EligibilityRequestPurpose.AUTHREQUIREMENTS, code); 160 if ("benefits".equals(codeString)) 161 return new Enumeration<EligibilityRequestPurpose>(this, EligibilityRequestPurpose.BENEFITS, code); 162 if ("discovery".equals(codeString)) 163 return new Enumeration<EligibilityRequestPurpose>(this, EligibilityRequestPurpose.DISCOVERY, code); 164 if ("validation".equals(codeString)) 165 return new Enumeration<EligibilityRequestPurpose>(this, EligibilityRequestPurpose.VALIDATION, code); 166 throw new FHIRException("Unknown EligibilityRequestPurpose code '"+codeString+"'"); 167 } 168 public String toCode(EligibilityRequestPurpose code) { 169 if (code == EligibilityRequestPurpose.NULL) 170 return null; 171 if (code == EligibilityRequestPurpose.AUTHREQUIREMENTS) 172 return "auth-requirements"; 173 if (code == EligibilityRequestPurpose.BENEFITS) 174 return "benefits"; 175 if (code == EligibilityRequestPurpose.DISCOVERY) 176 return "discovery"; 177 if (code == EligibilityRequestPurpose.VALIDATION) 178 return "validation"; 179 return "?"; 180 } 181 public String toSystem(EligibilityRequestPurpose code) { 182 return code.getSystem(); 183 } 184 } 185 186 @Block() 187 public static class CoverageEligibilityRequestEventComponent extends BackboneElement implements IBaseBackboneElement { 188 /** 189 * A coded event such as when a service is expected or a card printed. 190 */ 191 @Child(name = "type", type = {CodeableConcept.class}, order=1, min=1, max=1, modifier=false, summary=false) 192 @Description(shortDefinition="Specific event", formalDefinition="A coded event such as when a service is expected or a card printed." ) 193 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/datestype") 194 protected CodeableConcept type; 195 196 /** 197 * A date or period in the past or future indicating when the event occurred or is expectd to occur. 198 */ 199 @Child(name = "when", type = {DateTimeType.class, Period.class}, order=2, min=1, max=1, modifier=false, summary=false) 200 @Description(shortDefinition="Occurance date or period", formalDefinition="A date or period in the past or future indicating when the event occurred or is expectd to occur." ) 201 protected DataType when; 202 203 private static final long serialVersionUID = -634897375L; 204 205 /** 206 * Constructor 207 */ 208 public CoverageEligibilityRequestEventComponent() { 209 super(); 210 } 211 212 /** 213 * Constructor 214 */ 215 public CoverageEligibilityRequestEventComponent(CodeableConcept type, DataType when) { 216 super(); 217 this.setType(type); 218 this.setWhen(when); 219 } 220 221 /** 222 * @return {@link #type} (A coded event such as when a service is expected or a card printed.) 223 */ 224 public CodeableConcept getType() { 225 if (this.type == null) 226 if (Configuration.errorOnAutoCreate()) 227 throw new Error("Attempt to auto-create CoverageEligibilityRequestEventComponent.type"); 228 else if (Configuration.doAutoCreate()) 229 this.type = new CodeableConcept(); // cc 230 return this.type; 231 } 232 233 public boolean hasType() { 234 return this.type != null && !this.type.isEmpty(); 235 } 236 237 /** 238 * @param value {@link #type} (A coded event such as when a service is expected or a card printed.) 239 */ 240 public CoverageEligibilityRequestEventComponent setType(CodeableConcept value) { 241 this.type = value; 242 return this; 243 } 244 245 /** 246 * @return {@link #when} (A date or period in the past or future indicating when the event occurred or is expectd to occur.) 247 */ 248 public DataType getWhen() { 249 return this.when; 250 } 251 252 /** 253 * @return {@link #when} (A date or period in the past or future indicating when the event occurred or is expectd to occur.) 254 */ 255 public DateTimeType getWhenDateTimeType() throws FHIRException { 256 if (this.when == null) 257 this.when = new DateTimeType(); 258 if (!(this.when instanceof DateTimeType)) 259 throw new FHIRException("Type mismatch: the type DateTimeType was expected, but "+this.when.getClass().getName()+" was encountered"); 260 return (DateTimeType) this.when; 261 } 262 263 public boolean hasWhenDateTimeType() { 264 return this != null && this.when instanceof DateTimeType; 265 } 266 267 /** 268 * @return {@link #when} (A date or period in the past or future indicating when the event occurred or is expectd to occur.) 269 */ 270 public Period getWhenPeriod() throws FHIRException { 271 if (this.when == null) 272 this.when = new Period(); 273 if (!(this.when instanceof Period)) 274 throw new FHIRException("Type mismatch: the type Period was expected, but "+this.when.getClass().getName()+" was encountered"); 275 return (Period) this.when; 276 } 277 278 public boolean hasWhenPeriod() { 279 return this != null && this.when instanceof Period; 280 } 281 282 public boolean hasWhen() { 283 return this.when != null && !this.when.isEmpty(); 284 } 285 286 /** 287 * @param value {@link #when} (A date or period in the past or future indicating when the event occurred or is expectd to occur.) 288 */ 289 public CoverageEligibilityRequestEventComponent setWhen(DataType value) { 290 if (value != null && !(value instanceof DateTimeType || value instanceof Period)) 291 throw new FHIRException("Not the right type for CoverageEligibilityRequest.event.when[x]: "+value.fhirType()); 292 this.when = value; 293 return this; 294 } 295 296 protected void listChildren(List<Property> children) { 297 super.listChildren(children); 298 children.add(new Property("type", "CodeableConcept", "A coded event such as when a service is expected or a card printed.", 0, 1, type)); 299 children.add(new Property("when[x]", "dateTime|Period", "A date or period in the past or future indicating when the event occurred or is expectd to occur.", 0, 1, when)); 300 } 301 302 @Override 303 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 304 switch (_hash) { 305 case 3575610: /*type*/ return new Property("type", "CodeableConcept", "A coded event such as when a service is expected or a card printed.", 0, 1, type); 306 case 1312831238: /*when[x]*/ return new Property("when[x]", "dateTime|Period", "A date or period in the past or future indicating when the event occurred or is expectd to occur.", 0, 1, when); 307 case 3648314: /*when*/ return new Property("when[x]", "dateTime|Period", "A date or period in the past or future indicating when the event occurred or is expectd to occur.", 0, 1, when); 308 case -1785502475: /*whenDateTime*/ return new Property("when[x]", "dateTime", "A date or period in the past or future indicating when the event occurred or is expectd to occur.", 0, 1, when); 309 case 251476379: /*whenPeriod*/ return new Property("when[x]", "Period", "A date or period in the past or future indicating when the event occurred or is expectd to occur.", 0, 1, when); 310 default: return super.getNamedProperty(_hash, _name, _checkValid); 311 } 312 313 } 314 315 @Override 316 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 317 switch (hash) { 318 case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeableConcept 319 case 3648314: /*when*/ return this.when == null ? new Base[0] : new Base[] {this.when}; // DataType 320 default: return super.getProperty(hash, name, checkValid); 321 } 322 323 } 324 325 @Override 326 public Base setProperty(int hash, String name, Base value) throws FHIRException { 327 switch (hash) { 328 case 3575610: // type 329 this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 330 return value; 331 case 3648314: // when 332 this.when = TypeConvertor.castToType(value); // DataType 333 return value; 334 default: return super.setProperty(hash, name, value); 335 } 336 337 } 338 339 @Override 340 public Base setProperty(String name, Base value) throws FHIRException { 341 if (name.equals("type")) { 342 this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 343 } else if (name.equals("when[x]")) { 344 this.when = TypeConvertor.castToType(value); // DataType 345 } else 346 return super.setProperty(name, value); 347 return value; 348 } 349 350 @Override 351 public void removeChild(String name, Base value) throws FHIRException { 352 if (name.equals("type")) { 353 this.type = null; 354 } else if (name.equals("when[x]")) { 355 this.when = null; 356 } else 357 super.removeChild(name, value); 358 359 } 360 361 @Override 362 public Base makeProperty(int hash, String name) throws FHIRException { 363 switch (hash) { 364 case 3575610: return getType(); 365 case 1312831238: return getWhen(); 366 case 3648314: return getWhen(); 367 default: return super.makeProperty(hash, name); 368 } 369 370 } 371 372 @Override 373 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 374 switch (hash) { 375 case 3575610: /*type*/ return new String[] {"CodeableConcept"}; 376 case 3648314: /*when*/ return new String[] {"dateTime", "Period"}; 377 default: return super.getTypesForProperty(hash, name); 378 } 379 380 } 381 382 @Override 383 public Base addChild(String name) throws FHIRException { 384 if (name.equals("type")) { 385 this.type = new CodeableConcept(); 386 return this.type; 387 } 388 else if (name.equals("whenDateTime")) { 389 this.when = new DateTimeType(); 390 return this.when; 391 } 392 else if (name.equals("whenPeriod")) { 393 this.when = new Period(); 394 return this.when; 395 } 396 else 397 return super.addChild(name); 398 } 399 400 public CoverageEligibilityRequestEventComponent copy() { 401 CoverageEligibilityRequestEventComponent dst = new CoverageEligibilityRequestEventComponent(); 402 copyValues(dst); 403 return dst; 404 } 405 406 public void copyValues(CoverageEligibilityRequestEventComponent dst) { 407 super.copyValues(dst); 408 dst.type = type == null ? null : type.copy(); 409 dst.when = when == null ? null : when.copy(); 410 } 411 412 @Override 413 public boolean equalsDeep(Base other_) { 414 if (!super.equalsDeep(other_)) 415 return false; 416 if (!(other_ instanceof CoverageEligibilityRequestEventComponent)) 417 return false; 418 CoverageEligibilityRequestEventComponent o = (CoverageEligibilityRequestEventComponent) other_; 419 return compareDeep(type, o.type, true) && compareDeep(when, o.when, true); 420 } 421 422 @Override 423 public boolean equalsShallow(Base other_) { 424 if (!super.equalsShallow(other_)) 425 return false; 426 if (!(other_ instanceof CoverageEligibilityRequestEventComponent)) 427 return false; 428 CoverageEligibilityRequestEventComponent o = (CoverageEligibilityRequestEventComponent) other_; 429 return true; 430 } 431 432 public boolean isEmpty() { 433 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(type, when); 434 } 435 436 public String fhirType() { 437 return "CoverageEligibilityRequest.event"; 438 439 } 440 441 } 442 443 @Block() 444 public static class SupportingInformationComponent extends BackboneElement implements IBaseBackboneElement { 445 /** 446 * A number to uniquely identify supporting information entries. 447 */ 448 @Child(name = "sequence", type = {PositiveIntType.class}, order=1, min=1, max=1, modifier=false, summary=false) 449 @Description(shortDefinition="Information instance identifier", formalDefinition="A number to uniquely identify supporting information entries." ) 450 protected PositiveIntType sequence; 451 452 /** 453 * Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data. 454 */ 455 @Child(name = "information", type = {Reference.class}, order=2, min=1, max=1, modifier=false, summary=false) 456 @Description(shortDefinition="Data to be provided", formalDefinition="Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data." ) 457 protected Reference information; 458 459 /** 460 * The supporting materials are applicable for all detail items, product/servce categories and specific billing codes. 461 */ 462 @Child(name = "appliesToAll", type = {BooleanType.class}, order=3, min=0, max=1, modifier=false, summary=false) 463 @Description(shortDefinition="Applies to all items", formalDefinition="The supporting materials are applicable for all detail items, product/servce categories and specific billing codes." ) 464 protected BooleanType appliesToAll; 465 466 private static final long serialVersionUID = -1430960090L; 467 468 /** 469 * Constructor 470 */ 471 public SupportingInformationComponent() { 472 super(); 473 } 474 475 /** 476 * Constructor 477 */ 478 public SupportingInformationComponent(int sequence, Reference information) { 479 super(); 480 this.setSequence(sequence); 481 this.setInformation(information); 482 } 483 484 /** 485 * @return {@link #sequence} (A number to uniquely identify supporting information entries.). This is the underlying object with id, value and extensions. The accessor "getSequence" gives direct access to the value 486 */ 487 public PositiveIntType getSequenceElement() { 488 if (this.sequence == null) 489 if (Configuration.errorOnAutoCreate()) 490 throw new Error("Attempt to auto-create SupportingInformationComponent.sequence"); 491 else if (Configuration.doAutoCreate()) 492 this.sequence = new PositiveIntType(); // bb 493 return this.sequence; 494 } 495 496 public boolean hasSequenceElement() { 497 return this.sequence != null && !this.sequence.isEmpty(); 498 } 499 500 public boolean hasSequence() { 501 return this.sequence != null && !this.sequence.isEmpty(); 502 } 503 504 /** 505 * @param value {@link #sequence} (A number to uniquely identify supporting information entries.). This is the underlying object with id, value and extensions. The accessor "getSequence" gives direct access to the value 506 */ 507 public SupportingInformationComponent setSequenceElement(PositiveIntType value) { 508 this.sequence = value; 509 return this; 510 } 511 512 /** 513 * @return A number to uniquely identify supporting information entries. 514 */ 515 public int getSequence() { 516 return this.sequence == null || this.sequence.isEmpty() ? 0 : this.sequence.getValue(); 517 } 518 519 /** 520 * @param value A number to uniquely identify supporting information entries. 521 */ 522 public SupportingInformationComponent setSequence(int value) { 523 if (this.sequence == null) 524 this.sequence = new PositiveIntType(); 525 this.sequence.setValue(value); 526 return this; 527 } 528 529 /** 530 * @return {@link #information} (Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.) 531 */ 532 public Reference getInformation() { 533 if (this.information == null) 534 if (Configuration.errorOnAutoCreate()) 535 throw new Error("Attempt to auto-create SupportingInformationComponent.information"); 536 else if (Configuration.doAutoCreate()) 537 this.information = new Reference(); // cc 538 return this.information; 539 } 540 541 public boolean hasInformation() { 542 return this.information != null && !this.information.isEmpty(); 543 } 544 545 /** 546 * @param value {@link #information} (Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.) 547 */ 548 public SupportingInformationComponent setInformation(Reference value) { 549 this.information = value; 550 return this; 551 } 552 553 /** 554 * @return {@link #appliesToAll} (The supporting materials are applicable for all detail items, product/servce categories and specific billing codes.). This is the underlying object with id, value and extensions. The accessor "getAppliesToAll" gives direct access to the value 555 */ 556 public BooleanType getAppliesToAllElement() { 557 if (this.appliesToAll == null) 558 if (Configuration.errorOnAutoCreate()) 559 throw new Error("Attempt to auto-create SupportingInformationComponent.appliesToAll"); 560 else if (Configuration.doAutoCreate()) 561 this.appliesToAll = new BooleanType(); // bb 562 return this.appliesToAll; 563 } 564 565 public boolean hasAppliesToAllElement() { 566 return this.appliesToAll != null && !this.appliesToAll.isEmpty(); 567 } 568 569 public boolean hasAppliesToAll() { 570 return this.appliesToAll != null && !this.appliesToAll.isEmpty(); 571 } 572 573 /** 574 * @param value {@link #appliesToAll} (The supporting materials are applicable for all detail items, product/servce categories and specific billing codes.). This is the underlying object with id, value and extensions. The accessor "getAppliesToAll" gives direct access to the value 575 */ 576 public SupportingInformationComponent setAppliesToAllElement(BooleanType value) { 577 this.appliesToAll = value; 578 return this; 579 } 580 581 /** 582 * @return The supporting materials are applicable for all detail items, product/servce categories and specific billing codes. 583 */ 584 public boolean getAppliesToAll() { 585 return this.appliesToAll == null || this.appliesToAll.isEmpty() ? false : this.appliesToAll.getValue(); 586 } 587 588 /** 589 * @param value The supporting materials are applicable for all detail items, product/servce categories and specific billing codes. 590 */ 591 public SupportingInformationComponent setAppliesToAll(boolean value) { 592 if (this.appliesToAll == null) 593 this.appliesToAll = new BooleanType(); 594 this.appliesToAll.setValue(value); 595 return this; 596 } 597 598 protected void listChildren(List<Property> children) { 599 super.listChildren(children); 600 children.add(new Property("sequence", "positiveInt", "A number to uniquely identify supporting information entries.", 0, 1, sequence)); 601 children.add(new Property("information", "Reference(Any)", "Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.", 0, 1, information)); 602 children.add(new Property("appliesToAll", "boolean", "The supporting materials are applicable for all detail items, product/servce categories and specific billing codes.", 0, 1, appliesToAll)); 603 } 604 605 @Override 606 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 607 switch (_hash) { 608 case 1349547969: /*sequence*/ return new Property("sequence", "positiveInt", "A number to uniquely identify supporting information entries.", 0, 1, sequence); 609 case 1968600364: /*information*/ return new Property("information", "Reference(Any)", "Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.", 0, 1, information); 610 case -1096846342: /*appliesToAll*/ return new Property("appliesToAll", "boolean", "The supporting materials are applicable for all detail items, product/servce categories and specific billing codes.", 0, 1, appliesToAll); 611 default: return super.getNamedProperty(_hash, _name, _checkValid); 612 } 613 614 } 615 616 @Override 617 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 618 switch (hash) { 619 case 1349547969: /*sequence*/ return this.sequence == null ? new Base[0] : new Base[] {this.sequence}; // PositiveIntType 620 case 1968600364: /*information*/ return this.information == null ? new Base[0] : new Base[] {this.information}; // Reference 621 case -1096846342: /*appliesToAll*/ return this.appliesToAll == null ? new Base[0] : new Base[] {this.appliesToAll}; // BooleanType 622 default: return super.getProperty(hash, name, checkValid); 623 } 624 625 } 626 627 @Override 628 public Base setProperty(int hash, String name, Base value) throws FHIRException { 629 switch (hash) { 630 case 1349547969: // sequence 631 this.sequence = TypeConvertor.castToPositiveInt(value); // PositiveIntType 632 return value; 633 case 1968600364: // information 634 this.information = TypeConvertor.castToReference(value); // Reference 635 return value; 636 case -1096846342: // appliesToAll 637 this.appliesToAll = TypeConvertor.castToBoolean(value); // BooleanType 638 return value; 639 default: return super.setProperty(hash, name, value); 640 } 641 642 } 643 644 @Override 645 public Base setProperty(String name, Base value) throws FHIRException { 646 if (name.equals("sequence")) { 647 this.sequence = TypeConvertor.castToPositiveInt(value); // PositiveIntType 648 } else if (name.equals("information")) { 649 this.information = TypeConvertor.castToReference(value); // Reference 650 } else if (name.equals("appliesToAll")) { 651 this.appliesToAll = TypeConvertor.castToBoolean(value); // BooleanType 652 } else 653 return super.setProperty(name, value); 654 return value; 655 } 656 657 @Override 658 public void removeChild(String name, Base value) throws FHIRException { 659 if (name.equals("sequence")) { 660 this.sequence = null; 661 } else if (name.equals("information")) { 662 this.information = null; 663 } else if (name.equals("appliesToAll")) { 664 this.appliesToAll = null; 665 } else 666 super.removeChild(name, value); 667 668 } 669 670 @Override 671 public Base makeProperty(int hash, String name) throws FHIRException { 672 switch (hash) { 673 case 1349547969: return getSequenceElement(); 674 case 1968600364: return getInformation(); 675 case -1096846342: return getAppliesToAllElement(); 676 default: return super.makeProperty(hash, name); 677 } 678 679 } 680 681 @Override 682 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 683 switch (hash) { 684 case 1349547969: /*sequence*/ return new String[] {"positiveInt"}; 685 case 1968600364: /*information*/ return new String[] {"Reference"}; 686 case -1096846342: /*appliesToAll*/ return new String[] {"boolean"}; 687 default: return super.getTypesForProperty(hash, name); 688 } 689 690 } 691 692 @Override 693 public Base addChild(String name) throws FHIRException { 694 if (name.equals("sequence")) { 695 throw new FHIRException("Cannot call addChild on a singleton property CoverageEligibilityRequest.supportingInfo.sequence"); 696 } 697 else if (name.equals("information")) { 698 this.information = new Reference(); 699 return this.information; 700 } 701 else if (name.equals("appliesToAll")) { 702 throw new FHIRException("Cannot call addChild on a singleton property CoverageEligibilityRequest.supportingInfo.appliesToAll"); 703 } 704 else 705 return super.addChild(name); 706 } 707 708 public SupportingInformationComponent copy() { 709 SupportingInformationComponent dst = new SupportingInformationComponent(); 710 copyValues(dst); 711 return dst; 712 } 713 714 public void copyValues(SupportingInformationComponent dst) { 715 super.copyValues(dst); 716 dst.sequence = sequence == null ? null : sequence.copy(); 717 dst.information = information == null ? null : information.copy(); 718 dst.appliesToAll = appliesToAll == null ? null : appliesToAll.copy(); 719 } 720 721 @Override 722 public boolean equalsDeep(Base other_) { 723 if (!super.equalsDeep(other_)) 724 return false; 725 if (!(other_ instanceof SupportingInformationComponent)) 726 return false; 727 SupportingInformationComponent o = (SupportingInformationComponent) other_; 728 return compareDeep(sequence, o.sequence, true) && compareDeep(information, o.information, true) 729 && compareDeep(appliesToAll, o.appliesToAll, true); 730 } 731 732 @Override 733 public boolean equalsShallow(Base other_) { 734 if (!super.equalsShallow(other_)) 735 return false; 736 if (!(other_ instanceof SupportingInformationComponent)) 737 return false; 738 SupportingInformationComponent o = (SupportingInformationComponent) other_; 739 return compareValues(sequence, o.sequence, true) && compareValues(appliesToAll, o.appliesToAll, true) 740 ; 741 } 742 743 public boolean isEmpty() { 744 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(sequence, information, appliesToAll 745 ); 746 } 747 748 public String fhirType() { 749 return "CoverageEligibilityRequest.supportingInfo"; 750 751 } 752 753 } 754 755 @Block() 756 public static class InsuranceComponent extends BackboneElement implements IBaseBackboneElement { 757 /** 758 * A flag to indicate that this Coverage is to be used for evaluation of this request when set to true. 759 */ 760 @Child(name = "focal", type = {BooleanType.class}, order=1, min=0, max=1, modifier=false, summary=false) 761 @Description(shortDefinition="Applicable coverage", formalDefinition="A flag to indicate that this Coverage is to be used for evaluation of this request when set to true." ) 762 protected BooleanType focal; 763 764 /** 765 * Reference to the insurance card level information contained in the Coverage resource. The coverage issuing insurer will use these details to locate the patient's actual coverage within the insurer's information system. 766 */ 767 @Child(name = "coverage", type = {Coverage.class}, order=2, min=1, max=1, modifier=false, summary=false) 768 @Description(shortDefinition="Insurance information", formalDefinition="Reference to the insurance card level information contained in the Coverage resource. The coverage issuing insurer will use these details to locate the patient's actual coverage within the insurer's information system." ) 769 protected Reference coverage; 770 771 /** 772 * A business agreement number established between the provider and the insurer for special business processing purposes. 773 */ 774 @Child(name = "businessArrangement", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=false) 775 @Description(shortDefinition="Additional provider contract number", formalDefinition="A business agreement number established between the provider and the insurer for special business processing purposes." ) 776 protected StringType businessArrangement; 777 778 private static final long serialVersionUID = -1656150261L; 779 780 /** 781 * Constructor 782 */ 783 public InsuranceComponent() { 784 super(); 785 } 786 787 /** 788 * Constructor 789 */ 790 public InsuranceComponent(Reference coverage) { 791 super(); 792 this.setCoverage(coverage); 793 } 794 795 /** 796 * @return {@link #focal} (A flag to indicate that this Coverage is to be used for evaluation of this request when set to true.). This is the underlying object with id, value and extensions. The accessor "getFocal" gives direct access to the value 797 */ 798 public BooleanType getFocalElement() { 799 if (this.focal == null) 800 if (Configuration.errorOnAutoCreate()) 801 throw new Error("Attempt to auto-create InsuranceComponent.focal"); 802 else if (Configuration.doAutoCreate()) 803 this.focal = new BooleanType(); // bb 804 return this.focal; 805 } 806 807 public boolean hasFocalElement() { 808 return this.focal != null && !this.focal.isEmpty(); 809 } 810 811 public boolean hasFocal() { 812 return this.focal != null && !this.focal.isEmpty(); 813 } 814 815 /** 816 * @param value {@link #focal} (A flag to indicate that this Coverage is to be used for evaluation of this request when set to true.). This is the underlying object with id, value and extensions. The accessor "getFocal" gives direct access to the value 817 */ 818 public InsuranceComponent setFocalElement(BooleanType value) { 819 this.focal = value; 820 return this; 821 } 822 823 /** 824 * @return A flag to indicate that this Coverage is to be used for evaluation of this request when set to true. 825 */ 826 public boolean getFocal() { 827 return this.focal == null || this.focal.isEmpty() ? false : this.focal.getValue(); 828 } 829 830 /** 831 * @param value A flag to indicate that this Coverage is to be used for evaluation of this request when set to true. 832 */ 833 public InsuranceComponent setFocal(boolean value) { 834 if (this.focal == null) 835 this.focal = new BooleanType(); 836 this.focal.setValue(value); 837 return this; 838 } 839 840 /** 841 * @return {@link #coverage} (Reference to the insurance card level information contained in the Coverage resource. The coverage issuing insurer will use these details to locate the patient's actual coverage within the insurer's information system.) 842 */ 843 public Reference getCoverage() { 844 if (this.coverage == null) 845 if (Configuration.errorOnAutoCreate()) 846 throw new Error("Attempt to auto-create InsuranceComponent.coverage"); 847 else if (Configuration.doAutoCreate()) 848 this.coverage = new Reference(); // cc 849 return this.coverage; 850 } 851 852 public boolean hasCoverage() { 853 return this.coverage != null && !this.coverage.isEmpty(); 854 } 855 856 /** 857 * @param value {@link #coverage} (Reference to the insurance card level information contained in the Coverage resource. The coverage issuing insurer will use these details to locate the patient's actual coverage within the insurer's information system.) 858 */ 859 public InsuranceComponent setCoverage(Reference value) { 860 this.coverage = value; 861 return this; 862 } 863 864 /** 865 * @return {@link #businessArrangement} (A business agreement number established between the provider and the insurer for special business processing purposes.). This is the underlying object with id, value and extensions. The accessor "getBusinessArrangement" gives direct access to the value 866 */ 867 public StringType getBusinessArrangementElement() { 868 if (this.businessArrangement == null) 869 if (Configuration.errorOnAutoCreate()) 870 throw new Error("Attempt to auto-create InsuranceComponent.businessArrangement"); 871 else if (Configuration.doAutoCreate()) 872 this.businessArrangement = new StringType(); // bb 873 return this.businessArrangement; 874 } 875 876 public boolean hasBusinessArrangementElement() { 877 return this.businessArrangement != null && !this.businessArrangement.isEmpty(); 878 } 879 880 public boolean hasBusinessArrangement() { 881 return this.businessArrangement != null && !this.businessArrangement.isEmpty(); 882 } 883 884 /** 885 * @param value {@link #businessArrangement} (A business agreement number established between the provider and the insurer for special business processing purposes.). This is the underlying object with id, value and extensions. The accessor "getBusinessArrangement" gives direct access to the value 886 */ 887 public InsuranceComponent setBusinessArrangementElement(StringType value) { 888 this.businessArrangement = value; 889 return this; 890 } 891 892 /** 893 * @return A business agreement number established between the provider and the insurer for special business processing purposes. 894 */ 895 public String getBusinessArrangement() { 896 return this.businessArrangement == null ? null : this.businessArrangement.getValue(); 897 } 898 899 /** 900 * @param value A business agreement number established between the provider and the insurer for special business processing purposes. 901 */ 902 public InsuranceComponent setBusinessArrangement(String value) { 903 if (Utilities.noString(value)) 904 this.businessArrangement = null; 905 else { 906 if (this.businessArrangement == null) 907 this.businessArrangement = new StringType(); 908 this.businessArrangement.setValue(value); 909 } 910 return this; 911 } 912 913 protected void listChildren(List<Property> children) { 914 super.listChildren(children); 915 children.add(new Property("focal", "boolean", "A flag to indicate that this Coverage is to be used for evaluation of this request when set to true.", 0, 1, focal)); 916 children.add(new Property("coverage", "Reference(Coverage)", "Reference to the insurance card level information contained in the Coverage resource. The coverage issuing insurer will use these details to locate the patient's actual coverage within the insurer's information system.", 0, 1, coverage)); 917 children.add(new Property("businessArrangement", "string", "A business agreement number established between the provider and the insurer for special business processing purposes.", 0, 1, businessArrangement)); 918 } 919 920 @Override 921 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 922 switch (_hash) { 923 case 97604197: /*focal*/ return new Property("focal", "boolean", "A flag to indicate that this Coverage is to be used for evaluation of this request when set to true.", 0, 1, focal); 924 case -351767064: /*coverage*/ return new Property("coverage", "Reference(Coverage)", "Reference to the insurance card level information contained in the Coverage resource. The coverage issuing insurer will use these details to locate the patient's actual coverage within the insurer's information system.", 0, 1, coverage); 925 case 259920682: /*businessArrangement*/ return new Property("businessArrangement", "string", "A business agreement number established between the provider and the insurer for special business processing purposes.", 0, 1, businessArrangement); 926 default: return super.getNamedProperty(_hash, _name, _checkValid); 927 } 928 929 } 930 931 @Override 932 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 933 switch (hash) { 934 case 97604197: /*focal*/ return this.focal == null ? new Base[0] : new Base[] {this.focal}; // BooleanType 935 case -351767064: /*coverage*/ return this.coverage == null ? new Base[0] : new Base[] {this.coverage}; // Reference 936 case 259920682: /*businessArrangement*/ return this.businessArrangement == null ? new Base[0] : new Base[] {this.businessArrangement}; // StringType 937 default: return super.getProperty(hash, name, checkValid); 938 } 939 940 } 941 942 @Override 943 public Base setProperty(int hash, String name, Base value) throws FHIRException { 944 switch (hash) { 945 case 97604197: // focal 946 this.focal = TypeConvertor.castToBoolean(value); // BooleanType 947 return value; 948 case -351767064: // coverage 949 this.coverage = TypeConvertor.castToReference(value); // Reference 950 return value; 951 case 259920682: // businessArrangement 952 this.businessArrangement = TypeConvertor.castToString(value); // StringType 953 return value; 954 default: return super.setProperty(hash, name, value); 955 } 956 957 } 958 959 @Override 960 public Base setProperty(String name, Base value) throws FHIRException { 961 if (name.equals("focal")) { 962 this.focal = TypeConvertor.castToBoolean(value); // BooleanType 963 } else if (name.equals("coverage")) { 964 this.coverage = TypeConvertor.castToReference(value); // Reference 965 } else if (name.equals("businessArrangement")) { 966 this.businessArrangement = TypeConvertor.castToString(value); // StringType 967 } else 968 return super.setProperty(name, value); 969 return value; 970 } 971 972 @Override 973 public void removeChild(String name, Base value) throws FHIRException { 974 if (name.equals("focal")) { 975 this.focal = null; 976 } else if (name.equals("coverage")) { 977 this.coverage = null; 978 } else if (name.equals("businessArrangement")) { 979 this.businessArrangement = null; 980 } else 981 super.removeChild(name, value); 982 983 } 984 985 @Override 986 public Base makeProperty(int hash, String name) throws FHIRException { 987 switch (hash) { 988 case 97604197: return getFocalElement(); 989 case -351767064: return getCoverage(); 990 case 259920682: return getBusinessArrangementElement(); 991 default: return super.makeProperty(hash, name); 992 } 993 994 } 995 996 @Override 997 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 998 switch (hash) { 999 case 97604197: /*focal*/ return new String[] {"boolean"}; 1000 case -351767064: /*coverage*/ return new String[] {"Reference"}; 1001 case 259920682: /*businessArrangement*/ return new String[] {"string"}; 1002 default: return super.getTypesForProperty(hash, name); 1003 } 1004 1005 } 1006 1007 @Override 1008 public Base addChild(String name) throws FHIRException { 1009 if (name.equals("focal")) { 1010 throw new FHIRException("Cannot call addChild on a singleton property CoverageEligibilityRequest.insurance.focal"); 1011 } 1012 else if (name.equals("coverage")) { 1013 this.coverage = new Reference(); 1014 return this.coverage; 1015 } 1016 else if (name.equals("businessArrangement")) { 1017 throw new FHIRException("Cannot call addChild on a singleton property CoverageEligibilityRequest.insurance.businessArrangement"); 1018 } 1019 else 1020 return super.addChild(name); 1021 } 1022 1023 public InsuranceComponent copy() { 1024 InsuranceComponent dst = new InsuranceComponent(); 1025 copyValues(dst); 1026 return dst; 1027 } 1028 1029 public void copyValues(InsuranceComponent dst) { 1030 super.copyValues(dst); 1031 dst.focal = focal == null ? null : focal.copy(); 1032 dst.coverage = coverage == null ? null : coverage.copy(); 1033 dst.businessArrangement = businessArrangement == null ? null : businessArrangement.copy(); 1034 } 1035 1036 @Override 1037 public boolean equalsDeep(Base other_) { 1038 if (!super.equalsDeep(other_)) 1039 return false; 1040 if (!(other_ instanceof InsuranceComponent)) 1041 return false; 1042 InsuranceComponent o = (InsuranceComponent) other_; 1043 return compareDeep(focal, o.focal, true) && compareDeep(coverage, o.coverage, true) && compareDeep(businessArrangement, o.businessArrangement, true) 1044 ; 1045 } 1046 1047 @Override 1048 public boolean equalsShallow(Base other_) { 1049 if (!super.equalsShallow(other_)) 1050 return false; 1051 if (!(other_ instanceof InsuranceComponent)) 1052 return false; 1053 InsuranceComponent o = (InsuranceComponent) other_; 1054 return compareValues(focal, o.focal, true) && compareValues(businessArrangement, o.businessArrangement, true) 1055 ; 1056 } 1057 1058 public boolean isEmpty() { 1059 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(focal, coverage, businessArrangement 1060 ); 1061 } 1062 1063 public String fhirType() { 1064 return "CoverageEligibilityRequest.insurance"; 1065 1066 } 1067 1068 } 1069 1070 @Block() 1071 public static class DetailsComponent extends BackboneElement implements IBaseBackboneElement { 1072 /** 1073 * Exceptions, special conditions and supporting information applicable for this service or product line. 1074 */ 1075 @Child(name = "supportingInfoSequence", type = {PositiveIntType.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1076 @Description(shortDefinition="Applicable exception or supporting information", formalDefinition="Exceptions, special conditions and supporting information applicable for this service or product line." ) 1077 protected List<PositiveIntType> supportingInfoSequence; 1078 1079 /** 1080 * Code to identify the general type of benefits under which products and services are provided. 1081 */ 1082 @Child(name = "category", type = {CodeableConcept.class}, order=2, min=0, max=1, modifier=false, summary=false) 1083 @Description(shortDefinition="Benefit classification", formalDefinition="Code to identify the general type of benefits under which products and services are provided." ) 1084 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/ex-benefitcategory") 1085 protected CodeableConcept category; 1086 1087 /** 1088 * This contains the product, service, drug or other billing code for the item. 1089 */ 1090 @Child(name = "productOrService", type = {CodeableConcept.class}, order=3, min=0, max=1, modifier=false, summary=false) 1091 @Description(shortDefinition="Billing, service, product, or drug code", formalDefinition="This contains the product, service, drug or other billing code for the item." ) 1092 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/service-uscls") 1093 protected CodeableConcept productOrService; 1094 1095 /** 1096 * Item typification or modifiers codes to convey additional context for the product or service. 1097 */ 1098 @Child(name = "modifier", type = {CodeableConcept.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1099 @Description(shortDefinition="Product or service billing modifiers", formalDefinition="Item typification or modifiers codes to convey additional context for the product or service." ) 1100 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/claim-modifiers") 1101 protected List<CodeableConcept> modifier; 1102 1103 /** 1104 * The practitioner who is responsible for the product or service to be rendered to the patient. 1105 */ 1106 @Child(name = "provider", type = {Practitioner.class, PractitionerRole.class}, order=5, min=0, max=1, modifier=false, summary=false) 1107 @Description(shortDefinition="Perfoming practitioner", formalDefinition="The practitioner who is responsible for the product or service to be rendered to the patient." ) 1108 protected Reference provider; 1109 1110 /** 1111 * The number of repetitions of a service or product. 1112 */ 1113 @Child(name = "quantity", type = {Quantity.class}, order=6, min=0, max=1, modifier=false, summary=false) 1114 @Description(shortDefinition="Count of products or services", formalDefinition="The number of repetitions of a service or product." ) 1115 protected Quantity quantity; 1116 1117 /** 1118 * The amount charged to the patient by the provider for a single unit. 1119 */ 1120 @Child(name = "unitPrice", type = {Money.class}, order=7, min=0, max=1, modifier=false, summary=false) 1121 @Description(shortDefinition="Fee, charge or cost per item", formalDefinition="The amount charged to the patient by the provider for a single unit." ) 1122 protected Money unitPrice; 1123 1124 /** 1125 * Facility where the services will be provided. 1126 */ 1127 @Child(name = "facility", type = {Location.class, Organization.class}, order=8, min=0, max=1, modifier=false, summary=false) 1128 @Description(shortDefinition="Servicing facility", formalDefinition="Facility where the services will be provided." ) 1129 protected Reference facility; 1130 1131 /** 1132 * Patient diagnosis for which care is sought. 1133 */ 1134 @Child(name = "diagnosis", type = {}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1135 @Description(shortDefinition="Applicable diagnosis", formalDefinition="Patient diagnosis for which care is sought." ) 1136 protected List<DiagnosisComponent> diagnosis; 1137 1138 /** 1139 * The plan/proposal/order describing the proposed service in detail. 1140 */ 1141 @Child(name = "detail", type = {Reference.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1142 @Description(shortDefinition="Product or service details", formalDefinition="The plan/proposal/order describing the proposed service in detail." ) 1143 protected List<Reference> detail; 1144 1145 private static final long serialVersionUID = 1615052611L; 1146 1147 /** 1148 * Constructor 1149 */ 1150 public DetailsComponent() { 1151 super(); 1152 } 1153 1154 /** 1155 * @return {@link #supportingInfoSequence} (Exceptions, special conditions and supporting information applicable for this service or product line.) 1156 */ 1157 public List<PositiveIntType> getSupportingInfoSequence() { 1158 if (this.supportingInfoSequence == null) 1159 this.supportingInfoSequence = new ArrayList<PositiveIntType>(); 1160 return this.supportingInfoSequence; 1161 } 1162 1163 /** 1164 * @return Returns a reference to <code>this</code> for easy method chaining 1165 */ 1166 public DetailsComponent setSupportingInfoSequence(List<PositiveIntType> theSupportingInfoSequence) { 1167 this.supportingInfoSequence = theSupportingInfoSequence; 1168 return this; 1169 } 1170 1171 public boolean hasSupportingInfoSequence() { 1172 if (this.supportingInfoSequence == null) 1173 return false; 1174 for (PositiveIntType item : this.supportingInfoSequence) 1175 if (!item.isEmpty()) 1176 return true; 1177 return false; 1178 } 1179 1180 /** 1181 * @return {@link #supportingInfoSequence} (Exceptions, special conditions and supporting information applicable for this service or product line.) 1182 */ 1183 public PositiveIntType addSupportingInfoSequenceElement() {//2 1184 PositiveIntType t = new PositiveIntType(); 1185 if (this.supportingInfoSequence == null) 1186 this.supportingInfoSequence = new ArrayList<PositiveIntType>(); 1187 this.supportingInfoSequence.add(t); 1188 return t; 1189 } 1190 1191 /** 1192 * @param value {@link #supportingInfoSequence} (Exceptions, special conditions and supporting information applicable for this service or product line.) 1193 */ 1194 public DetailsComponent addSupportingInfoSequence(int value) { //1 1195 PositiveIntType t = new PositiveIntType(); 1196 t.setValue(value); 1197 if (this.supportingInfoSequence == null) 1198 this.supportingInfoSequence = new ArrayList<PositiveIntType>(); 1199 this.supportingInfoSequence.add(t); 1200 return this; 1201 } 1202 1203 /** 1204 * @param value {@link #supportingInfoSequence} (Exceptions, special conditions and supporting information applicable for this service or product line.) 1205 */ 1206 public boolean hasSupportingInfoSequence(int value) { 1207 if (this.supportingInfoSequence == null) 1208 return false; 1209 for (PositiveIntType v : this.supportingInfoSequence) 1210 if (v.getValue().equals(value)) // positiveInt 1211 return true; 1212 return false; 1213 } 1214 1215 /** 1216 * @return {@link #category} (Code to identify the general type of benefits under which products and services are provided.) 1217 */ 1218 public CodeableConcept getCategory() { 1219 if (this.category == null) 1220 if (Configuration.errorOnAutoCreate()) 1221 throw new Error("Attempt to auto-create DetailsComponent.category"); 1222 else if (Configuration.doAutoCreate()) 1223 this.category = new CodeableConcept(); // cc 1224 return this.category; 1225 } 1226 1227 public boolean hasCategory() { 1228 return this.category != null && !this.category.isEmpty(); 1229 } 1230 1231 /** 1232 * @param value {@link #category} (Code to identify the general type of benefits under which products and services are provided.) 1233 */ 1234 public DetailsComponent setCategory(CodeableConcept value) { 1235 this.category = value; 1236 return this; 1237 } 1238 1239 /** 1240 * @return {@link #productOrService} (This contains the product, service, drug or other billing code for the item.) 1241 */ 1242 public CodeableConcept getProductOrService() { 1243 if (this.productOrService == null) 1244 if (Configuration.errorOnAutoCreate()) 1245 throw new Error("Attempt to auto-create DetailsComponent.productOrService"); 1246 else if (Configuration.doAutoCreate()) 1247 this.productOrService = new CodeableConcept(); // cc 1248 return this.productOrService; 1249 } 1250 1251 public boolean hasProductOrService() { 1252 return this.productOrService != null && !this.productOrService.isEmpty(); 1253 } 1254 1255 /** 1256 * @param value {@link #productOrService} (This contains the product, service, drug or other billing code for the item.) 1257 */ 1258 public DetailsComponent setProductOrService(CodeableConcept value) { 1259 this.productOrService = value; 1260 return this; 1261 } 1262 1263 /** 1264 * @return {@link #modifier} (Item typification or modifiers codes to convey additional context for the product or service.) 1265 */ 1266 public List<CodeableConcept> getModifier() { 1267 if (this.modifier == null) 1268 this.modifier = new ArrayList<CodeableConcept>(); 1269 return this.modifier; 1270 } 1271 1272 /** 1273 * @return Returns a reference to <code>this</code> for easy method chaining 1274 */ 1275 public DetailsComponent setModifier(List<CodeableConcept> theModifier) { 1276 this.modifier = theModifier; 1277 return this; 1278 } 1279 1280 public boolean hasModifier() { 1281 if (this.modifier == null) 1282 return false; 1283 for (CodeableConcept item : this.modifier) 1284 if (!item.isEmpty()) 1285 return true; 1286 return false; 1287 } 1288 1289 public CodeableConcept addModifier() { //3 1290 CodeableConcept t = new CodeableConcept(); 1291 if (this.modifier == null) 1292 this.modifier = new ArrayList<CodeableConcept>(); 1293 this.modifier.add(t); 1294 return t; 1295 } 1296 1297 public DetailsComponent addModifier(CodeableConcept t) { //3 1298 if (t == null) 1299 return this; 1300 if (this.modifier == null) 1301 this.modifier = new ArrayList<CodeableConcept>(); 1302 this.modifier.add(t); 1303 return this; 1304 } 1305 1306 /** 1307 * @return The first repetition of repeating field {@link #modifier}, creating it if it does not already exist {3} 1308 */ 1309 public CodeableConcept getModifierFirstRep() { 1310 if (getModifier().isEmpty()) { 1311 addModifier(); 1312 } 1313 return getModifier().get(0); 1314 } 1315 1316 /** 1317 * @return {@link #provider} (The practitioner who is responsible for the product or service to be rendered to the patient.) 1318 */ 1319 public Reference getProvider() { 1320 if (this.provider == null) 1321 if (Configuration.errorOnAutoCreate()) 1322 throw new Error("Attempt to auto-create DetailsComponent.provider"); 1323 else if (Configuration.doAutoCreate()) 1324 this.provider = new Reference(); // cc 1325 return this.provider; 1326 } 1327 1328 public boolean hasProvider() { 1329 return this.provider != null && !this.provider.isEmpty(); 1330 } 1331 1332 /** 1333 * @param value {@link #provider} (The practitioner who is responsible for the product or service to be rendered to the patient.) 1334 */ 1335 public DetailsComponent setProvider(Reference value) { 1336 this.provider = value; 1337 return this; 1338 } 1339 1340 /** 1341 * @return {@link #quantity} (The number of repetitions of a service or product.) 1342 */ 1343 public Quantity getQuantity() { 1344 if (this.quantity == null) 1345 if (Configuration.errorOnAutoCreate()) 1346 throw new Error("Attempt to auto-create DetailsComponent.quantity"); 1347 else if (Configuration.doAutoCreate()) 1348 this.quantity = new Quantity(); // cc 1349 return this.quantity; 1350 } 1351 1352 public boolean hasQuantity() { 1353 return this.quantity != null && !this.quantity.isEmpty(); 1354 } 1355 1356 /** 1357 * @param value {@link #quantity} (The number of repetitions of a service or product.) 1358 */ 1359 public DetailsComponent setQuantity(Quantity value) { 1360 this.quantity = value; 1361 return this; 1362 } 1363 1364 /** 1365 * @return {@link #unitPrice} (The amount charged to the patient by the provider for a single unit.) 1366 */ 1367 public Money getUnitPrice() { 1368 if (this.unitPrice == null) 1369 if (Configuration.errorOnAutoCreate()) 1370 throw new Error("Attempt to auto-create DetailsComponent.unitPrice"); 1371 else if (Configuration.doAutoCreate()) 1372 this.unitPrice = new Money(); // cc 1373 return this.unitPrice; 1374 } 1375 1376 public boolean hasUnitPrice() { 1377 return this.unitPrice != null && !this.unitPrice.isEmpty(); 1378 } 1379 1380 /** 1381 * @param value {@link #unitPrice} (The amount charged to the patient by the provider for a single unit.) 1382 */ 1383 public DetailsComponent setUnitPrice(Money value) { 1384 this.unitPrice = value; 1385 return this; 1386 } 1387 1388 /** 1389 * @return {@link #facility} (Facility where the services will be provided.) 1390 */ 1391 public Reference getFacility() { 1392 if (this.facility == null) 1393 if (Configuration.errorOnAutoCreate()) 1394 throw new Error("Attempt to auto-create DetailsComponent.facility"); 1395 else if (Configuration.doAutoCreate()) 1396 this.facility = new Reference(); // cc 1397 return this.facility; 1398 } 1399 1400 public boolean hasFacility() { 1401 return this.facility != null && !this.facility.isEmpty(); 1402 } 1403 1404 /** 1405 * @param value {@link #facility} (Facility where the services will be provided.) 1406 */ 1407 public DetailsComponent setFacility(Reference value) { 1408 this.facility = value; 1409 return this; 1410 } 1411 1412 /** 1413 * @return {@link #diagnosis} (Patient diagnosis for which care is sought.) 1414 */ 1415 public List<DiagnosisComponent> getDiagnosis() { 1416 if (this.diagnosis == null) 1417 this.diagnosis = new ArrayList<DiagnosisComponent>(); 1418 return this.diagnosis; 1419 } 1420 1421 /** 1422 * @return Returns a reference to <code>this</code> for easy method chaining 1423 */ 1424 public DetailsComponent setDiagnosis(List<DiagnosisComponent> theDiagnosis) { 1425 this.diagnosis = theDiagnosis; 1426 return this; 1427 } 1428 1429 public boolean hasDiagnosis() { 1430 if (this.diagnosis == null) 1431 return false; 1432 for (DiagnosisComponent item : this.diagnosis) 1433 if (!item.isEmpty()) 1434 return true; 1435 return false; 1436 } 1437 1438 public DiagnosisComponent addDiagnosis() { //3 1439 DiagnosisComponent t = new DiagnosisComponent(); 1440 if (this.diagnosis == null) 1441 this.diagnosis = new ArrayList<DiagnosisComponent>(); 1442 this.diagnosis.add(t); 1443 return t; 1444 } 1445 1446 public DetailsComponent addDiagnosis(DiagnosisComponent t) { //3 1447 if (t == null) 1448 return this; 1449 if (this.diagnosis == null) 1450 this.diagnosis = new ArrayList<DiagnosisComponent>(); 1451 this.diagnosis.add(t); 1452 return this; 1453 } 1454 1455 /** 1456 * @return The first repetition of repeating field {@link #diagnosis}, creating it if it does not already exist {3} 1457 */ 1458 public DiagnosisComponent getDiagnosisFirstRep() { 1459 if (getDiagnosis().isEmpty()) { 1460 addDiagnosis(); 1461 } 1462 return getDiagnosis().get(0); 1463 } 1464 1465 /** 1466 * @return {@link #detail} (The plan/proposal/order describing the proposed service in detail.) 1467 */ 1468 public List<Reference> getDetail() { 1469 if (this.detail == null) 1470 this.detail = new ArrayList<Reference>(); 1471 return this.detail; 1472 } 1473 1474 /** 1475 * @return Returns a reference to <code>this</code> for easy method chaining 1476 */ 1477 public DetailsComponent setDetail(List<Reference> theDetail) { 1478 this.detail = theDetail; 1479 return this; 1480 } 1481 1482 public boolean hasDetail() { 1483 if (this.detail == null) 1484 return false; 1485 for (Reference item : this.detail) 1486 if (!item.isEmpty()) 1487 return true; 1488 return false; 1489 } 1490 1491 public Reference addDetail() { //3 1492 Reference t = new Reference(); 1493 if (this.detail == null) 1494 this.detail = new ArrayList<Reference>(); 1495 this.detail.add(t); 1496 return t; 1497 } 1498 1499 public DetailsComponent addDetail(Reference t) { //3 1500 if (t == null) 1501 return this; 1502 if (this.detail == null) 1503 this.detail = new ArrayList<Reference>(); 1504 this.detail.add(t); 1505 return this; 1506 } 1507 1508 /** 1509 * @return The first repetition of repeating field {@link #detail}, creating it if it does not already exist {3} 1510 */ 1511 public Reference getDetailFirstRep() { 1512 if (getDetail().isEmpty()) { 1513 addDetail(); 1514 } 1515 return getDetail().get(0); 1516 } 1517 1518 protected void listChildren(List<Property> children) { 1519 super.listChildren(children); 1520 children.add(new Property("supportingInfoSequence", "positiveInt", "Exceptions, special conditions and supporting information applicable for this service or product line.", 0, java.lang.Integer.MAX_VALUE, supportingInfoSequence)); 1521 children.add(new Property("category", "CodeableConcept", "Code to identify the general type of benefits under which products and services are provided.", 0, 1, category)); 1522 children.add(new Property("productOrService", "CodeableConcept", "This contains the product, service, drug or other billing code for the item.", 0, 1, productOrService)); 1523 children.add(new Property("modifier", "CodeableConcept", "Item typification or modifiers codes to convey additional context for the product or service.", 0, java.lang.Integer.MAX_VALUE, modifier)); 1524 children.add(new Property("provider", "Reference(Practitioner|PractitionerRole)", "The practitioner who is responsible for the product or service to be rendered to the patient.", 0, 1, provider)); 1525 children.add(new Property("quantity", "Quantity", "The number of repetitions of a service or product.", 0, 1, quantity)); 1526 children.add(new Property("unitPrice", "Money", "The amount charged to the patient by the provider for a single unit.", 0, 1, unitPrice)); 1527 children.add(new Property("facility", "Reference(Location|Organization)", "Facility where the services will be provided.", 0, 1, facility)); 1528 children.add(new Property("diagnosis", "", "Patient diagnosis for which care is sought.", 0, java.lang.Integer.MAX_VALUE, diagnosis)); 1529 children.add(new Property("detail", "Reference(Any)", "The plan/proposal/order describing the proposed service in detail.", 0, java.lang.Integer.MAX_VALUE, detail)); 1530 } 1531 1532 @Override 1533 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1534 switch (_hash) { 1535 case -595860510: /*supportingInfoSequence*/ return new Property("supportingInfoSequence", "positiveInt", "Exceptions, special conditions and supporting information applicable for this service or product line.", 0, java.lang.Integer.MAX_VALUE, supportingInfoSequence); 1536 case 50511102: /*category*/ return new Property("category", "CodeableConcept", "Code to identify the general type of benefits under which products and services are provided.", 0, 1, category); 1537 case 1957227299: /*productOrService*/ return new Property("productOrService", "CodeableConcept", "This contains the product, service, drug or other billing code for the item.", 0, 1, productOrService); 1538 case -615513385: /*modifier*/ return new Property("modifier", "CodeableConcept", "Item typification or modifiers codes to convey additional context for the product or service.", 0, java.lang.Integer.MAX_VALUE, modifier); 1539 case -987494927: /*provider*/ return new Property("provider", "Reference(Practitioner|PractitionerRole)", "The practitioner who is responsible for the product or service to be rendered to the patient.", 0, 1, provider); 1540 case -1285004149: /*quantity*/ return new Property("quantity", "Quantity", "The number of repetitions of a service or product.", 0, 1, quantity); 1541 case -486196699: /*unitPrice*/ return new Property("unitPrice", "Money", "The amount charged to the patient by the provider for a single unit.", 0, 1, unitPrice); 1542 case 501116579: /*facility*/ return new Property("facility", "Reference(Location|Organization)", "Facility where the services will be provided.", 0, 1, facility); 1543 case 1196993265: /*diagnosis*/ return new Property("diagnosis", "", "Patient diagnosis for which care is sought.", 0, java.lang.Integer.MAX_VALUE, diagnosis); 1544 case -1335224239: /*detail*/ return new Property("detail", "Reference(Any)", "The plan/proposal/order describing the proposed service in detail.", 0, java.lang.Integer.MAX_VALUE, detail); 1545 default: return super.getNamedProperty(_hash, _name, _checkValid); 1546 } 1547 1548 } 1549 1550 @Override 1551 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1552 switch (hash) { 1553 case -595860510: /*supportingInfoSequence*/ return this.supportingInfoSequence == null ? new Base[0] : this.supportingInfoSequence.toArray(new Base[this.supportingInfoSequence.size()]); // PositiveIntType 1554 case 50511102: /*category*/ return this.category == null ? new Base[0] : new Base[] {this.category}; // CodeableConcept 1555 case 1957227299: /*productOrService*/ return this.productOrService == null ? new Base[0] : new Base[] {this.productOrService}; // CodeableConcept 1556 case -615513385: /*modifier*/ return this.modifier == null ? new Base[0] : this.modifier.toArray(new Base[this.modifier.size()]); // CodeableConcept 1557 case -987494927: /*provider*/ return this.provider == null ? new Base[0] : new Base[] {this.provider}; // Reference 1558 case -1285004149: /*quantity*/ return this.quantity == null ? new Base[0] : new Base[] {this.quantity}; // Quantity 1559 case -486196699: /*unitPrice*/ return this.unitPrice == null ? new Base[0] : new Base[] {this.unitPrice}; // Money 1560 case 501116579: /*facility*/ return this.facility == null ? new Base[0] : new Base[] {this.facility}; // Reference 1561 case 1196993265: /*diagnosis*/ return this.diagnosis == null ? new Base[0] : this.diagnosis.toArray(new Base[this.diagnosis.size()]); // DiagnosisComponent 1562 case -1335224239: /*detail*/ return this.detail == null ? new Base[0] : this.detail.toArray(new Base[this.detail.size()]); // Reference 1563 default: return super.getProperty(hash, name, checkValid); 1564 } 1565 1566 } 1567 1568 @Override 1569 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1570 switch (hash) { 1571 case -595860510: // supportingInfoSequence 1572 this.getSupportingInfoSequence().add(TypeConvertor.castToPositiveInt(value)); // PositiveIntType 1573 return value; 1574 case 50511102: // category 1575 this.category = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1576 return value; 1577 case 1957227299: // productOrService 1578 this.productOrService = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1579 return value; 1580 case -615513385: // modifier 1581 this.getModifier().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 1582 return value; 1583 case -987494927: // provider 1584 this.provider = TypeConvertor.castToReference(value); // Reference 1585 return value; 1586 case -1285004149: // quantity 1587 this.quantity = TypeConvertor.castToQuantity(value); // Quantity 1588 return value; 1589 case -486196699: // unitPrice 1590 this.unitPrice = TypeConvertor.castToMoney(value); // Money 1591 return value; 1592 case 501116579: // facility 1593 this.facility = TypeConvertor.castToReference(value); // Reference 1594 return value; 1595 case 1196993265: // diagnosis 1596 this.getDiagnosis().add((DiagnosisComponent) value); // DiagnosisComponent 1597 return value; 1598 case -1335224239: // detail 1599 this.getDetail().add(TypeConvertor.castToReference(value)); // Reference 1600 return value; 1601 default: return super.setProperty(hash, name, value); 1602 } 1603 1604 } 1605 1606 @Override 1607 public Base setProperty(String name, Base value) throws FHIRException { 1608 if (name.equals("supportingInfoSequence")) { 1609 this.getSupportingInfoSequence().add(TypeConvertor.castToPositiveInt(value)); 1610 } else if (name.equals("category")) { 1611 this.category = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1612 } else if (name.equals("productOrService")) { 1613 this.productOrService = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1614 } else if (name.equals("modifier")) { 1615 this.getModifier().add(TypeConvertor.castToCodeableConcept(value)); 1616 } else if (name.equals("provider")) { 1617 this.provider = TypeConvertor.castToReference(value); // Reference 1618 } else if (name.equals("quantity")) { 1619 this.quantity = TypeConvertor.castToQuantity(value); // Quantity 1620 } else if (name.equals("unitPrice")) { 1621 this.unitPrice = TypeConvertor.castToMoney(value); // Money 1622 } else if (name.equals("facility")) { 1623 this.facility = TypeConvertor.castToReference(value); // Reference 1624 } else if (name.equals("diagnosis")) { 1625 this.getDiagnosis().add((DiagnosisComponent) value); 1626 } else if (name.equals("detail")) { 1627 this.getDetail().add(TypeConvertor.castToReference(value)); 1628 } else 1629 return super.setProperty(name, value); 1630 return value; 1631 } 1632 1633 @Override 1634 public void removeChild(String name, Base value) throws FHIRException { 1635 if (name.equals("supportingInfoSequence")) { 1636 this.getSupportingInfoSequence().remove(value); 1637 } else if (name.equals("category")) { 1638 this.category = null; 1639 } else if (name.equals("productOrService")) { 1640 this.productOrService = null; 1641 } else if (name.equals("modifier")) { 1642 this.getModifier().remove(value); 1643 } else if (name.equals("provider")) { 1644 this.provider = null; 1645 } else if (name.equals("quantity")) { 1646 this.quantity = null; 1647 } else if (name.equals("unitPrice")) { 1648 this.unitPrice = null; 1649 } else if (name.equals("facility")) { 1650 this.facility = null; 1651 } else if (name.equals("diagnosis")) { 1652 this.getDiagnosis().remove((DiagnosisComponent) value); 1653 } else if (name.equals("detail")) { 1654 this.getDetail().remove(value); 1655 } else 1656 super.removeChild(name, value); 1657 1658 } 1659 1660 @Override 1661 public Base makeProperty(int hash, String name) throws FHIRException { 1662 switch (hash) { 1663 case -595860510: return addSupportingInfoSequenceElement(); 1664 case 50511102: return getCategory(); 1665 case 1957227299: return getProductOrService(); 1666 case -615513385: return addModifier(); 1667 case -987494927: return getProvider(); 1668 case -1285004149: return getQuantity(); 1669 case -486196699: return getUnitPrice(); 1670 case 501116579: return getFacility(); 1671 case 1196993265: return addDiagnosis(); 1672 case -1335224239: return addDetail(); 1673 default: return super.makeProperty(hash, name); 1674 } 1675 1676 } 1677 1678 @Override 1679 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1680 switch (hash) { 1681 case -595860510: /*supportingInfoSequence*/ return new String[] {"positiveInt"}; 1682 case 50511102: /*category*/ return new String[] {"CodeableConcept"}; 1683 case 1957227299: /*productOrService*/ return new String[] {"CodeableConcept"}; 1684 case -615513385: /*modifier*/ return new String[] {"CodeableConcept"}; 1685 case -987494927: /*provider*/ return new String[] {"Reference"}; 1686 case -1285004149: /*quantity*/ return new String[] {"Quantity"}; 1687 case -486196699: /*unitPrice*/ return new String[] {"Money"}; 1688 case 501116579: /*facility*/ return new String[] {"Reference"}; 1689 case 1196993265: /*diagnosis*/ return new String[] {}; 1690 case -1335224239: /*detail*/ return new String[] {"Reference"}; 1691 default: return super.getTypesForProperty(hash, name); 1692 } 1693 1694 } 1695 1696 @Override 1697 public Base addChild(String name) throws FHIRException { 1698 if (name.equals("supportingInfoSequence")) { 1699 throw new FHIRException("Cannot call addChild on a singleton property CoverageEligibilityRequest.item.supportingInfoSequence"); 1700 } 1701 else if (name.equals("category")) { 1702 this.category = new CodeableConcept(); 1703 return this.category; 1704 } 1705 else if (name.equals("productOrService")) { 1706 this.productOrService = new CodeableConcept(); 1707 return this.productOrService; 1708 } 1709 else if (name.equals("modifier")) { 1710 return addModifier(); 1711 } 1712 else if (name.equals("provider")) { 1713 this.provider = new Reference(); 1714 return this.provider; 1715 } 1716 else if (name.equals("quantity")) { 1717 this.quantity = new Quantity(); 1718 return this.quantity; 1719 } 1720 else if (name.equals("unitPrice")) { 1721 this.unitPrice = new Money(); 1722 return this.unitPrice; 1723 } 1724 else if (name.equals("facility")) { 1725 this.facility = new Reference(); 1726 return this.facility; 1727 } 1728 else if (name.equals("diagnosis")) { 1729 return addDiagnosis(); 1730 } 1731 else if (name.equals("detail")) { 1732 return addDetail(); 1733 } 1734 else 1735 return super.addChild(name); 1736 } 1737 1738 public DetailsComponent copy() { 1739 DetailsComponent dst = new DetailsComponent(); 1740 copyValues(dst); 1741 return dst; 1742 } 1743 1744 public void copyValues(DetailsComponent dst) { 1745 super.copyValues(dst); 1746 if (supportingInfoSequence != null) { 1747 dst.supportingInfoSequence = new ArrayList<PositiveIntType>(); 1748 for (PositiveIntType i : supportingInfoSequence) 1749 dst.supportingInfoSequence.add(i.copy()); 1750 }; 1751 dst.category = category == null ? null : category.copy(); 1752 dst.productOrService = productOrService == null ? null : productOrService.copy(); 1753 if (modifier != null) { 1754 dst.modifier = new ArrayList<CodeableConcept>(); 1755 for (CodeableConcept i : modifier) 1756 dst.modifier.add(i.copy()); 1757 }; 1758 dst.provider = provider == null ? null : provider.copy(); 1759 dst.quantity = quantity == null ? null : quantity.copy(); 1760 dst.unitPrice = unitPrice == null ? null : unitPrice.copy(); 1761 dst.facility = facility == null ? null : facility.copy(); 1762 if (diagnosis != null) { 1763 dst.diagnosis = new ArrayList<DiagnosisComponent>(); 1764 for (DiagnosisComponent i : diagnosis) 1765 dst.diagnosis.add(i.copy()); 1766 }; 1767 if (detail != null) { 1768 dst.detail = new ArrayList<Reference>(); 1769 for (Reference i : detail) 1770 dst.detail.add(i.copy()); 1771 }; 1772 } 1773 1774 @Override 1775 public boolean equalsDeep(Base other_) { 1776 if (!super.equalsDeep(other_)) 1777 return false; 1778 if (!(other_ instanceof DetailsComponent)) 1779 return false; 1780 DetailsComponent o = (DetailsComponent) other_; 1781 return compareDeep(supportingInfoSequence, o.supportingInfoSequence, true) && compareDeep(category, o.category, true) 1782 && compareDeep(productOrService, o.productOrService, true) && compareDeep(modifier, o.modifier, true) 1783 && compareDeep(provider, o.provider, true) && compareDeep(quantity, o.quantity, true) && compareDeep(unitPrice, o.unitPrice, true) 1784 && compareDeep(facility, o.facility, true) && compareDeep(diagnosis, o.diagnosis, true) && compareDeep(detail, o.detail, true) 1785 ; 1786 } 1787 1788 @Override 1789 public boolean equalsShallow(Base other_) { 1790 if (!super.equalsShallow(other_)) 1791 return false; 1792 if (!(other_ instanceof DetailsComponent)) 1793 return false; 1794 DetailsComponent o = (DetailsComponent) other_; 1795 return compareValues(supportingInfoSequence, o.supportingInfoSequence, true); 1796 } 1797 1798 public boolean isEmpty() { 1799 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(supportingInfoSequence, category 1800 , productOrService, modifier, provider, quantity, unitPrice, facility, diagnosis 1801 , detail); 1802 } 1803 1804 public String fhirType() { 1805 return "CoverageEligibilityRequest.item"; 1806 1807 } 1808 1809 } 1810 1811 @Block() 1812 public static class DiagnosisComponent extends BackboneElement implements IBaseBackboneElement { 1813 /** 1814 * The nature of illness or problem in a coded form or as a reference to an external defined Condition. 1815 */ 1816 @Child(name = "diagnosis", type = {CodeableConcept.class, Condition.class}, order=1, min=0, max=1, modifier=false, summary=false) 1817 @Description(shortDefinition="Nature of illness or problem", formalDefinition="The nature of illness or problem in a coded form or as a reference to an external defined Condition." ) 1818 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/icd-10") 1819 protected DataType diagnosis; 1820 1821 private static final long serialVersionUID = 947131409L; 1822 1823 /** 1824 * Constructor 1825 */ 1826 public DiagnosisComponent() { 1827 super(); 1828 } 1829 1830 /** 1831 * @return {@link #diagnosis} (The nature of illness or problem in a coded form or as a reference to an external defined Condition.) 1832 */ 1833 public DataType getDiagnosis() { 1834 return this.diagnosis; 1835 } 1836 1837 /** 1838 * @return {@link #diagnosis} (The nature of illness or problem in a coded form or as a reference to an external defined Condition.) 1839 */ 1840 public CodeableConcept getDiagnosisCodeableConcept() throws FHIRException { 1841 if (this.diagnosis == null) 1842 this.diagnosis = new CodeableConcept(); 1843 if (!(this.diagnosis instanceof CodeableConcept)) 1844 throw new FHIRException("Type mismatch: the type CodeableConcept was expected, but "+this.diagnosis.getClass().getName()+" was encountered"); 1845 return (CodeableConcept) this.diagnosis; 1846 } 1847 1848 public boolean hasDiagnosisCodeableConcept() { 1849 return this != null && this.diagnosis instanceof CodeableConcept; 1850 } 1851 1852 /** 1853 * @return {@link #diagnosis} (The nature of illness or problem in a coded form or as a reference to an external defined Condition.) 1854 */ 1855 public Reference getDiagnosisReference() throws FHIRException { 1856 if (this.diagnosis == null) 1857 this.diagnosis = new Reference(); 1858 if (!(this.diagnosis instanceof Reference)) 1859 throw new FHIRException("Type mismatch: the type Reference was expected, but "+this.diagnosis.getClass().getName()+" was encountered"); 1860 return (Reference) this.diagnosis; 1861 } 1862 1863 public boolean hasDiagnosisReference() { 1864 return this != null && this.diagnosis instanceof Reference; 1865 } 1866 1867 public boolean hasDiagnosis() { 1868 return this.diagnosis != null && !this.diagnosis.isEmpty(); 1869 } 1870 1871 /** 1872 * @param value {@link #diagnosis} (The nature of illness or problem in a coded form or as a reference to an external defined Condition.) 1873 */ 1874 public DiagnosisComponent setDiagnosis(DataType value) { 1875 if (value != null && !(value instanceof CodeableConcept || value instanceof Reference)) 1876 throw new FHIRException("Not the right type for CoverageEligibilityRequest.item.diagnosis.diagnosis[x]: "+value.fhirType()); 1877 this.diagnosis = value; 1878 return this; 1879 } 1880 1881 protected void listChildren(List<Property> children) { 1882 super.listChildren(children); 1883 children.add(new Property("diagnosis[x]", "CodeableConcept|Reference(Condition)", "The nature of illness or problem in a coded form or as a reference to an external defined Condition.", 0, 1, diagnosis)); 1884 } 1885 1886 @Override 1887 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1888 switch (_hash) { 1889 case -1487009809: /*diagnosis[x]*/ return new Property("diagnosis[x]", "CodeableConcept|Reference(Condition)", "The nature of illness or problem in a coded form or as a reference to an external defined Condition.", 0, 1, diagnosis); 1890 case 1196993265: /*diagnosis*/ return new Property("diagnosis[x]", "CodeableConcept|Reference(Condition)", "The nature of illness or problem in a coded form or as a reference to an external defined Condition.", 0, 1, diagnosis); 1891 case 277781616: /*diagnosisCodeableConcept*/ return new Property("diagnosis[x]", "CodeableConcept", "The nature of illness or problem in a coded form or as a reference to an external defined Condition.", 0, 1, diagnosis); 1892 case 2050454362: /*diagnosisReference*/ return new Property("diagnosis[x]", "Reference(Condition)", "The nature of illness or problem in a coded form or as a reference to an external defined Condition.", 0, 1, diagnosis); 1893 default: return super.getNamedProperty(_hash, _name, _checkValid); 1894 } 1895 1896 } 1897 1898 @Override 1899 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1900 switch (hash) { 1901 case 1196993265: /*diagnosis*/ return this.diagnosis == null ? new Base[0] : new Base[] {this.diagnosis}; // DataType 1902 default: return super.getProperty(hash, name, checkValid); 1903 } 1904 1905 } 1906 1907 @Override 1908 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1909 switch (hash) { 1910 case 1196993265: // diagnosis 1911 this.diagnosis = TypeConvertor.castToType(value); // DataType 1912 return value; 1913 default: return super.setProperty(hash, name, value); 1914 } 1915 1916 } 1917 1918 @Override 1919 public Base setProperty(String name, Base value) throws FHIRException { 1920 if (name.equals("diagnosis[x]")) { 1921 this.diagnosis = TypeConvertor.castToType(value); // DataType 1922 } else 1923 return super.setProperty(name, value); 1924 return value; 1925 } 1926 1927 @Override 1928 public void removeChild(String name, Base value) throws FHIRException { 1929 if (name.equals("diagnosis[x]")) { 1930 this.diagnosis = null; 1931 } else 1932 super.removeChild(name, value); 1933 1934 } 1935 1936 @Override 1937 public Base makeProperty(int hash, String name) throws FHIRException { 1938 switch (hash) { 1939 case -1487009809: return getDiagnosis(); 1940 case 1196993265: return getDiagnosis(); 1941 default: return super.makeProperty(hash, name); 1942 } 1943 1944 } 1945 1946 @Override 1947 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1948 switch (hash) { 1949 case 1196993265: /*diagnosis*/ return new String[] {"CodeableConcept", "Reference"}; 1950 default: return super.getTypesForProperty(hash, name); 1951 } 1952 1953 } 1954 1955 @Override 1956 public Base addChild(String name) throws FHIRException { 1957 if (name.equals("diagnosisCodeableConcept")) { 1958 this.diagnosis = new CodeableConcept(); 1959 return this.diagnosis; 1960 } 1961 else if (name.equals("diagnosisReference")) { 1962 this.diagnosis = new Reference(); 1963 return this.diagnosis; 1964 } 1965 else 1966 return super.addChild(name); 1967 } 1968 1969 public DiagnosisComponent copy() { 1970 DiagnosisComponent dst = new DiagnosisComponent(); 1971 copyValues(dst); 1972 return dst; 1973 } 1974 1975 public void copyValues(DiagnosisComponent dst) { 1976 super.copyValues(dst); 1977 dst.diagnosis = diagnosis == null ? null : diagnosis.copy(); 1978 } 1979 1980 @Override 1981 public boolean equalsDeep(Base other_) { 1982 if (!super.equalsDeep(other_)) 1983 return false; 1984 if (!(other_ instanceof DiagnosisComponent)) 1985 return false; 1986 DiagnosisComponent o = (DiagnosisComponent) other_; 1987 return compareDeep(diagnosis, o.diagnosis, true); 1988 } 1989 1990 @Override 1991 public boolean equalsShallow(Base other_) { 1992 if (!super.equalsShallow(other_)) 1993 return false; 1994 if (!(other_ instanceof DiagnosisComponent)) 1995 return false; 1996 DiagnosisComponent o = (DiagnosisComponent) other_; 1997 return true; 1998 } 1999 2000 public boolean isEmpty() { 2001 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(diagnosis); 2002 } 2003 2004 public String fhirType() { 2005 return "CoverageEligibilityRequest.item.diagnosis"; 2006 2007 } 2008 2009 } 2010 2011 /** 2012 * A unique identifier assigned to this coverage eligiblity request. 2013 */ 2014 @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2015 @Description(shortDefinition="Business Identifier for coverage eligiblity request", formalDefinition="A unique identifier assigned to this coverage eligiblity request." ) 2016 protected List<Identifier> identifier; 2017 2018 /** 2019 * The status of the resource instance. 2020 */ 2021 @Child(name = "status", type = {CodeType.class}, order=1, min=1, max=1, modifier=true, summary=true) 2022 @Description(shortDefinition="active | cancelled | draft | entered-in-error", formalDefinition="The status of the resource instance." ) 2023 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/fm-status") 2024 protected Enumeration<FinancialResourceStatusCodes> status; 2025 2026 /** 2027 * When the requestor expects the processor to complete processing. 2028 */ 2029 @Child(name = "priority", type = {CodeableConcept.class}, order=2, min=0, max=1, modifier=false, summary=false) 2030 @Description(shortDefinition="Desired processing priority", formalDefinition="When the requestor expects the processor to complete processing." ) 2031 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/process-priority") 2032 protected CodeableConcept priority; 2033 2034 /** 2035 * Code to specify whether requesting: prior authorization requirements for some service categories or billing codes; benefits for coverages specified or discovered; discovery and return of coverages for the patient; and/or validation that the specified coverage is in-force at the date/period specified or 'now' if not specified. 2036 */ 2037 @Child(name = "purpose", type = {CodeType.class}, order=3, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 2038 @Description(shortDefinition="auth-requirements | benefits | discovery | validation", formalDefinition="Code to specify whether requesting: prior authorization requirements for some service categories or billing codes; benefits for coverages specified or discovered; discovery and return of coverages for the patient; and/or validation that the specified coverage is in-force at the date/period specified or 'now' if not specified." ) 2039 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/eligibilityrequest-purpose") 2040 protected List<Enumeration<EligibilityRequestPurpose>> purpose; 2041 2042 /** 2043 * The party who is the beneficiary of the supplied coverage and for whom eligibility is sought. 2044 */ 2045 @Child(name = "patient", type = {Patient.class}, order=4, min=1, max=1, modifier=false, summary=true) 2046 @Description(shortDefinition="Intended recipient of products and services", formalDefinition="The party who is the beneficiary of the supplied coverage and for whom eligibility is sought." ) 2047 protected Reference patient; 2048 2049 /** 2050 * Information code for an event with a corresponding date or period. 2051 */ 2052 @Child(name = "event", type = {}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2053 @Description(shortDefinition="Event information", formalDefinition="Information code for an event with a corresponding date or period." ) 2054 protected List<CoverageEligibilityRequestEventComponent> event; 2055 2056 /** 2057 * The date or dates when the enclosed suite of services were performed or completed. 2058 */ 2059 @Child(name = "serviced", type = {DateType.class, Period.class}, order=6, min=0, max=1, modifier=false, summary=false) 2060 @Description(shortDefinition="Estimated date or dates of service", formalDefinition="The date or dates when the enclosed suite of services were performed or completed." ) 2061 protected DataType serviced; 2062 2063 /** 2064 * The date when this resource was created. 2065 */ 2066 @Child(name = "created", type = {DateTimeType.class}, order=7, min=1, max=1, modifier=false, summary=true) 2067 @Description(shortDefinition="Creation date", formalDefinition="The date when this resource was created." ) 2068 protected DateTimeType created; 2069 2070 /** 2071 * Person who created the request. 2072 */ 2073 @Child(name = "enterer", type = {Practitioner.class, PractitionerRole.class}, order=8, min=0, max=1, modifier=false, summary=false) 2074 @Description(shortDefinition="Author", formalDefinition="Person who created the request." ) 2075 protected Reference enterer; 2076 2077 /** 2078 * The provider which is responsible for the request. 2079 */ 2080 @Child(name = "provider", type = {Practitioner.class, PractitionerRole.class, Organization.class}, order=9, min=0, max=1, modifier=false, summary=false) 2081 @Description(shortDefinition="Party responsible for the request", formalDefinition="The provider which is responsible for the request." ) 2082 protected Reference provider; 2083 2084 /** 2085 * The Insurer who issued the coverage in question and is the recipient of the request. 2086 */ 2087 @Child(name = "insurer", type = {Organization.class}, order=10, min=1, max=1, modifier=false, summary=true) 2088 @Description(shortDefinition="Coverage issuer", formalDefinition="The Insurer who issued the coverage in question and is the recipient of the request." ) 2089 protected Reference insurer; 2090 2091 /** 2092 * Facility where the services are intended to be provided. 2093 */ 2094 @Child(name = "facility", type = {Location.class}, order=11, min=0, max=1, modifier=false, summary=false) 2095 @Description(shortDefinition="Servicing facility", formalDefinition="Facility where the services are intended to be provided." ) 2096 protected Reference facility; 2097 2098 /** 2099 * Additional information codes regarding exceptions, special considerations, the condition, situation, prior or concurrent issues. 2100 */ 2101 @Child(name = "supportingInfo", type = {}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2102 @Description(shortDefinition="Supporting information", formalDefinition="Additional information codes regarding exceptions, special considerations, the condition, situation, prior or concurrent issues." ) 2103 protected List<SupportingInformationComponent> supportingInfo; 2104 2105 /** 2106 * Financial instruments for reimbursement for the health care products and services. 2107 */ 2108 @Child(name = "insurance", type = {}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2109 @Description(shortDefinition="Patient insurance information", formalDefinition="Financial instruments for reimbursement for the health care products and services." ) 2110 protected List<InsuranceComponent> insurance; 2111 2112 /** 2113 * Service categories or billable services for which benefit details and/or an authorization prior to service delivery may be required by the payor. 2114 */ 2115 @Child(name = "item", type = {}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2116 @Description(shortDefinition="Item to be evaluated for eligibiity", formalDefinition="Service categories or billable services for which benefit details and/or an authorization prior to service delivery may be required by the payor." ) 2117 protected List<DetailsComponent> item; 2118 2119 private static final long serialVersionUID = 2008965302L; 2120 2121 /** 2122 * Constructor 2123 */ 2124 public CoverageEligibilityRequest() { 2125 super(); 2126 } 2127 2128 /** 2129 * Constructor 2130 */ 2131 public CoverageEligibilityRequest(FinancialResourceStatusCodes status, EligibilityRequestPurpose purpose, Reference patient, Date created, Reference insurer) { 2132 super(); 2133 this.setStatus(status); 2134 this.addPurpose(purpose); 2135 this.setPatient(patient); 2136 this.setCreated(created); 2137 this.setInsurer(insurer); 2138 } 2139 2140 /** 2141 * @return {@link #identifier} (A unique identifier assigned to this coverage eligiblity request.) 2142 */ 2143 public List<Identifier> getIdentifier() { 2144 if (this.identifier == null) 2145 this.identifier = new ArrayList<Identifier>(); 2146 return this.identifier; 2147 } 2148 2149 /** 2150 * @return Returns a reference to <code>this</code> for easy method chaining 2151 */ 2152 public CoverageEligibilityRequest setIdentifier(List<Identifier> theIdentifier) { 2153 this.identifier = theIdentifier; 2154 return this; 2155 } 2156 2157 public boolean hasIdentifier() { 2158 if (this.identifier == null) 2159 return false; 2160 for (Identifier item : this.identifier) 2161 if (!item.isEmpty()) 2162 return true; 2163 return false; 2164 } 2165 2166 public Identifier addIdentifier() { //3 2167 Identifier t = new Identifier(); 2168 if (this.identifier == null) 2169 this.identifier = new ArrayList<Identifier>(); 2170 this.identifier.add(t); 2171 return t; 2172 } 2173 2174 public CoverageEligibilityRequest addIdentifier(Identifier t) { //3 2175 if (t == null) 2176 return this; 2177 if (this.identifier == null) 2178 this.identifier = new ArrayList<Identifier>(); 2179 this.identifier.add(t); 2180 return this; 2181 } 2182 2183 /** 2184 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} 2185 */ 2186 public Identifier getIdentifierFirstRep() { 2187 if (getIdentifier().isEmpty()) { 2188 addIdentifier(); 2189 } 2190 return getIdentifier().get(0); 2191 } 2192 2193 /** 2194 * @return {@link #status} (The status of the resource instance.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 2195 */ 2196 public Enumeration<FinancialResourceStatusCodes> getStatusElement() { 2197 if (this.status == null) 2198 if (Configuration.errorOnAutoCreate()) 2199 throw new Error("Attempt to auto-create CoverageEligibilityRequest.status"); 2200 else if (Configuration.doAutoCreate()) 2201 this.status = new Enumeration<FinancialResourceStatusCodes>(new FinancialResourceStatusCodesEnumFactory()); // bb 2202 return this.status; 2203 } 2204 2205 public boolean hasStatusElement() { 2206 return this.status != null && !this.status.isEmpty(); 2207 } 2208 2209 public boolean hasStatus() { 2210 return this.status != null && !this.status.isEmpty(); 2211 } 2212 2213 /** 2214 * @param value {@link #status} (The status of the resource instance.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 2215 */ 2216 public CoverageEligibilityRequest setStatusElement(Enumeration<FinancialResourceStatusCodes> value) { 2217 this.status = value; 2218 return this; 2219 } 2220 2221 /** 2222 * @return The status of the resource instance. 2223 */ 2224 public FinancialResourceStatusCodes getStatus() { 2225 return this.status == null ? null : this.status.getValue(); 2226 } 2227 2228 /** 2229 * @param value The status of the resource instance. 2230 */ 2231 public CoverageEligibilityRequest setStatus(FinancialResourceStatusCodes value) { 2232 if (this.status == null) 2233 this.status = new Enumeration<FinancialResourceStatusCodes>(new FinancialResourceStatusCodesEnumFactory()); 2234 this.status.setValue(value); 2235 return this; 2236 } 2237 2238 /** 2239 * @return {@link #priority} (When the requestor expects the processor to complete processing.) 2240 */ 2241 public CodeableConcept getPriority() { 2242 if (this.priority == null) 2243 if (Configuration.errorOnAutoCreate()) 2244 throw new Error("Attempt to auto-create CoverageEligibilityRequest.priority"); 2245 else if (Configuration.doAutoCreate()) 2246 this.priority = new CodeableConcept(); // cc 2247 return this.priority; 2248 } 2249 2250 public boolean hasPriority() { 2251 return this.priority != null && !this.priority.isEmpty(); 2252 } 2253 2254 /** 2255 * @param value {@link #priority} (When the requestor expects the processor to complete processing.) 2256 */ 2257 public CoverageEligibilityRequest setPriority(CodeableConcept value) { 2258 this.priority = value; 2259 return this; 2260 } 2261 2262 /** 2263 * @return {@link #purpose} (Code to specify whether requesting: prior authorization requirements for some service categories or billing codes; benefits for coverages specified or discovered; discovery and return of coverages for the patient; and/or validation that the specified coverage is in-force at the date/period specified or 'now' if not specified.) 2264 */ 2265 public List<Enumeration<EligibilityRequestPurpose>> getPurpose() { 2266 if (this.purpose == null) 2267 this.purpose = new ArrayList<Enumeration<EligibilityRequestPurpose>>(); 2268 return this.purpose; 2269 } 2270 2271 /** 2272 * @return Returns a reference to <code>this</code> for easy method chaining 2273 */ 2274 public CoverageEligibilityRequest setPurpose(List<Enumeration<EligibilityRequestPurpose>> thePurpose) { 2275 this.purpose = thePurpose; 2276 return this; 2277 } 2278 2279 public boolean hasPurpose() { 2280 if (this.purpose == null) 2281 return false; 2282 for (Enumeration<EligibilityRequestPurpose> item : this.purpose) 2283 if (!item.isEmpty()) 2284 return true; 2285 return false; 2286 } 2287 2288 /** 2289 * @return {@link #purpose} (Code to specify whether requesting: prior authorization requirements for some service categories or billing codes; benefits for coverages specified or discovered; discovery and return of coverages for the patient; and/or validation that the specified coverage is in-force at the date/period specified or 'now' if not specified.) 2290 */ 2291 public Enumeration<EligibilityRequestPurpose> addPurposeElement() {//2 2292 Enumeration<EligibilityRequestPurpose> t = new Enumeration<EligibilityRequestPurpose>(new EligibilityRequestPurposeEnumFactory()); 2293 if (this.purpose == null) 2294 this.purpose = new ArrayList<Enumeration<EligibilityRequestPurpose>>(); 2295 this.purpose.add(t); 2296 return t; 2297 } 2298 2299 /** 2300 * @param value {@link #purpose} (Code to specify whether requesting: prior authorization requirements for some service categories or billing codes; benefits for coverages specified or discovered; discovery and return of coverages for the patient; and/or validation that the specified coverage is in-force at the date/period specified or 'now' if not specified.) 2301 */ 2302 public CoverageEligibilityRequest addPurpose(EligibilityRequestPurpose value) { //1 2303 Enumeration<EligibilityRequestPurpose> t = new Enumeration<EligibilityRequestPurpose>(new EligibilityRequestPurposeEnumFactory()); 2304 t.setValue(value); 2305 if (this.purpose == null) 2306 this.purpose = new ArrayList<Enumeration<EligibilityRequestPurpose>>(); 2307 this.purpose.add(t); 2308 return this; 2309 } 2310 2311 /** 2312 * @param value {@link #purpose} (Code to specify whether requesting: prior authorization requirements for some service categories or billing codes; benefits for coverages specified or discovered; discovery and return of coverages for the patient; and/or validation that the specified coverage is in-force at the date/period specified or 'now' if not specified.) 2313 */ 2314 public boolean hasPurpose(EligibilityRequestPurpose value) { 2315 if (this.purpose == null) 2316 return false; 2317 for (Enumeration<EligibilityRequestPurpose> v : this.purpose) 2318 if (v.getValue().equals(value)) // code 2319 return true; 2320 return false; 2321 } 2322 2323 /** 2324 * @return {@link #patient} (The party who is the beneficiary of the supplied coverage and for whom eligibility is sought.) 2325 */ 2326 public Reference getPatient() { 2327 if (this.patient == null) 2328 if (Configuration.errorOnAutoCreate()) 2329 throw new Error("Attempt to auto-create CoverageEligibilityRequest.patient"); 2330 else if (Configuration.doAutoCreate()) 2331 this.patient = new Reference(); // cc 2332 return this.patient; 2333 } 2334 2335 public boolean hasPatient() { 2336 return this.patient != null && !this.patient.isEmpty(); 2337 } 2338 2339 /** 2340 * @param value {@link #patient} (The party who is the beneficiary of the supplied coverage and for whom eligibility is sought.) 2341 */ 2342 public CoverageEligibilityRequest setPatient(Reference value) { 2343 this.patient = value; 2344 return this; 2345 } 2346 2347 /** 2348 * @return {@link #event} (Information code for an event with a corresponding date or period.) 2349 */ 2350 public List<CoverageEligibilityRequestEventComponent> getEvent() { 2351 if (this.event == null) 2352 this.event = new ArrayList<CoverageEligibilityRequestEventComponent>(); 2353 return this.event; 2354 } 2355 2356 /** 2357 * @return Returns a reference to <code>this</code> for easy method chaining 2358 */ 2359 public CoverageEligibilityRequest setEvent(List<CoverageEligibilityRequestEventComponent> theEvent) { 2360 this.event = theEvent; 2361 return this; 2362 } 2363 2364 public boolean hasEvent() { 2365 if (this.event == null) 2366 return false; 2367 for (CoverageEligibilityRequestEventComponent item : this.event) 2368 if (!item.isEmpty()) 2369 return true; 2370 return false; 2371 } 2372 2373 public CoverageEligibilityRequestEventComponent addEvent() { //3 2374 CoverageEligibilityRequestEventComponent t = new CoverageEligibilityRequestEventComponent(); 2375 if (this.event == null) 2376 this.event = new ArrayList<CoverageEligibilityRequestEventComponent>(); 2377 this.event.add(t); 2378 return t; 2379 } 2380 2381 public CoverageEligibilityRequest addEvent(CoverageEligibilityRequestEventComponent t) { //3 2382 if (t == null) 2383 return this; 2384 if (this.event == null) 2385 this.event = new ArrayList<CoverageEligibilityRequestEventComponent>(); 2386 this.event.add(t); 2387 return this; 2388 } 2389 2390 /** 2391 * @return The first repetition of repeating field {@link #event}, creating it if it does not already exist {3} 2392 */ 2393 public CoverageEligibilityRequestEventComponent getEventFirstRep() { 2394 if (getEvent().isEmpty()) { 2395 addEvent(); 2396 } 2397 return getEvent().get(0); 2398 } 2399 2400 /** 2401 * @return {@link #serviced} (The date or dates when the enclosed suite of services were performed or completed.) 2402 */ 2403 public DataType getServiced() { 2404 return this.serviced; 2405 } 2406 2407 /** 2408 * @return {@link #serviced} (The date or dates when the enclosed suite of services were performed or completed.) 2409 */ 2410 public DateType getServicedDateType() throws FHIRException { 2411 if (this.serviced == null) 2412 this.serviced = new DateType(); 2413 if (!(this.serviced instanceof DateType)) 2414 throw new FHIRException("Type mismatch: the type DateType was expected, but "+this.serviced.getClass().getName()+" was encountered"); 2415 return (DateType) this.serviced; 2416 } 2417 2418 public boolean hasServicedDateType() { 2419 return this != null && this.serviced instanceof DateType; 2420 } 2421 2422 /** 2423 * @return {@link #serviced} (The date or dates when the enclosed suite of services were performed or completed.) 2424 */ 2425 public Period getServicedPeriod() throws FHIRException { 2426 if (this.serviced == null) 2427 this.serviced = new Period(); 2428 if (!(this.serviced instanceof Period)) 2429 throw new FHIRException("Type mismatch: the type Period was expected, but "+this.serviced.getClass().getName()+" was encountered"); 2430 return (Period) this.serviced; 2431 } 2432 2433 public boolean hasServicedPeriod() { 2434 return this != null && this.serviced instanceof Period; 2435 } 2436 2437 public boolean hasServiced() { 2438 return this.serviced != null && !this.serviced.isEmpty(); 2439 } 2440 2441 /** 2442 * @param value {@link #serviced} (The date or dates when the enclosed suite of services were performed or completed.) 2443 */ 2444 public CoverageEligibilityRequest setServiced(DataType value) { 2445 if (value != null && !(value instanceof DateType || value instanceof Period)) 2446 throw new FHIRException("Not the right type for CoverageEligibilityRequest.serviced[x]: "+value.fhirType()); 2447 this.serviced = value; 2448 return this; 2449 } 2450 2451 /** 2452 * @return {@link #created} (The date when this resource was created.). This is the underlying object with id, value and extensions. The accessor "getCreated" gives direct access to the value 2453 */ 2454 public DateTimeType getCreatedElement() { 2455 if (this.created == null) 2456 if (Configuration.errorOnAutoCreate()) 2457 throw new Error("Attempt to auto-create CoverageEligibilityRequest.created"); 2458 else if (Configuration.doAutoCreate()) 2459 this.created = new DateTimeType(); // bb 2460 return this.created; 2461 } 2462 2463 public boolean hasCreatedElement() { 2464 return this.created != null && !this.created.isEmpty(); 2465 } 2466 2467 public boolean hasCreated() { 2468 return this.created != null && !this.created.isEmpty(); 2469 } 2470 2471 /** 2472 * @param value {@link #created} (The date when this resource was created.). This is the underlying object with id, value and extensions. The accessor "getCreated" gives direct access to the value 2473 */ 2474 public CoverageEligibilityRequest setCreatedElement(DateTimeType value) { 2475 this.created = value; 2476 return this; 2477 } 2478 2479 /** 2480 * @return The date when this resource was created. 2481 */ 2482 public Date getCreated() { 2483 return this.created == null ? null : this.created.getValue(); 2484 } 2485 2486 /** 2487 * @param value The date when this resource was created. 2488 */ 2489 public CoverageEligibilityRequest setCreated(Date value) { 2490 if (this.created == null) 2491 this.created = new DateTimeType(); 2492 this.created.setValue(value); 2493 return this; 2494 } 2495 2496 /** 2497 * @return {@link #enterer} (Person who created the request.) 2498 */ 2499 public Reference getEnterer() { 2500 if (this.enterer == null) 2501 if (Configuration.errorOnAutoCreate()) 2502 throw new Error("Attempt to auto-create CoverageEligibilityRequest.enterer"); 2503 else if (Configuration.doAutoCreate()) 2504 this.enterer = new Reference(); // cc 2505 return this.enterer; 2506 } 2507 2508 public boolean hasEnterer() { 2509 return this.enterer != null && !this.enterer.isEmpty(); 2510 } 2511 2512 /** 2513 * @param value {@link #enterer} (Person who created the request.) 2514 */ 2515 public CoverageEligibilityRequest setEnterer(Reference value) { 2516 this.enterer = value; 2517 return this; 2518 } 2519 2520 /** 2521 * @return {@link #provider} (The provider which is responsible for the request.) 2522 */ 2523 public Reference getProvider() { 2524 if (this.provider == null) 2525 if (Configuration.errorOnAutoCreate()) 2526 throw new Error("Attempt to auto-create CoverageEligibilityRequest.provider"); 2527 else if (Configuration.doAutoCreate()) 2528 this.provider = new Reference(); // cc 2529 return this.provider; 2530 } 2531 2532 public boolean hasProvider() { 2533 return this.provider != null && !this.provider.isEmpty(); 2534 } 2535 2536 /** 2537 * @param value {@link #provider} (The provider which is responsible for the request.) 2538 */ 2539 public CoverageEligibilityRequest setProvider(Reference value) { 2540 this.provider = value; 2541 return this; 2542 } 2543 2544 /** 2545 * @return {@link #insurer} (The Insurer who issued the coverage in question and is the recipient of the request.) 2546 */ 2547 public Reference getInsurer() { 2548 if (this.insurer == null) 2549 if (Configuration.errorOnAutoCreate()) 2550 throw new Error("Attempt to auto-create CoverageEligibilityRequest.insurer"); 2551 else if (Configuration.doAutoCreate()) 2552 this.insurer = new Reference(); // cc 2553 return this.insurer; 2554 } 2555 2556 public boolean hasInsurer() { 2557 return this.insurer != null && !this.insurer.isEmpty(); 2558 } 2559 2560 /** 2561 * @param value {@link #insurer} (The Insurer who issued the coverage in question and is the recipient of the request.) 2562 */ 2563 public CoverageEligibilityRequest setInsurer(Reference value) { 2564 this.insurer = value; 2565 return this; 2566 } 2567 2568 /** 2569 * @return {@link #facility} (Facility where the services are intended to be provided.) 2570 */ 2571 public Reference getFacility() { 2572 if (this.facility == null) 2573 if (Configuration.errorOnAutoCreate()) 2574 throw new Error("Attempt to auto-create CoverageEligibilityRequest.facility"); 2575 else if (Configuration.doAutoCreate()) 2576 this.facility = new Reference(); // cc 2577 return this.facility; 2578 } 2579 2580 public boolean hasFacility() { 2581 return this.facility != null && !this.facility.isEmpty(); 2582 } 2583 2584 /** 2585 * @param value {@link #facility} (Facility where the services are intended to be provided.) 2586 */ 2587 public CoverageEligibilityRequest setFacility(Reference value) { 2588 this.facility = value; 2589 return this; 2590 } 2591 2592 /** 2593 * @return {@link #supportingInfo} (Additional information codes regarding exceptions, special considerations, the condition, situation, prior or concurrent issues.) 2594 */ 2595 public List<SupportingInformationComponent> getSupportingInfo() { 2596 if (this.supportingInfo == null) 2597 this.supportingInfo = new ArrayList<SupportingInformationComponent>(); 2598 return this.supportingInfo; 2599 } 2600 2601 /** 2602 * @return Returns a reference to <code>this</code> for easy method chaining 2603 */ 2604 public CoverageEligibilityRequest setSupportingInfo(List<SupportingInformationComponent> theSupportingInfo) { 2605 this.supportingInfo = theSupportingInfo; 2606 return this; 2607 } 2608 2609 public boolean hasSupportingInfo() { 2610 if (this.supportingInfo == null) 2611 return false; 2612 for (SupportingInformationComponent item : this.supportingInfo) 2613 if (!item.isEmpty()) 2614 return true; 2615 return false; 2616 } 2617 2618 public SupportingInformationComponent addSupportingInfo() { //3 2619 SupportingInformationComponent t = new SupportingInformationComponent(); 2620 if (this.supportingInfo == null) 2621 this.supportingInfo = new ArrayList<SupportingInformationComponent>(); 2622 this.supportingInfo.add(t); 2623 return t; 2624 } 2625 2626 public CoverageEligibilityRequest addSupportingInfo(SupportingInformationComponent t) { //3 2627 if (t == null) 2628 return this; 2629 if (this.supportingInfo == null) 2630 this.supportingInfo = new ArrayList<SupportingInformationComponent>(); 2631 this.supportingInfo.add(t); 2632 return this; 2633 } 2634 2635 /** 2636 * @return The first repetition of repeating field {@link #supportingInfo}, creating it if it does not already exist {3} 2637 */ 2638 public SupportingInformationComponent getSupportingInfoFirstRep() { 2639 if (getSupportingInfo().isEmpty()) { 2640 addSupportingInfo(); 2641 } 2642 return getSupportingInfo().get(0); 2643 } 2644 2645 /** 2646 * @return {@link #insurance} (Financial instruments for reimbursement for the health care products and services.) 2647 */ 2648 public List<InsuranceComponent> getInsurance() { 2649 if (this.insurance == null) 2650 this.insurance = new ArrayList<InsuranceComponent>(); 2651 return this.insurance; 2652 } 2653 2654 /** 2655 * @return Returns a reference to <code>this</code> for easy method chaining 2656 */ 2657 public CoverageEligibilityRequest setInsurance(List<InsuranceComponent> theInsurance) { 2658 this.insurance = theInsurance; 2659 return this; 2660 } 2661 2662 public boolean hasInsurance() { 2663 if (this.insurance == null) 2664 return false; 2665 for (InsuranceComponent item : this.insurance) 2666 if (!item.isEmpty()) 2667 return true; 2668 return false; 2669 } 2670 2671 public InsuranceComponent addInsurance() { //3 2672 InsuranceComponent t = new InsuranceComponent(); 2673 if (this.insurance == null) 2674 this.insurance = new ArrayList<InsuranceComponent>(); 2675 this.insurance.add(t); 2676 return t; 2677 } 2678 2679 public CoverageEligibilityRequest addInsurance(InsuranceComponent t) { //3 2680 if (t == null) 2681 return this; 2682 if (this.insurance == null) 2683 this.insurance = new ArrayList<InsuranceComponent>(); 2684 this.insurance.add(t); 2685 return this; 2686 } 2687 2688 /** 2689 * @return The first repetition of repeating field {@link #insurance}, creating it if it does not already exist {3} 2690 */ 2691 public InsuranceComponent getInsuranceFirstRep() { 2692 if (getInsurance().isEmpty()) { 2693 addInsurance(); 2694 } 2695 return getInsurance().get(0); 2696 } 2697 2698 /** 2699 * @return {@link #item} (Service categories or billable services for which benefit details and/or an authorization prior to service delivery may be required by the payor.) 2700 */ 2701 public List<DetailsComponent> getItem() { 2702 if (this.item == null) 2703 this.item = new ArrayList<DetailsComponent>(); 2704 return this.item; 2705 } 2706 2707 /** 2708 * @return Returns a reference to <code>this</code> for easy method chaining 2709 */ 2710 public CoverageEligibilityRequest setItem(List<DetailsComponent> theItem) { 2711 this.item = theItem; 2712 return this; 2713 } 2714 2715 public boolean hasItem() { 2716 if (this.item == null) 2717 return false; 2718 for (DetailsComponent item : this.item) 2719 if (!item.isEmpty()) 2720 return true; 2721 return false; 2722 } 2723 2724 public DetailsComponent addItem() { //3 2725 DetailsComponent t = new DetailsComponent(); 2726 if (this.item == null) 2727 this.item = new ArrayList<DetailsComponent>(); 2728 this.item.add(t); 2729 return t; 2730 } 2731 2732 public CoverageEligibilityRequest addItem(DetailsComponent t) { //3 2733 if (t == null) 2734 return this; 2735 if (this.item == null) 2736 this.item = new ArrayList<DetailsComponent>(); 2737 this.item.add(t); 2738 return this; 2739 } 2740 2741 /** 2742 * @return The first repetition of repeating field {@link #item}, creating it if it does not already exist {3} 2743 */ 2744 public DetailsComponent getItemFirstRep() { 2745 if (getItem().isEmpty()) { 2746 addItem(); 2747 } 2748 return getItem().get(0); 2749 } 2750 2751 protected void listChildren(List<Property> children) { 2752 super.listChildren(children); 2753 children.add(new Property("identifier", "Identifier", "A unique identifier assigned to this coverage eligiblity request.", 0, java.lang.Integer.MAX_VALUE, identifier)); 2754 children.add(new Property("status", "code", "The status of the resource instance.", 0, 1, status)); 2755 children.add(new Property("priority", "CodeableConcept", "When the requestor expects the processor to complete processing.", 0, 1, priority)); 2756 children.add(new Property("purpose", "code", "Code to specify whether requesting: prior authorization requirements for some service categories or billing codes; benefits for coverages specified or discovered; discovery and return of coverages for the patient; and/or validation that the specified coverage is in-force at the date/period specified or 'now' if not specified.", 0, java.lang.Integer.MAX_VALUE, purpose)); 2757 children.add(new Property("patient", "Reference(Patient)", "The party who is the beneficiary of the supplied coverage and for whom eligibility is sought.", 0, 1, patient)); 2758 children.add(new Property("event", "", "Information code for an event with a corresponding date or period.", 0, java.lang.Integer.MAX_VALUE, event)); 2759 children.add(new Property("serviced[x]", "date|Period", "The date or dates when the enclosed suite of services were performed or completed.", 0, 1, serviced)); 2760 children.add(new Property("created", "dateTime", "The date when this resource was created.", 0, 1, created)); 2761 children.add(new Property("enterer", "Reference(Practitioner|PractitionerRole)", "Person who created the request.", 0, 1, enterer)); 2762 children.add(new Property("provider", "Reference(Practitioner|PractitionerRole|Organization)", "The provider which is responsible for the request.", 0, 1, provider)); 2763 children.add(new Property("insurer", "Reference(Organization)", "The Insurer who issued the coverage in question and is the recipient of the request.", 0, 1, insurer)); 2764 children.add(new Property("facility", "Reference(Location)", "Facility where the services are intended to be provided.", 0, 1, facility)); 2765 children.add(new Property("supportingInfo", "", "Additional information codes regarding exceptions, special considerations, the condition, situation, prior or concurrent issues.", 0, java.lang.Integer.MAX_VALUE, supportingInfo)); 2766 children.add(new Property("insurance", "", "Financial instruments for reimbursement for the health care products and services.", 0, java.lang.Integer.MAX_VALUE, insurance)); 2767 children.add(new Property("item", "", "Service categories or billable services for which benefit details and/or an authorization prior to service delivery may be required by the payor.", 0, java.lang.Integer.MAX_VALUE, item)); 2768 } 2769 2770 @Override 2771 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 2772 switch (_hash) { 2773 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "A unique identifier assigned to this coverage eligiblity request.", 0, java.lang.Integer.MAX_VALUE, identifier); 2774 case -892481550: /*status*/ return new Property("status", "code", "The status of the resource instance.", 0, 1, status); 2775 case -1165461084: /*priority*/ return new Property("priority", "CodeableConcept", "When the requestor expects the processor to complete processing.", 0, 1, priority); 2776 case -220463842: /*purpose*/ return new Property("purpose", "code", "Code to specify whether requesting: prior authorization requirements for some service categories or billing codes; benefits for coverages specified or discovered; discovery and return of coverages for the patient; and/or validation that the specified coverage is in-force at the date/period specified or 'now' if not specified.", 0, java.lang.Integer.MAX_VALUE, purpose); 2777 case -791418107: /*patient*/ return new Property("patient", "Reference(Patient)", "The party who is the beneficiary of the supplied coverage and for whom eligibility is sought.", 0, 1, patient); 2778 case 96891546: /*event*/ return new Property("event", "", "Information code for an event with a corresponding date or period.", 0, java.lang.Integer.MAX_VALUE, event); 2779 case -1927922223: /*serviced[x]*/ return new Property("serviced[x]", "date|Period", "The date or dates when the enclosed suite of services were performed or completed.", 0, 1, serviced); 2780 case 1379209295: /*serviced*/ return new Property("serviced[x]", "date|Period", "The date or dates when the enclosed suite of services were performed or completed.", 0, 1, serviced); 2781 case 363246749: /*servicedDate*/ return new Property("serviced[x]", "date", "The date or dates when the enclosed suite of services were performed or completed.", 0, 1, serviced); 2782 case 1534966512: /*servicedPeriod*/ return new Property("serviced[x]", "Period", "The date or dates when the enclosed suite of services were performed or completed.", 0, 1, serviced); 2783 case 1028554472: /*created*/ return new Property("created", "dateTime", "The date when this resource was created.", 0, 1, created); 2784 case -1591951995: /*enterer*/ return new Property("enterer", "Reference(Practitioner|PractitionerRole)", "Person who created the request.", 0, 1, enterer); 2785 case -987494927: /*provider*/ return new Property("provider", "Reference(Practitioner|PractitionerRole|Organization)", "The provider which is responsible for the request.", 0, 1, provider); 2786 case 1957615864: /*insurer*/ return new Property("insurer", "Reference(Organization)", "The Insurer who issued the coverage in question and is the recipient of the request.", 0, 1, insurer); 2787 case 501116579: /*facility*/ return new Property("facility", "Reference(Location)", "Facility where the services are intended to be provided.", 0, 1, facility); 2788 case 1922406657: /*supportingInfo*/ return new Property("supportingInfo", "", "Additional information codes regarding exceptions, special considerations, the condition, situation, prior or concurrent issues.", 0, java.lang.Integer.MAX_VALUE, supportingInfo); 2789 case 73049818: /*insurance*/ return new Property("insurance", "", "Financial instruments for reimbursement for the health care products and services.", 0, java.lang.Integer.MAX_VALUE, insurance); 2790 case 3242771: /*item*/ return new Property("item", "", "Service categories or billable services for which benefit details and/or an authorization prior to service delivery may be required by the payor.", 0, java.lang.Integer.MAX_VALUE, item); 2791 default: return super.getNamedProperty(_hash, _name, _checkValid); 2792 } 2793 2794 } 2795 2796 @Override 2797 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 2798 switch (hash) { 2799 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 2800 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<FinancialResourceStatusCodes> 2801 case -1165461084: /*priority*/ return this.priority == null ? new Base[0] : new Base[] {this.priority}; // CodeableConcept 2802 case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : this.purpose.toArray(new Base[this.purpose.size()]); // Enumeration<EligibilityRequestPurpose> 2803 case -791418107: /*patient*/ return this.patient == null ? new Base[0] : new Base[] {this.patient}; // Reference 2804 case 96891546: /*event*/ return this.event == null ? new Base[0] : this.event.toArray(new Base[this.event.size()]); // CoverageEligibilityRequestEventComponent 2805 case 1379209295: /*serviced*/ return this.serviced == null ? new Base[0] : new Base[] {this.serviced}; // DataType 2806 case 1028554472: /*created*/ return this.created == null ? new Base[0] : new Base[] {this.created}; // DateTimeType 2807 case -1591951995: /*enterer*/ return this.enterer == null ? new Base[0] : new Base[] {this.enterer}; // Reference 2808 case -987494927: /*provider*/ return this.provider == null ? new Base[0] : new Base[] {this.provider}; // Reference 2809 case 1957615864: /*insurer*/ return this.insurer == null ? new Base[0] : new Base[] {this.insurer}; // Reference 2810 case 501116579: /*facility*/ return this.facility == null ? new Base[0] : new Base[] {this.facility}; // Reference 2811 case 1922406657: /*supportingInfo*/ return this.supportingInfo == null ? new Base[0] : this.supportingInfo.toArray(new Base[this.supportingInfo.size()]); // SupportingInformationComponent 2812 case 73049818: /*insurance*/ return this.insurance == null ? new Base[0] : this.insurance.toArray(new Base[this.insurance.size()]); // InsuranceComponent 2813 case 3242771: /*item*/ return this.item == null ? new Base[0] : this.item.toArray(new Base[this.item.size()]); // DetailsComponent 2814 default: return super.getProperty(hash, name, checkValid); 2815 } 2816 2817 } 2818 2819 @Override 2820 public Base setProperty(int hash, String name, Base value) throws FHIRException { 2821 switch (hash) { 2822 case -1618432855: // identifier 2823 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier 2824 return value; 2825 case -892481550: // status 2826 value = new FinancialResourceStatusCodesEnumFactory().fromType(TypeConvertor.castToCode(value)); 2827 this.status = (Enumeration) value; // Enumeration<FinancialResourceStatusCodes> 2828 return value; 2829 case -1165461084: // priority 2830 this.priority = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 2831 return value; 2832 case -220463842: // purpose 2833 value = new EligibilityRequestPurposeEnumFactory().fromType(TypeConvertor.castToCode(value)); 2834 this.getPurpose().add((Enumeration) value); // Enumeration<EligibilityRequestPurpose> 2835 return value; 2836 case -791418107: // patient 2837 this.patient = TypeConvertor.castToReference(value); // Reference 2838 return value; 2839 case 96891546: // event 2840 this.getEvent().add((CoverageEligibilityRequestEventComponent) value); // CoverageEligibilityRequestEventComponent 2841 return value; 2842 case 1379209295: // serviced 2843 this.serviced = TypeConvertor.castToType(value); // DataType 2844 return value; 2845 case 1028554472: // created 2846 this.created = TypeConvertor.castToDateTime(value); // DateTimeType 2847 return value; 2848 case -1591951995: // enterer 2849 this.enterer = TypeConvertor.castToReference(value); // Reference 2850 return value; 2851 case -987494927: // provider 2852 this.provider = TypeConvertor.castToReference(value); // Reference 2853 return value; 2854 case 1957615864: // insurer 2855 this.insurer = TypeConvertor.castToReference(value); // Reference 2856 return value; 2857 case 501116579: // facility 2858 this.facility = TypeConvertor.castToReference(value); // Reference 2859 return value; 2860 case 1922406657: // supportingInfo 2861 this.getSupportingInfo().add((SupportingInformationComponent) value); // SupportingInformationComponent 2862 return value; 2863 case 73049818: // insurance 2864 this.getInsurance().add((InsuranceComponent) value); // InsuranceComponent 2865 return value; 2866 case 3242771: // item 2867 this.getItem().add((DetailsComponent) value); // DetailsComponent 2868 return value; 2869 default: return super.setProperty(hash, name, value); 2870 } 2871 2872 } 2873 2874 @Override 2875 public Base setProperty(String name, Base value) throws FHIRException { 2876 if (name.equals("identifier")) { 2877 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); 2878 } else if (name.equals("status")) { 2879 value = new FinancialResourceStatusCodesEnumFactory().fromType(TypeConvertor.castToCode(value)); 2880 this.status = (Enumeration) value; // Enumeration<FinancialResourceStatusCodes> 2881 } else if (name.equals("priority")) { 2882 this.priority = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 2883 } else if (name.equals("purpose")) { 2884 value = new EligibilityRequestPurposeEnumFactory().fromType(TypeConvertor.castToCode(value)); 2885 this.getPurpose().add((Enumeration) value); 2886 } else if (name.equals("patient")) { 2887 this.patient = TypeConvertor.castToReference(value); // Reference 2888 } else if (name.equals("event")) { 2889 this.getEvent().add((CoverageEligibilityRequestEventComponent) value); 2890 } else if (name.equals("serviced[x]")) { 2891 this.serviced = TypeConvertor.castToType(value); // DataType 2892 } else if (name.equals("created")) { 2893 this.created = TypeConvertor.castToDateTime(value); // DateTimeType 2894 } else if (name.equals("enterer")) { 2895 this.enterer = TypeConvertor.castToReference(value); // Reference 2896 } else if (name.equals("provider")) { 2897 this.provider = TypeConvertor.castToReference(value); // Reference 2898 } else if (name.equals("insurer")) { 2899 this.insurer = TypeConvertor.castToReference(value); // Reference 2900 } else if (name.equals("facility")) { 2901 this.facility = TypeConvertor.castToReference(value); // Reference 2902 } else if (name.equals("supportingInfo")) { 2903 this.getSupportingInfo().add((SupportingInformationComponent) value); 2904 } else if (name.equals("insurance")) { 2905 this.getInsurance().add((InsuranceComponent) value); 2906 } else if (name.equals("item")) { 2907 this.getItem().add((DetailsComponent) value); 2908 } else 2909 return super.setProperty(name, value); 2910 return value; 2911 } 2912 2913 @Override 2914 public void removeChild(String name, Base value) throws FHIRException { 2915 if (name.equals("identifier")) { 2916 this.getIdentifier().remove(value); 2917 } else if (name.equals("status")) { 2918 value = new FinancialResourceStatusCodesEnumFactory().fromType(TypeConvertor.castToCode(value)); 2919 this.status = (Enumeration) value; // Enumeration<FinancialResourceStatusCodes> 2920 } else if (name.equals("priority")) { 2921 this.priority = null; 2922 } else if (name.equals("purpose")) { 2923 value = new EligibilityRequestPurposeEnumFactory().fromType(TypeConvertor.castToCode(value)); 2924 this.getPurpose().remove((Enumeration) value); 2925 } else if (name.equals("patient")) { 2926 this.patient = null; 2927 } else if (name.equals("event")) { 2928 this.getEvent().remove((CoverageEligibilityRequestEventComponent) value); 2929 } else if (name.equals("serviced[x]")) { 2930 this.serviced = null; 2931 } else if (name.equals("created")) { 2932 this.created = null; 2933 } else if (name.equals("enterer")) { 2934 this.enterer = null; 2935 } else if (name.equals("provider")) { 2936 this.provider = null; 2937 } else if (name.equals("insurer")) { 2938 this.insurer = null; 2939 } else if (name.equals("facility")) { 2940 this.facility = null; 2941 } else if (name.equals("supportingInfo")) { 2942 this.getSupportingInfo().remove((SupportingInformationComponent) value); 2943 } else if (name.equals("insurance")) { 2944 this.getInsurance().remove((InsuranceComponent) value); 2945 } else if (name.equals("item")) { 2946 this.getItem().remove((DetailsComponent) value); 2947 } else 2948 super.removeChild(name, value); 2949 2950 } 2951 2952 @Override 2953 public Base makeProperty(int hash, String name) throws FHIRException { 2954 switch (hash) { 2955 case -1618432855: return addIdentifier(); 2956 case -892481550: return getStatusElement(); 2957 case -1165461084: return getPriority(); 2958 case -220463842: return addPurposeElement(); 2959 case -791418107: return getPatient(); 2960 case 96891546: return addEvent(); 2961 case -1927922223: return getServiced(); 2962 case 1379209295: return getServiced(); 2963 case 1028554472: return getCreatedElement(); 2964 case -1591951995: return getEnterer(); 2965 case -987494927: return getProvider(); 2966 case 1957615864: return getInsurer(); 2967 case 501116579: return getFacility(); 2968 case 1922406657: return addSupportingInfo(); 2969 case 73049818: return addInsurance(); 2970 case 3242771: return addItem(); 2971 default: return super.makeProperty(hash, name); 2972 } 2973 2974 } 2975 2976 @Override 2977 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2978 switch (hash) { 2979 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 2980 case -892481550: /*status*/ return new String[] {"code"}; 2981 case -1165461084: /*priority*/ return new String[] {"CodeableConcept"}; 2982 case -220463842: /*purpose*/ return new String[] {"code"}; 2983 case -791418107: /*patient*/ return new String[] {"Reference"}; 2984 case 96891546: /*event*/ return new String[] {}; 2985 case 1379209295: /*serviced*/ return new String[] {"date", "Period"}; 2986 case 1028554472: /*created*/ return new String[] {"dateTime"}; 2987 case -1591951995: /*enterer*/ return new String[] {"Reference"}; 2988 case -987494927: /*provider*/ return new String[] {"Reference"}; 2989 case 1957615864: /*insurer*/ return new String[] {"Reference"}; 2990 case 501116579: /*facility*/ return new String[] {"Reference"}; 2991 case 1922406657: /*supportingInfo*/ return new String[] {}; 2992 case 73049818: /*insurance*/ return new String[] {}; 2993 case 3242771: /*item*/ return new String[] {}; 2994 default: return super.getTypesForProperty(hash, name); 2995 } 2996 2997 } 2998 2999 @Override 3000 public Base addChild(String name) throws FHIRException { 3001 if (name.equals("identifier")) { 3002 return addIdentifier(); 3003 } 3004 else if (name.equals("status")) { 3005 throw new FHIRException("Cannot call addChild on a singleton property CoverageEligibilityRequest.status"); 3006 } 3007 else if (name.equals("priority")) { 3008 this.priority = new CodeableConcept(); 3009 return this.priority; 3010 } 3011 else if (name.equals("purpose")) { 3012 throw new FHIRException("Cannot call addChild on a singleton property CoverageEligibilityRequest.purpose"); 3013 } 3014 else if (name.equals("patient")) { 3015 this.patient = new Reference(); 3016 return this.patient; 3017 } 3018 else if (name.equals("event")) { 3019 return addEvent(); 3020 } 3021 else if (name.equals("servicedDate")) { 3022 this.serviced = new DateType(); 3023 return this.serviced; 3024 } 3025 else if (name.equals("servicedPeriod")) { 3026 this.serviced = new Period(); 3027 return this.serviced; 3028 } 3029 else if (name.equals("created")) { 3030 throw new FHIRException("Cannot call addChild on a singleton property CoverageEligibilityRequest.created"); 3031 } 3032 else if (name.equals("enterer")) { 3033 this.enterer = new Reference(); 3034 return this.enterer; 3035 } 3036 else if (name.equals("provider")) { 3037 this.provider = new Reference(); 3038 return this.provider; 3039 } 3040 else if (name.equals("insurer")) { 3041 this.insurer = new Reference(); 3042 return this.insurer; 3043 } 3044 else if (name.equals("facility")) { 3045 this.facility = new Reference(); 3046 return this.facility; 3047 } 3048 else if (name.equals("supportingInfo")) { 3049 return addSupportingInfo(); 3050 } 3051 else if (name.equals("insurance")) { 3052 return addInsurance(); 3053 } 3054 else if (name.equals("item")) { 3055 return addItem(); 3056 } 3057 else 3058 return super.addChild(name); 3059 } 3060 3061 public String fhirType() { 3062 return "CoverageEligibilityRequest"; 3063 3064 } 3065 3066 public CoverageEligibilityRequest copy() { 3067 CoverageEligibilityRequest dst = new CoverageEligibilityRequest(); 3068 copyValues(dst); 3069 return dst; 3070 } 3071 3072 public void copyValues(CoverageEligibilityRequest dst) { 3073 super.copyValues(dst); 3074 if (identifier != null) { 3075 dst.identifier = new ArrayList<Identifier>(); 3076 for (Identifier i : identifier) 3077 dst.identifier.add(i.copy()); 3078 }; 3079 dst.status = status == null ? null : status.copy(); 3080 dst.priority = priority == null ? null : priority.copy(); 3081 if (purpose != null) { 3082 dst.purpose = new ArrayList<Enumeration<EligibilityRequestPurpose>>(); 3083 for (Enumeration<EligibilityRequestPurpose> i : purpose) 3084 dst.purpose.add(i.copy()); 3085 }; 3086 dst.patient = patient == null ? null : patient.copy(); 3087 if (event != null) { 3088 dst.event = new ArrayList<CoverageEligibilityRequestEventComponent>(); 3089 for (CoverageEligibilityRequestEventComponent i : event) 3090 dst.event.add(i.copy()); 3091 }; 3092 dst.serviced = serviced == null ? null : serviced.copy(); 3093 dst.created = created == null ? null : created.copy(); 3094 dst.enterer = enterer == null ? null : enterer.copy(); 3095 dst.provider = provider == null ? null : provider.copy(); 3096 dst.insurer = insurer == null ? null : insurer.copy(); 3097 dst.facility = facility == null ? null : facility.copy(); 3098 if (supportingInfo != null) { 3099 dst.supportingInfo = new ArrayList<SupportingInformationComponent>(); 3100 for (SupportingInformationComponent i : supportingInfo) 3101 dst.supportingInfo.add(i.copy()); 3102 }; 3103 if (insurance != null) { 3104 dst.insurance = new ArrayList<InsuranceComponent>(); 3105 for (InsuranceComponent i : insurance) 3106 dst.insurance.add(i.copy()); 3107 }; 3108 if (item != null) { 3109 dst.item = new ArrayList<DetailsComponent>(); 3110 for (DetailsComponent i : item) 3111 dst.item.add(i.copy()); 3112 }; 3113 } 3114 3115 protected CoverageEligibilityRequest typedCopy() { 3116 return copy(); 3117 } 3118 3119 @Override 3120 public boolean equalsDeep(Base other_) { 3121 if (!super.equalsDeep(other_)) 3122 return false; 3123 if (!(other_ instanceof CoverageEligibilityRequest)) 3124 return false; 3125 CoverageEligibilityRequest o = (CoverageEligibilityRequest) other_; 3126 return compareDeep(identifier, o.identifier, true) && compareDeep(status, o.status, true) && compareDeep(priority, o.priority, true) 3127 && compareDeep(purpose, o.purpose, true) && compareDeep(patient, o.patient, true) && compareDeep(event, o.event, true) 3128 && compareDeep(serviced, o.serviced, true) && compareDeep(created, o.created, true) && compareDeep(enterer, o.enterer, true) 3129 && compareDeep(provider, o.provider, true) && compareDeep(insurer, o.insurer, true) && compareDeep(facility, o.facility, true) 3130 && compareDeep(supportingInfo, o.supportingInfo, true) && compareDeep(insurance, o.insurance, true) 3131 && compareDeep(item, o.item, true); 3132 } 3133 3134 @Override 3135 public boolean equalsShallow(Base other_) { 3136 if (!super.equalsShallow(other_)) 3137 return false; 3138 if (!(other_ instanceof CoverageEligibilityRequest)) 3139 return false; 3140 CoverageEligibilityRequest o = (CoverageEligibilityRequest) other_; 3141 return compareValues(status, o.status, true) && compareValues(purpose, o.purpose, true) && compareValues(created, o.created, true) 3142 ; 3143 } 3144 3145 public boolean isEmpty() { 3146 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, status, priority 3147 , purpose, patient, event, serviced, created, enterer, provider, insurer, facility 3148 , supportingInfo, insurance, item); 3149 } 3150 3151 @Override 3152 public ResourceType getResourceType() { 3153 return ResourceType.CoverageEligibilityRequest; 3154 } 3155 3156 /** 3157 * Search parameter: <b>created</b> 3158 * <p> 3159 * Description: <b>The creation date for the EOB</b><br> 3160 * Type: <b>date</b><br> 3161 * Path: <b>CoverageEligibilityRequest.created</b><br> 3162 * </p> 3163 */ 3164 @SearchParamDefinition(name="created", path="CoverageEligibilityRequest.created", description="The creation date for the EOB", type="date" ) 3165 public static final String SP_CREATED = "created"; 3166 /** 3167 * <b>Fluent Client</b> search parameter constant for <b>created</b> 3168 * <p> 3169 * Description: <b>The creation date for the EOB</b><br> 3170 * Type: <b>date</b><br> 3171 * Path: <b>CoverageEligibilityRequest.created</b><br> 3172 * </p> 3173 */ 3174 public static final ca.uhn.fhir.rest.gclient.DateClientParam CREATED = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_CREATED); 3175 3176 /** 3177 * Search parameter: <b>enterer</b> 3178 * <p> 3179 * Description: <b>The party who is responsible for the request</b><br> 3180 * Type: <b>reference</b><br> 3181 * Path: <b>CoverageEligibilityRequest.enterer</b><br> 3182 * </p> 3183 */ 3184 @SearchParamDefinition(name="enterer", path="CoverageEligibilityRequest.enterer", description="The party who is responsible for the request", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Practitioner") }, target={Practitioner.class, PractitionerRole.class } ) 3185 public static final String SP_ENTERER = "enterer"; 3186 /** 3187 * <b>Fluent Client</b> search parameter constant for <b>enterer</b> 3188 * <p> 3189 * Description: <b>The party who is responsible for the request</b><br> 3190 * Type: <b>reference</b><br> 3191 * Path: <b>CoverageEligibilityRequest.enterer</b><br> 3192 * </p> 3193 */ 3194 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ENTERER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_ENTERER); 3195 3196/** 3197 * Constant for fluent queries to be used to add include statements. Specifies 3198 * the path value of "<b>CoverageEligibilityRequest:enterer</b>". 3199 */ 3200 public static final ca.uhn.fhir.model.api.Include INCLUDE_ENTERER = new ca.uhn.fhir.model.api.Include("CoverageEligibilityRequest:enterer").toLocked(); 3201 3202 /** 3203 * Search parameter: <b>facility</b> 3204 * <p> 3205 * Description: <b>Facility responsible for the goods and services</b><br> 3206 * Type: <b>reference</b><br> 3207 * Path: <b>CoverageEligibilityRequest.facility</b><br> 3208 * </p> 3209 */ 3210 @SearchParamDefinition(name="facility", path="CoverageEligibilityRequest.facility", description="Facility responsible for the goods and services", type="reference", target={Location.class } ) 3211 public static final String SP_FACILITY = "facility"; 3212 /** 3213 * <b>Fluent Client</b> search parameter constant for <b>facility</b> 3214 * <p> 3215 * Description: <b>Facility responsible for the goods and services</b><br> 3216 * Type: <b>reference</b><br> 3217 * Path: <b>CoverageEligibilityRequest.facility</b><br> 3218 * </p> 3219 */ 3220 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam FACILITY = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_FACILITY); 3221 3222/** 3223 * Constant for fluent queries to be used to add include statements. Specifies 3224 * the path value of "<b>CoverageEligibilityRequest:facility</b>". 3225 */ 3226 public static final ca.uhn.fhir.model.api.Include INCLUDE_FACILITY = new ca.uhn.fhir.model.api.Include("CoverageEligibilityRequest:facility").toLocked(); 3227 3228 /** 3229 * Search parameter: <b>provider</b> 3230 * <p> 3231 * Description: <b>The reference to the provider</b><br> 3232 * Type: <b>reference</b><br> 3233 * Path: <b>CoverageEligibilityRequest.provider</b><br> 3234 * </p> 3235 */ 3236 @SearchParamDefinition(name="provider", path="CoverageEligibilityRequest.provider", description="The reference to the provider", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Practitioner") }, target={Organization.class, Practitioner.class, PractitionerRole.class } ) 3237 public static final String SP_PROVIDER = "provider"; 3238 /** 3239 * <b>Fluent Client</b> search parameter constant for <b>provider</b> 3240 * <p> 3241 * Description: <b>The reference to the provider</b><br> 3242 * Type: <b>reference</b><br> 3243 * Path: <b>CoverageEligibilityRequest.provider</b><br> 3244 * </p> 3245 */ 3246 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PROVIDER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PROVIDER); 3247 3248/** 3249 * Constant for fluent queries to be used to add include statements. Specifies 3250 * the path value of "<b>CoverageEligibilityRequest:provider</b>". 3251 */ 3252 public static final ca.uhn.fhir.model.api.Include INCLUDE_PROVIDER = new ca.uhn.fhir.model.api.Include("CoverageEligibilityRequest:provider").toLocked(); 3253 3254 /** 3255 * Search parameter: <b>status</b> 3256 * <p> 3257 * Description: <b>The status of the EligibilityRequest</b><br> 3258 * Type: <b>token</b><br> 3259 * Path: <b>CoverageEligibilityRequest.status</b><br> 3260 * </p> 3261 */ 3262 @SearchParamDefinition(name="status", path="CoverageEligibilityRequest.status", description="The status of the EligibilityRequest", type="token" ) 3263 public static final String SP_STATUS = "status"; 3264 /** 3265 * <b>Fluent Client</b> search parameter constant for <b>status</b> 3266 * <p> 3267 * Description: <b>The status of the EligibilityRequest</b><br> 3268 * Type: <b>token</b><br> 3269 * Path: <b>CoverageEligibilityRequest.status</b><br> 3270 * </p> 3271 */ 3272 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 3273 3274 /** 3275 * Search parameter: <b>identifier</b> 3276 * <p> 3277 * Description: <b>Multiple Resources: 3278 3279* [Account](account.html): Account number 3280* [AdverseEvent](adverseevent.html): Business identifier for the event 3281* [AllergyIntolerance](allergyintolerance.html): External ids for this item 3282* [Appointment](appointment.html): An Identifier of the Appointment 3283* [AppointmentResponse](appointmentresponse.html): An Identifier in this appointment response 3284* [Basic](basic.html): Business identifier 3285* [BodyStructure](bodystructure.html): Bodystructure identifier 3286* [CarePlan](careplan.html): External Ids for this plan 3287* [CareTeam](careteam.html): External Ids for this team 3288* [ChargeItem](chargeitem.html): Business Identifier for item 3289* [Claim](claim.html): The primary identifier of the financial resource 3290* [ClaimResponse](claimresponse.html): The identity of the ClaimResponse 3291* [ClinicalImpression](clinicalimpression.html): Business identifier 3292* [Communication](communication.html): Unique identifier 3293* [CommunicationRequest](communicationrequest.html): Unique identifier 3294* [Composition](composition.html): Version-independent identifier for the Composition 3295* [Condition](condition.html): A unique identifier of the condition record 3296* [Consent](consent.html): Identifier for this record (external references) 3297* [Contract](contract.html): The identity of the contract 3298* [Coverage](coverage.html): The primary identifier of the insured and the coverage 3299* [CoverageEligibilityRequest](coverageeligibilityrequest.html): The business identifier of the Eligibility 3300* [CoverageEligibilityResponse](coverageeligibilityresponse.html): The business identifier 3301* [DetectedIssue](detectedissue.html): Unique id for the detected issue 3302* [DeviceRequest](devicerequest.html): Business identifier for request/order 3303* [DeviceUsage](deviceusage.html): Search by identifier 3304* [DiagnosticReport](diagnosticreport.html): An identifier for the report 3305* [DocumentReference](documentreference.html): Identifier of the attachment binary 3306* [Encounter](encounter.html): Identifier(s) by which this encounter is known 3307* [EnrollmentRequest](enrollmentrequest.html): The business identifier of the Enrollment 3308* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare 3309* [ExplanationOfBenefit](explanationofbenefit.html): The business identifier of the Explanation of Benefit 3310* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier 3311* [Flag](flag.html): Business identifier 3312* [Goal](goal.html): External Ids for this goal 3313* [GuidanceResponse](guidanceresponse.html): The identifier of the guidance response 3314* [ImagingSelection](imagingselection.html): Identifiers for the imaging selection 3315* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID 3316* [Immunization](immunization.html): Business identifier 3317* [ImmunizationEvaluation](immunizationevaluation.html): ID of the evaluation 3318* [ImmunizationRecommendation](immunizationrecommendation.html): Business identifier 3319* [Invoice](invoice.html): Business Identifier for item 3320* [List](list.html): Business identifier 3321* [MeasureReport](measurereport.html): External identifier of the measure report to be returned 3322* [Medication](medication.html): Returns medications with this external identifier 3323* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier 3324* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier 3325* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier 3326* [MedicationStatement](medicationstatement.html): Return statements with this external identifier 3327* [MolecularSequence](molecularsequence.html): The unique identity for a particular sequence 3328* [NutritionIntake](nutritionintake.html): Return statements with this external identifier 3329* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier 3330* [Observation](observation.html): The unique id for a particular observation 3331* [Person](person.html): A person Identifier 3332* [Procedure](procedure.html): A unique identifier for a procedure 3333* [QuestionnaireResponse](questionnaireresponse.html): The unique identifier for the questionnaire response 3334* [RelatedPerson](relatedperson.html): An Identifier of the RelatedPerson 3335* [RequestOrchestration](requestorchestration.html): External identifiers for the request orchestration 3336* [ResearchSubject](researchsubject.html): Business Identifier for research subject in a study 3337* [RiskAssessment](riskassessment.html): Unique identifier for the assessment 3338* [ServiceRequest](servicerequest.html): Identifiers assigned to this order 3339* [Specimen](specimen.html): The unique identifier associated with the specimen 3340* [SupplyDelivery](supplydelivery.html): External identifier 3341* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest 3342* [Task](task.html): Search for a task instance by its business identifier 3343* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier 3344</b><br> 3345 * Type: <b>token</b><br> 3346 * 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> 3347 * </p> 3348 */ 3349 @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" ) 3350 public static final String SP_IDENTIFIER = "identifier"; 3351 /** 3352 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 3353 * <p> 3354 * Description: <b>Multiple Resources: 3355 3356* [Account](account.html): Account number 3357* [AdverseEvent](adverseevent.html): Business identifier for the event 3358* [AllergyIntolerance](allergyintolerance.html): External ids for this item 3359* [Appointment](appointment.html): An Identifier of the Appointment 3360* [AppointmentResponse](appointmentresponse.html): An Identifier in this appointment response 3361* [Basic](basic.html): Business identifier 3362* [BodyStructure](bodystructure.html): Bodystructure identifier 3363* [CarePlan](careplan.html): External Ids for this plan 3364* [CareTeam](careteam.html): External Ids for this team 3365* [ChargeItem](chargeitem.html): Business Identifier for item 3366* [Claim](claim.html): The primary identifier of the financial resource 3367* [ClaimResponse](claimresponse.html): The identity of the ClaimResponse 3368* [ClinicalImpression](clinicalimpression.html): Business identifier 3369* [Communication](communication.html): Unique identifier 3370* [CommunicationRequest](communicationrequest.html): Unique identifier 3371* [Composition](composition.html): Version-independent identifier for the Composition 3372* [Condition](condition.html): A unique identifier of the condition record 3373* [Consent](consent.html): Identifier for this record (external references) 3374* [Contract](contract.html): The identity of the contract 3375* [Coverage](coverage.html): The primary identifier of the insured and the coverage 3376* [CoverageEligibilityRequest](coverageeligibilityrequest.html): The business identifier of the Eligibility 3377* [CoverageEligibilityResponse](coverageeligibilityresponse.html): The business identifier 3378* [DetectedIssue](detectedissue.html): Unique id for the detected issue 3379* [DeviceRequest](devicerequest.html): Business identifier for request/order 3380* [DeviceUsage](deviceusage.html): Search by identifier 3381* [DiagnosticReport](diagnosticreport.html): An identifier for the report 3382* [DocumentReference](documentreference.html): Identifier of the attachment binary 3383* [Encounter](encounter.html): Identifier(s) by which this encounter is known 3384* [EnrollmentRequest](enrollmentrequest.html): The business identifier of the Enrollment 3385* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare 3386* [ExplanationOfBenefit](explanationofbenefit.html): The business identifier of the Explanation of Benefit 3387* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier 3388* [Flag](flag.html): Business identifier 3389* [Goal](goal.html): External Ids for this goal 3390* [GuidanceResponse](guidanceresponse.html): The identifier of the guidance response 3391* [ImagingSelection](imagingselection.html): Identifiers for the imaging selection 3392* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID 3393* [Immunization](immunization.html): Business identifier 3394* [ImmunizationEvaluation](immunizationevaluation.html): ID of the evaluation 3395* [ImmunizationRecommendation](immunizationrecommendation.html): Business identifier 3396* [Invoice](invoice.html): Business Identifier for item 3397* [List](list.html): Business identifier 3398* [MeasureReport](measurereport.html): External identifier of the measure report to be returned 3399* [Medication](medication.html): Returns medications with this external identifier 3400* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier 3401* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier 3402* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier 3403* [MedicationStatement](medicationstatement.html): Return statements with this external identifier 3404* [MolecularSequence](molecularsequence.html): The unique identity for a particular sequence 3405* [NutritionIntake](nutritionintake.html): Return statements with this external identifier 3406* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier 3407* [Observation](observation.html): The unique id for a particular observation 3408* [Person](person.html): A person Identifier 3409* [Procedure](procedure.html): A unique identifier for a procedure 3410* [QuestionnaireResponse](questionnaireresponse.html): The unique identifier for the questionnaire response 3411* [RelatedPerson](relatedperson.html): An Identifier of the RelatedPerson 3412* [RequestOrchestration](requestorchestration.html): External identifiers for the request orchestration 3413* [ResearchSubject](researchsubject.html): Business Identifier for research subject in a study 3414* [RiskAssessment](riskassessment.html): Unique identifier for the assessment 3415* [ServiceRequest](servicerequest.html): Identifiers assigned to this order 3416* [Specimen](specimen.html): The unique identifier associated with the specimen 3417* [SupplyDelivery](supplydelivery.html): External identifier 3418* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest 3419* [Task](task.html): Search for a task instance by its business identifier 3420* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier 3421</b><br> 3422 * Type: <b>token</b><br> 3423 * 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> 3424 * </p> 3425 */ 3426 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 3427 3428 /** 3429 * Search parameter: <b>patient</b> 3430 * <p> 3431 * Description: <b>Multiple Resources: 3432 3433* [Account](account.html): The entity that caused the expenses 3434* [AdverseEvent](adverseevent.html): Subject impacted by event 3435* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for 3436* [Appointment](appointment.html): One of the individuals of the appointment is this patient 3437* [AppointmentResponse](appointmentresponse.html): This Response is for this Patient 3438* [AuditEvent](auditevent.html): Where the activity involved patient data 3439* [Basic](basic.html): Identifies the focus of this resource 3440* [BodyStructure](bodystructure.html): Who this is about 3441* [CarePlan](careplan.html): Who the care plan is for 3442* [CareTeam](careteam.html): Who care team is for 3443* [ChargeItem](chargeitem.html): Individual service was done for/to 3444* [Claim](claim.html): Patient receiving the products or services 3445* [ClaimResponse](claimresponse.html): The subject of care 3446* [ClinicalImpression](clinicalimpression.html): Patient assessed 3447* [Communication](communication.html): Focus of message 3448* [CommunicationRequest](communicationrequest.html): Focus of message 3449* [Composition](composition.html): Who and/or what the composition is about 3450* [Condition](condition.html): Who has the condition? 3451* [Consent](consent.html): Who the consent applies to 3452* [Contract](contract.html): The identity of the subject of the contract (if a patient) 3453* [Coverage](coverage.html): Retrieve coverages for a patient 3454* [CoverageEligibilityRequest](coverageeligibilityrequest.html): The reference to the patient 3455* [CoverageEligibilityResponse](coverageeligibilityresponse.html): The reference to the patient 3456* [DetectedIssue](detectedissue.html): Associated patient 3457* [DeviceRequest](devicerequest.html): Individual the service is ordered for 3458* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device 3459* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient 3460* [DocumentReference](documentreference.html): Who/what is the subject of the document 3461* [Encounter](encounter.html): The patient present at the encounter 3462* [EnrollmentRequest](enrollmentrequest.html): The party to be enrolled 3463* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care 3464* [ExplanationOfBenefit](explanationofbenefit.html): The reference to the patient 3465* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for 3466* [Flag](flag.html): The identity of a subject to list flags for 3467* [Goal](goal.html): Who this goal is intended for 3468* [GuidanceResponse](guidanceresponse.html): The identity of a patient to search for guidance response results 3469* [ImagingSelection](imagingselection.html): Who the study is about 3470* [ImagingStudy](imagingstudy.html): Who the study is about 3471* [Immunization](immunization.html): The patient for the vaccination record 3472* [ImmunizationEvaluation](immunizationevaluation.html): The patient being evaluated 3473* [ImmunizationRecommendation](immunizationrecommendation.html): Who this profile is for 3474* [Invoice](invoice.html): Recipient(s) of goods and services 3475* [List](list.html): If all resources have the same subject 3476* [MeasureReport](measurereport.html): The identity of a patient to search for individual measure report results for 3477* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for 3478* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for 3479* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient 3480* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient. 3481* [MolecularSequence](molecularsequence.html): The subject that the sequence is about 3482* [NutritionIntake](nutritionintake.html): Returns statements for a specific patient. 3483* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement 3484* [Observation](observation.html): The subject that the observation is about (if patient) 3485* [Person](person.html): The Person links to this Patient 3486* [Procedure](procedure.html): Search by subject - a patient 3487* [Provenance](provenance.html): Where the activity involved patient data 3488* [QuestionnaireResponse](questionnaireresponse.html): The patient that is the subject of the questionnaire response 3489* [RelatedPerson](relatedperson.html): The patient this related person is related to 3490* [RequestOrchestration](requestorchestration.html): The identity of a patient to search for request orchestrations 3491* [ResearchSubject](researchsubject.html): Who or what is part of study 3492* [RiskAssessment](riskassessment.html): Who/what does assessment apply to? 3493* [ServiceRequest](servicerequest.html): Search by subject - a patient 3494* [Specimen](specimen.html): The patient the specimen comes from 3495* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied 3496* [SupplyRequest](supplyrequest.html): The patient or subject for whom the supply is destined 3497* [Task](task.html): Search by patient 3498* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for 3499</b><br> 3500 * Type: <b>reference</b><br> 3501 * 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> 3502 * </p> 3503 */ 3504 @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 } ) 3505 public static final String SP_PATIENT = "patient"; 3506 /** 3507 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 3508 * <p> 3509 * Description: <b>Multiple Resources: 3510 3511* [Account](account.html): The entity that caused the expenses 3512* [AdverseEvent](adverseevent.html): Subject impacted by event 3513* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for 3514* [Appointment](appointment.html): One of the individuals of the appointment is this patient 3515* [AppointmentResponse](appointmentresponse.html): This Response is for this Patient 3516* [AuditEvent](auditevent.html): Where the activity involved patient data 3517* [Basic](basic.html): Identifies the focus of this resource 3518* [BodyStructure](bodystructure.html): Who this is about 3519* [CarePlan](careplan.html): Who the care plan is for 3520* [CareTeam](careteam.html): Who care team is for 3521* [ChargeItem](chargeitem.html): Individual service was done for/to 3522* [Claim](claim.html): Patient receiving the products or services 3523* [ClaimResponse](claimresponse.html): The subject of care 3524* [ClinicalImpression](clinicalimpression.html): Patient assessed 3525* [Communication](communication.html): Focus of message 3526* [CommunicationRequest](communicationrequest.html): Focus of message 3527* [Composition](composition.html): Who and/or what the composition is about 3528* [Condition](condition.html): Who has the condition? 3529* [Consent](consent.html): Who the consent applies to 3530* [Contract](contract.html): The identity of the subject of the contract (if a patient) 3531* [Coverage](coverage.html): Retrieve coverages for a patient 3532* [CoverageEligibilityRequest](coverageeligibilityrequest.html): The reference to the patient 3533* [CoverageEligibilityResponse](coverageeligibilityresponse.html): The reference to the patient 3534* [DetectedIssue](detectedissue.html): Associated patient 3535* [DeviceRequest](devicerequest.html): Individual the service is ordered for 3536* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device 3537* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient 3538* [DocumentReference](documentreference.html): Who/what is the subject of the document 3539* [Encounter](encounter.html): The patient present at the encounter 3540* [EnrollmentRequest](enrollmentrequest.html): The party to be enrolled 3541* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care 3542* [ExplanationOfBenefit](explanationofbenefit.html): The reference to the patient 3543* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for 3544* [Flag](flag.html): The identity of a subject to list flags for 3545* [Goal](goal.html): Who this goal is intended for 3546* [GuidanceResponse](guidanceresponse.html): The identity of a patient to search for guidance response results 3547* [ImagingSelection](imagingselection.html): Who the study is about 3548* [ImagingStudy](imagingstudy.html): Who the study is about 3549* [Immunization](immunization.html): The patient for the vaccination record 3550* [ImmunizationEvaluation](immunizationevaluation.html): The patient being evaluated 3551* [ImmunizationRecommendation](immunizationrecommendation.html): Who this profile is for 3552* [Invoice](invoice.html): Recipient(s) of goods and services 3553* [List](list.html): If all resources have the same subject 3554* [MeasureReport](measurereport.html): The identity of a patient to search for individual measure report results for 3555* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for 3556* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for 3557* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient 3558* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient. 3559* [MolecularSequence](molecularsequence.html): The subject that the sequence is about 3560* [NutritionIntake](nutritionintake.html): Returns statements for a specific patient. 3561* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement 3562* [Observation](observation.html): The subject that the observation is about (if patient) 3563* [Person](person.html): The Person links to this Patient 3564* [Procedure](procedure.html): Search by subject - a patient 3565* [Provenance](provenance.html): Where the activity involved patient data 3566* [QuestionnaireResponse](questionnaireresponse.html): The patient that is the subject of the questionnaire response 3567* [RelatedPerson](relatedperson.html): The patient this related person is related to 3568* [RequestOrchestration](requestorchestration.html): The identity of a patient to search for request orchestrations 3569* [ResearchSubject](researchsubject.html): Who or what is part of study 3570* [RiskAssessment](riskassessment.html): Who/what does assessment apply to? 3571* [ServiceRequest](servicerequest.html): Search by subject - a patient 3572* [Specimen](specimen.html): The patient the specimen comes from 3573* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied 3574* [SupplyRequest](supplyrequest.html): The patient or subject for whom the supply is destined 3575* [Task](task.html): Search by patient 3576* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for 3577</b><br> 3578 * Type: <b>reference</b><br> 3579 * 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> 3580 * </p> 3581 */ 3582 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); 3583 3584/** 3585 * Constant for fluent queries to be used to add include statements. Specifies 3586 * the path value of "<b>CoverageEligibilityRequest:patient</b>". 3587 */ 3588 public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("CoverageEligibilityRequest:patient").toLocked(); 3589 3590 3591} 3592