001package org.hl7.fhir.r5.model; 002 003 004/* 005 Copyright (c) 2011+, HL7, Inc. 006 All rights reserved. 007 008 Redistribution and use in source and binary forms, with or without modification, \ 009 are permitted provided that the following conditions are met: 010 011 * Redistributions of source code must retain the above copyright notice, this \ 012 list of conditions and the following disclaimer. 013 * Redistributions in binary form must reproduce the above copyright notice, \ 014 this list of conditions and the following disclaimer in the documentation \ 015 and/or other materials provided with the distribution. 016 * Neither the name of HL7 nor the names of its contributors may be used to 017 endorse or promote products derived from this software without specific 018 prior written permission. 019 020 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND \ 021 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED \ 022 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \ 023 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, \ 024 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \ 025 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR \ 026 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, \ 027 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \ 028 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE \ 029 POSSIBILITY OF SUCH DAMAGE. 030 */ 031 032// Generated on Tue, Dec 13, 2022 17:53+1100 for FHIR vcurrent 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 * This resource provides eligibility and plan details from the processing of an CoverageEligibilityRequest resource. 052 */ 053@ResourceDef(name="CoverageEligibilityResponse", profile="http://hl7.org/fhir/StructureDefinition/CoverageEligibilityResponse") 054public class CoverageEligibilityResponse extends DomainResource { 055 056 public enum EligibilityOutcome { 057 /** 058 * The Claim/Pre-authorization/Pre-determination has been received but processing has not begun. 059 */ 060 QUEUED, 061 /** 062 * The processing has completed without errors 063 */ 064 COMPLETE, 065 /** 066 * One or more errors have been detected in the Claim 067 */ 068 ERROR, 069 /** 070 * No errors have been detected in the Claim and some of the adjudication has been performed. 071 */ 072 PARTIAL, 073 /** 074 * added to help the parsers with the generic types 075 */ 076 NULL; 077 public static EligibilityOutcome fromCode(String codeString) throws FHIRException { 078 if (codeString == null || "".equals(codeString)) 079 return null; 080 if ("queued".equals(codeString)) 081 return QUEUED; 082 if ("complete".equals(codeString)) 083 return COMPLETE; 084 if ("error".equals(codeString)) 085 return ERROR; 086 if ("partial".equals(codeString)) 087 return PARTIAL; 088 if (Configuration.isAcceptInvalidEnums()) 089 return null; 090 else 091 throw new FHIRException("Unknown EligibilityOutcome code '"+codeString+"'"); 092 } 093 public String toCode() { 094 switch (this) { 095 case QUEUED: return "queued"; 096 case COMPLETE: return "complete"; 097 case ERROR: return "error"; 098 case PARTIAL: return "partial"; 099 case NULL: return null; 100 default: return "?"; 101 } 102 } 103 public String getSystem() { 104 switch (this) { 105 case QUEUED: return "http://hl7.org/fhir/eligibility-outcome"; 106 case COMPLETE: return "http://hl7.org/fhir/eligibility-outcome"; 107 case ERROR: return "http://hl7.org/fhir/eligibility-outcome"; 108 case PARTIAL: return "http://hl7.org/fhir/eligibility-outcome"; 109 case NULL: return null; 110 default: return "?"; 111 } 112 } 113 public String getDefinition() { 114 switch (this) { 115 case QUEUED: return "The Claim/Pre-authorization/Pre-determination has been received but processing has not begun."; 116 case COMPLETE: return "The processing has completed without errors"; 117 case ERROR: return "One or more errors have been detected in the Claim"; 118 case PARTIAL: return "No errors have been detected in the Claim and some of the adjudication has been performed."; 119 case NULL: return null; 120 default: return "?"; 121 } 122 } 123 public String getDisplay() { 124 switch (this) { 125 case QUEUED: return "Queued"; 126 case COMPLETE: return "Processing Complete"; 127 case ERROR: return "Error"; 128 case PARTIAL: return "Partial Processing"; 129 case NULL: return null; 130 default: return "?"; 131 } 132 } 133 } 134 135 public static class EligibilityOutcomeEnumFactory implements EnumFactory<EligibilityOutcome> { 136 public EligibilityOutcome fromCode(String codeString) throws IllegalArgumentException { 137 if (codeString == null || "".equals(codeString)) 138 if (codeString == null || "".equals(codeString)) 139 return null; 140 if ("queued".equals(codeString)) 141 return EligibilityOutcome.QUEUED; 142 if ("complete".equals(codeString)) 143 return EligibilityOutcome.COMPLETE; 144 if ("error".equals(codeString)) 145 return EligibilityOutcome.ERROR; 146 if ("partial".equals(codeString)) 147 return EligibilityOutcome.PARTIAL; 148 throw new IllegalArgumentException("Unknown EligibilityOutcome code '"+codeString+"'"); 149 } 150 public Enumeration<EligibilityOutcome> fromType(PrimitiveType<?> code) throws FHIRException { 151 if (code == null) 152 return null; 153 if (code.isEmpty()) 154 return new Enumeration<EligibilityOutcome>(this, EligibilityOutcome.NULL, code); 155 String codeString = ((PrimitiveType) code).asStringValue(); 156 if (codeString == null || "".equals(codeString)) 157 return new Enumeration<EligibilityOutcome>(this, EligibilityOutcome.NULL, code); 158 if ("queued".equals(codeString)) 159 return new Enumeration<EligibilityOutcome>(this, EligibilityOutcome.QUEUED, code); 160 if ("complete".equals(codeString)) 161 return new Enumeration<EligibilityOutcome>(this, EligibilityOutcome.COMPLETE, code); 162 if ("error".equals(codeString)) 163 return new Enumeration<EligibilityOutcome>(this, EligibilityOutcome.ERROR, code); 164 if ("partial".equals(codeString)) 165 return new Enumeration<EligibilityOutcome>(this, EligibilityOutcome.PARTIAL, code); 166 throw new FHIRException("Unknown EligibilityOutcome code '"+codeString+"'"); 167 } 168 public String toCode(EligibilityOutcome code) { 169 if (code == EligibilityOutcome.QUEUED) 170 return "queued"; 171 if (code == EligibilityOutcome.COMPLETE) 172 return "complete"; 173 if (code == EligibilityOutcome.ERROR) 174 return "error"; 175 if (code == EligibilityOutcome.PARTIAL) 176 return "partial"; 177 return "?"; 178 } 179 public String toSystem(EligibilityOutcome code) { 180 return code.getSystem(); 181 } 182 } 183 184 public enum EligibilityResponsePurpose { 185 /** 186 * The prior authorization requirements for the listed, or discovered if specified, converages for the categories of service and/or specifed biling codes are requested. 187 */ 188 AUTHREQUIREMENTS, 189 /** 190 * The plan benefits and optionally benefits consumed for the listed, or discovered if specified, converages are requested. 191 */ 192 BENEFITS, 193 /** 194 * The insurer is requested to report on any coverages which they are aware of in addition to any specifed. 195 */ 196 DISCOVERY, 197 /** 198 * A check that the specified coverages are in-force is requested. 199 */ 200 VALIDATION, 201 /** 202 * added to help the parsers with the generic types 203 */ 204 NULL; 205 public static EligibilityResponsePurpose fromCode(String codeString) throws FHIRException { 206 if (codeString == null || "".equals(codeString)) 207 return null; 208 if ("auth-requirements".equals(codeString)) 209 return AUTHREQUIREMENTS; 210 if ("benefits".equals(codeString)) 211 return BENEFITS; 212 if ("discovery".equals(codeString)) 213 return DISCOVERY; 214 if ("validation".equals(codeString)) 215 return VALIDATION; 216 if (Configuration.isAcceptInvalidEnums()) 217 return null; 218 else 219 throw new FHIRException("Unknown EligibilityResponsePurpose code '"+codeString+"'"); 220 } 221 public String toCode() { 222 switch (this) { 223 case AUTHREQUIREMENTS: return "auth-requirements"; 224 case BENEFITS: return "benefits"; 225 case DISCOVERY: return "discovery"; 226 case VALIDATION: return "validation"; 227 case NULL: return null; 228 default: return "?"; 229 } 230 } 231 public String getSystem() { 232 switch (this) { 233 case AUTHREQUIREMENTS: return "http://hl7.org/fhir/eligibilityresponse-purpose"; 234 case BENEFITS: return "http://hl7.org/fhir/eligibilityresponse-purpose"; 235 case DISCOVERY: return "http://hl7.org/fhir/eligibilityresponse-purpose"; 236 case VALIDATION: return "http://hl7.org/fhir/eligibilityresponse-purpose"; 237 case NULL: return null; 238 default: return "?"; 239 } 240 } 241 public String getDefinition() { 242 switch (this) { 243 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."; 244 case BENEFITS: return "The plan benefits and optionally benefits consumed for the listed, or discovered if specified, converages are requested."; 245 case DISCOVERY: return "The insurer is requested to report on any coverages which they are aware of in addition to any specifed."; 246 case VALIDATION: return "A check that the specified coverages are in-force is requested."; 247 case NULL: return null; 248 default: return "?"; 249 } 250 } 251 public String getDisplay() { 252 switch (this) { 253 case AUTHREQUIREMENTS: return "Coverage auth-requirements"; 254 case BENEFITS: return "Coverage benefits"; 255 case DISCOVERY: return "Coverage Discovery"; 256 case VALIDATION: return "Coverage Validation"; 257 case NULL: return null; 258 default: return "?"; 259 } 260 } 261 } 262 263 public static class EligibilityResponsePurposeEnumFactory implements EnumFactory<EligibilityResponsePurpose> { 264 public EligibilityResponsePurpose fromCode(String codeString) throws IllegalArgumentException { 265 if (codeString == null || "".equals(codeString)) 266 if (codeString == null || "".equals(codeString)) 267 return null; 268 if ("auth-requirements".equals(codeString)) 269 return EligibilityResponsePurpose.AUTHREQUIREMENTS; 270 if ("benefits".equals(codeString)) 271 return EligibilityResponsePurpose.BENEFITS; 272 if ("discovery".equals(codeString)) 273 return EligibilityResponsePurpose.DISCOVERY; 274 if ("validation".equals(codeString)) 275 return EligibilityResponsePurpose.VALIDATION; 276 throw new IllegalArgumentException("Unknown EligibilityResponsePurpose code '"+codeString+"'"); 277 } 278 public Enumeration<EligibilityResponsePurpose> fromType(PrimitiveType<?> code) throws FHIRException { 279 if (code == null) 280 return null; 281 if (code.isEmpty()) 282 return new Enumeration<EligibilityResponsePurpose>(this, EligibilityResponsePurpose.NULL, code); 283 String codeString = ((PrimitiveType) code).asStringValue(); 284 if (codeString == null || "".equals(codeString)) 285 return new Enumeration<EligibilityResponsePurpose>(this, EligibilityResponsePurpose.NULL, code); 286 if ("auth-requirements".equals(codeString)) 287 return new Enumeration<EligibilityResponsePurpose>(this, EligibilityResponsePurpose.AUTHREQUIREMENTS, code); 288 if ("benefits".equals(codeString)) 289 return new Enumeration<EligibilityResponsePurpose>(this, EligibilityResponsePurpose.BENEFITS, code); 290 if ("discovery".equals(codeString)) 291 return new Enumeration<EligibilityResponsePurpose>(this, EligibilityResponsePurpose.DISCOVERY, code); 292 if ("validation".equals(codeString)) 293 return new Enumeration<EligibilityResponsePurpose>(this, EligibilityResponsePurpose.VALIDATION, code); 294 throw new FHIRException("Unknown EligibilityResponsePurpose code '"+codeString+"'"); 295 } 296 public String toCode(EligibilityResponsePurpose code) { 297 if (code == EligibilityResponsePurpose.AUTHREQUIREMENTS) 298 return "auth-requirements"; 299 if (code == EligibilityResponsePurpose.BENEFITS) 300 return "benefits"; 301 if (code == EligibilityResponsePurpose.DISCOVERY) 302 return "discovery"; 303 if (code == EligibilityResponsePurpose.VALIDATION) 304 return "validation"; 305 return "?"; 306 } 307 public String toSystem(EligibilityResponsePurpose code) { 308 return code.getSystem(); 309 } 310 } 311 312 @Block() 313 public static class InsuranceComponent extends BackboneElement implements IBaseBackboneElement { 314 /** 315 * 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. 316 */ 317 @Child(name = "coverage", type = {Coverage.class}, order=1, min=1, max=1, modifier=false, summary=true) 318 @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." ) 319 protected Reference coverage; 320 321 /** 322 * Flag indicating if the coverage provided is inforce currently if no service date(s) specified or for the whole duration of the service dates. 323 */ 324 @Child(name = "inforce", type = {BooleanType.class}, order=2, min=0, max=1, modifier=false, summary=false) 325 @Description(shortDefinition="Coverage inforce indicator", formalDefinition="Flag indicating if the coverage provided is inforce currently if no service date(s) specified or for the whole duration of the service dates." ) 326 protected BooleanType inforce; 327 328 /** 329 * The term of the benefits documented in this response. 330 */ 331 @Child(name = "benefitPeriod", type = {Period.class}, order=3, min=0, max=1, modifier=false, summary=false) 332 @Description(shortDefinition="When the benefits are applicable", formalDefinition="The term of the benefits documented in this response." ) 333 protected Period benefitPeriod; 334 335 /** 336 * Benefits and optionally current balances, and authorization details by category or service. 337 */ 338 @Child(name = "item", type = {}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 339 @Description(shortDefinition="Benefits and authorization details", formalDefinition="Benefits and optionally current balances, and authorization details by category or service." ) 340 protected List<ItemsComponent> item; 341 342 private static final long serialVersionUID = 1473928476L; 343 344 /** 345 * Constructor 346 */ 347 public InsuranceComponent() { 348 super(); 349 } 350 351 /** 352 * Constructor 353 */ 354 public InsuranceComponent(Reference coverage) { 355 super(); 356 this.setCoverage(coverage); 357 } 358 359 /** 360 * @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.) 361 */ 362 public Reference getCoverage() { 363 if (this.coverage == null) 364 if (Configuration.errorOnAutoCreate()) 365 throw new Error("Attempt to auto-create InsuranceComponent.coverage"); 366 else if (Configuration.doAutoCreate()) 367 this.coverage = new Reference(); // cc 368 return this.coverage; 369 } 370 371 public boolean hasCoverage() { 372 return this.coverage != null && !this.coverage.isEmpty(); 373 } 374 375 /** 376 * @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.) 377 */ 378 public InsuranceComponent setCoverage(Reference value) { 379 this.coverage = value; 380 return this; 381 } 382 383 /** 384 * @return {@link #inforce} (Flag indicating if the coverage provided is inforce currently if no service date(s) specified or for the whole duration of the service dates.). This is the underlying object with id, value and extensions. The accessor "getInforce" gives direct access to the value 385 */ 386 public BooleanType getInforceElement() { 387 if (this.inforce == null) 388 if (Configuration.errorOnAutoCreate()) 389 throw new Error("Attempt to auto-create InsuranceComponent.inforce"); 390 else if (Configuration.doAutoCreate()) 391 this.inforce = new BooleanType(); // bb 392 return this.inforce; 393 } 394 395 public boolean hasInforceElement() { 396 return this.inforce != null && !this.inforce.isEmpty(); 397 } 398 399 public boolean hasInforce() { 400 return this.inforce != null && !this.inforce.isEmpty(); 401 } 402 403 /** 404 * @param value {@link #inforce} (Flag indicating if the coverage provided is inforce currently if no service date(s) specified or for the whole duration of the service dates.). This is the underlying object with id, value and extensions. The accessor "getInforce" gives direct access to the value 405 */ 406 public InsuranceComponent setInforceElement(BooleanType value) { 407 this.inforce = value; 408 return this; 409 } 410 411 /** 412 * @return Flag indicating if the coverage provided is inforce currently if no service date(s) specified or for the whole duration of the service dates. 413 */ 414 public boolean getInforce() { 415 return this.inforce == null || this.inforce.isEmpty() ? false : this.inforce.getValue(); 416 } 417 418 /** 419 * @param value Flag indicating if the coverage provided is inforce currently if no service date(s) specified or for the whole duration of the service dates. 420 */ 421 public InsuranceComponent setInforce(boolean value) { 422 if (this.inforce == null) 423 this.inforce = new BooleanType(); 424 this.inforce.setValue(value); 425 return this; 426 } 427 428 /** 429 * @return {@link #benefitPeriod} (The term of the benefits documented in this response.) 430 */ 431 public Period getBenefitPeriod() { 432 if (this.benefitPeriod == null) 433 if (Configuration.errorOnAutoCreate()) 434 throw new Error("Attempt to auto-create InsuranceComponent.benefitPeriod"); 435 else if (Configuration.doAutoCreate()) 436 this.benefitPeriod = new Period(); // cc 437 return this.benefitPeriod; 438 } 439 440 public boolean hasBenefitPeriod() { 441 return this.benefitPeriod != null && !this.benefitPeriod.isEmpty(); 442 } 443 444 /** 445 * @param value {@link #benefitPeriod} (The term of the benefits documented in this response.) 446 */ 447 public InsuranceComponent setBenefitPeriod(Period value) { 448 this.benefitPeriod = value; 449 return this; 450 } 451 452 /** 453 * @return {@link #item} (Benefits and optionally current balances, and authorization details by category or service.) 454 */ 455 public List<ItemsComponent> getItem() { 456 if (this.item == null) 457 this.item = new ArrayList<ItemsComponent>(); 458 return this.item; 459 } 460 461 /** 462 * @return Returns a reference to <code>this</code> for easy method chaining 463 */ 464 public InsuranceComponent setItem(List<ItemsComponent> theItem) { 465 this.item = theItem; 466 return this; 467 } 468 469 public boolean hasItem() { 470 if (this.item == null) 471 return false; 472 for (ItemsComponent item : this.item) 473 if (!item.isEmpty()) 474 return true; 475 return false; 476 } 477 478 public ItemsComponent addItem() { //3 479 ItemsComponent t = new ItemsComponent(); 480 if (this.item == null) 481 this.item = new ArrayList<ItemsComponent>(); 482 this.item.add(t); 483 return t; 484 } 485 486 public InsuranceComponent addItem(ItemsComponent t) { //3 487 if (t == null) 488 return this; 489 if (this.item == null) 490 this.item = new ArrayList<ItemsComponent>(); 491 this.item.add(t); 492 return this; 493 } 494 495 /** 496 * @return The first repetition of repeating field {@link #item}, creating it if it does not already exist {3} 497 */ 498 public ItemsComponent getItemFirstRep() { 499 if (getItem().isEmpty()) { 500 addItem(); 501 } 502 return getItem().get(0); 503 } 504 505 protected void listChildren(List<Property> children) { 506 super.listChildren(children); 507 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)); 508 children.add(new Property("inforce", "boolean", "Flag indicating if the coverage provided is inforce currently if no service date(s) specified or for the whole duration of the service dates.", 0, 1, inforce)); 509 children.add(new Property("benefitPeriod", "Period", "The term of the benefits documented in this response.", 0, 1, benefitPeriod)); 510 children.add(new Property("item", "", "Benefits and optionally current balances, and authorization details by category or service.", 0, java.lang.Integer.MAX_VALUE, item)); 511 } 512 513 @Override 514 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 515 switch (_hash) { 516 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); 517 case 1945431270: /*inforce*/ return new Property("inforce", "boolean", "Flag indicating if the coverage provided is inforce currently if no service date(s) specified or for the whole duration of the service dates.", 0, 1, inforce); 518 case -407369416: /*benefitPeriod*/ return new Property("benefitPeriod", "Period", "The term of the benefits documented in this response.", 0, 1, benefitPeriod); 519 case 3242771: /*item*/ return new Property("item", "", "Benefits and optionally current balances, and authorization details by category or service.", 0, java.lang.Integer.MAX_VALUE, item); 520 default: return super.getNamedProperty(_hash, _name, _checkValid); 521 } 522 523 } 524 525 @Override 526 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 527 switch (hash) { 528 case -351767064: /*coverage*/ return this.coverage == null ? new Base[0] : new Base[] {this.coverage}; // Reference 529 case 1945431270: /*inforce*/ return this.inforce == null ? new Base[0] : new Base[] {this.inforce}; // BooleanType 530 case -407369416: /*benefitPeriod*/ return this.benefitPeriod == null ? new Base[0] : new Base[] {this.benefitPeriod}; // Period 531 case 3242771: /*item*/ return this.item == null ? new Base[0] : this.item.toArray(new Base[this.item.size()]); // ItemsComponent 532 default: return super.getProperty(hash, name, checkValid); 533 } 534 535 } 536 537 @Override 538 public Base setProperty(int hash, String name, Base value) throws FHIRException { 539 switch (hash) { 540 case -351767064: // coverage 541 this.coverage = TypeConvertor.castToReference(value); // Reference 542 return value; 543 case 1945431270: // inforce 544 this.inforce = TypeConvertor.castToBoolean(value); // BooleanType 545 return value; 546 case -407369416: // benefitPeriod 547 this.benefitPeriod = TypeConvertor.castToPeriod(value); // Period 548 return value; 549 case 3242771: // item 550 this.getItem().add((ItemsComponent) value); // ItemsComponent 551 return value; 552 default: return super.setProperty(hash, name, value); 553 } 554 555 } 556 557 @Override 558 public Base setProperty(String name, Base value) throws FHIRException { 559 if (name.equals("coverage")) { 560 this.coverage = TypeConvertor.castToReference(value); // Reference 561 } else if (name.equals("inforce")) { 562 this.inforce = TypeConvertor.castToBoolean(value); // BooleanType 563 } else if (name.equals("benefitPeriod")) { 564 this.benefitPeriod = TypeConvertor.castToPeriod(value); // Period 565 } else if (name.equals("item")) { 566 this.getItem().add((ItemsComponent) value); 567 } else 568 return super.setProperty(name, value); 569 return value; 570 } 571 572 @Override 573 public Base makeProperty(int hash, String name) throws FHIRException { 574 switch (hash) { 575 case -351767064: return getCoverage(); 576 case 1945431270: return getInforceElement(); 577 case -407369416: return getBenefitPeriod(); 578 case 3242771: return addItem(); 579 default: return super.makeProperty(hash, name); 580 } 581 582 } 583 584 @Override 585 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 586 switch (hash) { 587 case -351767064: /*coverage*/ return new String[] {"Reference"}; 588 case 1945431270: /*inforce*/ return new String[] {"boolean"}; 589 case -407369416: /*benefitPeriod*/ return new String[] {"Period"}; 590 case 3242771: /*item*/ return new String[] {}; 591 default: return super.getTypesForProperty(hash, name); 592 } 593 594 } 595 596 @Override 597 public Base addChild(String name) throws FHIRException { 598 if (name.equals("coverage")) { 599 this.coverage = new Reference(); 600 return this.coverage; 601 } 602 else if (name.equals("inforce")) { 603 throw new FHIRException("Cannot call addChild on a primitive type CoverageEligibilityResponse.insurance.inforce"); 604 } 605 else if (name.equals("benefitPeriod")) { 606 this.benefitPeriod = new Period(); 607 return this.benefitPeriod; 608 } 609 else if (name.equals("item")) { 610 return addItem(); 611 } 612 else 613 return super.addChild(name); 614 } 615 616 public InsuranceComponent copy() { 617 InsuranceComponent dst = new InsuranceComponent(); 618 copyValues(dst); 619 return dst; 620 } 621 622 public void copyValues(InsuranceComponent dst) { 623 super.copyValues(dst); 624 dst.coverage = coverage == null ? null : coverage.copy(); 625 dst.inforce = inforce == null ? null : inforce.copy(); 626 dst.benefitPeriod = benefitPeriod == null ? null : benefitPeriod.copy(); 627 if (item != null) { 628 dst.item = new ArrayList<ItemsComponent>(); 629 for (ItemsComponent i : item) 630 dst.item.add(i.copy()); 631 }; 632 } 633 634 @Override 635 public boolean equalsDeep(Base other_) { 636 if (!super.equalsDeep(other_)) 637 return false; 638 if (!(other_ instanceof InsuranceComponent)) 639 return false; 640 InsuranceComponent o = (InsuranceComponent) other_; 641 return compareDeep(coverage, o.coverage, true) && compareDeep(inforce, o.inforce, true) && compareDeep(benefitPeriod, o.benefitPeriod, true) 642 && compareDeep(item, o.item, true); 643 } 644 645 @Override 646 public boolean equalsShallow(Base other_) { 647 if (!super.equalsShallow(other_)) 648 return false; 649 if (!(other_ instanceof InsuranceComponent)) 650 return false; 651 InsuranceComponent o = (InsuranceComponent) other_; 652 return compareValues(inforce, o.inforce, true); 653 } 654 655 public boolean isEmpty() { 656 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(coverage, inforce, benefitPeriod 657 , item); 658 } 659 660 public String fhirType() { 661 return "CoverageEligibilityResponse.insurance"; 662 663 } 664 665 } 666 667 @Block() 668 public static class ItemsComponent extends BackboneElement implements IBaseBackboneElement { 669 /** 670 * Code to identify the general type of benefits under which products and services are provided. 671 */ 672 @Child(name = "category", type = {CodeableConcept.class}, order=1, min=0, max=1, modifier=false, summary=false) 673 @Description(shortDefinition="Benefit classification", formalDefinition="Code to identify the general type of benefits under which products and services are provided." ) 674 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/ex-benefitcategory") 675 protected CodeableConcept category; 676 677 /** 678 * This contains the product, service, drug or other billing code for the item. 679 */ 680 @Child(name = "productOrService", type = {CodeableConcept.class}, order=2, min=0, max=1, modifier=false, summary=false) 681 @Description(shortDefinition="Billing, service, product, or drug code", formalDefinition="This contains the product, service, drug or other billing code for the item." ) 682 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/service-uscls") 683 protected CodeableConcept productOrService; 684 685 /** 686 * Item typification or modifiers codes to convey additional context for the product or service. 687 */ 688 @Child(name = "modifier", type = {CodeableConcept.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 689 @Description(shortDefinition="Product or service billing modifiers", formalDefinition="Item typification or modifiers codes to convey additional context for the product or service." ) 690 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/claim-modifiers") 691 protected List<CodeableConcept> modifier; 692 693 /** 694 * The practitioner who is eligible for the provision of the product or service. 695 */ 696 @Child(name = "provider", type = {Practitioner.class, PractitionerRole.class}, order=4, min=0, max=1, modifier=false, summary=false) 697 @Description(shortDefinition="Performing practitioner", formalDefinition="The practitioner who is eligible for the provision of the product or service." ) 698 protected Reference provider; 699 700 /** 701 * True if the indicated class of service is excluded from the plan, missing or False indicates the product or service is included in the coverage. 702 */ 703 @Child(name = "excluded", type = {BooleanType.class}, order=5, min=0, max=1, modifier=false, summary=false) 704 @Description(shortDefinition="Excluded from the plan", formalDefinition="True if the indicated class of service is excluded from the plan, missing or False indicates the product or service is included in the coverage." ) 705 protected BooleanType excluded; 706 707 /** 708 * A short name or tag for the benefit. 709 */ 710 @Child(name = "name", type = {StringType.class}, order=6, min=0, max=1, modifier=false, summary=false) 711 @Description(shortDefinition="Short name for the benefit", formalDefinition="A short name or tag for the benefit." ) 712 protected StringType name; 713 714 /** 715 * A richer description of the benefit or services covered. 716 */ 717 @Child(name = "description", type = {StringType.class}, order=7, min=0, max=1, modifier=false, summary=false) 718 @Description(shortDefinition="Description of the benefit or services covered", formalDefinition="A richer description of the benefit or services covered." ) 719 protected StringType description; 720 721 /** 722 * Is a flag to indicate whether the benefits refer to in-network providers or out-of-network providers. 723 */ 724 @Child(name = "network", type = {CodeableConcept.class}, order=8, min=0, max=1, modifier=false, summary=false) 725 @Description(shortDefinition="In or out of network", formalDefinition="Is a flag to indicate whether the benefits refer to in-network providers or out-of-network providers." ) 726 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/benefit-network") 727 protected CodeableConcept network; 728 729 /** 730 * Indicates if the benefits apply to an individual or to the family. 731 */ 732 @Child(name = "unit", type = {CodeableConcept.class}, order=9, min=0, max=1, modifier=false, summary=false) 733 @Description(shortDefinition="Individual or family", formalDefinition="Indicates if the benefits apply to an individual or to the family." ) 734 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/benefit-unit") 735 protected CodeableConcept unit; 736 737 /** 738 * The term or period of the values such as 'maximum lifetime benefit' or 'maximum annual visits'. 739 */ 740 @Child(name = "term", type = {CodeableConcept.class}, order=10, min=0, max=1, modifier=false, summary=false) 741 @Description(shortDefinition="Annual or lifetime", formalDefinition="The term or period of the values such as 'maximum lifetime benefit' or 'maximum annual visits'." ) 742 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/benefit-term") 743 protected CodeableConcept term; 744 745 /** 746 * Benefits used to date. 747 */ 748 @Child(name = "benefit", type = {}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 749 @Description(shortDefinition="Benefit Summary", formalDefinition="Benefits used to date." ) 750 protected List<BenefitComponent> benefit; 751 752 /** 753 * A boolean flag indicating whether a preauthorization is required prior to actual service delivery. 754 */ 755 @Child(name = "authorizationRequired", type = {BooleanType.class}, order=12, min=0, max=1, modifier=false, summary=false) 756 @Description(shortDefinition="Authorization required flag", formalDefinition="A boolean flag indicating whether a preauthorization is required prior to actual service delivery." ) 757 protected BooleanType authorizationRequired; 758 759 /** 760 * Codes or comments regarding information or actions associated with the preauthorization. 761 */ 762 @Child(name = "authorizationSupporting", type = {CodeableConcept.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 763 @Description(shortDefinition="Type of required supporting materials", formalDefinition="Codes or comments regarding information or actions associated with the preauthorization." ) 764 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/coverageeligibilityresponse-ex-auth-support") 765 protected List<CodeableConcept> authorizationSupporting; 766 767 /** 768 * A web location for obtaining requirements or descriptive information regarding the preauthorization. 769 */ 770 @Child(name = "authorizationUrl", type = {UriType.class}, order=14, min=0, max=1, modifier=false, summary=false) 771 @Description(shortDefinition="Preauthorization requirements endpoint", formalDefinition="A web location for obtaining requirements or descriptive information regarding the preauthorization." ) 772 protected UriType authorizationUrl; 773 774 private static final long serialVersionUID = 1706159945L; 775 776 /** 777 * Constructor 778 */ 779 public ItemsComponent() { 780 super(); 781 } 782 783 /** 784 * @return {@link #category} (Code to identify the general type of benefits under which products and services are provided.) 785 */ 786 public CodeableConcept getCategory() { 787 if (this.category == null) 788 if (Configuration.errorOnAutoCreate()) 789 throw new Error("Attempt to auto-create ItemsComponent.category"); 790 else if (Configuration.doAutoCreate()) 791 this.category = new CodeableConcept(); // cc 792 return this.category; 793 } 794 795 public boolean hasCategory() { 796 return this.category != null && !this.category.isEmpty(); 797 } 798 799 /** 800 * @param value {@link #category} (Code to identify the general type of benefits under which products and services are provided.) 801 */ 802 public ItemsComponent setCategory(CodeableConcept value) { 803 this.category = value; 804 return this; 805 } 806 807 /** 808 * @return {@link #productOrService} (This contains the product, service, drug or other billing code for the item.) 809 */ 810 public CodeableConcept getProductOrService() { 811 if (this.productOrService == null) 812 if (Configuration.errorOnAutoCreate()) 813 throw new Error("Attempt to auto-create ItemsComponent.productOrService"); 814 else if (Configuration.doAutoCreate()) 815 this.productOrService = new CodeableConcept(); // cc 816 return this.productOrService; 817 } 818 819 public boolean hasProductOrService() { 820 return this.productOrService != null && !this.productOrService.isEmpty(); 821 } 822 823 /** 824 * @param value {@link #productOrService} (This contains the product, service, drug or other billing code for the item.) 825 */ 826 public ItemsComponent setProductOrService(CodeableConcept value) { 827 this.productOrService = value; 828 return this; 829 } 830 831 /** 832 * @return {@link #modifier} (Item typification or modifiers codes to convey additional context for the product or service.) 833 */ 834 public List<CodeableConcept> getModifier() { 835 if (this.modifier == null) 836 this.modifier = new ArrayList<CodeableConcept>(); 837 return this.modifier; 838 } 839 840 /** 841 * @return Returns a reference to <code>this</code> for easy method chaining 842 */ 843 public ItemsComponent setModifier(List<CodeableConcept> theModifier) { 844 this.modifier = theModifier; 845 return this; 846 } 847 848 public boolean hasModifier() { 849 if (this.modifier == null) 850 return false; 851 for (CodeableConcept item : this.modifier) 852 if (!item.isEmpty()) 853 return true; 854 return false; 855 } 856 857 public CodeableConcept addModifier() { //3 858 CodeableConcept t = new CodeableConcept(); 859 if (this.modifier == null) 860 this.modifier = new ArrayList<CodeableConcept>(); 861 this.modifier.add(t); 862 return t; 863 } 864 865 public ItemsComponent addModifier(CodeableConcept t) { //3 866 if (t == null) 867 return this; 868 if (this.modifier == null) 869 this.modifier = new ArrayList<CodeableConcept>(); 870 this.modifier.add(t); 871 return this; 872 } 873 874 /** 875 * @return The first repetition of repeating field {@link #modifier}, creating it if it does not already exist {3} 876 */ 877 public CodeableConcept getModifierFirstRep() { 878 if (getModifier().isEmpty()) { 879 addModifier(); 880 } 881 return getModifier().get(0); 882 } 883 884 /** 885 * @return {@link #provider} (The practitioner who is eligible for the provision of the product or service.) 886 */ 887 public Reference getProvider() { 888 if (this.provider == null) 889 if (Configuration.errorOnAutoCreate()) 890 throw new Error("Attempt to auto-create ItemsComponent.provider"); 891 else if (Configuration.doAutoCreate()) 892 this.provider = new Reference(); // cc 893 return this.provider; 894 } 895 896 public boolean hasProvider() { 897 return this.provider != null && !this.provider.isEmpty(); 898 } 899 900 /** 901 * @param value {@link #provider} (The practitioner who is eligible for the provision of the product or service.) 902 */ 903 public ItemsComponent setProvider(Reference value) { 904 this.provider = value; 905 return this; 906 } 907 908 /** 909 * @return {@link #excluded} (True if the indicated class of service is excluded from the plan, missing or False indicates the product or service is included in the coverage.). This is the underlying object with id, value and extensions. The accessor "getExcluded" gives direct access to the value 910 */ 911 public BooleanType getExcludedElement() { 912 if (this.excluded == null) 913 if (Configuration.errorOnAutoCreate()) 914 throw new Error("Attempt to auto-create ItemsComponent.excluded"); 915 else if (Configuration.doAutoCreate()) 916 this.excluded = new BooleanType(); // bb 917 return this.excluded; 918 } 919 920 public boolean hasExcludedElement() { 921 return this.excluded != null && !this.excluded.isEmpty(); 922 } 923 924 public boolean hasExcluded() { 925 return this.excluded != null && !this.excluded.isEmpty(); 926 } 927 928 /** 929 * @param value {@link #excluded} (True if the indicated class of service is excluded from the plan, missing or False indicates the product or service is included in the coverage.). This is the underlying object with id, value and extensions. The accessor "getExcluded" gives direct access to the value 930 */ 931 public ItemsComponent setExcludedElement(BooleanType value) { 932 this.excluded = value; 933 return this; 934 } 935 936 /** 937 * @return True if the indicated class of service is excluded from the plan, missing or False indicates the product or service is included in the coverage. 938 */ 939 public boolean getExcluded() { 940 return this.excluded == null || this.excluded.isEmpty() ? false : this.excluded.getValue(); 941 } 942 943 /** 944 * @param value True if the indicated class of service is excluded from the plan, missing or False indicates the product or service is included in the coverage. 945 */ 946 public ItemsComponent setExcluded(boolean value) { 947 if (this.excluded == null) 948 this.excluded = new BooleanType(); 949 this.excluded.setValue(value); 950 return this; 951 } 952 953 /** 954 * @return {@link #name} (A short name or tag for the benefit.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 955 */ 956 public StringType getNameElement() { 957 if (this.name == null) 958 if (Configuration.errorOnAutoCreate()) 959 throw new Error("Attempt to auto-create ItemsComponent.name"); 960 else if (Configuration.doAutoCreate()) 961 this.name = new StringType(); // bb 962 return this.name; 963 } 964 965 public boolean hasNameElement() { 966 return this.name != null && !this.name.isEmpty(); 967 } 968 969 public boolean hasName() { 970 return this.name != null && !this.name.isEmpty(); 971 } 972 973 /** 974 * @param value {@link #name} (A short name or tag for the benefit.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 975 */ 976 public ItemsComponent setNameElement(StringType value) { 977 this.name = value; 978 return this; 979 } 980 981 /** 982 * @return A short name or tag for the benefit. 983 */ 984 public String getName() { 985 return this.name == null ? null : this.name.getValue(); 986 } 987 988 /** 989 * @param value A short name or tag for the benefit. 990 */ 991 public ItemsComponent setName(String value) { 992 if (Utilities.noString(value)) 993 this.name = null; 994 else { 995 if (this.name == null) 996 this.name = new StringType(); 997 this.name.setValue(value); 998 } 999 return this; 1000 } 1001 1002 /** 1003 * @return {@link #description} (A richer description of the benefit or services covered.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 1004 */ 1005 public StringType getDescriptionElement() { 1006 if (this.description == null) 1007 if (Configuration.errorOnAutoCreate()) 1008 throw new Error("Attempt to auto-create ItemsComponent.description"); 1009 else if (Configuration.doAutoCreate()) 1010 this.description = new StringType(); // bb 1011 return this.description; 1012 } 1013 1014 public boolean hasDescriptionElement() { 1015 return this.description != null && !this.description.isEmpty(); 1016 } 1017 1018 public boolean hasDescription() { 1019 return this.description != null && !this.description.isEmpty(); 1020 } 1021 1022 /** 1023 * @param value {@link #description} (A richer description of the benefit or services covered.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 1024 */ 1025 public ItemsComponent setDescriptionElement(StringType value) { 1026 this.description = value; 1027 return this; 1028 } 1029 1030 /** 1031 * @return A richer description of the benefit or services covered. 1032 */ 1033 public String getDescription() { 1034 return this.description == null ? null : this.description.getValue(); 1035 } 1036 1037 /** 1038 * @param value A richer description of the benefit or services covered. 1039 */ 1040 public ItemsComponent setDescription(String value) { 1041 if (Utilities.noString(value)) 1042 this.description = null; 1043 else { 1044 if (this.description == null) 1045 this.description = new StringType(); 1046 this.description.setValue(value); 1047 } 1048 return this; 1049 } 1050 1051 /** 1052 * @return {@link #network} (Is a flag to indicate whether the benefits refer to in-network providers or out-of-network providers.) 1053 */ 1054 public CodeableConcept getNetwork() { 1055 if (this.network == null) 1056 if (Configuration.errorOnAutoCreate()) 1057 throw new Error("Attempt to auto-create ItemsComponent.network"); 1058 else if (Configuration.doAutoCreate()) 1059 this.network = new CodeableConcept(); // cc 1060 return this.network; 1061 } 1062 1063 public boolean hasNetwork() { 1064 return this.network != null && !this.network.isEmpty(); 1065 } 1066 1067 /** 1068 * @param value {@link #network} (Is a flag to indicate whether the benefits refer to in-network providers or out-of-network providers.) 1069 */ 1070 public ItemsComponent setNetwork(CodeableConcept value) { 1071 this.network = value; 1072 return this; 1073 } 1074 1075 /** 1076 * @return {@link #unit} (Indicates if the benefits apply to an individual or to the family.) 1077 */ 1078 public CodeableConcept getUnit() { 1079 if (this.unit == null) 1080 if (Configuration.errorOnAutoCreate()) 1081 throw new Error("Attempt to auto-create ItemsComponent.unit"); 1082 else if (Configuration.doAutoCreate()) 1083 this.unit = new CodeableConcept(); // cc 1084 return this.unit; 1085 } 1086 1087 public boolean hasUnit() { 1088 return this.unit != null && !this.unit.isEmpty(); 1089 } 1090 1091 /** 1092 * @param value {@link #unit} (Indicates if the benefits apply to an individual or to the family.) 1093 */ 1094 public ItemsComponent setUnit(CodeableConcept value) { 1095 this.unit = value; 1096 return this; 1097 } 1098 1099 /** 1100 * @return {@link #term} (The term or period of the values such as 'maximum lifetime benefit' or 'maximum annual visits'.) 1101 */ 1102 public CodeableConcept getTerm() { 1103 if (this.term == null) 1104 if (Configuration.errorOnAutoCreate()) 1105 throw new Error("Attempt to auto-create ItemsComponent.term"); 1106 else if (Configuration.doAutoCreate()) 1107 this.term = new CodeableConcept(); // cc 1108 return this.term; 1109 } 1110 1111 public boolean hasTerm() { 1112 return this.term != null && !this.term.isEmpty(); 1113 } 1114 1115 /** 1116 * @param value {@link #term} (The term or period of the values such as 'maximum lifetime benefit' or 'maximum annual visits'.) 1117 */ 1118 public ItemsComponent setTerm(CodeableConcept value) { 1119 this.term = value; 1120 return this; 1121 } 1122 1123 /** 1124 * @return {@link #benefit} (Benefits used to date.) 1125 */ 1126 public List<BenefitComponent> getBenefit() { 1127 if (this.benefit == null) 1128 this.benefit = new ArrayList<BenefitComponent>(); 1129 return this.benefit; 1130 } 1131 1132 /** 1133 * @return Returns a reference to <code>this</code> for easy method chaining 1134 */ 1135 public ItemsComponent setBenefit(List<BenefitComponent> theBenefit) { 1136 this.benefit = theBenefit; 1137 return this; 1138 } 1139 1140 public boolean hasBenefit() { 1141 if (this.benefit == null) 1142 return false; 1143 for (BenefitComponent item : this.benefit) 1144 if (!item.isEmpty()) 1145 return true; 1146 return false; 1147 } 1148 1149 public BenefitComponent addBenefit() { //3 1150 BenefitComponent t = new BenefitComponent(); 1151 if (this.benefit == null) 1152 this.benefit = new ArrayList<BenefitComponent>(); 1153 this.benefit.add(t); 1154 return t; 1155 } 1156 1157 public ItemsComponent addBenefit(BenefitComponent t) { //3 1158 if (t == null) 1159 return this; 1160 if (this.benefit == null) 1161 this.benefit = new ArrayList<BenefitComponent>(); 1162 this.benefit.add(t); 1163 return this; 1164 } 1165 1166 /** 1167 * @return The first repetition of repeating field {@link #benefit}, creating it if it does not already exist {3} 1168 */ 1169 public BenefitComponent getBenefitFirstRep() { 1170 if (getBenefit().isEmpty()) { 1171 addBenefit(); 1172 } 1173 return getBenefit().get(0); 1174 } 1175 1176 /** 1177 * @return {@link #authorizationRequired} (A boolean flag indicating whether a preauthorization is required prior to actual service delivery.). This is the underlying object with id, value and extensions. The accessor "getAuthorizationRequired" gives direct access to the value 1178 */ 1179 public BooleanType getAuthorizationRequiredElement() { 1180 if (this.authorizationRequired == null) 1181 if (Configuration.errorOnAutoCreate()) 1182 throw new Error("Attempt to auto-create ItemsComponent.authorizationRequired"); 1183 else if (Configuration.doAutoCreate()) 1184 this.authorizationRequired = new BooleanType(); // bb 1185 return this.authorizationRequired; 1186 } 1187 1188 public boolean hasAuthorizationRequiredElement() { 1189 return this.authorizationRequired != null && !this.authorizationRequired.isEmpty(); 1190 } 1191 1192 public boolean hasAuthorizationRequired() { 1193 return this.authorizationRequired != null && !this.authorizationRequired.isEmpty(); 1194 } 1195 1196 /** 1197 * @param value {@link #authorizationRequired} (A boolean flag indicating whether a preauthorization is required prior to actual service delivery.). This is the underlying object with id, value and extensions. The accessor "getAuthorizationRequired" gives direct access to the value 1198 */ 1199 public ItemsComponent setAuthorizationRequiredElement(BooleanType value) { 1200 this.authorizationRequired = value; 1201 return this; 1202 } 1203 1204 /** 1205 * @return A boolean flag indicating whether a preauthorization is required prior to actual service delivery. 1206 */ 1207 public boolean getAuthorizationRequired() { 1208 return this.authorizationRequired == null || this.authorizationRequired.isEmpty() ? false : this.authorizationRequired.getValue(); 1209 } 1210 1211 /** 1212 * @param value A boolean flag indicating whether a preauthorization is required prior to actual service delivery. 1213 */ 1214 public ItemsComponent setAuthorizationRequired(boolean value) { 1215 if (this.authorizationRequired == null) 1216 this.authorizationRequired = new BooleanType(); 1217 this.authorizationRequired.setValue(value); 1218 return this; 1219 } 1220 1221 /** 1222 * @return {@link #authorizationSupporting} (Codes or comments regarding information or actions associated with the preauthorization.) 1223 */ 1224 public List<CodeableConcept> getAuthorizationSupporting() { 1225 if (this.authorizationSupporting == null) 1226 this.authorizationSupporting = new ArrayList<CodeableConcept>(); 1227 return this.authorizationSupporting; 1228 } 1229 1230 /** 1231 * @return Returns a reference to <code>this</code> for easy method chaining 1232 */ 1233 public ItemsComponent setAuthorizationSupporting(List<CodeableConcept> theAuthorizationSupporting) { 1234 this.authorizationSupporting = theAuthorizationSupporting; 1235 return this; 1236 } 1237 1238 public boolean hasAuthorizationSupporting() { 1239 if (this.authorizationSupporting == null) 1240 return false; 1241 for (CodeableConcept item : this.authorizationSupporting) 1242 if (!item.isEmpty()) 1243 return true; 1244 return false; 1245 } 1246 1247 public CodeableConcept addAuthorizationSupporting() { //3 1248 CodeableConcept t = new CodeableConcept(); 1249 if (this.authorizationSupporting == null) 1250 this.authorizationSupporting = new ArrayList<CodeableConcept>(); 1251 this.authorizationSupporting.add(t); 1252 return t; 1253 } 1254 1255 public ItemsComponent addAuthorizationSupporting(CodeableConcept t) { //3 1256 if (t == null) 1257 return this; 1258 if (this.authorizationSupporting == null) 1259 this.authorizationSupporting = new ArrayList<CodeableConcept>(); 1260 this.authorizationSupporting.add(t); 1261 return this; 1262 } 1263 1264 /** 1265 * @return The first repetition of repeating field {@link #authorizationSupporting}, creating it if it does not already exist {3} 1266 */ 1267 public CodeableConcept getAuthorizationSupportingFirstRep() { 1268 if (getAuthorizationSupporting().isEmpty()) { 1269 addAuthorizationSupporting(); 1270 } 1271 return getAuthorizationSupporting().get(0); 1272 } 1273 1274 /** 1275 * @return {@link #authorizationUrl} (A web location for obtaining requirements or descriptive information regarding the preauthorization.). This is the underlying object with id, value and extensions. The accessor "getAuthorizationUrl" gives direct access to the value 1276 */ 1277 public UriType getAuthorizationUrlElement() { 1278 if (this.authorizationUrl == null) 1279 if (Configuration.errorOnAutoCreate()) 1280 throw new Error("Attempt to auto-create ItemsComponent.authorizationUrl"); 1281 else if (Configuration.doAutoCreate()) 1282 this.authorizationUrl = new UriType(); // bb 1283 return this.authorizationUrl; 1284 } 1285 1286 public boolean hasAuthorizationUrlElement() { 1287 return this.authorizationUrl != null && !this.authorizationUrl.isEmpty(); 1288 } 1289 1290 public boolean hasAuthorizationUrl() { 1291 return this.authorizationUrl != null && !this.authorizationUrl.isEmpty(); 1292 } 1293 1294 /** 1295 * @param value {@link #authorizationUrl} (A web location for obtaining requirements or descriptive information regarding the preauthorization.). This is the underlying object with id, value and extensions. The accessor "getAuthorizationUrl" gives direct access to the value 1296 */ 1297 public ItemsComponent setAuthorizationUrlElement(UriType value) { 1298 this.authorizationUrl = value; 1299 return this; 1300 } 1301 1302 /** 1303 * @return A web location for obtaining requirements or descriptive information regarding the preauthorization. 1304 */ 1305 public String getAuthorizationUrl() { 1306 return this.authorizationUrl == null ? null : this.authorizationUrl.getValue(); 1307 } 1308 1309 /** 1310 * @param value A web location for obtaining requirements or descriptive information regarding the preauthorization. 1311 */ 1312 public ItemsComponent setAuthorizationUrl(String value) { 1313 if (Utilities.noString(value)) 1314 this.authorizationUrl = null; 1315 else { 1316 if (this.authorizationUrl == null) 1317 this.authorizationUrl = new UriType(); 1318 this.authorizationUrl.setValue(value); 1319 } 1320 return this; 1321 } 1322 1323 protected void listChildren(List<Property> children) { 1324 super.listChildren(children); 1325 children.add(new Property("category", "CodeableConcept", "Code to identify the general type of benefits under which products and services are provided.", 0, 1, category)); 1326 children.add(new Property("productOrService", "CodeableConcept", "This contains the product, service, drug or other billing code for the item.", 0, 1, productOrService)); 1327 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)); 1328 children.add(new Property("provider", "Reference(Practitioner|PractitionerRole)", "The practitioner who is eligible for the provision of the product or service.", 0, 1, provider)); 1329 children.add(new Property("excluded", "boolean", "True if the indicated class of service is excluded from the plan, missing or False indicates the product or service is included in the coverage.", 0, 1, excluded)); 1330 children.add(new Property("name", "string", "A short name or tag for the benefit.", 0, 1, name)); 1331 children.add(new Property("description", "string", "A richer description of the benefit or services covered.", 0, 1, description)); 1332 children.add(new Property("network", "CodeableConcept", "Is a flag to indicate whether the benefits refer to in-network providers or out-of-network providers.", 0, 1, network)); 1333 children.add(new Property("unit", "CodeableConcept", "Indicates if the benefits apply to an individual or to the family.", 0, 1, unit)); 1334 children.add(new Property("term", "CodeableConcept", "The term or period of the values such as 'maximum lifetime benefit' or 'maximum annual visits'.", 0, 1, term)); 1335 children.add(new Property("benefit", "", "Benefits used to date.", 0, java.lang.Integer.MAX_VALUE, benefit)); 1336 children.add(new Property("authorizationRequired", "boolean", "A boolean flag indicating whether a preauthorization is required prior to actual service delivery.", 0, 1, authorizationRequired)); 1337 children.add(new Property("authorizationSupporting", "CodeableConcept", "Codes or comments regarding information or actions associated with the preauthorization.", 0, java.lang.Integer.MAX_VALUE, authorizationSupporting)); 1338 children.add(new Property("authorizationUrl", "uri", "A web location for obtaining requirements or descriptive information regarding the preauthorization.", 0, 1, authorizationUrl)); 1339 } 1340 1341 @Override 1342 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1343 switch (_hash) { 1344 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); 1345 case 1957227299: /*productOrService*/ return new Property("productOrService", "CodeableConcept", "This contains the product, service, drug or other billing code for the item.", 0, 1, productOrService); 1346 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); 1347 case -987494927: /*provider*/ return new Property("provider", "Reference(Practitioner|PractitionerRole)", "The practitioner who is eligible for the provision of the product or service.", 0, 1, provider); 1348 case 1994055114: /*excluded*/ return new Property("excluded", "boolean", "True if the indicated class of service is excluded from the plan, missing or False indicates the product or service is included in the coverage.", 0, 1, excluded); 1349 case 3373707: /*name*/ return new Property("name", "string", "A short name or tag for the benefit.", 0, 1, name); 1350 case -1724546052: /*description*/ return new Property("description", "string", "A richer description of the benefit or services covered.", 0, 1, description); 1351 case 1843485230: /*network*/ return new Property("network", "CodeableConcept", "Is a flag to indicate whether the benefits refer to in-network providers or out-of-network providers.", 0, 1, network); 1352 case 3594628: /*unit*/ return new Property("unit", "CodeableConcept", "Indicates if the benefits apply to an individual or to the family.", 0, 1, unit); 1353 case 3556460: /*term*/ return new Property("term", "CodeableConcept", "The term or period of the values such as 'maximum lifetime benefit' or 'maximum annual visits'.", 0, 1, term); 1354 case -222710633: /*benefit*/ return new Property("benefit", "", "Benefits used to date.", 0, java.lang.Integer.MAX_VALUE, benefit); 1355 case 374204216: /*authorizationRequired*/ return new Property("authorizationRequired", "boolean", "A boolean flag indicating whether a preauthorization is required prior to actual service delivery.", 0, 1, authorizationRequired); 1356 case -1931146484: /*authorizationSupporting*/ return new Property("authorizationSupporting", "CodeableConcept", "Codes or comments regarding information or actions associated with the preauthorization.", 0, java.lang.Integer.MAX_VALUE, authorizationSupporting); 1357 case 1409445430: /*authorizationUrl*/ return new Property("authorizationUrl", "uri", "A web location for obtaining requirements or descriptive information regarding the preauthorization.", 0, 1, authorizationUrl); 1358 default: return super.getNamedProperty(_hash, _name, _checkValid); 1359 } 1360 1361 } 1362 1363 @Override 1364 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1365 switch (hash) { 1366 case 50511102: /*category*/ return this.category == null ? new Base[0] : new Base[] {this.category}; // CodeableConcept 1367 case 1957227299: /*productOrService*/ return this.productOrService == null ? new Base[0] : new Base[] {this.productOrService}; // CodeableConcept 1368 case -615513385: /*modifier*/ return this.modifier == null ? new Base[0] : this.modifier.toArray(new Base[this.modifier.size()]); // CodeableConcept 1369 case -987494927: /*provider*/ return this.provider == null ? new Base[0] : new Base[] {this.provider}; // Reference 1370 case 1994055114: /*excluded*/ return this.excluded == null ? new Base[0] : new Base[] {this.excluded}; // BooleanType 1371 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType 1372 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType 1373 case 1843485230: /*network*/ return this.network == null ? new Base[0] : new Base[] {this.network}; // CodeableConcept 1374 case 3594628: /*unit*/ return this.unit == null ? new Base[0] : new Base[] {this.unit}; // CodeableConcept 1375 case 3556460: /*term*/ return this.term == null ? new Base[0] : new Base[] {this.term}; // CodeableConcept 1376 case -222710633: /*benefit*/ return this.benefit == null ? new Base[0] : this.benefit.toArray(new Base[this.benefit.size()]); // BenefitComponent 1377 case 374204216: /*authorizationRequired*/ return this.authorizationRequired == null ? new Base[0] : new Base[] {this.authorizationRequired}; // BooleanType 1378 case -1931146484: /*authorizationSupporting*/ return this.authorizationSupporting == null ? new Base[0] : this.authorizationSupporting.toArray(new Base[this.authorizationSupporting.size()]); // CodeableConcept 1379 case 1409445430: /*authorizationUrl*/ return this.authorizationUrl == null ? new Base[0] : new Base[] {this.authorizationUrl}; // UriType 1380 default: return super.getProperty(hash, name, checkValid); 1381 } 1382 1383 } 1384 1385 @Override 1386 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1387 switch (hash) { 1388 case 50511102: // category 1389 this.category = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1390 return value; 1391 case 1957227299: // productOrService 1392 this.productOrService = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1393 return value; 1394 case -615513385: // modifier 1395 this.getModifier().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 1396 return value; 1397 case -987494927: // provider 1398 this.provider = TypeConvertor.castToReference(value); // Reference 1399 return value; 1400 case 1994055114: // excluded 1401 this.excluded = TypeConvertor.castToBoolean(value); // BooleanType 1402 return value; 1403 case 3373707: // name 1404 this.name = TypeConvertor.castToString(value); // StringType 1405 return value; 1406 case -1724546052: // description 1407 this.description = TypeConvertor.castToString(value); // StringType 1408 return value; 1409 case 1843485230: // network 1410 this.network = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1411 return value; 1412 case 3594628: // unit 1413 this.unit = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1414 return value; 1415 case 3556460: // term 1416 this.term = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1417 return value; 1418 case -222710633: // benefit 1419 this.getBenefit().add((BenefitComponent) value); // BenefitComponent 1420 return value; 1421 case 374204216: // authorizationRequired 1422 this.authorizationRequired = TypeConvertor.castToBoolean(value); // BooleanType 1423 return value; 1424 case -1931146484: // authorizationSupporting 1425 this.getAuthorizationSupporting().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 1426 return value; 1427 case 1409445430: // authorizationUrl 1428 this.authorizationUrl = TypeConvertor.castToUri(value); // UriType 1429 return value; 1430 default: return super.setProperty(hash, name, value); 1431 } 1432 1433 } 1434 1435 @Override 1436 public Base setProperty(String name, Base value) throws FHIRException { 1437 if (name.equals("category")) { 1438 this.category = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1439 } else if (name.equals("productOrService")) { 1440 this.productOrService = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1441 } else if (name.equals("modifier")) { 1442 this.getModifier().add(TypeConvertor.castToCodeableConcept(value)); 1443 } else if (name.equals("provider")) { 1444 this.provider = TypeConvertor.castToReference(value); // Reference 1445 } else if (name.equals("excluded")) { 1446 this.excluded = TypeConvertor.castToBoolean(value); // BooleanType 1447 } else if (name.equals("name")) { 1448 this.name = TypeConvertor.castToString(value); // StringType 1449 } else if (name.equals("description")) { 1450 this.description = TypeConvertor.castToString(value); // StringType 1451 } else if (name.equals("network")) { 1452 this.network = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1453 } else if (name.equals("unit")) { 1454 this.unit = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1455 } else if (name.equals("term")) { 1456 this.term = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1457 } else if (name.equals("benefit")) { 1458 this.getBenefit().add((BenefitComponent) value); 1459 } else if (name.equals("authorizationRequired")) { 1460 this.authorizationRequired = TypeConvertor.castToBoolean(value); // BooleanType 1461 } else if (name.equals("authorizationSupporting")) { 1462 this.getAuthorizationSupporting().add(TypeConvertor.castToCodeableConcept(value)); 1463 } else if (name.equals("authorizationUrl")) { 1464 this.authorizationUrl = TypeConvertor.castToUri(value); // UriType 1465 } else 1466 return super.setProperty(name, value); 1467 return value; 1468 } 1469 1470 @Override 1471 public Base makeProperty(int hash, String name) throws FHIRException { 1472 switch (hash) { 1473 case 50511102: return getCategory(); 1474 case 1957227299: return getProductOrService(); 1475 case -615513385: return addModifier(); 1476 case -987494927: return getProvider(); 1477 case 1994055114: return getExcludedElement(); 1478 case 3373707: return getNameElement(); 1479 case -1724546052: return getDescriptionElement(); 1480 case 1843485230: return getNetwork(); 1481 case 3594628: return getUnit(); 1482 case 3556460: return getTerm(); 1483 case -222710633: return addBenefit(); 1484 case 374204216: return getAuthorizationRequiredElement(); 1485 case -1931146484: return addAuthorizationSupporting(); 1486 case 1409445430: return getAuthorizationUrlElement(); 1487 default: return super.makeProperty(hash, name); 1488 } 1489 1490 } 1491 1492 @Override 1493 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1494 switch (hash) { 1495 case 50511102: /*category*/ return new String[] {"CodeableConcept"}; 1496 case 1957227299: /*productOrService*/ return new String[] {"CodeableConcept"}; 1497 case -615513385: /*modifier*/ return new String[] {"CodeableConcept"}; 1498 case -987494927: /*provider*/ return new String[] {"Reference"}; 1499 case 1994055114: /*excluded*/ return new String[] {"boolean"}; 1500 case 3373707: /*name*/ return new String[] {"string"}; 1501 case -1724546052: /*description*/ return new String[] {"string"}; 1502 case 1843485230: /*network*/ return new String[] {"CodeableConcept"}; 1503 case 3594628: /*unit*/ return new String[] {"CodeableConcept"}; 1504 case 3556460: /*term*/ return new String[] {"CodeableConcept"}; 1505 case -222710633: /*benefit*/ return new String[] {}; 1506 case 374204216: /*authorizationRequired*/ return new String[] {"boolean"}; 1507 case -1931146484: /*authorizationSupporting*/ return new String[] {"CodeableConcept"}; 1508 case 1409445430: /*authorizationUrl*/ return new String[] {"uri"}; 1509 default: return super.getTypesForProperty(hash, name); 1510 } 1511 1512 } 1513 1514 @Override 1515 public Base addChild(String name) throws FHIRException { 1516 if (name.equals("category")) { 1517 this.category = new CodeableConcept(); 1518 return this.category; 1519 } 1520 else if (name.equals("productOrService")) { 1521 this.productOrService = new CodeableConcept(); 1522 return this.productOrService; 1523 } 1524 else if (name.equals("modifier")) { 1525 return addModifier(); 1526 } 1527 else if (name.equals("provider")) { 1528 this.provider = new Reference(); 1529 return this.provider; 1530 } 1531 else if (name.equals("excluded")) { 1532 throw new FHIRException("Cannot call addChild on a primitive type CoverageEligibilityResponse.insurance.item.excluded"); 1533 } 1534 else if (name.equals("name")) { 1535 throw new FHIRException("Cannot call addChild on a primitive type CoverageEligibilityResponse.insurance.item.name"); 1536 } 1537 else if (name.equals("description")) { 1538 throw new FHIRException("Cannot call addChild on a primitive type CoverageEligibilityResponse.insurance.item.description"); 1539 } 1540 else if (name.equals("network")) { 1541 this.network = new CodeableConcept(); 1542 return this.network; 1543 } 1544 else if (name.equals("unit")) { 1545 this.unit = new CodeableConcept(); 1546 return this.unit; 1547 } 1548 else if (name.equals("term")) { 1549 this.term = new CodeableConcept(); 1550 return this.term; 1551 } 1552 else if (name.equals("benefit")) { 1553 return addBenefit(); 1554 } 1555 else if (name.equals("authorizationRequired")) { 1556 throw new FHIRException("Cannot call addChild on a primitive type CoverageEligibilityResponse.insurance.item.authorizationRequired"); 1557 } 1558 else if (name.equals("authorizationSupporting")) { 1559 return addAuthorizationSupporting(); 1560 } 1561 else if (name.equals("authorizationUrl")) { 1562 throw new FHIRException("Cannot call addChild on a primitive type CoverageEligibilityResponse.insurance.item.authorizationUrl"); 1563 } 1564 else 1565 return super.addChild(name); 1566 } 1567 1568 public ItemsComponent copy() { 1569 ItemsComponent dst = new ItemsComponent(); 1570 copyValues(dst); 1571 return dst; 1572 } 1573 1574 public void copyValues(ItemsComponent dst) { 1575 super.copyValues(dst); 1576 dst.category = category == null ? null : category.copy(); 1577 dst.productOrService = productOrService == null ? null : productOrService.copy(); 1578 if (modifier != null) { 1579 dst.modifier = new ArrayList<CodeableConcept>(); 1580 for (CodeableConcept i : modifier) 1581 dst.modifier.add(i.copy()); 1582 }; 1583 dst.provider = provider == null ? null : provider.copy(); 1584 dst.excluded = excluded == null ? null : excluded.copy(); 1585 dst.name = name == null ? null : name.copy(); 1586 dst.description = description == null ? null : description.copy(); 1587 dst.network = network == null ? null : network.copy(); 1588 dst.unit = unit == null ? null : unit.copy(); 1589 dst.term = term == null ? null : term.copy(); 1590 if (benefit != null) { 1591 dst.benefit = new ArrayList<BenefitComponent>(); 1592 for (BenefitComponent i : benefit) 1593 dst.benefit.add(i.copy()); 1594 }; 1595 dst.authorizationRequired = authorizationRequired == null ? null : authorizationRequired.copy(); 1596 if (authorizationSupporting != null) { 1597 dst.authorizationSupporting = new ArrayList<CodeableConcept>(); 1598 for (CodeableConcept i : authorizationSupporting) 1599 dst.authorizationSupporting.add(i.copy()); 1600 }; 1601 dst.authorizationUrl = authorizationUrl == null ? null : authorizationUrl.copy(); 1602 } 1603 1604 @Override 1605 public boolean equalsDeep(Base other_) { 1606 if (!super.equalsDeep(other_)) 1607 return false; 1608 if (!(other_ instanceof ItemsComponent)) 1609 return false; 1610 ItemsComponent o = (ItemsComponent) other_; 1611 return compareDeep(category, o.category, true) && compareDeep(productOrService, o.productOrService, true) 1612 && compareDeep(modifier, o.modifier, true) && compareDeep(provider, o.provider, true) && compareDeep(excluded, o.excluded, true) 1613 && compareDeep(name, o.name, true) && compareDeep(description, o.description, true) && compareDeep(network, o.network, true) 1614 && compareDeep(unit, o.unit, true) && compareDeep(term, o.term, true) && compareDeep(benefit, o.benefit, true) 1615 && compareDeep(authorizationRequired, o.authorizationRequired, true) && compareDeep(authorizationSupporting, o.authorizationSupporting, true) 1616 && compareDeep(authorizationUrl, o.authorizationUrl, true); 1617 } 1618 1619 @Override 1620 public boolean equalsShallow(Base other_) { 1621 if (!super.equalsShallow(other_)) 1622 return false; 1623 if (!(other_ instanceof ItemsComponent)) 1624 return false; 1625 ItemsComponent o = (ItemsComponent) other_; 1626 return compareValues(excluded, o.excluded, true) && compareValues(name, o.name, true) && compareValues(description, o.description, true) 1627 && compareValues(authorizationRequired, o.authorizationRequired, true) && compareValues(authorizationUrl, o.authorizationUrl, true) 1628 ; 1629 } 1630 1631 public boolean isEmpty() { 1632 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(category, productOrService 1633 , modifier, provider, excluded, name, description, network, unit, term, benefit 1634 , authorizationRequired, authorizationSupporting, authorizationUrl); 1635 } 1636 1637 public String fhirType() { 1638 return "CoverageEligibilityResponse.insurance.item"; 1639 1640 } 1641 1642 } 1643 1644 @Block() 1645 public static class BenefitComponent extends BackboneElement implements IBaseBackboneElement { 1646 /** 1647 * Classification of benefit being provided. 1648 */ 1649 @Child(name = "type", type = {CodeableConcept.class}, order=1, min=1, max=1, modifier=false, summary=false) 1650 @Description(shortDefinition="Benefit classification", formalDefinition="Classification of benefit being provided." ) 1651 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/benefit-type") 1652 protected CodeableConcept type; 1653 1654 /** 1655 * The quantity of the benefit which is permitted under the coverage. 1656 */ 1657 @Child(name = "allowed", type = {UnsignedIntType.class, StringType.class, Money.class}, order=2, min=0, max=1, modifier=false, summary=false) 1658 @Description(shortDefinition="Benefits allowed", formalDefinition="The quantity of the benefit which is permitted under the coverage." ) 1659 protected DataType allowed; 1660 1661 /** 1662 * The quantity of the benefit which have been consumed to date. 1663 */ 1664 @Child(name = "used", type = {UnsignedIntType.class, StringType.class, Money.class}, order=3, min=0, max=1, modifier=false, summary=false) 1665 @Description(shortDefinition="Benefits used", formalDefinition="The quantity of the benefit which have been consumed to date." ) 1666 protected DataType used; 1667 1668 private static final long serialVersionUID = 1900247614L; 1669 1670 /** 1671 * Constructor 1672 */ 1673 public BenefitComponent() { 1674 super(); 1675 } 1676 1677 /** 1678 * Constructor 1679 */ 1680 public BenefitComponent(CodeableConcept type) { 1681 super(); 1682 this.setType(type); 1683 } 1684 1685 /** 1686 * @return {@link #type} (Classification of benefit being provided.) 1687 */ 1688 public CodeableConcept getType() { 1689 if (this.type == null) 1690 if (Configuration.errorOnAutoCreate()) 1691 throw new Error("Attempt to auto-create BenefitComponent.type"); 1692 else if (Configuration.doAutoCreate()) 1693 this.type = new CodeableConcept(); // cc 1694 return this.type; 1695 } 1696 1697 public boolean hasType() { 1698 return this.type != null && !this.type.isEmpty(); 1699 } 1700 1701 /** 1702 * @param value {@link #type} (Classification of benefit being provided.) 1703 */ 1704 public BenefitComponent setType(CodeableConcept value) { 1705 this.type = value; 1706 return this; 1707 } 1708 1709 /** 1710 * @return {@link #allowed} (The quantity of the benefit which is permitted under the coverage.) 1711 */ 1712 public DataType getAllowed() { 1713 return this.allowed; 1714 } 1715 1716 /** 1717 * @return {@link #allowed} (The quantity of the benefit which is permitted under the coverage.) 1718 */ 1719 public UnsignedIntType getAllowedUnsignedIntType() throws FHIRException { 1720 if (this.allowed == null) 1721 this.allowed = new UnsignedIntType(); 1722 if (!(this.allowed instanceof UnsignedIntType)) 1723 throw new FHIRException("Type mismatch: the type UnsignedIntType was expected, but "+this.allowed.getClass().getName()+" was encountered"); 1724 return (UnsignedIntType) this.allowed; 1725 } 1726 1727 public boolean hasAllowedUnsignedIntType() { 1728 return this != null && this.allowed instanceof UnsignedIntType; 1729 } 1730 1731 /** 1732 * @return {@link #allowed} (The quantity of the benefit which is permitted under the coverage.) 1733 */ 1734 public StringType getAllowedStringType() throws FHIRException { 1735 if (this.allowed == null) 1736 this.allowed = new StringType(); 1737 if (!(this.allowed instanceof StringType)) 1738 throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.allowed.getClass().getName()+" was encountered"); 1739 return (StringType) this.allowed; 1740 } 1741 1742 public boolean hasAllowedStringType() { 1743 return this != null && this.allowed instanceof StringType; 1744 } 1745 1746 /** 1747 * @return {@link #allowed} (The quantity of the benefit which is permitted under the coverage.) 1748 */ 1749 public Money getAllowedMoney() throws FHIRException { 1750 if (this.allowed == null) 1751 this.allowed = new Money(); 1752 if (!(this.allowed instanceof Money)) 1753 throw new FHIRException("Type mismatch: the type Money was expected, but "+this.allowed.getClass().getName()+" was encountered"); 1754 return (Money) this.allowed; 1755 } 1756 1757 public boolean hasAllowedMoney() { 1758 return this != null && this.allowed instanceof Money; 1759 } 1760 1761 public boolean hasAllowed() { 1762 return this.allowed != null && !this.allowed.isEmpty(); 1763 } 1764 1765 /** 1766 * @param value {@link #allowed} (The quantity of the benefit which is permitted under the coverage.) 1767 */ 1768 public BenefitComponent setAllowed(DataType value) { 1769 if (value != null && !(value instanceof UnsignedIntType || value instanceof StringType || value instanceof Money)) 1770 throw new Error("Not the right type for CoverageEligibilityResponse.insurance.item.benefit.allowed[x]: "+value.fhirType()); 1771 this.allowed = value; 1772 return this; 1773 } 1774 1775 /** 1776 * @return {@link #used} (The quantity of the benefit which have been consumed to date.) 1777 */ 1778 public DataType getUsed() { 1779 return this.used; 1780 } 1781 1782 /** 1783 * @return {@link #used} (The quantity of the benefit which have been consumed to date.) 1784 */ 1785 public UnsignedIntType getUsedUnsignedIntType() throws FHIRException { 1786 if (this.used == null) 1787 this.used = new UnsignedIntType(); 1788 if (!(this.used instanceof UnsignedIntType)) 1789 throw new FHIRException("Type mismatch: the type UnsignedIntType was expected, but "+this.used.getClass().getName()+" was encountered"); 1790 return (UnsignedIntType) this.used; 1791 } 1792 1793 public boolean hasUsedUnsignedIntType() { 1794 return this != null && this.used instanceof UnsignedIntType; 1795 } 1796 1797 /** 1798 * @return {@link #used} (The quantity of the benefit which have been consumed to date.) 1799 */ 1800 public StringType getUsedStringType() throws FHIRException { 1801 if (this.used == null) 1802 this.used = new StringType(); 1803 if (!(this.used instanceof StringType)) 1804 throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.used.getClass().getName()+" was encountered"); 1805 return (StringType) this.used; 1806 } 1807 1808 public boolean hasUsedStringType() { 1809 return this != null && this.used instanceof StringType; 1810 } 1811 1812 /** 1813 * @return {@link #used} (The quantity of the benefit which have been consumed to date.) 1814 */ 1815 public Money getUsedMoney() throws FHIRException { 1816 if (this.used == null) 1817 this.used = new Money(); 1818 if (!(this.used instanceof Money)) 1819 throw new FHIRException("Type mismatch: the type Money was expected, but "+this.used.getClass().getName()+" was encountered"); 1820 return (Money) this.used; 1821 } 1822 1823 public boolean hasUsedMoney() { 1824 return this != null && this.used instanceof Money; 1825 } 1826 1827 public boolean hasUsed() { 1828 return this.used != null && !this.used.isEmpty(); 1829 } 1830 1831 /** 1832 * @param value {@link #used} (The quantity of the benefit which have been consumed to date.) 1833 */ 1834 public BenefitComponent setUsed(DataType value) { 1835 if (value != null && !(value instanceof UnsignedIntType || value instanceof StringType || value instanceof Money)) 1836 throw new Error("Not the right type for CoverageEligibilityResponse.insurance.item.benefit.used[x]: "+value.fhirType()); 1837 this.used = value; 1838 return this; 1839 } 1840 1841 protected void listChildren(List<Property> children) { 1842 super.listChildren(children); 1843 children.add(new Property("type", "CodeableConcept", "Classification of benefit being provided.", 0, 1, type)); 1844 children.add(new Property("allowed[x]", "unsignedInt|string|Money", "The quantity of the benefit which is permitted under the coverage.", 0, 1, allowed)); 1845 children.add(new Property("used[x]", "unsignedInt|string|Money", "The quantity of the benefit which have been consumed to date.", 0, 1, used)); 1846 } 1847 1848 @Override 1849 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1850 switch (_hash) { 1851 case 3575610: /*type*/ return new Property("type", "CodeableConcept", "Classification of benefit being provided.", 0, 1, type); 1852 case -1336663592: /*allowed[x]*/ return new Property("allowed[x]", "unsignedInt|string|Money", "The quantity of the benefit which is permitted under the coverage.", 0, 1, allowed); 1853 case -911343192: /*allowed*/ return new Property("allowed[x]", "unsignedInt|string|Money", "The quantity of the benefit which is permitted under the coverage.", 0, 1, allowed); 1854 case 1668802034: /*allowedUnsignedInt*/ return new Property("allowed[x]", "unsignedInt", "The quantity of the benefit which is permitted under the coverage.", 0, 1, allowed); 1855 case -2135265319: /*allowedString*/ return new Property("allowed[x]", "string", "The quantity of the benefit which is permitted under the coverage.", 0, 1, allowed); 1856 case -351668232: /*allowedMoney*/ return new Property("allowed[x]", "Money", "The quantity of the benefit which is permitted under the coverage.", 0, 1, allowed); 1857 case -147553373: /*used[x]*/ return new Property("used[x]", "unsignedInt|string|Money", "The quantity of the benefit which have been consumed to date.", 0, 1, used); 1858 case 3599293: /*used*/ return new Property("used[x]", "unsignedInt|string|Money", "The quantity of the benefit which have been consumed to date.", 0, 1, used); 1859 case 1252740285: /*usedUnsignedInt*/ return new Property("used[x]", "unsignedInt", "The quantity of the benefit which have been consumed to date.", 0, 1, used); 1860 case 2051978798: /*usedString*/ return new Property("used[x]", "string", "The quantity of the benefit which have been consumed to date.", 0, 1, used); 1861 case -78048509: /*usedMoney*/ return new Property("used[x]", "Money", "The quantity of the benefit which have been consumed to date.", 0, 1, used); 1862 default: return super.getNamedProperty(_hash, _name, _checkValid); 1863 } 1864 1865 } 1866 1867 @Override 1868 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1869 switch (hash) { 1870 case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeableConcept 1871 case -911343192: /*allowed*/ return this.allowed == null ? new Base[0] : new Base[] {this.allowed}; // DataType 1872 case 3599293: /*used*/ return this.used == null ? new Base[0] : new Base[] {this.used}; // DataType 1873 default: return super.getProperty(hash, name, checkValid); 1874 } 1875 1876 } 1877 1878 @Override 1879 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1880 switch (hash) { 1881 case 3575610: // type 1882 this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1883 return value; 1884 case -911343192: // allowed 1885 this.allowed = TypeConvertor.castToType(value); // DataType 1886 return value; 1887 case 3599293: // used 1888 this.used = TypeConvertor.castToType(value); // DataType 1889 return value; 1890 default: return super.setProperty(hash, name, value); 1891 } 1892 1893 } 1894 1895 @Override 1896 public Base setProperty(String name, Base value) throws FHIRException { 1897 if (name.equals("type")) { 1898 this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1899 } else if (name.equals("allowed[x]")) { 1900 this.allowed = TypeConvertor.castToType(value); // DataType 1901 } else if (name.equals("used[x]")) { 1902 this.used = TypeConvertor.castToType(value); // DataType 1903 } else 1904 return super.setProperty(name, value); 1905 return value; 1906 } 1907 1908 @Override 1909 public Base makeProperty(int hash, String name) throws FHIRException { 1910 switch (hash) { 1911 case 3575610: return getType(); 1912 case -1336663592: return getAllowed(); 1913 case -911343192: return getAllowed(); 1914 case -147553373: return getUsed(); 1915 case 3599293: return getUsed(); 1916 default: return super.makeProperty(hash, name); 1917 } 1918 1919 } 1920 1921 @Override 1922 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1923 switch (hash) { 1924 case 3575610: /*type*/ return new String[] {"CodeableConcept"}; 1925 case -911343192: /*allowed*/ return new String[] {"unsignedInt", "string", "Money"}; 1926 case 3599293: /*used*/ return new String[] {"unsignedInt", "string", "Money"}; 1927 default: return super.getTypesForProperty(hash, name); 1928 } 1929 1930 } 1931 1932 @Override 1933 public Base addChild(String name) throws FHIRException { 1934 if (name.equals("type")) { 1935 this.type = new CodeableConcept(); 1936 return this.type; 1937 } 1938 else if (name.equals("allowedUnsignedInt")) { 1939 this.allowed = new UnsignedIntType(); 1940 return this.allowed; 1941 } 1942 else if (name.equals("allowedString")) { 1943 this.allowed = new StringType(); 1944 return this.allowed; 1945 } 1946 else if (name.equals("allowedMoney")) { 1947 this.allowed = new Money(); 1948 return this.allowed; 1949 } 1950 else if (name.equals("usedUnsignedInt")) { 1951 this.used = new UnsignedIntType(); 1952 return this.used; 1953 } 1954 else if (name.equals("usedString")) { 1955 this.used = new StringType(); 1956 return this.used; 1957 } 1958 else if (name.equals("usedMoney")) { 1959 this.used = new Money(); 1960 return this.used; 1961 } 1962 else 1963 return super.addChild(name); 1964 } 1965 1966 public BenefitComponent copy() { 1967 BenefitComponent dst = new BenefitComponent(); 1968 copyValues(dst); 1969 return dst; 1970 } 1971 1972 public void copyValues(BenefitComponent dst) { 1973 super.copyValues(dst); 1974 dst.type = type == null ? null : type.copy(); 1975 dst.allowed = allowed == null ? null : allowed.copy(); 1976 dst.used = used == null ? null : used.copy(); 1977 } 1978 1979 @Override 1980 public boolean equalsDeep(Base other_) { 1981 if (!super.equalsDeep(other_)) 1982 return false; 1983 if (!(other_ instanceof BenefitComponent)) 1984 return false; 1985 BenefitComponent o = (BenefitComponent) other_; 1986 return compareDeep(type, o.type, true) && compareDeep(allowed, o.allowed, true) && compareDeep(used, o.used, true) 1987 ; 1988 } 1989 1990 @Override 1991 public boolean equalsShallow(Base other_) { 1992 if (!super.equalsShallow(other_)) 1993 return false; 1994 if (!(other_ instanceof BenefitComponent)) 1995 return false; 1996 BenefitComponent o = (BenefitComponent) other_; 1997 return true; 1998 } 1999 2000 public boolean isEmpty() { 2001 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(type, allowed, used); 2002 } 2003 2004 public String fhirType() { 2005 return "CoverageEligibilityResponse.insurance.item.benefit"; 2006 2007 } 2008 2009 } 2010 2011 @Block() 2012 public static class ErrorsComponent extends BackboneElement implements IBaseBackboneElement { 2013 /** 2014 * An error code,from a specified code system, which details why the eligibility check could not be performed. 2015 */ 2016 @Child(name = "code", type = {CodeableConcept.class}, order=1, min=1, max=1, modifier=false, summary=false) 2017 @Description(shortDefinition="Error code detailing processing issues", formalDefinition="An error code,from a specified code system, which details why the eligibility check could not be performed." ) 2018 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/adjudication-error") 2019 protected CodeableConcept code; 2020 2021 private static final long serialVersionUID = -1048343046L; 2022 2023 /** 2024 * Constructor 2025 */ 2026 public ErrorsComponent() { 2027 super(); 2028 } 2029 2030 /** 2031 * Constructor 2032 */ 2033 public ErrorsComponent(CodeableConcept code) { 2034 super(); 2035 this.setCode(code); 2036 } 2037 2038 /** 2039 * @return {@link #code} (An error code,from a specified code system, which details why the eligibility check could not be performed.) 2040 */ 2041 public CodeableConcept getCode() { 2042 if (this.code == null) 2043 if (Configuration.errorOnAutoCreate()) 2044 throw new Error("Attempt to auto-create ErrorsComponent.code"); 2045 else if (Configuration.doAutoCreate()) 2046 this.code = new CodeableConcept(); // cc 2047 return this.code; 2048 } 2049 2050 public boolean hasCode() { 2051 return this.code != null && !this.code.isEmpty(); 2052 } 2053 2054 /** 2055 * @param value {@link #code} (An error code,from a specified code system, which details why the eligibility check could not be performed.) 2056 */ 2057 public ErrorsComponent setCode(CodeableConcept value) { 2058 this.code = value; 2059 return this; 2060 } 2061 2062 protected void listChildren(List<Property> children) { 2063 super.listChildren(children); 2064 children.add(new Property("code", "CodeableConcept", "An error code,from a specified code system, which details why the eligibility check could not be performed.", 0, 1, code)); 2065 } 2066 2067 @Override 2068 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 2069 switch (_hash) { 2070 case 3059181: /*code*/ return new Property("code", "CodeableConcept", "An error code,from a specified code system, which details why the eligibility check could not be performed.", 0, 1, code); 2071 default: return super.getNamedProperty(_hash, _name, _checkValid); 2072 } 2073 2074 } 2075 2076 @Override 2077 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 2078 switch (hash) { 2079 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableConcept 2080 default: return super.getProperty(hash, name, checkValid); 2081 } 2082 2083 } 2084 2085 @Override 2086 public Base setProperty(int hash, String name, Base value) throws FHIRException { 2087 switch (hash) { 2088 case 3059181: // code 2089 this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 2090 return value; 2091 default: return super.setProperty(hash, name, value); 2092 } 2093 2094 } 2095 2096 @Override 2097 public Base setProperty(String name, Base value) throws FHIRException { 2098 if (name.equals("code")) { 2099 this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 2100 } else 2101 return super.setProperty(name, value); 2102 return value; 2103 } 2104 2105 @Override 2106 public Base makeProperty(int hash, String name) throws FHIRException { 2107 switch (hash) { 2108 case 3059181: return getCode(); 2109 default: return super.makeProperty(hash, name); 2110 } 2111 2112 } 2113 2114 @Override 2115 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2116 switch (hash) { 2117 case 3059181: /*code*/ return new String[] {"CodeableConcept"}; 2118 default: return super.getTypesForProperty(hash, name); 2119 } 2120 2121 } 2122 2123 @Override 2124 public Base addChild(String name) throws FHIRException { 2125 if (name.equals("code")) { 2126 this.code = new CodeableConcept(); 2127 return this.code; 2128 } 2129 else 2130 return super.addChild(name); 2131 } 2132 2133 public ErrorsComponent copy() { 2134 ErrorsComponent dst = new ErrorsComponent(); 2135 copyValues(dst); 2136 return dst; 2137 } 2138 2139 public void copyValues(ErrorsComponent dst) { 2140 super.copyValues(dst); 2141 dst.code = code == null ? null : code.copy(); 2142 } 2143 2144 @Override 2145 public boolean equalsDeep(Base other_) { 2146 if (!super.equalsDeep(other_)) 2147 return false; 2148 if (!(other_ instanceof ErrorsComponent)) 2149 return false; 2150 ErrorsComponent o = (ErrorsComponent) other_; 2151 return compareDeep(code, o.code, true); 2152 } 2153 2154 @Override 2155 public boolean equalsShallow(Base other_) { 2156 if (!super.equalsShallow(other_)) 2157 return false; 2158 if (!(other_ instanceof ErrorsComponent)) 2159 return false; 2160 ErrorsComponent o = (ErrorsComponent) other_; 2161 return true; 2162 } 2163 2164 public boolean isEmpty() { 2165 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(code); 2166 } 2167 2168 public String fhirType() { 2169 return "CoverageEligibilityResponse.error"; 2170 2171 } 2172 2173 } 2174 2175 /** 2176 * A unique identifier assigned to this coverage eligiblity request. 2177 */ 2178 @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2179 @Description(shortDefinition="Business Identifier for coverage eligiblity request", formalDefinition="A unique identifier assigned to this coverage eligiblity request." ) 2180 protected List<Identifier> identifier; 2181 2182 /** 2183 * The status of the resource instance. 2184 */ 2185 @Child(name = "status", type = {CodeType.class}, order=1, min=1, max=1, modifier=true, summary=true) 2186 @Description(shortDefinition="active | cancelled | draft | entered-in-error", formalDefinition="The status of the resource instance." ) 2187 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/fm-status") 2188 protected Enumeration<FinancialResourceStatusCodes> status; 2189 2190 /** 2191 * 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. 2192 */ 2193 @Child(name = "purpose", type = {CodeType.class}, order=2, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 2194 @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." ) 2195 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/eligibilityresponse-purpose") 2196 protected List<Enumeration<EligibilityResponsePurpose>> purpose; 2197 2198 /** 2199 * The party who is the beneficiary of the supplied coverage and for whom eligibility is sought. 2200 */ 2201 @Child(name = "patient", type = {Patient.class}, order=3, min=1, max=1, modifier=false, summary=true) 2202 @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." ) 2203 protected Reference patient; 2204 2205 /** 2206 * The date or dates when the enclosed suite of services were performed or completed. 2207 */ 2208 @Child(name = "serviced", type = {DateType.class, Period.class}, order=4, min=0, max=1, modifier=false, summary=false) 2209 @Description(shortDefinition="Estimated date or dates of service", formalDefinition="The date or dates when the enclosed suite of services were performed or completed." ) 2210 protected DataType serviced; 2211 2212 /** 2213 * The date this resource was created. 2214 */ 2215 @Child(name = "created", type = {DateTimeType.class}, order=5, min=1, max=1, modifier=false, summary=true) 2216 @Description(shortDefinition="Response creation date", formalDefinition="The date this resource was created." ) 2217 protected DateTimeType created; 2218 2219 /** 2220 * The provider which is responsible for the request. 2221 */ 2222 @Child(name = "requestor", type = {Practitioner.class, PractitionerRole.class, Organization.class}, order=6, min=0, max=1, modifier=false, summary=false) 2223 @Description(shortDefinition="Party responsible for the request", formalDefinition="The provider which is responsible for the request." ) 2224 protected Reference requestor; 2225 2226 /** 2227 * Reference to the original request resource. 2228 */ 2229 @Child(name = "request", type = {CoverageEligibilityRequest.class}, order=7, min=1, max=1, modifier=false, summary=true) 2230 @Description(shortDefinition="Eligibility request reference", formalDefinition="Reference to the original request resource." ) 2231 protected Reference request; 2232 2233 /** 2234 * The outcome of the request processing. 2235 */ 2236 @Child(name = "outcome", type = {CodeType.class}, order=8, min=1, max=1, modifier=false, summary=true) 2237 @Description(shortDefinition="queued | complete | error | partial", formalDefinition="The outcome of the request processing." ) 2238 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/eligibility-outcome") 2239 protected Enumeration<EligibilityOutcome> outcome; 2240 2241 /** 2242 * A human readable description of the status of the adjudication. 2243 */ 2244 @Child(name = "disposition", type = {StringType.class}, order=9, min=0, max=1, modifier=false, summary=false) 2245 @Description(shortDefinition="Disposition Message", formalDefinition="A human readable description of the status of the adjudication." ) 2246 protected StringType disposition; 2247 2248 /** 2249 * The Insurer who issued the coverage in question and is the author of the response. 2250 */ 2251 @Child(name = "insurer", type = {Organization.class}, order=10, min=1, max=1, modifier=false, summary=true) 2252 @Description(shortDefinition="Coverage issuer", formalDefinition="The Insurer who issued the coverage in question and is the author of the response." ) 2253 protected Reference insurer; 2254 2255 /** 2256 * Financial instruments for reimbursement for the health care products and services. 2257 */ 2258 @Child(name = "insurance", type = {}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2259 @Description(shortDefinition="Patient insurance information", formalDefinition="Financial instruments for reimbursement for the health care products and services." ) 2260 protected List<InsuranceComponent> insurance; 2261 2262 /** 2263 * A reference from the Insurer to which these services pertain to be used on further communication and as proof that the request occurred. 2264 */ 2265 @Child(name = "preAuthRef", type = {StringType.class}, order=12, min=0, max=1, modifier=false, summary=false) 2266 @Description(shortDefinition="Preauthorization reference", formalDefinition="A reference from the Insurer to which these services pertain to be used on further communication and as proof that the request occurred." ) 2267 protected StringType preAuthRef; 2268 2269 /** 2270 * A code for the form to be used for printing the content. 2271 */ 2272 @Child(name = "form", type = {CodeableConcept.class}, order=13, min=0, max=1, modifier=false, summary=false) 2273 @Description(shortDefinition="Printed form identifier", formalDefinition="A code for the form to be used for printing the content." ) 2274 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/forms") 2275 protected CodeableConcept form; 2276 2277 /** 2278 * Errors encountered during the processing of the request. 2279 */ 2280 @Child(name = "error", type = {}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2281 @Description(shortDefinition="Processing errors", formalDefinition="Errors encountered during the processing of the request." ) 2282 protected List<ErrorsComponent> error; 2283 2284 private static final long serialVersionUID = 235292922L; 2285 2286 /** 2287 * Constructor 2288 */ 2289 public CoverageEligibilityResponse() { 2290 super(); 2291 } 2292 2293 /** 2294 * Constructor 2295 */ 2296 public CoverageEligibilityResponse(FinancialResourceStatusCodes status, EligibilityResponsePurpose purpose, Reference patient, Date created, Reference request, EligibilityOutcome outcome, Reference insurer) { 2297 super(); 2298 this.setStatus(status); 2299 this.addPurpose(purpose); 2300 this.setPatient(patient); 2301 this.setCreated(created); 2302 this.setRequest(request); 2303 this.setOutcome(outcome); 2304 this.setInsurer(insurer); 2305 } 2306 2307 /** 2308 * @return {@link #identifier} (A unique identifier assigned to this coverage eligiblity request.) 2309 */ 2310 public List<Identifier> getIdentifier() { 2311 if (this.identifier == null) 2312 this.identifier = new ArrayList<Identifier>(); 2313 return this.identifier; 2314 } 2315 2316 /** 2317 * @return Returns a reference to <code>this</code> for easy method chaining 2318 */ 2319 public CoverageEligibilityResponse setIdentifier(List<Identifier> theIdentifier) { 2320 this.identifier = theIdentifier; 2321 return this; 2322 } 2323 2324 public boolean hasIdentifier() { 2325 if (this.identifier == null) 2326 return false; 2327 for (Identifier item : this.identifier) 2328 if (!item.isEmpty()) 2329 return true; 2330 return false; 2331 } 2332 2333 public Identifier addIdentifier() { //3 2334 Identifier t = new Identifier(); 2335 if (this.identifier == null) 2336 this.identifier = new ArrayList<Identifier>(); 2337 this.identifier.add(t); 2338 return t; 2339 } 2340 2341 public CoverageEligibilityResponse addIdentifier(Identifier t) { //3 2342 if (t == null) 2343 return this; 2344 if (this.identifier == null) 2345 this.identifier = new ArrayList<Identifier>(); 2346 this.identifier.add(t); 2347 return this; 2348 } 2349 2350 /** 2351 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} 2352 */ 2353 public Identifier getIdentifierFirstRep() { 2354 if (getIdentifier().isEmpty()) { 2355 addIdentifier(); 2356 } 2357 return getIdentifier().get(0); 2358 } 2359 2360 /** 2361 * @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 2362 */ 2363 public Enumeration<FinancialResourceStatusCodes> getStatusElement() { 2364 if (this.status == null) 2365 if (Configuration.errorOnAutoCreate()) 2366 throw new Error("Attempt to auto-create CoverageEligibilityResponse.status"); 2367 else if (Configuration.doAutoCreate()) 2368 this.status = new Enumeration<FinancialResourceStatusCodes>(new FinancialResourceStatusCodesEnumFactory()); // bb 2369 return this.status; 2370 } 2371 2372 public boolean hasStatusElement() { 2373 return this.status != null && !this.status.isEmpty(); 2374 } 2375 2376 public boolean hasStatus() { 2377 return this.status != null && !this.status.isEmpty(); 2378 } 2379 2380 /** 2381 * @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 2382 */ 2383 public CoverageEligibilityResponse setStatusElement(Enumeration<FinancialResourceStatusCodes> value) { 2384 this.status = value; 2385 return this; 2386 } 2387 2388 /** 2389 * @return The status of the resource instance. 2390 */ 2391 public FinancialResourceStatusCodes getStatus() { 2392 return this.status == null ? null : this.status.getValue(); 2393 } 2394 2395 /** 2396 * @param value The status of the resource instance. 2397 */ 2398 public CoverageEligibilityResponse setStatus(FinancialResourceStatusCodes value) { 2399 if (this.status == null) 2400 this.status = new Enumeration<FinancialResourceStatusCodes>(new FinancialResourceStatusCodesEnumFactory()); 2401 this.status.setValue(value); 2402 return this; 2403 } 2404 2405 /** 2406 * @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.) 2407 */ 2408 public List<Enumeration<EligibilityResponsePurpose>> getPurpose() { 2409 if (this.purpose == null) 2410 this.purpose = new ArrayList<Enumeration<EligibilityResponsePurpose>>(); 2411 return this.purpose; 2412 } 2413 2414 /** 2415 * @return Returns a reference to <code>this</code> for easy method chaining 2416 */ 2417 public CoverageEligibilityResponse setPurpose(List<Enumeration<EligibilityResponsePurpose>> thePurpose) { 2418 this.purpose = thePurpose; 2419 return this; 2420 } 2421 2422 public boolean hasPurpose() { 2423 if (this.purpose == null) 2424 return false; 2425 for (Enumeration<EligibilityResponsePurpose> item : this.purpose) 2426 if (!item.isEmpty()) 2427 return true; 2428 return false; 2429 } 2430 2431 /** 2432 * @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.) 2433 */ 2434 public Enumeration<EligibilityResponsePurpose> addPurposeElement() {//2 2435 Enumeration<EligibilityResponsePurpose> t = new Enumeration<EligibilityResponsePurpose>(new EligibilityResponsePurposeEnumFactory()); 2436 if (this.purpose == null) 2437 this.purpose = new ArrayList<Enumeration<EligibilityResponsePurpose>>(); 2438 this.purpose.add(t); 2439 return t; 2440 } 2441 2442 /** 2443 * @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.) 2444 */ 2445 public CoverageEligibilityResponse addPurpose(EligibilityResponsePurpose value) { //1 2446 Enumeration<EligibilityResponsePurpose> t = new Enumeration<EligibilityResponsePurpose>(new EligibilityResponsePurposeEnumFactory()); 2447 t.setValue(value); 2448 if (this.purpose == null) 2449 this.purpose = new ArrayList<Enumeration<EligibilityResponsePurpose>>(); 2450 this.purpose.add(t); 2451 return this; 2452 } 2453 2454 /** 2455 * @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.) 2456 */ 2457 public boolean hasPurpose(EligibilityResponsePurpose value) { 2458 if (this.purpose == null) 2459 return false; 2460 for (Enumeration<EligibilityResponsePurpose> v : this.purpose) 2461 if (v.getValue().equals(value)) // code 2462 return true; 2463 return false; 2464 } 2465 2466 /** 2467 * @return {@link #patient} (The party who is the beneficiary of the supplied coverage and for whom eligibility is sought.) 2468 */ 2469 public Reference getPatient() { 2470 if (this.patient == null) 2471 if (Configuration.errorOnAutoCreate()) 2472 throw new Error("Attempt to auto-create CoverageEligibilityResponse.patient"); 2473 else if (Configuration.doAutoCreate()) 2474 this.patient = new Reference(); // cc 2475 return this.patient; 2476 } 2477 2478 public boolean hasPatient() { 2479 return this.patient != null && !this.patient.isEmpty(); 2480 } 2481 2482 /** 2483 * @param value {@link #patient} (The party who is the beneficiary of the supplied coverage and for whom eligibility is sought.) 2484 */ 2485 public CoverageEligibilityResponse setPatient(Reference value) { 2486 this.patient = value; 2487 return this; 2488 } 2489 2490 /** 2491 * @return {@link #serviced} (The date or dates when the enclosed suite of services were performed or completed.) 2492 */ 2493 public DataType getServiced() { 2494 return this.serviced; 2495 } 2496 2497 /** 2498 * @return {@link #serviced} (The date or dates when the enclosed suite of services were performed or completed.) 2499 */ 2500 public DateType getServicedDateType() throws FHIRException { 2501 if (this.serviced == null) 2502 this.serviced = new DateType(); 2503 if (!(this.serviced instanceof DateType)) 2504 throw new FHIRException("Type mismatch: the type DateType was expected, but "+this.serviced.getClass().getName()+" was encountered"); 2505 return (DateType) this.serviced; 2506 } 2507 2508 public boolean hasServicedDateType() { 2509 return this != null && this.serviced instanceof DateType; 2510 } 2511 2512 /** 2513 * @return {@link #serviced} (The date or dates when the enclosed suite of services were performed or completed.) 2514 */ 2515 public Period getServicedPeriod() throws FHIRException { 2516 if (this.serviced == null) 2517 this.serviced = new Period(); 2518 if (!(this.serviced instanceof Period)) 2519 throw new FHIRException("Type mismatch: the type Period was expected, but "+this.serviced.getClass().getName()+" was encountered"); 2520 return (Period) this.serviced; 2521 } 2522 2523 public boolean hasServicedPeriod() { 2524 return this != null && this.serviced instanceof Period; 2525 } 2526 2527 public boolean hasServiced() { 2528 return this.serviced != null && !this.serviced.isEmpty(); 2529 } 2530 2531 /** 2532 * @param value {@link #serviced} (The date or dates when the enclosed suite of services were performed or completed.) 2533 */ 2534 public CoverageEligibilityResponse setServiced(DataType value) { 2535 if (value != null && !(value instanceof DateType || value instanceof Period)) 2536 throw new Error("Not the right type for CoverageEligibilityResponse.serviced[x]: "+value.fhirType()); 2537 this.serviced = value; 2538 return this; 2539 } 2540 2541 /** 2542 * @return {@link #created} (The date this resource was created.). This is the underlying object with id, value and extensions. The accessor "getCreated" gives direct access to the value 2543 */ 2544 public DateTimeType getCreatedElement() { 2545 if (this.created == null) 2546 if (Configuration.errorOnAutoCreate()) 2547 throw new Error("Attempt to auto-create CoverageEligibilityResponse.created"); 2548 else if (Configuration.doAutoCreate()) 2549 this.created = new DateTimeType(); // bb 2550 return this.created; 2551 } 2552 2553 public boolean hasCreatedElement() { 2554 return this.created != null && !this.created.isEmpty(); 2555 } 2556 2557 public boolean hasCreated() { 2558 return this.created != null && !this.created.isEmpty(); 2559 } 2560 2561 /** 2562 * @param value {@link #created} (The date this resource was created.). This is the underlying object with id, value and extensions. The accessor "getCreated" gives direct access to the value 2563 */ 2564 public CoverageEligibilityResponse setCreatedElement(DateTimeType value) { 2565 this.created = value; 2566 return this; 2567 } 2568 2569 /** 2570 * @return The date this resource was created. 2571 */ 2572 public Date getCreated() { 2573 return this.created == null ? null : this.created.getValue(); 2574 } 2575 2576 /** 2577 * @param value The date this resource was created. 2578 */ 2579 public CoverageEligibilityResponse setCreated(Date value) { 2580 if (this.created == null) 2581 this.created = new DateTimeType(); 2582 this.created.setValue(value); 2583 return this; 2584 } 2585 2586 /** 2587 * @return {@link #requestor} (The provider which is responsible for the request.) 2588 */ 2589 public Reference getRequestor() { 2590 if (this.requestor == null) 2591 if (Configuration.errorOnAutoCreate()) 2592 throw new Error("Attempt to auto-create CoverageEligibilityResponse.requestor"); 2593 else if (Configuration.doAutoCreate()) 2594 this.requestor = new Reference(); // cc 2595 return this.requestor; 2596 } 2597 2598 public boolean hasRequestor() { 2599 return this.requestor != null && !this.requestor.isEmpty(); 2600 } 2601 2602 /** 2603 * @param value {@link #requestor} (The provider which is responsible for the request.) 2604 */ 2605 public CoverageEligibilityResponse setRequestor(Reference value) { 2606 this.requestor = value; 2607 return this; 2608 } 2609 2610 /** 2611 * @return {@link #request} (Reference to the original request resource.) 2612 */ 2613 public Reference getRequest() { 2614 if (this.request == null) 2615 if (Configuration.errorOnAutoCreate()) 2616 throw new Error("Attempt to auto-create CoverageEligibilityResponse.request"); 2617 else if (Configuration.doAutoCreate()) 2618 this.request = new Reference(); // cc 2619 return this.request; 2620 } 2621 2622 public boolean hasRequest() { 2623 return this.request != null && !this.request.isEmpty(); 2624 } 2625 2626 /** 2627 * @param value {@link #request} (Reference to the original request resource.) 2628 */ 2629 public CoverageEligibilityResponse setRequest(Reference value) { 2630 this.request = value; 2631 return this; 2632 } 2633 2634 /** 2635 * @return {@link #outcome} (The outcome of the request processing.). This is the underlying object with id, value and extensions. The accessor "getOutcome" gives direct access to the value 2636 */ 2637 public Enumeration<EligibilityOutcome> getOutcomeElement() { 2638 if (this.outcome == null) 2639 if (Configuration.errorOnAutoCreate()) 2640 throw new Error("Attempt to auto-create CoverageEligibilityResponse.outcome"); 2641 else if (Configuration.doAutoCreate()) 2642 this.outcome = new Enumeration<EligibilityOutcome>(new EligibilityOutcomeEnumFactory()); // bb 2643 return this.outcome; 2644 } 2645 2646 public boolean hasOutcomeElement() { 2647 return this.outcome != null && !this.outcome.isEmpty(); 2648 } 2649 2650 public boolean hasOutcome() { 2651 return this.outcome != null && !this.outcome.isEmpty(); 2652 } 2653 2654 /** 2655 * @param value {@link #outcome} (The outcome of the request processing.). This is the underlying object with id, value and extensions. The accessor "getOutcome" gives direct access to the value 2656 */ 2657 public CoverageEligibilityResponse setOutcomeElement(Enumeration<EligibilityOutcome> value) { 2658 this.outcome = value; 2659 return this; 2660 } 2661 2662 /** 2663 * @return The outcome of the request processing. 2664 */ 2665 public EligibilityOutcome getOutcome() { 2666 return this.outcome == null ? null : this.outcome.getValue(); 2667 } 2668 2669 /** 2670 * @param value The outcome of the request processing. 2671 */ 2672 public CoverageEligibilityResponse setOutcome(EligibilityOutcome value) { 2673 if (this.outcome == null) 2674 this.outcome = new Enumeration<EligibilityOutcome>(new EligibilityOutcomeEnumFactory()); 2675 this.outcome.setValue(value); 2676 return this; 2677 } 2678 2679 /** 2680 * @return {@link #disposition} (A human readable description of the status of the adjudication.). This is the underlying object with id, value and extensions. The accessor "getDisposition" gives direct access to the value 2681 */ 2682 public StringType getDispositionElement() { 2683 if (this.disposition == null) 2684 if (Configuration.errorOnAutoCreate()) 2685 throw new Error("Attempt to auto-create CoverageEligibilityResponse.disposition"); 2686 else if (Configuration.doAutoCreate()) 2687 this.disposition = new StringType(); // bb 2688 return this.disposition; 2689 } 2690 2691 public boolean hasDispositionElement() { 2692 return this.disposition != null && !this.disposition.isEmpty(); 2693 } 2694 2695 public boolean hasDisposition() { 2696 return this.disposition != null && !this.disposition.isEmpty(); 2697 } 2698 2699 /** 2700 * @param value {@link #disposition} (A human readable description of the status of the adjudication.). This is the underlying object with id, value and extensions. The accessor "getDisposition" gives direct access to the value 2701 */ 2702 public CoverageEligibilityResponse setDispositionElement(StringType value) { 2703 this.disposition = value; 2704 return this; 2705 } 2706 2707 /** 2708 * @return A human readable description of the status of the adjudication. 2709 */ 2710 public String getDisposition() { 2711 return this.disposition == null ? null : this.disposition.getValue(); 2712 } 2713 2714 /** 2715 * @param value A human readable description of the status of the adjudication. 2716 */ 2717 public CoverageEligibilityResponse setDisposition(String value) { 2718 if (Utilities.noString(value)) 2719 this.disposition = null; 2720 else { 2721 if (this.disposition == null) 2722 this.disposition = new StringType(); 2723 this.disposition.setValue(value); 2724 } 2725 return this; 2726 } 2727 2728 /** 2729 * @return {@link #insurer} (The Insurer who issued the coverage in question and is the author of the response.) 2730 */ 2731 public Reference getInsurer() { 2732 if (this.insurer == null) 2733 if (Configuration.errorOnAutoCreate()) 2734 throw new Error("Attempt to auto-create CoverageEligibilityResponse.insurer"); 2735 else if (Configuration.doAutoCreate()) 2736 this.insurer = new Reference(); // cc 2737 return this.insurer; 2738 } 2739 2740 public boolean hasInsurer() { 2741 return this.insurer != null && !this.insurer.isEmpty(); 2742 } 2743 2744 /** 2745 * @param value {@link #insurer} (The Insurer who issued the coverage in question and is the author of the response.) 2746 */ 2747 public CoverageEligibilityResponse setInsurer(Reference value) { 2748 this.insurer = value; 2749 return this; 2750 } 2751 2752 /** 2753 * @return {@link #insurance} (Financial instruments for reimbursement for the health care products and services.) 2754 */ 2755 public List<InsuranceComponent> getInsurance() { 2756 if (this.insurance == null) 2757 this.insurance = new ArrayList<InsuranceComponent>(); 2758 return this.insurance; 2759 } 2760 2761 /** 2762 * @return Returns a reference to <code>this</code> for easy method chaining 2763 */ 2764 public CoverageEligibilityResponse setInsurance(List<InsuranceComponent> theInsurance) { 2765 this.insurance = theInsurance; 2766 return this; 2767 } 2768 2769 public boolean hasInsurance() { 2770 if (this.insurance == null) 2771 return false; 2772 for (InsuranceComponent item : this.insurance) 2773 if (!item.isEmpty()) 2774 return true; 2775 return false; 2776 } 2777 2778 public InsuranceComponent addInsurance() { //3 2779 InsuranceComponent t = new InsuranceComponent(); 2780 if (this.insurance == null) 2781 this.insurance = new ArrayList<InsuranceComponent>(); 2782 this.insurance.add(t); 2783 return t; 2784 } 2785 2786 public CoverageEligibilityResponse addInsurance(InsuranceComponent t) { //3 2787 if (t == null) 2788 return this; 2789 if (this.insurance == null) 2790 this.insurance = new ArrayList<InsuranceComponent>(); 2791 this.insurance.add(t); 2792 return this; 2793 } 2794 2795 /** 2796 * @return The first repetition of repeating field {@link #insurance}, creating it if it does not already exist {3} 2797 */ 2798 public InsuranceComponent getInsuranceFirstRep() { 2799 if (getInsurance().isEmpty()) { 2800 addInsurance(); 2801 } 2802 return getInsurance().get(0); 2803 } 2804 2805 /** 2806 * @return {@link #preAuthRef} (A reference from the Insurer to which these services pertain to be used on further communication and as proof that the request occurred.). This is the underlying object with id, value and extensions. The accessor "getPreAuthRef" gives direct access to the value 2807 */ 2808 public StringType getPreAuthRefElement() { 2809 if (this.preAuthRef == null) 2810 if (Configuration.errorOnAutoCreate()) 2811 throw new Error("Attempt to auto-create CoverageEligibilityResponse.preAuthRef"); 2812 else if (Configuration.doAutoCreate()) 2813 this.preAuthRef = new StringType(); // bb 2814 return this.preAuthRef; 2815 } 2816 2817 public boolean hasPreAuthRefElement() { 2818 return this.preAuthRef != null && !this.preAuthRef.isEmpty(); 2819 } 2820 2821 public boolean hasPreAuthRef() { 2822 return this.preAuthRef != null && !this.preAuthRef.isEmpty(); 2823 } 2824 2825 /** 2826 * @param value {@link #preAuthRef} (A reference from the Insurer to which these services pertain to be used on further communication and as proof that the request occurred.). This is the underlying object with id, value and extensions. The accessor "getPreAuthRef" gives direct access to the value 2827 */ 2828 public CoverageEligibilityResponse setPreAuthRefElement(StringType value) { 2829 this.preAuthRef = value; 2830 return this; 2831 } 2832 2833 /** 2834 * @return A reference from the Insurer to which these services pertain to be used on further communication and as proof that the request occurred. 2835 */ 2836 public String getPreAuthRef() { 2837 return this.preAuthRef == null ? null : this.preAuthRef.getValue(); 2838 } 2839 2840 /** 2841 * @param value A reference from the Insurer to which these services pertain to be used on further communication and as proof that the request occurred. 2842 */ 2843 public CoverageEligibilityResponse setPreAuthRef(String value) { 2844 if (Utilities.noString(value)) 2845 this.preAuthRef = null; 2846 else { 2847 if (this.preAuthRef == null) 2848 this.preAuthRef = new StringType(); 2849 this.preAuthRef.setValue(value); 2850 } 2851 return this; 2852 } 2853 2854 /** 2855 * @return {@link #form} (A code for the form to be used for printing the content.) 2856 */ 2857 public CodeableConcept getForm() { 2858 if (this.form == null) 2859 if (Configuration.errorOnAutoCreate()) 2860 throw new Error("Attempt to auto-create CoverageEligibilityResponse.form"); 2861 else if (Configuration.doAutoCreate()) 2862 this.form = new CodeableConcept(); // cc 2863 return this.form; 2864 } 2865 2866 public boolean hasForm() { 2867 return this.form != null && !this.form.isEmpty(); 2868 } 2869 2870 /** 2871 * @param value {@link #form} (A code for the form to be used for printing the content.) 2872 */ 2873 public CoverageEligibilityResponse setForm(CodeableConcept value) { 2874 this.form = value; 2875 return this; 2876 } 2877 2878 /** 2879 * @return {@link #error} (Errors encountered during the processing of the request.) 2880 */ 2881 public List<ErrorsComponent> getError() { 2882 if (this.error == null) 2883 this.error = new ArrayList<ErrorsComponent>(); 2884 return this.error; 2885 } 2886 2887 /** 2888 * @return Returns a reference to <code>this</code> for easy method chaining 2889 */ 2890 public CoverageEligibilityResponse setError(List<ErrorsComponent> theError) { 2891 this.error = theError; 2892 return this; 2893 } 2894 2895 public boolean hasError() { 2896 if (this.error == null) 2897 return false; 2898 for (ErrorsComponent item : this.error) 2899 if (!item.isEmpty()) 2900 return true; 2901 return false; 2902 } 2903 2904 public ErrorsComponent addError() { //3 2905 ErrorsComponent t = new ErrorsComponent(); 2906 if (this.error == null) 2907 this.error = new ArrayList<ErrorsComponent>(); 2908 this.error.add(t); 2909 return t; 2910 } 2911 2912 public CoverageEligibilityResponse addError(ErrorsComponent t) { //3 2913 if (t == null) 2914 return this; 2915 if (this.error == null) 2916 this.error = new ArrayList<ErrorsComponent>(); 2917 this.error.add(t); 2918 return this; 2919 } 2920 2921 /** 2922 * @return The first repetition of repeating field {@link #error}, creating it if it does not already exist {3} 2923 */ 2924 public ErrorsComponent getErrorFirstRep() { 2925 if (getError().isEmpty()) { 2926 addError(); 2927 } 2928 return getError().get(0); 2929 } 2930 2931 protected void listChildren(List<Property> children) { 2932 super.listChildren(children); 2933 children.add(new Property("identifier", "Identifier", "A unique identifier assigned to this coverage eligiblity request.", 0, java.lang.Integer.MAX_VALUE, identifier)); 2934 children.add(new Property("status", "code", "The status of the resource instance.", 0, 1, status)); 2935 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)); 2936 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)); 2937 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)); 2938 children.add(new Property("created", "dateTime", "The date this resource was created.", 0, 1, created)); 2939 children.add(new Property("requestor", "Reference(Practitioner|PractitionerRole|Organization)", "The provider which is responsible for the request.", 0, 1, requestor)); 2940 children.add(new Property("request", "Reference(CoverageEligibilityRequest)", "Reference to the original request resource.", 0, 1, request)); 2941 children.add(new Property("outcome", "code", "The outcome of the request processing.", 0, 1, outcome)); 2942 children.add(new Property("disposition", "string", "A human readable description of the status of the adjudication.", 0, 1, disposition)); 2943 children.add(new Property("insurer", "Reference(Organization)", "The Insurer who issued the coverage in question and is the author of the response.", 0, 1, insurer)); 2944 children.add(new Property("insurance", "", "Financial instruments for reimbursement for the health care products and services.", 0, java.lang.Integer.MAX_VALUE, insurance)); 2945 children.add(new Property("preAuthRef", "string", "A reference from the Insurer to which these services pertain to be used on further communication and as proof that the request occurred.", 0, 1, preAuthRef)); 2946 children.add(new Property("form", "CodeableConcept", "A code for the form to be used for printing the content.", 0, 1, form)); 2947 children.add(new Property("error", "", "Errors encountered during the processing of the request.", 0, java.lang.Integer.MAX_VALUE, error)); 2948 } 2949 2950 @Override 2951 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 2952 switch (_hash) { 2953 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "A unique identifier assigned to this coverage eligiblity request.", 0, java.lang.Integer.MAX_VALUE, identifier); 2954 case -892481550: /*status*/ return new Property("status", "code", "The status of the resource instance.", 0, 1, status); 2955 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); 2956 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); 2957 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); 2958 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); 2959 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); 2960 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); 2961 case 1028554472: /*created*/ return new Property("created", "dateTime", "The date this resource was created.", 0, 1, created); 2962 case 693934258: /*requestor*/ return new Property("requestor", "Reference(Practitioner|PractitionerRole|Organization)", "The provider which is responsible for the request.", 0, 1, requestor); 2963 case 1095692943: /*request*/ return new Property("request", "Reference(CoverageEligibilityRequest)", "Reference to the original request resource.", 0, 1, request); 2964 case -1106507950: /*outcome*/ return new Property("outcome", "code", "The outcome of the request processing.", 0, 1, outcome); 2965 case 583380919: /*disposition*/ return new Property("disposition", "string", "A human readable description of the status of the adjudication.", 0, 1, disposition); 2966 case 1957615864: /*insurer*/ return new Property("insurer", "Reference(Organization)", "The Insurer who issued the coverage in question and is the author of the response.", 0, 1, insurer); 2967 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); 2968 case 522246568: /*preAuthRef*/ return new Property("preAuthRef", "string", "A reference from the Insurer to which these services pertain to be used on further communication and as proof that the request occurred.", 0, 1, preAuthRef); 2969 case 3148996: /*form*/ return new Property("form", "CodeableConcept", "A code for the form to be used for printing the content.", 0, 1, form); 2970 case 96784904: /*error*/ return new Property("error", "", "Errors encountered during the processing of the request.", 0, java.lang.Integer.MAX_VALUE, error); 2971 default: return super.getNamedProperty(_hash, _name, _checkValid); 2972 } 2973 2974 } 2975 2976 @Override 2977 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 2978 switch (hash) { 2979 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 2980 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<FinancialResourceStatusCodes> 2981 case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : this.purpose.toArray(new Base[this.purpose.size()]); // Enumeration<EligibilityResponsePurpose> 2982 case -791418107: /*patient*/ return this.patient == null ? new Base[0] : new Base[] {this.patient}; // Reference 2983 case 1379209295: /*serviced*/ return this.serviced == null ? new Base[0] : new Base[] {this.serviced}; // DataType 2984 case 1028554472: /*created*/ return this.created == null ? new Base[0] : new Base[] {this.created}; // DateTimeType 2985 case 693934258: /*requestor*/ return this.requestor == null ? new Base[0] : new Base[] {this.requestor}; // Reference 2986 case 1095692943: /*request*/ return this.request == null ? new Base[0] : new Base[] {this.request}; // Reference 2987 case -1106507950: /*outcome*/ return this.outcome == null ? new Base[0] : new Base[] {this.outcome}; // Enumeration<EligibilityOutcome> 2988 case 583380919: /*disposition*/ return this.disposition == null ? new Base[0] : new Base[] {this.disposition}; // StringType 2989 case 1957615864: /*insurer*/ return this.insurer == null ? new Base[0] : new Base[] {this.insurer}; // Reference 2990 case 73049818: /*insurance*/ return this.insurance == null ? new Base[0] : this.insurance.toArray(new Base[this.insurance.size()]); // InsuranceComponent 2991 case 522246568: /*preAuthRef*/ return this.preAuthRef == null ? new Base[0] : new Base[] {this.preAuthRef}; // StringType 2992 case 3148996: /*form*/ return this.form == null ? new Base[0] : new Base[] {this.form}; // CodeableConcept 2993 case 96784904: /*error*/ return this.error == null ? new Base[0] : this.error.toArray(new Base[this.error.size()]); // ErrorsComponent 2994 default: return super.getProperty(hash, name, checkValid); 2995 } 2996 2997 } 2998 2999 @Override 3000 public Base setProperty(int hash, String name, Base value) throws FHIRException { 3001 switch (hash) { 3002 case -1618432855: // identifier 3003 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier 3004 return value; 3005 case -892481550: // status 3006 value = new FinancialResourceStatusCodesEnumFactory().fromType(TypeConvertor.castToCode(value)); 3007 this.status = (Enumeration) value; // Enumeration<FinancialResourceStatusCodes> 3008 return value; 3009 case -220463842: // purpose 3010 value = new EligibilityResponsePurposeEnumFactory().fromType(TypeConvertor.castToCode(value)); 3011 this.getPurpose().add((Enumeration) value); // Enumeration<EligibilityResponsePurpose> 3012 return value; 3013 case -791418107: // patient 3014 this.patient = TypeConvertor.castToReference(value); // Reference 3015 return value; 3016 case 1379209295: // serviced 3017 this.serviced = TypeConvertor.castToType(value); // DataType 3018 return value; 3019 case 1028554472: // created 3020 this.created = TypeConvertor.castToDateTime(value); // DateTimeType 3021 return value; 3022 case 693934258: // requestor 3023 this.requestor = TypeConvertor.castToReference(value); // Reference 3024 return value; 3025 case 1095692943: // request 3026 this.request = TypeConvertor.castToReference(value); // Reference 3027 return value; 3028 case -1106507950: // outcome 3029 value = new EligibilityOutcomeEnumFactory().fromType(TypeConvertor.castToCode(value)); 3030 this.outcome = (Enumeration) value; // Enumeration<EligibilityOutcome> 3031 return value; 3032 case 583380919: // disposition 3033 this.disposition = TypeConvertor.castToString(value); // StringType 3034 return value; 3035 case 1957615864: // insurer 3036 this.insurer = TypeConvertor.castToReference(value); // Reference 3037 return value; 3038 case 73049818: // insurance 3039 this.getInsurance().add((InsuranceComponent) value); // InsuranceComponent 3040 return value; 3041 case 522246568: // preAuthRef 3042 this.preAuthRef = TypeConvertor.castToString(value); // StringType 3043 return value; 3044 case 3148996: // form 3045 this.form = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 3046 return value; 3047 case 96784904: // error 3048 this.getError().add((ErrorsComponent) value); // ErrorsComponent 3049 return value; 3050 default: return super.setProperty(hash, name, value); 3051 } 3052 3053 } 3054 3055 @Override 3056 public Base setProperty(String name, Base value) throws FHIRException { 3057 if (name.equals("identifier")) { 3058 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); 3059 } else if (name.equals("status")) { 3060 value = new FinancialResourceStatusCodesEnumFactory().fromType(TypeConvertor.castToCode(value)); 3061 this.status = (Enumeration) value; // Enumeration<FinancialResourceStatusCodes> 3062 } else if (name.equals("purpose")) { 3063 value = new EligibilityResponsePurposeEnumFactory().fromType(TypeConvertor.castToCode(value)); 3064 this.getPurpose().add((Enumeration) value); 3065 } else if (name.equals("patient")) { 3066 this.patient = TypeConvertor.castToReference(value); // Reference 3067 } else if (name.equals("serviced[x]")) { 3068 this.serviced = TypeConvertor.castToType(value); // DataType 3069 } else if (name.equals("created")) { 3070 this.created = TypeConvertor.castToDateTime(value); // DateTimeType 3071 } else if (name.equals("requestor")) { 3072 this.requestor = TypeConvertor.castToReference(value); // Reference 3073 } else if (name.equals("request")) { 3074 this.request = TypeConvertor.castToReference(value); // Reference 3075 } else if (name.equals("outcome")) { 3076 value = new EligibilityOutcomeEnumFactory().fromType(TypeConvertor.castToCode(value)); 3077 this.outcome = (Enumeration) value; // Enumeration<EligibilityOutcome> 3078 } else if (name.equals("disposition")) { 3079 this.disposition = TypeConvertor.castToString(value); // StringType 3080 } else if (name.equals("insurer")) { 3081 this.insurer = TypeConvertor.castToReference(value); // Reference 3082 } else if (name.equals("insurance")) { 3083 this.getInsurance().add((InsuranceComponent) value); 3084 } else if (name.equals("preAuthRef")) { 3085 this.preAuthRef = TypeConvertor.castToString(value); // StringType 3086 } else if (name.equals("form")) { 3087 this.form = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 3088 } else if (name.equals("error")) { 3089 this.getError().add((ErrorsComponent) value); 3090 } else 3091 return super.setProperty(name, value); 3092 return value; 3093 } 3094 3095 @Override 3096 public Base makeProperty(int hash, String name) throws FHIRException { 3097 switch (hash) { 3098 case -1618432855: return addIdentifier(); 3099 case -892481550: return getStatusElement(); 3100 case -220463842: return addPurposeElement(); 3101 case -791418107: return getPatient(); 3102 case -1927922223: return getServiced(); 3103 case 1379209295: return getServiced(); 3104 case 1028554472: return getCreatedElement(); 3105 case 693934258: return getRequestor(); 3106 case 1095692943: return getRequest(); 3107 case -1106507950: return getOutcomeElement(); 3108 case 583380919: return getDispositionElement(); 3109 case 1957615864: return getInsurer(); 3110 case 73049818: return addInsurance(); 3111 case 522246568: return getPreAuthRefElement(); 3112 case 3148996: return getForm(); 3113 case 96784904: return addError(); 3114 default: return super.makeProperty(hash, name); 3115 } 3116 3117 } 3118 3119 @Override 3120 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 3121 switch (hash) { 3122 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 3123 case -892481550: /*status*/ return new String[] {"code"}; 3124 case -220463842: /*purpose*/ return new String[] {"code"}; 3125 case -791418107: /*patient*/ return new String[] {"Reference"}; 3126 case 1379209295: /*serviced*/ return new String[] {"date", "Period"}; 3127 case 1028554472: /*created*/ return new String[] {"dateTime"}; 3128 case 693934258: /*requestor*/ return new String[] {"Reference"}; 3129 case 1095692943: /*request*/ return new String[] {"Reference"}; 3130 case -1106507950: /*outcome*/ return new String[] {"code"}; 3131 case 583380919: /*disposition*/ return new String[] {"string"}; 3132 case 1957615864: /*insurer*/ return new String[] {"Reference"}; 3133 case 73049818: /*insurance*/ return new String[] {}; 3134 case 522246568: /*preAuthRef*/ return new String[] {"string"}; 3135 case 3148996: /*form*/ return new String[] {"CodeableConcept"}; 3136 case 96784904: /*error*/ return new String[] {}; 3137 default: return super.getTypesForProperty(hash, name); 3138 } 3139 3140 } 3141 3142 @Override 3143 public Base addChild(String name) throws FHIRException { 3144 if (name.equals("identifier")) { 3145 return addIdentifier(); 3146 } 3147 else if (name.equals("status")) { 3148 throw new FHIRException("Cannot call addChild on a primitive type CoverageEligibilityResponse.status"); 3149 } 3150 else if (name.equals("purpose")) { 3151 throw new FHIRException("Cannot call addChild on a primitive type CoverageEligibilityResponse.purpose"); 3152 } 3153 else if (name.equals("patient")) { 3154 this.patient = new Reference(); 3155 return this.patient; 3156 } 3157 else if (name.equals("servicedDate")) { 3158 this.serviced = new DateType(); 3159 return this.serviced; 3160 } 3161 else if (name.equals("servicedPeriod")) { 3162 this.serviced = new Period(); 3163 return this.serviced; 3164 } 3165 else if (name.equals("created")) { 3166 throw new FHIRException("Cannot call addChild on a primitive type CoverageEligibilityResponse.created"); 3167 } 3168 else if (name.equals("requestor")) { 3169 this.requestor = new Reference(); 3170 return this.requestor; 3171 } 3172 else if (name.equals("request")) { 3173 this.request = new Reference(); 3174 return this.request; 3175 } 3176 else if (name.equals("outcome")) { 3177 throw new FHIRException("Cannot call addChild on a primitive type CoverageEligibilityResponse.outcome"); 3178 } 3179 else if (name.equals("disposition")) { 3180 throw new FHIRException("Cannot call addChild on a primitive type CoverageEligibilityResponse.disposition"); 3181 } 3182 else if (name.equals("insurer")) { 3183 this.insurer = new Reference(); 3184 return this.insurer; 3185 } 3186 else if (name.equals("insurance")) { 3187 return addInsurance(); 3188 } 3189 else if (name.equals("preAuthRef")) { 3190 throw new FHIRException("Cannot call addChild on a primitive type CoverageEligibilityResponse.preAuthRef"); 3191 } 3192 else if (name.equals("form")) { 3193 this.form = new CodeableConcept(); 3194 return this.form; 3195 } 3196 else if (name.equals("error")) { 3197 return addError(); 3198 } 3199 else 3200 return super.addChild(name); 3201 } 3202 3203 public String fhirType() { 3204 return "CoverageEligibilityResponse"; 3205 3206 } 3207 3208 public CoverageEligibilityResponse copy() { 3209 CoverageEligibilityResponse dst = new CoverageEligibilityResponse(); 3210 copyValues(dst); 3211 return dst; 3212 } 3213 3214 public void copyValues(CoverageEligibilityResponse dst) { 3215 super.copyValues(dst); 3216 if (identifier != null) { 3217 dst.identifier = new ArrayList<Identifier>(); 3218 for (Identifier i : identifier) 3219 dst.identifier.add(i.copy()); 3220 }; 3221 dst.status = status == null ? null : status.copy(); 3222 if (purpose != null) { 3223 dst.purpose = new ArrayList<Enumeration<EligibilityResponsePurpose>>(); 3224 for (Enumeration<EligibilityResponsePurpose> i : purpose) 3225 dst.purpose.add(i.copy()); 3226 }; 3227 dst.patient = patient == null ? null : patient.copy(); 3228 dst.serviced = serviced == null ? null : serviced.copy(); 3229 dst.created = created == null ? null : created.copy(); 3230 dst.requestor = requestor == null ? null : requestor.copy(); 3231 dst.request = request == null ? null : request.copy(); 3232 dst.outcome = outcome == null ? null : outcome.copy(); 3233 dst.disposition = disposition == null ? null : disposition.copy(); 3234 dst.insurer = insurer == null ? null : insurer.copy(); 3235 if (insurance != null) { 3236 dst.insurance = new ArrayList<InsuranceComponent>(); 3237 for (InsuranceComponent i : insurance) 3238 dst.insurance.add(i.copy()); 3239 }; 3240 dst.preAuthRef = preAuthRef == null ? null : preAuthRef.copy(); 3241 dst.form = form == null ? null : form.copy(); 3242 if (error != null) { 3243 dst.error = new ArrayList<ErrorsComponent>(); 3244 for (ErrorsComponent i : error) 3245 dst.error.add(i.copy()); 3246 }; 3247 } 3248 3249 protected CoverageEligibilityResponse typedCopy() { 3250 return copy(); 3251 } 3252 3253 @Override 3254 public boolean equalsDeep(Base other_) { 3255 if (!super.equalsDeep(other_)) 3256 return false; 3257 if (!(other_ instanceof CoverageEligibilityResponse)) 3258 return false; 3259 CoverageEligibilityResponse o = (CoverageEligibilityResponse) other_; 3260 return compareDeep(identifier, o.identifier, true) && compareDeep(status, o.status, true) && compareDeep(purpose, o.purpose, true) 3261 && compareDeep(patient, o.patient, true) && compareDeep(serviced, o.serviced, true) && compareDeep(created, o.created, true) 3262 && compareDeep(requestor, o.requestor, true) && compareDeep(request, o.request, true) && compareDeep(outcome, o.outcome, true) 3263 && compareDeep(disposition, o.disposition, true) && compareDeep(insurer, o.insurer, true) && compareDeep(insurance, o.insurance, true) 3264 && compareDeep(preAuthRef, o.preAuthRef, true) && compareDeep(form, o.form, true) && compareDeep(error, o.error, true) 3265 ; 3266 } 3267 3268 @Override 3269 public boolean equalsShallow(Base other_) { 3270 if (!super.equalsShallow(other_)) 3271 return false; 3272 if (!(other_ instanceof CoverageEligibilityResponse)) 3273 return false; 3274 CoverageEligibilityResponse o = (CoverageEligibilityResponse) other_; 3275 return compareValues(status, o.status, true) && compareValues(purpose, o.purpose, true) && compareValues(created, o.created, true) 3276 && compareValues(outcome, o.outcome, true) && compareValues(disposition, o.disposition, true) && compareValues(preAuthRef, o.preAuthRef, true) 3277 ; 3278 } 3279 3280 public boolean isEmpty() { 3281 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, status, purpose 3282 , patient, serviced, created, requestor, request, outcome, disposition, insurer 3283 , insurance, preAuthRef, form, error); 3284 } 3285 3286 @Override 3287 public ResourceType getResourceType() { 3288 return ResourceType.CoverageEligibilityResponse; 3289 } 3290 3291 /** 3292 * Search parameter: <b>created</b> 3293 * <p> 3294 * Description: <b>The creation date</b><br> 3295 * Type: <b>date</b><br> 3296 * Path: <b>CoverageEligibilityResponse.created</b><br> 3297 * </p> 3298 */ 3299 @SearchParamDefinition(name="created", path="CoverageEligibilityResponse.created", description="The creation date", type="date" ) 3300 public static final String SP_CREATED = "created"; 3301 /** 3302 * <b>Fluent Client</b> search parameter constant for <b>created</b> 3303 * <p> 3304 * Description: <b>The creation date</b><br> 3305 * Type: <b>date</b><br> 3306 * Path: <b>CoverageEligibilityResponse.created</b><br> 3307 * </p> 3308 */ 3309 public static final ca.uhn.fhir.rest.gclient.DateClientParam CREATED = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_CREATED); 3310 3311 /** 3312 * Search parameter: <b>disposition</b> 3313 * <p> 3314 * Description: <b>The contents of the disposition message</b><br> 3315 * Type: <b>string</b><br> 3316 * Path: <b>CoverageEligibilityResponse.disposition</b><br> 3317 * </p> 3318 */ 3319 @SearchParamDefinition(name="disposition", path="CoverageEligibilityResponse.disposition", description="The contents of the disposition message", type="string" ) 3320 public static final String SP_DISPOSITION = "disposition"; 3321 /** 3322 * <b>Fluent Client</b> search parameter constant for <b>disposition</b> 3323 * <p> 3324 * Description: <b>The contents of the disposition message</b><br> 3325 * Type: <b>string</b><br> 3326 * Path: <b>CoverageEligibilityResponse.disposition</b><br> 3327 * </p> 3328 */ 3329 public static final ca.uhn.fhir.rest.gclient.StringClientParam DISPOSITION = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_DISPOSITION); 3330 3331 /** 3332 * Search parameter: <b>identifier</b> 3333 * <p> 3334 * Description: <b>The business identifier</b><br> 3335 * Type: <b>token</b><br> 3336 * Path: <b>CoverageEligibilityResponse.identifier</b><br> 3337 * </p> 3338 */ 3339 @SearchParamDefinition(name="identifier", path="CoverageEligibilityResponse.identifier", description="The business identifier", type="token" ) 3340 public static final String SP_IDENTIFIER = "identifier"; 3341 /** 3342 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 3343 * <p> 3344 * Description: <b>The business identifier</b><br> 3345 * Type: <b>token</b><br> 3346 * Path: <b>CoverageEligibilityResponse.identifier</b><br> 3347 * </p> 3348 */ 3349 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 3350 3351 /** 3352 * Search parameter: <b>insurer</b> 3353 * <p> 3354 * Description: <b>The organization which generated this resource</b><br> 3355 * Type: <b>reference</b><br> 3356 * Path: <b>CoverageEligibilityResponse.insurer</b><br> 3357 * </p> 3358 */ 3359 @SearchParamDefinition(name="insurer", path="CoverageEligibilityResponse.insurer", description="The organization which generated this resource", type="reference", target={Organization.class } ) 3360 public static final String SP_INSURER = "insurer"; 3361 /** 3362 * <b>Fluent Client</b> search parameter constant for <b>insurer</b> 3363 * <p> 3364 * Description: <b>The organization which generated this resource</b><br> 3365 * Type: <b>reference</b><br> 3366 * Path: <b>CoverageEligibilityResponse.insurer</b><br> 3367 * </p> 3368 */ 3369 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam INSURER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_INSURER); 3370 3371/** 3372 * Constant for fluent queries to be used to add include statements. Specifies 3373 * the path value of "<b>CoverageEligibilityResponse:insurer</b>". 3374 */ 3375 public static final ca.uhn.fhir.model.api.Include INCLUDE_INSURER = new ca.uhn.fhir.model.api.Include("CoverageEligibilityResponse:insurer").toLocked(); 3376 3377 /** 3378 * Search parameter: <b>outcome</b> 3379 * <p> 3380 * Description: <b>The processing outcome</b><br> 3381 * Type: <b>token</b><br> 3382 * Path: <b>CoverageEligibilityResponse.outcome</b><br> 3383 * </p> 3384 */ 3385 @SearchParamDefinition(name="outcome", path="CoverageEligibilityResponse.outcome", description="The processing outcome", type="token" ) 3386 public static final String SP_OUTCOME = "outcome"; 3387 /** 3388 * <b>Fluent Client</b> search parameter constant for <b>outcome</b> 3389 * <p> 3390 * Description: <b>The processing outcome</b><br> 3391 * Type: <b>token</b><br> 3392 * Path: <b>CoverageEligibilityResponse.outcome</b><br> 3393 * </p> 3394 */ 3395 public static final ca.uhn.fhir.rest.gclient.TokenClientParam OUTCOME = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_OUTCOME); 3396 3397 /** 3398 * Search parameter: <b>patient</b> 3399 * <p> 3400 * Description: <b>The reference to the patient</b><br> 3401 * Type: <b>reference</b><br> 3402 * Path: <b>CoverageEligibilityResponse.patient</b><br> 3403 * </p> 3404 */ 3405 @SearchParamDefinition(name="patient", path="CoverageEligibilityResponse.patient", description="The reference to the patient", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={Patient.class } ) 3406 public static final String SP_PATIENT = "patient"; 3407 /** 3408 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 3409 * <p> 3410 * Description: <b>The reference to the patient</b><br> 3411 * Type: <b>reference</b><br> 3412 * Path: <b>CoverageEligibilityResponse.patient</b><br> 3413 * </p> 3414 */ 3415 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); 3416 3417/** 3418 * Constant for fluent queries to be used to add include statements. Specifies 3419 * the path value of "<b>CoverageEligibilityResponse:patient</b>". 3420 */ 3421 public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("CoverageEligibilityResponse:patient").toLocked(); 3422 3423 /** 3424 * Search parameter: <b>request</b> 3425 * <p> 3426 * Description: <b>The EligibilityRequest reference</b><br> 3427 * Type: <b>reference</b><br> 3428 * Path: <b>CoverageEligibilityResponse.request</b><br> 3429 * </p> 3430 */ 3431 @SearchParamDefinition(name="request", path="CoverageEligibilityResponse.request", description="The EligibilityRequest reference", type="reference", target={CoverageEligibilityRequest.class } ) 3432 public static final String SP_REQUEST = "request"; 3433 /** 3434 * <b>Fluent Client</b> search parameter constant for <b>request</b> 3435 * <p> 3436 * Description: <b>The EligibilityRequest reference</b><br> 3437 * Type: <b>reference</b><br> 3438 * Path: <b>CoverageEligibilityResponse.request</b><br> 3439 * </p> 3440 */ 3441 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam REQUEST = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_REQUEST); 3442 3443/** 3444 * Constant for fluent queries to be used to add include statements. Specifies 3445 * the path value of "<b>CoverageEligibilityResponse:request</b>". 3446 */ 3447 public static final ca.uhn.fhir.model.api.Include INCLUDE_REQUEST = new ca.uhn.fhir.model.api.Include("CoverageEligibilityResponse:request").toLocked(); 3448 3449 /** 3450 * Search parameter: <b>requestor</b> 3451 * <p> 3452 * Description: <b>The EligibilityRequest provider</b><br> 3453 * Type: <b>reference</b><br> 3454 * Path: <b>CoverageEligibilityResponse.requestor</b><br> 3455 * </p> 3456 */ 3457 @SearchParamDefinition(name="requestor", path="CoverageEligibilityResponse.requestor", description="The EligibilityRequest 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 } ) 3458 public static final String SP_REQUESTOR = "requestor"; 3459 /** 3460 * <b>Fluent Client</b> search parameter constant for <b>requestor</b> 3461 * <p> 3462 * Description: <b>The EligibilityRequest provider</b><br> 3463 * Type: <b>reference</b><br> 3464 * Path: <b>CoverageEligibilityResponse.requestor</b><br> 3465 * </p> 3466 */ 3467 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam REQUESTOR = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_REQUESTOR); 3468 3469/** 3470 * Constant for fluent queries to be used to add include statements. Specifies 3471 * the path value of "<b>CoverageEligibilityResponse:requestor</b>". 3472 */ 3473 public static final ca.uhn.fhir.model.api.Include INCLUDE_REQUESTOR = new ca.uhn.fhir.model.api.Include("CoverageEligibilityResponse:requestor").toLocked(); 3474 3475 /** 3476 * Search parameter: <b>status</b> 3477 * <p> 3478 * Description: <b>The EligibilityRequest status</b><br> 3479 * Type: <b>token</b><br> 3480 * Path: <b>CoverageEligibilityResponse.status</b><br> 3481 * </p> 3482 */ 3483 @SearchParamDefinition(name="status", path="CoverageEligibilityResponse.status", description="The EligibilityRequest status", type="token" ) 3484 public static final String SP_STATUS = "status"; 3485 /** 3486 * <b>Fluent Client</b> search parameter constant for <b>status</b> 3487 * <p> 3488 * Description: <b>The EligibilityRequest status</b><br> 3489 * Type: <b>token</b><br> 3490 * Path: <b>CoverageEligibilityResponse.status</b><br> 3491 * </p> 3492 */ 3493 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 3494 3495 3496}