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