
001package org.hl7.fhir.r5.model; 002 003 004/* 005 Copyright (c) 2011+, HL7, Inc. 006 All rights reserved. 007 008 Redistribution and use in source and binary forms, with or without modification, \ 009 are permitted provided that the following conditions are met: 010 011 * Redistributions of source code must retain the above copyright notice, this \ 012 list of conditions and the following disclaimer. 013 * Redistributions in binary form must reproduce the above copyright notice, \ 014 this list of conditions and the following disclaimer in the documentation \ 015 and/or other materials provided with the distribution. 016 * Neither the name of HL7 nor the names of its contributors may be used to 017 endorse or promote products derived from this software without specific 018 prior written permission. 019 020 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND \ 021 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED \ 022 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \ 023 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, \ 024 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \ 025 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR \ 026 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, \ 027 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \ 028 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE \ 029 POSSIBILITY OF SUCH DAMAGE. 030 */ 031 032// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot 033 034import java.util.ArrayList; 035import java.util.Date; 036import java.util.List; 037import org.hl7.fhir.utilities.Utilities; 038import org.hl7.fhir.r5.model.Enumerations.*; 039import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 040import org.hl7.fhir.exceptions.FHIRException; 041import org.hl7.fhir.instance.model.api.ICompositeType; 042import ca.uhn.fhir.model.api.annotation.ResourceDef; 043import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 044import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 045import ca.uhn.fhir.model.api.annotation.Child; 046import ca.uhn.fhir.model.api.annotation.ChildOrder; 047import ca.uhn.fhir.model.api.annotation.Description; 048import ca.uhn.fhir.model.api.annotation.Block; 049 050/** 051 * The CoverageEligibilityRequest provides patient and insurance coverage information to an insurer for them to respond, in the form of an CoverageEligibilityResponse, with information regarding whether the stated coverage is valid and in-force and optionally to provide the insurance details of the policy. 052 */ 053@ResourceDef(name="CoverageEligibilityRequest", profile="http://hl7.org/fhir/StructureDefinition/CoverageEligibilityRequest") 054public class CoverageEligibilityRequest extends DomainResource { 055 056 public enum EligibilityRequestPurpose { 057 /** 058 * The prior authorization requirements for the listed, or discovered if specified, converages for the categories of service and/or specifed biling codes are requested. 059 */ 060 AUTHREQUIREMENTS, 061 /** 062 * The plan benefits and optionally benefits consumed for the listed, or discovered if specified, converages are requested. 063 */ 064 BENEFITS, 065 /** 066 * The insurer is requested to report on any coverages which they are aware of in addition to any specifed. 067 */ 068 DISCOVERY, 069 /** 070 * A check that the specified coverages are in-force is requested. 071 */ 072 VALIDATION, 073 /** 074 * added to help the parsers with the generic types 075 */ 076 NULL; 077 public static EligibilityRequestPurpose fromCode(String codeString) throws FHIRException { 078 if (codeString == null || "".equals(codeString)) 079 return null; 080 if ("auth-requirements".equals(codeString)) 081 return AUTHREQUIREMENTS; 082 if ("benefits".equals(codeString)) 083 return BENEFITS; 084 if ("discovery".equals(codeString)) 085 return DISCOVERY; 086 if ("validation".equals(codeString)) 087 return VALIDATION; 088 if (Configuration.isAcceptInvalidEnums()) 089 return null; 090 else 091 throw new FHIRException("Unknown EligibilityRequestPurpose code '"+codeString+"'"); 092 } 093 public String toCode() { 094 switch (this) { 095 case AUTHREQUIREMENTS: return "auth-requirements"; 096 case BENEFITS: return "benefits"; 097 case DISCOVERY: return "discovery"; 098 case VALIDATION: return "validation"; 099 case NULL: return null; 100 default: return "?"; 101 } 102 } 103 public String getSystem() { 104 switch (this) { 105 case AUTHREQUIREMENTS: return "http://hl7.org/fhir/eligibilityrequest-purpose"; 106 case BENEFITS: return "http://hl7.org/fhir/eligibilityrequest-purpose"; 107 case DISCOVERY: return "http://hl7.org/fhir/eligibilityrequest-purpose"; 108 case VALIDATION: return "http://hl7.org/fhir/eligibilityrequest-purpose"; 109 case NULL: return null; 110 default: return "?"; 111 } 112 } 113 public String getDefinition() { 114 switch (this) { 115 case AUTHREQUIREMENTS: return "The prior authorization requirements for the listed, or discovered if specified, converages for the categories of service and/or specifed biling codes are requested."; 116 case BENEFITS: return "The plan benefits and optionally benefits consumed for the listed, or discovered if specified, converages are requested."; 117 case DISCOVERY: return "The insurer is requested to report on any coverages which they are aware of in addition to any specifed."; 118 case VALIDATION: return "A check that the specified coverages are in-force is requested."; 119 case NULL: return null; 120 default: return "?"; 121 } 122 } 123 public String getDisplay() { 124 switch (this) { 125 case AUTHREQUIREMENTS: return "Coverage auth-requirements"; 126 case BENEFITS: return "Coverage benefits"; 127 case DISCOVERY: return "Coverage Discovery"; 128 case VALIDATION: return "Coverage Validation"; 129 case NULL: return null; 130 default: return "?"; 131 } 132 } 133 } 134 135 public static class EligibilityRequestPurposeEnumFactory implements EnumFactory<EligibilityRequestPurpose> { 136 public EligibilityRequestPurpose fromCode(String codeString) throws IllegalArgumentException { 137 if (codeString == null || "".equals(codeString)) 138 if (codeString == null || "".equals(codeString)) 139 return null; 140 if ("auth-requirements".equals(codeString)) 141 return EligibilityRequestPurpose.AUTHREQUIREMENTS; 142 if ("benefits".equals(codeString)) 143 return EligibilityRequestPurpose.BENEFITS; 144 if ("discovery".equals(codeString)) 145 return EligibilityRequestPurpose.DISCOVERY; 146 if ("validation".equals(codeString)) 147 return EligibilityRequestPurpose.VALIDATION; 148 throw new IllegalArgumentException("Unknown EligibilityRequestPurpose code '"+codeString+"'"); 149 } 150 public Enumeration<EligibilityRequestPurpose> fromType(Base code) throws FHIRException { 151 if (code == null) 152 return null; 153 if (code.isEmpty()) 154 return new Enumeration<EligibilityRequestPurpose>(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<EligibilityRequestPurpose>(this, EligibilityRequestPurpose.AUTHREQUIREMENTS); 160 if ("benefits".equals(codeString)) 161 return new Enumeration<EligibilityRequestPurpose>(this, EligibilityRequestPurpose.BENEFITS); 162 if ("discovery".equals(codeString)) 163 return new Enumeration<EligibilityRequestPurpose>(this, EligibilityRequestPurpose.DISCOVERY); 164 if ("validation".equals(codeString)) 165 return new Enumeration<EligibilityRequestPurpose>(this, EligibilityRequestPurpose.VALIDATION); 166 throw new FHIRException("Unknown EligibilityRequestPurpose code '"+codeString+"'"); 167 } 168 public String toCode(EligibilityRequestPurpose code) { 169 if (code == EligibilityRequestPurpose.AUTHREQUIREMENTS) 170 return "auth-requirements"; 171 if (code == EligibilityRequestPurpose.BENEFITS) 172 return "benefits"; 173 if (code == EligibilityRequestPurpose.DISCOVERY) 174 return "discovery"; 175 if (code == EligibilityRequestPurpose.VALIDATION) 176 return "validation"; 177 return "?"; 178 } 179 public String toSystem(EligibilityRequestPurpose code) { 180 return code.getSystem(); 181 } 182 } 183 184 @Block() 185 public static class SupportingInformationComponent extends BackboneElement implements IBaseBackboneElement { 186 /** 187 * A number to uniquely identify supporting information entries. 188 */ 189 @Child(name = "sequence", type = {PositiveIntType.class}, order=1, min=1, max=1, modifier=false, summary=false) 190 @Description(shortDefinition="Information instance identifier", formalDefinition="A number to uniquely identify supporting information entries." ) 191 protected PositiveIntType sequence; 192 193 /** 194 * Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data. 195 */ 196 @Child(name = "information", type = {Reference.class}, order=2, min=1, max=1, modifier=false, summary=false) 197 @Description(shortDefinition="Data to be provided", formalDefinition="Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data." ) 198 protected Reference information; 199 200 /** 201 * The supporting materials are applicable for all detail items, product/servce categories and specific billing codes. 202 */ 203 @Child(name = "appliesToAll", type = {BooleanType.class}, order=3, min=0, max=1, modifier=false, summary=false) 204 @Description(shortDefinition="Applies to all items", formalDefinition="The supporting materials are applicable for all detail items, product/servce categories and specific billing codes." ) 205 protected BooleanType appliesToAll; 206 207 private static final long serialVersionUID = -1430960090L; 208 209 /** 210 * Constructor 211 */ 212 public SupportingInformationComponent() { 213 super(); 214 } 215 216 /** 217 * Constructor 218 */ 219 public SupportingInformationComponent(int sequence, Reference information) { 220 super(); 221 this.setSequence(sequence); 222 this.setInformation(information); 223 } 224 225 /** 226 * @return {@link #sequence} (A number to uniquely identify supporting information entries.). This is the underlying object with id, value and extensions. The accessor "getSequence" gives direct access to the value 227 */ 228 public PositiveIntType getSequenceElement() { 229 if (this.sequence == null) 230 if (Configuration.errorOnAutoCreate()) 231 throw new Error("Attempt to auto-create SupportingInformationComponent.sequence"); 232 else if (Configuration.doAutoCreate()) 233 this.sequence = new PositiveIntType(); // bb 234 return this.sequence; 235 } 236 237 public boolean hasSequenceElement() { 238 return this.sequence != null && !this.sequence.isEmpty(); 239 } 240 241 public boolean hasSequence() { 242 return this.sequence != null && !this.sequence.isEmpty(); 243 } 244 245 /** 246 * @param value {@link #sequence} (A number to uniquely identify supporting information entries.). This is the underlying object with id, value and extensions. The accessor "getSequence" gives direct access to the value 247 */ 248 public SupportingInformationComponent setSequenceElement(PositiveIntType value) { 249 this.sequence = value; 250 return this; 251 } 252 253 /** 254 * @return A number to uniquely identify supporting information entries. 255 */ 256 public int getSequence() { 257 return this.sequence == null || this.sequence.isEmpty() ? 0 : this.sequence.getValue(); 258 } 259 260 /** 261 * @param value A number to uniquely identify supporting information entries. 262 */ 263 public SupportingInformationComponent setSequence(int value) { 264 if (this.sequence == null) 265 this.sequence = new PositiveIntType(); 266 this.sequence.setValue(value); 267 return this; 268 } 269 270 /** 271 * @return {@link #information} (Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.) 272 */ 273 public Reference getInformation() { 274 if (this.information == null) 275 if (Configuration.errorOnAutoCreate()) 276 throw new Error("Attempt to auto-create SupportingInformationComponent.information"); 277 else if (Configuration.doAutoCreate()) 278 this.information = new Reference(); // cc 279 return this.information; 280 } 281 282 public boolean hasInformation() { 283 return this.information != null && !this.information.isEmpty(); 284 } 285 286 /** 287 * @param value {@link #information} (Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.) 288 */ 289 public SupportingInformationComponent setInformation(Reference value) { 290 this.information = value; 291 return this; 292 } 293 294 /** 295 * @return {@link #appliesToAll} (The supporting materials are applicable for all detail items, product/servce categories and specific billing codes.). This is the underlying object with id, value and extensions. The accessor "getAppliesToAll" gives direct access to the value 296 */ 297 public BooleanType getAppliesToAllElement() { 298 if (this.appliesToAll == null) 299 if (Configuration.errorOnAutoCreate()) 300 throw new Error("Attempt to auto-create SupportingInformationComponent.appliesToAll"); 301 else if (Configuration.doAutoCreate()) 302 this.appliesToAll = new BooleanType(); // bb 303 return this.appliesToAll; 304 } 305 306 public boolean hasAppliesToAllElement() { 307 return this.appliesToAll != null && !this.appliesToAll.isEmpty(); 308 } 309 310 public boolean hasAppliesToAll() { 311 return this.appliesToAll != null && !this.appliesToAll.isEmpty(); 312 } 313 314 /** 315 * @param value {@link #appliesToAll} (The supporting materials are applicable for all detail items, product/servce categories and specific billing codes.). This is the underlying object with id, value and extensions. The accessor "getAppliesToAll" gives direct access to the value 316 */ 317 public SupportingInformationComponent setAppliesToAllElement(BooleanType value) { 318 this.appliesToAll = value; 319 return this; 320 } 321 322 /** 323 * @return The supporting materials are applicable for all detail items, product/servce categories and specific billing codes. 324 */ 325 public boolean getAppliesToAll() { 326 return this.appliesToAll == null || this.appliesToAll.isEmpty() ? false : this.appliesToAll.getValue(); 327 } 328 329 /** 330 * @param value The supporting materials are applicable for all detail items, product/servce categories and specific billing codes. 331 */ 332 public SupportingInformationComponent setAppliesToAll(boolean value) { 333 if (this.appliesToAll == null) 334 this.appliesToAll = new BooleanType(); 335 this.appliesToAll.setValue(value); 336 return this; 337 } 338 339 protected void listChildren(List<Property> children) { 340 super.listChildren(children); 341 children.add(new Property("sequence", "positiveInt", "A number to uniquely identify supporting information entries.", 0, 1, sequence)); 342 children.add(new Property("information", "Reference(Any)", "Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.", 0, 1, information)); 343 children.add(new Property("appliesToAll", "boolean", "The supporting materials are applicable for all detail items, product/servce categories and specific billing codes.", 0, 1, appliesToAll)); 344 } 345 346 @Override 347 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 348 switch (_hash) { 349 case 1349547969: /*sequence*/ return new Property("sequence", "positiveInt", "A number to uniquely identify supporting information entries.", 0, 1, sequence); 350 case 1968600364: /*information*/ return new Property("information", "Reference(Any)", "Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.", 0, 1, information); 351 case -1096846342: /*appliesToAll*/ return new Property("appliesToAll", "boolean", "The supporting materials are applicable for all detail items, product/servce categories and specific billing codes.", 0, 1, appliesToAll); 352 default: return super.getNamedProperty(_hash, _name, _checkValid); 353 } 354 355 } 356 357 @Override 358 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 359 switch (hash) { 360 case 1349547969: /*sequence*/ return this.sequence == null ? new Base[0] : new Base[] {this.sequence}; // PositiveIntType 361 case 1968600364: /*information*/ return this.information == null ? new Base[0] : new Base[] {this.information}; // Reference 362 case -1096846342: /*appliesToAll*/ return this.appliesToAll == null ? new Base[0] : new Base[] {this.appliesToAll}; // BooleanType 363 default: return super.getProperty(hash, name, checkValid); 364 } 365 366 } 367 368 @Override 369 public Base setProperty(int hash, String name, Base value) throws FHIRException { 370 switch (hash) { 371 case 1349547969: // sequence 372 this.sequence = TypeConvertor.castToPositiveInt(value); // PositiveIntType 373 return value; 374 case 1968600364: // information 375 this.information = TypeConvertor.castToReference(value); // Reference 376 return value; 377 case -1096846342: // appliesToAll 378 this.appliesToAll = TypeConvertor.castToBoolean(value); // BooleanType 379 return value; 380 default: return super.setProperty(hash, name, value); 381 } 382 383 } 384 385 @Override 386 public Base setProperty(String name, Base value) throws FHIRException { 387 if (name.equals("sequence")) { 388 this.sequence = TypeConvertor.castToPositiveInt(value); // PositiveIntType 389 } else if (name.equals("information")) { 390 this.information = TypeConvertor.castToReference(value); // Reference 391 } else if (name.equals("appliesToAll")) { 392 this.appliesToAll = TypeConvertor.castToBoolean(value); // BooleanType 393 } else 394 return super.setProperty(name, value); 395 return value; 396 } 397 398 @Override 399 public Base makeProperty(int hash, String name) throws FHIRException { 400 switch (hash) { 401 case 1349547969: return getSequenceElement(); 402 case 1968600364: return getInformation(); 403 case -1096846342: return getAppliesToAllElement(); 404 default: return super.makeProperty(hash, name); 405 } 406 407 } 408 409 @Override 410 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 411 switch (hash) { 412 case 1349547969: /*sequence*/ return new String[] {"positiveInt"}; 413 case 1968600364: /*information*/ return new String[] {"Reference"}; 414 case -1096846342: /*appliesToAll*/ return new String[] {"boolean"}; 415 default: return super.getTypesForProperty(hash, name); 416 } 417 418 } 419 420 @Override 421 public Base addChild(String name) throws FHIRException { 422 if (name.equals("sequence")) { 423 throw new FHIRException("Cannot call addChild on a primitive type CoverageEligibilityRequest.supportingInfo.sequence"); 424 } 425 else if (name.equals("information")) { 426 this.information = new Reference(); 427 return this.information; 428 } 429 else if (name.equals("appliesToAll")) { 430 throw new FHIRException("Cannot call addChild on a primitive type CoverageEligibilityRequest.supportingInfo.appliesToAll"); 431 } 432 else 433 return super.addChild(name); 434 } 435 436 public SupportingInformationComponent copy() { 437 SupportingInformationComponent dst = new SupportingInformationComponent(); 438 copyValues(dst); 439 return dst; 440 } 441 442 public void copyValues(SupportingInformationComponent dst) { 443 super.copyValues(dst); 444 dst.sequence = sequence == null ? null : sequence.copy(); 445 dst.information = information == null ? null : information.copy(); 446 dst.appliesToAll = appliesToAll == null ? null : appliesToAll.copy(); 447 } 448 449 @Override 450 public boolean equalsDeep(Base other_) { 451 if (!super.equalsDeep(other_)) 452 return false; 453 if (!(other_ instanceof SupportingInformationComponent)) 454 return false; 455 SupportingInformationComponent o = (SupportingInformationComponent) other_; 456 return compareDeep(sequence, o.sequence, true) && compareDeep(information, o.information, true) 457 && compareDeep(appliesToAll, o.appliesToAll, true); 458 } 459 460 @Override 461 public boolean equalsShallow(Base other_) { 462 if (!super.equalsShallow(other_)) 463 return false; 464 if (!(other_ instanceof SupportingInformationComponent)) 465 return false; 466 SupportingInformationComponent o = (SupportingInformationComponent) other_; 467 return compareValues(sequence, o.sequence, true) && compareValues(appliesToAll, o.appliesToAll, true) 468 ; 469 } 470 471 public boolean isEmpty() { 472 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(sequence, information, appliesToAll 473 ); 474 } 475 476 public String fhirType() { 477 return "CoverageEligibilityRequest.supportingInfo"; 478 479 } 480 481 } 482 483 @Block() 484 public static class InsuranceComponent extends BackboneElement implements IBaseBackboneElement { 485 /** 486 * A flag to indicate that this Coverage is to be used for evaluation of this request when set to true. 487 */ 488 @Child(name = "focal", type = {BooleanType.class}, order=1, min=0, max=1, modifier=false, summary=false) 489 @Description(shortDefinition="Applicable coverage", formalDefinition="A flag to indicate that this Coverage is to be used for evaluation of this request when set to true." ) 490 protected BooleanType focal; 491 492 /** 493 * 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. 494 */ 495 @Child(name = "coverage", type = {Coverage.class}, order=2, min=1, max=1, modifier=false, summary=false) 496 @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." ) 497 protected Reference coverage; 498 499 /** 500 * A business agreement number established between the provider and the insurer for special business processing purposes. 501 */ 502 @Child(name = "businessArrangement", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=false) 503 @Description(shortDefinition="Additional provider contract number", formalDefinition="A business agreement number established between the provider and the insurer for special business processing purposes." ) 504 protected StringType businessArrangement; 505 506 private static final long serialVersionUID = -1656150261L; 507 508 /** 509 * Constructor 510 */ 511 public InsuranceComponent() { 512 super(); 513 } 514 515 /** 516 * Constructor 517 */ 518 public InsuranceComponent(Reference coverage) { 519 super(); 520 this.setCoverage(coverage); 521 } 522 523 /** 524 * @return {@link #focal} (A flag to indicate that this Coverage is to be used for evaluation of this request when set to true.). This is the underlying object with id, value and extensions. The accessor "getFocal" gives direct access to the value 525 */ 526 public BooleanType getFocalElement() { 527 if (this.focal == null) 528 if (Configuration.errorOnAutoCreate()) 529 throw new Error("Attempt to auto-create InsuranceComponent.focal"); 530 else if (Configuration.doAutoCreate()) 531 this.focal = new BooleanType(); // bb 532 return this.focal; 533 } 534 535 public boolean hasFocalElement() { 536 return this.focal != null && !this.focal.isEmpty(); 537 } 538 539 public boolean hasFocal() { 540 return this.focal != null && !this.focal.isEmpty(); 541 } 542 543 /** 544 * @param value {@link #focal} (A flag to indicate that this Coverage is to be used for evaluation of this request when set to true.). This is the underlying object with id, value and extensions. The accessor "getFocal" gives direct access to the value 545 */ 546 public InsuranceComponent setFocalElement(BooleanType value) { 547 this.focal = value; 548 return this; 549 } 550 551 /** 552 * @return A flag to indicate that this Coverage is to be used for evaluation of this request when set to true. 553 */ 554 public boolean getFocal() { 555 return this.focal == null || this.focal.isEmpty() ? false : this.focal.getValue(); 556 } 557 558 /** 559 * @param value A flag to indicate that this Coverage is to be used for evaluation of this request when set to true. 560 */ 561 public InsuranceComponent setFocal(boolean value) { 562 if (this.focal == null) 563 this.focal = new BooleanType(); 564 this.focal.setValue(value); 565 return this; 566 } 567 568 /** 569 * @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.) 570 */ 571 public Reference getCoverage() { 572 if (this.coverage == null) 573 if (Configuration.errorOnAutoCreate()) 574 throw new Error("Attempt to auto-create InsuranceComponent.coverage"); 575 else if (Configuration.doAutoCreate()) 576 this.coverage = new Reference(); // cc 577 return this.coverage; 578 } 579 580 public boolean hasCoverage() { 581 return this.coverage != null && !this.coverage.isEmpty(); 582 } 583 584 /** 585 * @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.) 586 */ 587 public InsuranceComponent setCoverage(Reference value) { 588 this.coverage = value; 589 return this; 590 } 591 592 /** 593 * @return {@link #businessArrangement} (A business agreement number established between the provider and the insurer for special business processing purposes.). This is the underlying object with id, value and extensions. The accessor "getBusinessArrangement" gives direct access to the value 594 */ 595 public StringType getBusinessArrangementElement() { 596 if (this.businessArrangement == null) 597 if (Configuration.errorOnAutoCreate()) 598 throw new Error("Attempt to auto-create InsuranceComponent.businessArrangement"); 599 else if (Configuration.doAutoCreate()) 600 this.businessArrangement = new StringType(); // bb 601 return this.businessArrangement; 602 } 603 604 public boolean hasBusinessArrangementElement() { 605 return this.businessArrangement != null && !this.businessArrangement.isEmpty(); 606 } 607 608 public boolean hasBusinessArrangement() { 609 return this.businessArrangement != null && !this.businessArrangement.isEmpty(); 610 } 611 612 /** 613 * @param value {@link #businessArrangement} (A business agreement number established between the provider and the insurer for special business processing purposes.). This is the underlying object with id, value and extensions. The accessor "getBusinessArrangement" gives direct access to the value 614 */ 615 public InsuranceComponent setBusinessArrangementElement(StringType value) { 616 this.businessArrangement = value; 617 return this; 618 } 619 620 /** 621 * @return A business agreement number established between the provider and the insurer for special business processing purposes. 622 */ 623 public String getBusinessArrangement() { 624 return this.businessArrangement == null ? null : this.businessArrangement.getValue(); 625 } 626 627 /** 628 * @param value A business agreement number established between the provider and the insurer for special business processing purposes. 629 */ 630 public InsuranceComponent setBusinessArrangement(String value) { 631 if (Utilities.noString(value)) 632 this.businessArrangement = null; 633 else { 634 if (this.businessArrangement == null) 635 this.businessArrangement = new StringType(); 636 this.businessArrangement.setValue(value); 637 } 638 return this; 639 } 640 641 protected void listChildren(List<Property> children) { 642 super.listChildren(children); 643 children.add(new Property("focal", "boolean", "A flag to indicate that this Coverage is to be used for evaluation of this request when set to true.", 0, 1, focal)); 644 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)); 645 children.add(new Property("businessArrangement", "string", "A business agreement number established between the provider and the insurer for special business processing purposes.", 0, 1, businessArrangement)); 646 } 647 648 @Override 649 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 650 switch (_hash) { 651 case 97604197: /*focal*/ return new Property("focal", "boolean", "A flag to indicate that this Coverage is to be used for evaluation of this request when set to true.", 0, 1, focal); 652 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); 653 case 259920682: /*businessArrangement*/ return new Property("businessArrangement", "string", "A business agreement number established between the provider and the insurer for special business processing purposes.", 0, 1, businessArrangement); 654 default: return super.getNamedProperty(_hash, _name, _checkValid); 655 } 656 657 } 658 659 @Override 660 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 661 switch (hash) { 662 case 97604197: /*focal*/ return this.focal == null ? new Base[0] : new Base[] {this.focal}; // BooleanType 663 case -351767064: /*coverage*/ return this.coverage == null ? new Base[0] : new Base[] {this.coverage}; // Reference 664 case 259920682: /*businessArrangement*/ return this.businessArrangement == null ? new Base[0] : new Base[] {this.businessArrangement}; // StringType 665 default: return super.getProperty(hash, name, checkValid); 666 } 667 668 } 669 670 @Override 671 public Base setProperty(int hash, String name, Base value) throws FHIRException { 672 switch (hash) { 673 case 97604197: // focal 674 this.focal = TypeConvertor.castToBoolean(value); // BooleanType 675 return value; 676 case -351767064: // coverage 677 this.coverage = TypeConvertor.castToReference(value); // Reference 678 return value; 679 case 259920682: // businessArrangement 680 this.businessArrangement = TypeConvertor.castToString(value); // StringType 681 return value; 682 default: return super.setProperty(hash, name, value); 683 } 684 685 } 686 687 @Override 688 public Base setProperty(String name, Base value) throws FHIRException { 689 if (name.equals("focal")) { 690 this.focal = TypeConvertor.castToBoolean(value); // BooleanType 691 } else if (name.equals("coverage")) { 692 this.coverage = TypeConvertor.castToReference(value); // Reference 693 } else if (name.equals("businessArrangement")) { 694 this.businessArrangement = TypeConvertor.castToString(value); // StringType 695 } else 696 return super.setProperty(name, value); 697 return value; 698 } 699 700 @Override 701 public Base makeProperty(int hash, String name) throws FHIRException { 702 switch (hash) { 703 case 97604197: return getFocalElement(); 704 case -351767064: return getCoverage(); 705 case 259920682: return getBusinessArrangementElement(); 706 default: return super.makeProperty(hash, name); 707 } 708 709 } 710 711 @Override 712 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 713 switch (hash) { 714 case 97604197: /*focal*/ return new String[] {"boolean"}; 715 case -351767064: /*coverage*/ return new String[] {"Reference"}; 716 case 259920682: /*businessArrangement*/ return new String[] {"string"}; 717 default: return super.getTypesForProperty(hash, name); 718 } 719 720 } 721 722 @Override 723 public Base addChild(String name) throws FHIRException { 724 if (name.equals("focal")) { 725 throw new FHIRException("Cannot call addChild on a primitive type CoverageEligibilityRequest.insurance.focal"); 726 } 727 else if (name.equals("coverage")) { 728 this.coverage = new Reference(); 729 return this.coverage; 730 } 731 else if (name.equals("businessArrangement")) { 732 throw new FHIRException("Cannot call addChild on a primitive type CoverageEligibilityRequest.insurance.businessArrangement"); 733 } 734 else 735 return super.addChild(name); 736 } 737 738 public InsuranceComponent copy() { 739 InsuranceComponent dst = new InsuranceComponent(); 740 copyValues(dst); 741 return dst; 742 } 743 744 public void copyValues(InsuranceComponent dst) { 745 super.copyValues(dst); 746 dst.focal = focal == null ? null : focal.copy(); 747 dst.coverage = coverage == null ? null : coverage.copy(); 748 dst.businessArrangement = businessArrangement == null ? null : businessArrangement.copy(); 749 } 750 751 @Override 752 public boolean equalsDeep(Base other_) { 753 if (!super.equalsDeep(other_)) 754 return false; 755 if (!(other_ instanceof InsuranceComponent)) 756 return false; 757 InsuranceComponent o = (InsuranceComponent) other_; 758 return compareDeep(focal, o.focal, true) && compareDeep(coverage, o.coverage, true) && compareDeep(businessArrangement, o.businessArrangement, true) 759 ; 760 } 761 762 @Override 763 public boolean equalsShallow(Base other_) { 764 if (!super.equalsShallow(other_)) 765 return false; 766 if (!(other_ instanceof InsuranceComponent)) 767 return false; 768 InsuranceComponent o = (InsuranceComponent) other_; 769 return compareValues(focal, o.focal, true) && compareValues(businessArrangement, o.businessArrangement, true) 770 ; 771 } 772 773 public boolean isEmpty() { 774 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(focal, coverage, businessArrangement 775 ); 776 } 777 778 public String fhirType() { 779 return "CoverageEligibilityRequest.insurance"; 780 781 } 782 783 } 784 785 @Block() 786 public static class DetailsComponent extends BackboneElement implements IBaseBackboneElement { 787 /** 788 * Exceptions, special conditions and supporting information applicable for this service or product line. 789 */ 790 @Child(name = "supportingInfoSequence", type = {PositiveIntType.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 791 @Description(shortDefinition="Applicable exception or supporting information", formalDefinition="Exceptions, special conditions and supporting information applicable for this service or product line." ) 792 protected List<PositiveIntType> supportingInfoSequence; 793 794 /** 795 * Code to identify the general type of benefits under which products and services are provided. 796 */ 797 @Child(name = "category", type = {CodeableConcept.class}, order=2, min=0, max=1, modifier=false, summary=false) 798 @Description(shortDefinition="Benefit classification", formalDefinition="Code to identify the general type of benefits under which products and services are provided." ) 799 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/ex-benefitcategory") 800 protected CodeableConcept category; 801 802 /** 803 * This contains the product, service, drug or other billing code for the item. 804 */ 805 @Child(name = "productOrService", type = {CodeableConcept.class}, order=3, min=0, max=1, modifier=false, summary=false) 806 @Description(shortDefinition="Billing, service, product, or drug code", formalDefinition="This contains the product, service, drug or other billing code for the item." ) 807 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/service-uscls") 808 protected CodeableConcept productOrService; 809 810 /** 811 * Item typification or modifiers codes to convey additional context for the product or service. 812 */ 813 @Child(name = "modifier", type = {CodeableConcept.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 814 @Description(shortDefinition="Product or service billing modifiers", formalDefinition="Item typification or modifiers codes to convey additional context for the product or service." ) 815 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/claim-modifiers") 816 protected List<CodeableConcept> modifier; 817 818 /** 819 * The practitioner who is responsible for the product or service to be rendered to the patient. 820 */ 821 @Child(name = "provider", type = {Practitioner.class, PractitionerRole.class}, order=5, min=0, max=1, modifier=false, summary=false) 822 @Description(shortDefinition="Perfoming practitioner", formalDefinition="The practitioner who is responsible for the product or service to be rendered to the patient." ) 823 protected Reference provider; 824 825 /** 826 * The number of repetitions of a service or product. 827 */ 828 @Child(name = "quantity", type = {Quantity.class}, order=6, min=0, max=1, modifier=false, summary=false) 829 @Description(shortDefinition="Count of products or services", formalDefinition="The number of repetitions of a service or product." ) 830 protected Quantity quantity; 831 832 /** 833 * The amount charged to the patient by the provider for a single unit. 834 */ 835 @Child(name = "unitPrice", type = {Money.class}, order=7, min=0, max=1, modifier=false, summary=false) 836 @Description(shortDefinition="Fee, charge or cost per item", formalDefinition="The amount charged to the patient by the provider for a single unit." ) 837 protected Money unitPrice; 838 839 /** 840 * Facility where the services will be provided. 841 */ 842 @Child(name = "facility", type = {Location.class, Organization.class}, order=8, min=0, max=1, modifier=false, summary=false) 843 @Description(shortDefinition="Servicing facility", formalDefinition="Facility where the services will be provided." ) 844 protected Reference facility; 845 846 /** 847 * Patient diagnosis for which care is sought. 848 */ 849 @Child(name = "diagnosis", type = {}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 850 @Description(shortDefinition="Applicable diagnosis", formalDefinition="Patient diagnosis for which care is sought." ) 851 protected List<DiagnosisComponent> diagnosis; 852 853 /** 854 * The plan/proposal/order describing the proposed service in detail. 855 */ 856 @Child(name = "detail", type = {Reference.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 857 @Description(shortDefinition="Product or service details", formalDefinition="The plan/proposal/order describing the proposed service in detail." ) 858 protected List<Reference> detail; 859 860 private static final long serialVersionUID = 1615052611L; 861 862 /** 863 * Constructor 864 */ 865 public DetailsComponent() { 866 super(); 867 } 868 869 /** 870 * @return {@link #supportingInfoSequence} (Exceptions, special conditions and supporting information applicable for this service or product line.) 871 */ 872 public List<PositiveIntType> getSupportingInfoSequence() { 873 if (this.supportingInfoSequence == null) 874 this.supportingInfoSequence = new ArrayList<PositiveIntType>(); 875 return this.supportingInfoSequence; 876 } 877 878 /** 879 * @return Returns a reference to <code>this</code> for easy method chaining 880 */ 881 public DetailsComponent setSupportingInfoSequence(List<PositiveIntType> theSupportingInfoSequence) { 882 this.supportingInfoSequence = theSupportingInfoSequence; 883 return this; 884 } 885 886 public boolean hasSupportingInfoSequence() { 887 if (this.supportingInfoSequence == null) 888 return false; 889 for (PositiveIntType item : this.supportingInfoSequence) 890 if (!item.isEmpty()) 891 return true; 892 return false; 893 } 894 895 /** 896 * @return {@link #supportingInfoSequence} (Exceptions, special conditions and supporting information applicable for this service or product line.) 897 */ 898 public PositiveIntType addSupportingInfoSequenceElement() {//2 899 PositiveIntType t = new PositiveIntType(); 900 if (this.supportingInfoSequence == null) 901 this.supportingInfoSequence = new ArrayList<PositiveIntType>(); 902 this.supportingInfoSequence.add(t); 903 return t; 904 } 905 906 /** 907 * @param value {@link #supportingInfoSequence} (Exceptions, special conditions and supporting information applicable for this service or product line.) 908 */ 909 public DetailsComponent addSupportingInfoSequence(int value) { //1 910 PositiveIntType t = new PositiveIntType(); 911 t.setValue(value); 912 if (this.supportingInfoSequence == null) 913 this.supportingInfoSequence = new ArrayList<PositiveIntType>(); 914 this.supportingInfoSequence.add(t); 915 return this; 916 } 917 918 /** 919 * @param value {@link #supportingInfoSequence} (Exceptions, special conditions and supporting information applicable for this service or product line.) 920 */ 921 public boolean hasSupportingInfoSequence(int value) { 922 if (this.supportingInfoSequence == null) 923 return false; 924 for (PositiveIntType v : this.supportingInfoSequence) 925 if (v.getValue().equals(value)) // positiveInt 926 return true; 927 return false; 928 } 929 930 /** 931 * @return {@link #category} (Code to identify the general type of benefits under which products and services are provided.) 932 */ 933 public CodeableConcept getCategory() { 934 if (this.category == null) 935 if (Configuration.errorOnAutoCreate()) 936 throw new Error("Attempt to auto-create DetailsComponent.category"); 937 else if (Configuration.doAutoCreate()) 938 this.category = new CodeableConcept(); // cc 939 return this.category; 940 } 941 942 public boolean hasCategory() { 943 return this.category != null && !this.category.isEmpty(); 944 } 945 946 /** 947 * @param value {@link #category} (Code to identify the general type of benefits under which products and services are provided.) 948 */ 949 public DetailsComponent setCategory(CodeableConcept value) { 950 this.category = value; 951 return this; 952 } 953 954 /** 955 * @return {@link #productOrService} (This contains the product, service, drug or other billing code for the item.) 956 */ 957 public CodeableConcept getProductOrService() { 958 if (this.productOrService == null) 959 if (Configuration.errorOnAutoCreate()) 960 throw new Error("Attempt to auto-create DetailsComponent.productOrService"); 961 else if (Configuration.doAutoCreate()) 962 this.productOrService = new CodeableConcept(); // cc 963 return this.productOrService; 964 } 965 966 public boolean hasProductOrService() { 967 return this.productOrService != null && !this.productOrService.isEmpty(); 968 } 969 970 /** 971 * @param value {@link #productOrService} (This contains the product, service, drug or other billing code for the item.) 972 */ 973 public DetailsComponent setProductOrService(CodeableConcept value) { 974 this.productOrService = value; 975 return this; 976 } 977 978 /** 979 * @return {@link #modifier} (Item typification or modifiers codes to convey additional context for the product or service.) 980 */ 981 public List<CodeableConcept> getModifier() { 982 if (this.modifier == null) 983 this.modifier = new ArrayList<CodeableConcept>(); 984 return this.modifier; 985 } 986 987 /** 988 * @return Returns a reference to <code>this</code> for easy method chaining 989 */ 990 public DetailsComponent setModifier(List<CodeableConcept> theModifier) { 991 this.modifier = theModifier; 992 return this; 993 } 994 995 public boolean hasModifier() { 996 if (this.modifier == null) 997 return false; 998 for (CodeableConcept item : this.modifier) 999 if (!item.isEmpty()) 1000 return true; 1001 return false; 1002 } 1003 1004 public CodeableConcept addModifier() { //3 1005 CodeableConcept t = new CodeableConcept(); 1006 if (this.modifier == null) 1007 this.modifier = new ArrayList<CodeableConcept>(); 1008 this.modifier.add(t); 1009 return t; 1010 } 1011 1012 public DetailsComponent addModifier(CodeableConcept t) { //3 1013 if (t == null) 1014 return this; 1015 if (this.modifier == null) 1016 this.modifier = new ArrayList<CodeableConcept>(); 1017 this.modifier.add(t); 1018 return this; 1019 } 1020 1021 /** 1022 * @return The first repetition of repeating field {@link #modifier}, creating it if it does not already exist {3} 1023 */ 1024 public CodeableConcept getModifierFirstRep() { 1025 if (getModifier().isEmpty()) { 1026 addModifier(); 1027 } 1028 return getModifier().get(0); 1029 } 1030 1031 /** 1032 * @return {@link #provider} (The practitioner who is responsible for the product or service to be rendered to the patient.) 1033 */ 1034 public Reference getProvider() { 1035 if (this.provider == null) 1036 if (Configuration.errorOnAutoCreate()) 1037 throw new Error("Attempt to auto-create DetailsComponent.provider"); 1038 else if (Configuration.doAutoCreate()) 1039 this.provider = new Reference(); // cc 1040 return this.provider; 1041 } 1042 1043 public boolean hasProvider() { 1044 return this.provider != null && !this.provider.isEmpty(); 1045 } 1046 1047 /** 1048 * @param value {@link #provider} (The practitioner who is responsible for the product or service to be rendered to the patient.) 1049 */ 1050 public DetailsComponent setProvider(Reference value) { 1051 this.provider = value; 1052 return this; 1053 } 1054 1055 /** 1056 * @return {@link #quantity} (The number of repetitions of a service or product.) 1057 */ 1058 public Quantity getQuantity() { 1059 if (this.quantity == null) 1060 if (Configuration.errorOnAutoCreate()) 1061 throw new Error("Attempt to auto-create DetailsComponent.quantity"); 1062 else if (Configuration.doAutoCreate()) 1063 this.quantity = new Quantity(); // cc 1064 return this.quantity; 1065 } 1066 1067 public boolean hasQuantity() { 1068 return this.quantity != null && !this.quantity.isEmpty(); 1069 } 1070 1071 /** 1072 * @param value {@link #quantity} (The number of repetitions of a service or product.) 1073 */ 1074 public DetailsComponent setQuantity(Quantity value) { 1075 this.quantity = value; 1076 return this; 1077 } 1078 1079 /** 1080 * @return {@link #unitPrice} (The amount charged to the patient by the provider for a single unit.) 1081 */ 1082 public Money getUnitPrice() { 1083 if (this.unitPrice == null) 1084 if (Configuration.errorOnAutoCreate()) 1085 throw new Error("Attempt to auto-create DetailsComponent.unitPrice"); 1086 else if (Configuration.doAutoCreate()) 1087 this.unitPrice = new Money(); // cc 1088 return this.unitPrice; 1089 } 1090 1091 public boolean hasUnitPrice() { 1092 return this.unitPrice != null && !this.unitPrice.isEmpty(); 1093 } 1094 1095 /** 1096 * @param value {@link #unitPrice} (The amount charged to the patient by the provider for a single unit.) 1097 */ 1098 public DetailsComponent setUnitPrice(Money value) { 1099 this.unitPrice = value; 1100 return this; 1101 } 1102 1103 /** 1104 * @return {@link #facility} (Facility where the services will be provided.) 1105 */ 1106 public Reference getFacility() { 1107 if (this.facility == null) 1108 if (Configuration.errorOnAutoCreate()) 1109 throw new Error("Attempt to auto-create DetailsComponent.facility"); 1110 else if (Configuration.doAutoCreate()) 1111 this.facility = new Reference(); // cc 1112 return this.facility; 1113 } 1114 1115 public boolean hasFacility() { 1116 return this.facility != null && !this.facility.isEmpty(); 1117 } 1118 1119 /** 1120 * @param value {@link #facility} (Facility where the services will be provided.) 1121 */ 1122 public DetailsComponent setFacility(Reference value) { 1123 this.facility = value; 1124 return this; 1125 } 1126 1127 /** 1128 * @return {@link #diagnosis} (Patient diagnosis for which care is sought.) 1129 */ 1130 public List<DiagnosisComponent> getDiagnosis() { 1131 if (this.diagnosis == null) 1132 this.diagnosis = new ArrayList<DiagnosisComponent>(); 1133 return this.diagnosis; 1134 } 1135 1136 /** 1137 * @return Returns a reference to <code>this</code> for easy method chaining 1138 */ 1139 public DetailsComponent setDiagnosis(List<DiagnosisComponent> theDiagnosis) { 1140 this.diagnosis = theDiagnosis; 1141 return this; 1142 } 1143 1144 public boolean hasDiagnosis() { 1145 if (this.diagnosis == null) 1146 return false; 1147 for (DiagnosisComponent item : this.diagnosis) 1148 if (!item.isEmpty()) 1149 return true; 1150 return false; 1151 } 1152 1153 public DiagnosisComponent addDiagnosis() { //3 1154 DiagnosisComponent t = new DiagnosisComponent(); 1155 if (this.diagnosis == null) 1156 this.diagnosis = new ArrayList<DiagnosisComponent>(); 1157 this.diagnosis.add(t); 1158 return t; 1159 } 1160 1161 public DetailsComponent addDiagnosis(DiagnosisComponent t) { //3 1162 if (t == null) 1163 return this; 1164 if (this.diagnosis == null) 1165 this.diagnosis = new ArrayList<DiagnosisComponent>(); 1166 this.diagnosis.add(t); 1167 return this; 1168 } 1169 1170 /** 1171 * @return The first repetition of repeating field {@link #diagnosis}, creating it if it does not already exist {3} 1172 */ 1173 public DiagnosisComponent getDiagnosisFirstRep() { 1174 if (getDiagnosis().isEmpty()) { 1175 addDiagnosis(); 1176 } 1177 return getDiagnosis().get(0); 1178 } 1179 1180 /** 1181 * @return {@link #detail} (The plan/proposal/order describing the proposed service in detail.) 1182 */ 1183 public List<Reference> getDetail() { 1184 if (this.detail == null) 1185 this.detail = new ArrayList<Reference>(); 1186 return this.detail; 1187 } 1188 1189 /** 1190 * @return Returns a reference to <code>this</code> for easy method chaining 1191 */ 1192 public DetailsComponent setDetail(List<Reference> theDetail) { 1193 this.detail = theDetail; 1194 return this; 1195 } 1196 1197 public boolean hasDetail() { 1198 if (this.detail == null) 1199 return false; 1200 for (Reference item : this.detail) 1201 if (!item.isEmpty()) 1202 return true; 1203 return false; 1204 } 1205 1206 public Reference addDetail() { //3 1207 Reference t = new Reference(); 1208 if (this.detail == null) 1209 this.detail = new ArrayList<Reference>(); 1210 this.detail.add(t); 1211 return t; 1212 } 1213 1214 public DetailsComponent addDetail(Reference t) { //3 1215 if (t == null) 1216 return this; 1217 if (this.detail == null) 1218 this.detail = new ArrayList<Reference>(); 1219 this.detail.add(t); 1220 return this; 1221 } 1222 1223 /** 1224 * @return The first repetition of repeating field {@link #detail}, creating it if it does not already exist {3} 1225 */ 1226 public Reference getDetailFirstRep() { 1227 if (getDetail().isEmpty()) { 1228 addDetail(); 1229 } 1230 return getDetail().get(0); 1231 } 1232 1233 protected void listChildren(List<Property> children) { 1234 super.listChildren(children); 1235 children.add(new Property("supportingInfoSequence", "positiveInt", "Exceptions, special conditions and supporting information applicable for this service or product line.", 0, java.lang.Integer.MAX_VALUE, supportingInfoSequence)); 1236 children.add(new Property("category", "CodeableConcept", "Code to identify the general type of benefits under which products and services are provided.", 0, 1, category)); 1237 children.add(new Property("productOrService", "CodeableConcept", "This contains the product, service, drug or other billing code for the item.", 0, 1, productOrService)); 1238 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)); 1239 children.add(new Property("provider", "Reference(Practitioner|PractitionerRole)", "The practitioner who is responsible for the product or service to be rendered to the patient.", 0, 1, provider)); 1240 children.add(new Property("quantity", "Quantity", "The number of repetitions of a service or product.", 0, 1, quantity)); 1241 children.add(new Property("unitPrice", "Money", "The amount charged to the patient by the provider for a single unit.", 0, 1, unitPrice)); 1242 children.add(new Property("facility", "Reference(Location|Organization)", "Facility where the services will be provided.", 0, 1, facility)); 1243 children.add(new Property("diagnosis", "", "Patient diagnosis for which care is sought.", 0, java.lang.Integer.MAX_VALUE, diagnosis)); 1244 children.add(new Property("detail", "Reference(Any)", "The plan/proposal/order describing the proposed service in detail.", 0, java.lang.Integer.MAX_VALUE, detail)); 1245 } 1246 1247 @Override 1248 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1249 switch (_hash) { 1250 case -595860510: /*supportingInfoSequence*/ return new Property("supportingInfoSequence", "positiveInt", "Exceptions, special conditions and supporting information applicable for this service or product line.", 0, java.lang.Integer.MAX_VALUE, supportingInfoSequence); 1251 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); 1252 case 1957227299: /*productOrService*/ return new Property("productOrService", "CodeableConcept", "This contains the product, service, drug or other billing code for the item.", 0, 1, productOrService); 1253 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); 1254 case -987494927: /*provider*/ return new Property("provider", "Reference(Practitioner|PractitionerRole)", "The practitioner who is responsible for the product or service to be rendered to the patient.", 0, 1, provider); 1255 case -1285004149: /*quantity*/ return new Property("quantity", "Quantity", "The number of repetitions of a service or product.", 0, 1, quantity); 1256 case -486196699: /*unitPrice*/ return new Property("unitPrice", "Money", "The amount charged to the patient by the provider for a single unit.", 0, 1, unitPrice); 1257 case 501116579: /*facility*/ return new Property("facility", "Reference(Location|Organization)", "Facility where the services will be provided.", 0, 1, facility); 1258 case 1196993265: /*diagnosis*/ return new Property("diagnosis", "", "Patient diagnosis for which care is sought.", 0, java.lang.Integer.MAX_VALUE, diagnosis); 1259 case -1335224239: /*detail*/ return new Property("detail", "Reference(Any)", "The plan/proposal/order describing the proposed service in detail.", 0, java.lang.Integer.MAX_VALUE, detail); 1260 default: return super.getNamedProperty(_hash, _name, _checkValid); 1261 } 1262 1263 } 1264 1265 @Override 1266 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1267 switch (hash) { 1268 case -595860510: /*supportingInfoSequence*/ return this.supportingInfoSequence == null ? new Base[0] : this.supportingInfoSequence.toArray(new Base[this.supportingInfoSequence.size()]); // PositiveIntType 1269 case 50511102: /*category*/ return this.category == null ? new Base[0] : new Base[] {this.category}; // CodeableConcept 1270 case 1957227299: /*productOrService*/ return this.productOrService == null ? new Base[0] : new Base[] {this.productOrService}; // CodeableConcept 1271 case -615513385: /*modifier*/ return this.modifier == null ? new Base[0] : this.modifier.toArray(new Base[this.modifier.size()]); // CodeableConcept 1272 case -987494927: /*provider*/ return this.provider == null ? new Base[0] : new Base[] {this.provider}; // Reference 1273 case -1285004149: /*quantity*/ return this.quantity == null ? new Base[0] : new Base[] {this.quantity}; // Quantity 1274 case -486196699: /*unitPrice*/ return this.unitPrice == null ? new Base[0] : new Base[] {this.unitPrice}; // Money 1275 case 501116579: /*facility*/ return this.facility == null ? new Base[0] : new Base[] {this.facility}; // Reference 1276 case 1196993265: /*diagnosis*/ return this.diagnosis == null ? new Base[0] : this.diagnosis.toArray(new Base[this.diagnosis.size()]); // DiagnosisComponent 1277 case -1335224239: /*detail*/ return this.detail == null ? new Base[0] : this.detail.toArray(new Base[this.detail.size()]); // Reference 1278 default: return super.getProperty(hash, name, checkValid); 1279 } 1280 1281 } 1282 1283 @Override 1284 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1285 switch (hash) { 1286 case -595860510: // supportingInfoSequence 1287 this.getSupportingInfoSequence().add(TypeConvertor.castToPositiveInt(value)); // PositiveIntType 1288 return value; 1289 case 50511102: // category 1290 this.category = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1291 return value; 1292 case 1957227299: // productOrService 1293 this.productOrService = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1294 return value; 1295 case -615513385: // modifier 1296 this.getModifier().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 1297 return value; 1298 case -987494927: // provider 1299 this.provider = TypeConvertor.castToReference(value); // Reference 1300 return value; 1301 case -1285004149: // quantity 1302 this.quantity = TypeConvertor.castToQuantity(value); // Quantity 1303 return value; 1304 case -486196699: // unitPrice 1305 this.unitPrice = TypeConvertor.castToMoney(value); // Money 1306 return value; 1307 case 501116579: // facility 1308 this.facility = TypeConvertor.castToReference(value); // Reference 1309 return value; 1310 case 1196993265: // diagnosis 1311 this.getDiagnosis().add((DiagnosisComponent) value); // DiagnosisComponent 1312 return value; 1313 case -1335224239: // detail 1314 this.getDetail().add(TypeConvertor.castToReference(value)); // Reference 1315 return value; 1316 default: return super.setProperty(hash, name, value); 1317 } 1318 1319 } 1320 1321 @Override 1322 public Base setProperty(String name, Base value) throws FHIRException { 1323 if (name.equals("supportingInfoSequence")) { 1324 this.getSupportingInfoSequence().add(TypeConvertor.castToPositiveInt(value)); 1325 } else if (name.equals("category")) { 1326 this.category = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1327 } else if (name.equals("productOrService")) { 1328 this.productOrService = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1329 } else if (name.equals("modifier")) { 1330 this.getModifier().add(TypeConvertor.castToCodeableConcept(value)); 1331 } else if (name.equals("provider")) { 1332 this.provider = TypeConvertor.castToReference(value); // Reference 1333 } else if (name.equals("quantity")) { 1334 this.quantity = TypeConvertor.castToQuantity(value); // Quantity 1335 } else if (name.equals("unitPrice")) { 1336 this.unitPrice = TypeConvertor.castToMoney(value); // Money 1337 } else if (name.equals("facility")) { 1338 this.facility = TypeConvertor.castToReference(value); // Reference 1339 } else if (name.equals("diagnosis")) { 1340 this.getDiagnosis().add((DiagnosisComponent) value); 1341 } else if (name.equals("detail")) { 1342 this.getDetail().add(TypeConvertor.castToReference(value)); 1343 } else 1344 return super.setProperty(name, value); 1345 return value; 1346 } 1347 1348 @Override 1349 public Base makeProperty(int hash, String name) throws FHIRException { 1350 switch (hash) { 1351 case -595860510: return addSupportingInfoSequenceElement(); 1352 case 50511102: return getCategory(); 1353 case 1957227299: return getProductOrService(); 1354 case -615513385: return addModifier(); 1355 case -987494927: return getProvider(); 1356 case -1285004149: return getQuantity(); 1357 case -486196699: return getUnitPrice(); 1358 case 501116579: return getFacility(); 1359 case 1196993265: return addDiagnosis(); 1360 case -1335224239: return addDetail(); 1361 default: return super.makeProperty(hash, name); 1362 } 1363 1364 } 1365 1366 @Override 1367 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1368 switch (hash) { 1369 case -595860510: /*supportingInfoSequence*/ return new String[] {"positiveInt"}; 1370 case 50511102: /*category*/ return new String[] {"CodeableConcept"}; 1371 case 1957227299: /*productOrService*/ return new String[] {"CodeableConcept"}; 1372 case -615513385: /*modifier*/ return new String[] {"CodeableConcept"}; 1373 case -987494927: /*provider*/ return new String[] {"Reference"}; 1374 case -1285004149: /*quantity*/ return new String[] {"Quantity"}; 1375 case -486196699: /*unitPrice*/ return new String[] {"Money"}; 1376 case 501116579: /*facility*/ return new String[] {"Reference"}; 1377 case 1196993265: /*diagnosis*/ return new String[] {}; 1378 case -1335224239: /*detail*/ return new String[] {"Reference"}; 1379 default: return super.getTypesForProperty(hash, name); 1380 } 1381 1382 } 1383 1384 @Override 1385 public Base addChild(String name) throws FHIRException { 1386 if (name.equals("supportingInfoSequence")) { 1387 throw new FHIRException("Cannot call addChild on a primitive type CoverageEligibilityRequest.item.supportingInfoSequence"); 1388 } 1389 else if (name.equals("category")) { 1390 this.category = new CodeableConcept(); 1391 return this.category; 1392 } 1393 else if (name.equals("productOrService")) { 1394 this.productOrService = new CodeableConcept(); 1395 return this.productOrService; 1396 } 1397 else if (name.equals("modifier")) { 1398 return addModifier(); 1399 } 1400 else if (name.equals("provider")) { 1401 this.provider = new Reference(); 1402 return this.provider; 1403 } 1404 else if (name.equals("quantity")) { 1405 this.quantity = new Quantity(); 1406 return this.quantity; 1407 } 1408 else if (name.equals("unitPrice")) { 1409 this.unitPrice = new Money(); 1410 return this.unitPrice; 1411 } 1412 else if (name.equals("facility")) { 1413 this.facility = new Reference(); 1414 return this.facility; 1415 } 1416 else if (name.equals("diagnosis")) { 1417 return addDiagnosis(); 1418 } 1419 else if (name.equals("detail")) { 1420 return addDetail(); 1421 } 1422 else 1423 return super.addChild(name); 1424 } 1425 1426 public DetailsComponent copy() { 1427 DetailsComponent dst = new DetailsComponent(); 1428 copyValues(dst); 1429 return dst; 1430 } 1431 1432 public void copyValues(DetailsComponent dst) { 1433 super.copyValues(dst); 1434 if (supportingInfoSequence != null) { 1435 dst.supportingInfoSequence = new ArrayList<PositiveIntType>(); 1436 for (PositiveIntType i : supportingInfoSequence) 1437 dst.supportingInfoSequence.add(i.copy()); 1438 }; 1439 dst.category = category == null ? null : category.copy(); 1440 dst.productOrService = productOrService == null ? null : productOrService.copy(); 1441 if (modifier != null) { 1442 dst.modifier = new ArrayList<CodeableConcept>(); 1443 for (CodeableConcept i : modifier) 1444 dst.modifier.add(i.copy()); 1445 }; 1446 dst.provider = provider == null ? null : provider.copy(); 1447 dst.quantity = quantity == null ? null : quantity.copy(); 1448 dst.unitPrice = unitPrice == null ? null : unitPrice.copy(); 1449 dst.facility = facility == null ? null : facility.copy(); 1450 if (diagnosis != null) { 1451 dst.diagnosis = new ArrayList<DiagnosisComponent>(); 1452 for (DiagnosisComponent i : diagnosis) 1453 dst.diagnosis.add(i.copy()); 1454 }; 1455 if (detail != null) { 1456 dst.detail = new ArrayList<Reference>(); 1457 for (Reference i : detail) 1458 dst.detail.add(i.copy()); 1459 }; 1460 } 1461 1462 @Override 1463 public boolean equalsDeep(Base other_) { 1464 if (!super.equalsDeep(other_)) 1465 return false; 1466 if (!(other_ instanceof DetailsComponent)) 1467 return false; 1468 DetailsComponent o = (DetailsComponent) other_; 1469 return compareDeep(supportingInfoSequence, o.supportingInfoSequence, true) && compareDeep(category, o.category, true) 1470 && compareDeep(productOrService, o.productOrService, true) && compareDeep(modifier, o.modifier, true) 1471 && compareDeep(provider, o.provider, true) && compareDeep(quantity, o.quantity, true) && compareDeep(unitPrice, o.unitPrice, true) 1472 && compareDeep(facility, o.facility, true) && compareDeep(diagnosis, o.diagnosis, true) && compareDeep(detail, o.detail, true) 1473 ; 1474 } 1475 1476 @Override 1477 public boolean equalsShallow(Base other_) { 1478 if (!super.equalsShallow(other_)) 1479 return false; 1480 if (!(other_ instanceof DetailsComponent)) 1481 return false; 1482 DetailsComponent o = (DetailsComponent) other_; 1483 return compareValues(supportingInfoSequence, o.supportingInfoSequence, true); 1484 } 1485 1486 public boolean isEmpty() { 1487 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(supportingInfoSequence, category 1488 , productOrService, modifier, provider, quantity, unitPrice, facility, diagnosis 1489 , detail); 1490 } 1491 1492 public String fhirType() { 1493 return "CoverageEligibilityRequest.item"; 1494 1495 } 1496 1497 } 1498 1499 @Block() 1500 public static class DiagnosisComponent extends BackboneElement implements IBaseBackboneElement { 1501 /** 1502 * The nature of illness or problem in a coded form or as a reference to an external defined Condition. 1503 */ 1504 @Child(name = "diagnosis", type = {CodeableConcept.class, Condition.class}, order=1, min=0, max=1, modifier=false, summary=false) 1505 @Description(shortDefinition="Nature of illness or problem", formalDefinition="The nature of illness or problem in a coded form or as a reference to an external defined Condition." ) 1506 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/icd-10") 1507 protected DataType diagnosis; 1508 1509 private static final long serialVersionUID = 947131409L; 1510 1511 /** 1512 * Constructor 1513 */ 1514 public DiagnosisComponent() { 1515 super(); 1516 } 1517 1518 /** 1519 * @return {@link #diagnosis} (The nature of illness or problem in a coded form or as a reference to an external defined Condition.) 1520 */ 1521 public DataType getDiagnosis() { 1522 return this.diagnosis; 1523 } 1524 1525 /** 1526 * @return {@link #diagnosis} (The nature of illness or problem in a coded form or as a reference to an external defined Condition.) 1527 */ 1528 public CodeableConcept getDiagnosisCodeableConcept() throws FHIRException { 1529 if (this.diagnosis == null) 1530 this.diagnosis = new CodeableConcept(); 1531 if (!(this.diagnosis instanceof CodeableConcept)) 1532 throw new FHIRException("Type mismatch: the type CodeableConcept was expected, but "+this.diagnosis.getClass().getName()+" was encountered"); 1533 return (CodeableConcept) this.diagnosis; 1534 } 1535 1536 public boolean hasDiagnosisCodeableConcept() { 1537 return this != null && this.diagnosis instanceof CodeableConcept; 1538 } 1539 1540 /** 1541 * @return {@link #diagnosis} (The nature of illness or problem in a coded form or as a reference to an external defined Condition.) 1542 */ 1543 public Reference getDiagnosisReference() throws FHIRException { 1544 if (this.diagnosis == null) 1545 this.diagnosis = new Reference(); 1546 if (!(this.diagnosis instanceof Reference)) 1547 throw new FHIRException("Type mismatch: the type Reference was expected, but "+this.diagnosis.getClass().getName()+" was encountered"); 1548 return (Reference) this.diagnosis; 1549 } 1550 1551 public boolean hasDiagnosisReference() { 1552 return this != null && this.diagnosis instanceof Reference; 1553 } 1554 1555 public boolean hasDiagnosis() { 1556 return this.diagnosis != null && !this.diagnosis.isEmpty(); 1557 } 1558 1559 /** 1560 * @param value {@link #diagnosis} (The nature of illness or problem in a coded form or as a reference to an external defined Condition.) 1561 */ 1562 public DiagnosisComponent setDiagnosis(DataType value) { 1563 if (value != null && !(value instanceof CodeableConcept || value instanceof Reference)) 1564 throw new Error("Not the right type for CoverageEligibilityRequest.item.diagnosis.diagnosis[x]: "+value.fhirType()); 1565 this.diagnosis = value; 1566 return this; 1567 } 1568 1569 protected void listChildren(List<Property> children) { 1570 super.listChildren(children); 1571 children.add(new Property("diagnosis[x]", "CodeableConcept|Reference(Condition)", "The nature of illness or problem in a coded form or as a reference to an external defined Condition.", 0, 1, diagnosis)); 1572 } 1573 1574 @Override 1575 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1576 switch (_hash) { 1577 case -1487009809: /*diagnosis[x]*/ return new Property("diagnosis[x]", "CodeableConcept|Reference(Condition)", "The nature of illness or problem in a coded form or as a reference to an external defined Condition.", 0, 1, diagnosis); 1578 case 1196993265: /*diagnosis*/ return new Property("diagnosis[x]", "CodeableConcept|Reference(Condition)", "The nature of illness or problem in a coded form or as a reference to an external defined Condition.", 0, 1, diagnosis); 1579 case 277781616: /*diagnosisCodeableConcept*/ return new Property("diagnosis[x]", "CodeableConcept", "The nature of illness or problem in a coded form or as a reference to an external defined Condition.", 0, 1, diagnosis); 1580 case 2050454362: /*diagnosisReference*/ return new Property("diagnosis[x]", "Reference(Condition)", "The nature of illness or problem in a coded form or as a reference to an external defined Condition.", 0, 1, diagnosis); 1581 default: return super.getNamedProperty(_hash, _name, _checkValid); 1582 } 1583 1584 } 1585 1586 @Override 1587 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1588 switch (hash) { 1589 case 1196993265: /*diagnosis*/ return this.diagnosis == null ? new Base[0] : new Base[] {this.diagnosis}; // DataType 1590 default: return super.getProperty(hash, name, checkValid); 1591 } 1592 1593 } 1594 1595 @Override 1596 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1597 switch (hash) { 1598 case 1196993265: // diagnosis 1599 this.diagnosis = TypeConvertor.castToType(value); // DataType 1600 return value; 1601 default: return super.setProperty(hash, name, value); 1602 } 1603 1604 } 1605 1606 @Override 1607 public Base setProperty(String name, Base value) throws FHIRException { 1608 if (name.equals("diagnosis[x]")) { 1609 this.diagnosis = TypeConvertor.castToType(value); // DataType 1610 } else 1611 return super.setProperty(name, value); 1612 return value; 1613 } 1614 1615 @Override 1616 public Base makeProperty(int hash, String name) throws FHIRException { 1617 switch (hash) { 1618 case -1487009809: return getDiagnosis(); 1619 case 1196993265: return getDiagnosis(); 1620 default: return super.makeProperty(hash, name); 1621 } 1622 1623 } 1624 1625 @Override 1626 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1627 switch (hash) { 1628 case 1196993265: /*diagnosis*/ return new String[] {"CodeableConcept", "Reference"}; 1629 default: return super.getTypesForProperty(hash, name); 1630 } 1631 1632 } 1633 1634 @Override 1635 public Base addChild(String name) throws FHIRException { 1636 if (name.equals("diagnosisCodeableConcept")) { 1637 this.diagnosis = new CodeableConcept(); 1638 return this.diagnosis; 1639 } 1640 else if (name.equals("diagnosisReference")) { 1641 this.diagnosis = new Reference(); 1642 return this.diagnosis; 1643 } 1644 else 1645 return super.addChild(name); 1646 } 1647 1648 public DiagnosisComponent copy() { 1649 DiagnosisComponent dst = new DiagnosisComponent(); 1650 copyValues(dst); 1651 return dst; 1652 } 1653 1654 public void copyValues(DiagnosisComponent dst) { 1655 super.copyValues(dst); 1656 dst.diagnosis = diagnosis == null ? null : diagnosis.copy(); 1657 } 1658 1659 @Override 1660 public boolean equalsDeep(Base other_) { 1661 if (!super.equalsDeep(other_)) 1662 return false; 1663 if (!(other_ instanceof DiagnosisComponent)) 1664 return false; 1665 DiagnosisComponent o = (DiagnosisComponent) other_; 1666 return compareDeep(diagnosis, o.diagnosis, true); 1667 } 1668 1669 @Override 1670 public boolean equalsShallow(Base other_) { 1671 if (!super.equalsShallow(other_)) 1672 return false; 1673 if (!(other_ instanceof DiagnosisComponent)) 1674 return false; 1675 DiagnosisComponent o = (DiagnosisComponent) other_; 1676 return true; 1677 } 1678 1679 public boolean isEmpty() { 1680 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(diagnosis); 1681 } 1682 1683 public String fhirType() { 1684 return "CoverageEligibilityRequest.item.diagnosis"; 1685 1686 } 1687 1688 } 1689 1690 /** 1691 * A unique identifier assigned to this coverage eligiblity request. 1692 */ 1693 @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1694 @Description(shortDefinition="Business Identifier for coverage eligiblity request", formalDefinition="A unique identifier assigned to this coverage eligiblity request." ) 1695 protected List<Identifier> identifier; 1696 1697 /** 1698 * The status of the resource instance. 1699 */ 1700 @Child(name = "status", type = {CodeType.class}, order=1, min=1, max=1, modifier=true, summary=true) 1701 @Description(shortDefinition="active | cancelled | draft | entered-in-error", formalDefinition="The status of the resource instance." ) 1702 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/fm-status") 1703 protected Enumeration<FinancialResourceStatusCodes> status; 1704 1705 /** 1706 * When the requestor expects the processor to complete processing. 1707 */ 1708 @Child(name = "priority", type = {CodeableConcept.class}, order=2, min=0, max=1, modifier=false, summary=false) 1709 @Description(shortDefinition="Desired processing priority", formalDefinition="When the requestor expects the processor to complete processing." ) 1710 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/process-priority") 1711 protected CodeableConcept priority; 1712 1713 /** 1714 * 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. 1715 */ 1716 @Child(name = "purpose", type = {CodeType.class}, order=3, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1717 @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." ) 1718 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/eligibilityrequest-purpose") 1719 protected List<Enumeration<EligibilityRequestPurpose>> purpose; 1720 1721 /** 1722 * The party who is the beneficiary of the supplied coverage and for whom eligibility is sought. 1723 */ 1724 @Child(name = "patient", type = {Patient.class}, order=4, min=1, max=1, modifier=false, summary=true) 1725 @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." ) 1726 protected Reference patient; 1727 1728 /** 1729 * The date or dates when the enclosed suite of services were performed or completed. 1730 */ 1731 @Child(name = "serviced", type = {DateType.class, Period.class}, order=5, min=0, max=1, modifier=false, summary=false) 1732 @Description(shortDefinition="Estimated date or dates of service", formalDefinition="The date or dates when the enclosed suite of services were performed or completed." ) 1733 protected DataType serviced; 1734 1735 /** 1736 * The date when this resource was created. 1737 */ 1738 @Child(name = "created", type = {DateTimeType.class}, order=6, min=1, max=1, modifier=false, summary=true) 1739 @Description(shortDefinition="Creation date", formalDefinition="The date when this resource was created." ) 1740 protected DateTimeType created; 1741 1742 /** 1743 * Person who created the request. 1744 */ 1745 @Child(name = "enterer", type = {Practitioner.class, PractitionerRole.class}, order=7, min=0, max=1, modifier=false, summary=false) 1746 @Description(shortDefinition="Author", formalDefinition="Person who created the request." ) 1747 protected Reference enterer; 1748 1749 /** 1750 * The provider which is responsible for the request. 1751 */ 1752 @Child(name = "provider", type = {Practitioner.class, PractitionerRole.class, Organization.class}, order=8, min=0, max=1, modifier=false, summary=false) 1753 @Description(shortDefinition="Party responsible for the request", formalDefinition="The provider which is responsible for the request." ) 1754 protected Reference provider; 1755 1756 /** 1757 * The Insurer who issued the coverage in question and is the recipient of the request. 1758 */ 1759 @Child(name = "insurer", type = {Organization.class}, order=9, min=1, max=1, modifier=false, summary=true) 1760 @Description(shortDefinition="Coverage issuer", formalDefinition="The Insurer who issued the coverage in question and is the recipient of the request." ) 1761 protected Reference insurer; 1762 1763 /** 1764 * Facility where the services are intended to be provided. 1765 */ 1766 @Child(name = "facility", type = {Location.class}, order=10, min=0, max=1, modifier=false, summary=false) 1767 @Description(shortDefinition="Servicing facility", formalDefinition="Facility where the services are intended to be provided." ) 1768 protected Reference facility; 1769 1770 /** 1771 * Additional information codes regarding exceptions, special considerations, the condition, situation, prior or concurrent issues. 1772 */ 1773 @Child(name = "supportingInfo", type = {}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1774 @Description(shortDefinition="Supporting information", formalDefinition="Additional information codes regarding exceptions, special considerations, the condition, situation, prior or concurrent issues." ) 1775 protected List<SupportingInformationComponent> supportingInfo; 1776 1777 /** 1778 * Financial instruments for reimbursement for the health care products and services. 1779 */ 1780 @Child(name = "insurance", type = {}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1781 @Description(shortDefinition="Patient insurance information", formalDefinition="Financial instruments for reimbursement for the health care products and services." ) 1782 protected List<InsuranceComponent> insurance; 1783 1784 /** 1785 * Service categories or billable services for which benefit details and/or an authorization prior to service delivery may be required by the payor. 1786 */ 1787 @Child(name = "item", type = {}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1788 @Description(shortDefinition="Item to be evaluated for eligibiity", formalDefinition="Service categories or billable services for which benefit details and/or an authorization prior to service delivery may be required by the payor." ) 1789 protected List<DetailsComponent> item; 1790 1791 private static final long serialVersionUID = -1573933127L; 1792 1793 /** 1794 * Constructor 1795 */ 1796 public CoverageEligibilityRequest() { 1797 super(); 1798 } 1799 1800 /** 1801 * Constructor 1802 */ 1803 public CoverageEligibilityRequest(FinancialResourceStatusCodes status, EligibilityRequestPurpose purpose, Reference patient, Date created, Reference insurer) { 1804 super(); 1805 this.setStatus(status); 1806 this.addPurpose(purpose); 1807 this.setPatient(patient); 1808 this.setCreated(created); 1809 this.setInsurer(insurer); 1810 } 1811 1812 /** 1813 * @return {@link #identifier} (A unique identifier assigned to this coverage eligiblity request.) 1814 */ 1815 public List<Identifier> getIdentifier() { 1816 if (this.identifier == null) 1817 this.identifier = new ArrayList<Identifier>(); 1818 return this.identifier; 1819 } 1820 1821 /** 1822 * @return Returns a reference to <code>this</code> for easy method chaining 1823 */ 1824 public CoverageEligibilityRequest setIdentifier(List<Identifier> theIdentifier) { 1825 this.identifier = theIdentifier; 1826 return this; 1827 } 1828 1829 public boolean hasIdentifier() { 1830 if (this.identifier == null) 1831 return false; 1832 for (Identifier item : this.identifier) 1833 if (!item.isEmpty()) 1834 return true; 1835 return false; 1836 } 1837 1838 public Identifier addIdentifier() { //3 1839 Identifier t = new Identifier(); 1840 if (this.identifier == null) 1841 this.identifier = new ArrayList<Identifier>(); 1842 this.identifier.add(t); 1843 return t; 1844 } 1845 1846 public CoverageEligibilityRequest addIdentifier(Identifier t) { //3 1847 if (t == null) 1848 return this; 1849 if (this.identifier == null) 1850 this.identifier = new ArrayList<Identifier>(); 1851 this.identifier.add(t); 1852 return this; 1853 } 1854 1855 /** 1856 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} 1857 */ 1858 public Identifier getIdentifierFirstRep() { 1859 if (getIdentifier().isEmpty()) { 1860 addIdentifier(); 1861 } 1862 return getIdentifier().get(0); 1863 } 1864 1865 /** 1866 * @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 1867 */ 1868 public Enumeration<FinancialResourceStatusCodes> getStatusElement() { 1869 if (this.status == null) 1870 if (Configuration.errorOnAutoCreate()) 1871 throw new Error("Attempt to auto-create CoverageEligibilityRequest.status"); 1872 else if (Configuration.doAutoCreate()) 1873 this.status = new Enumeration<FinancialResourceStatusCodes>(new FinancialResourceStatusCodesEnumFactory()); // bb 1874 return this.status; 1875 } 1876 1877 public boolean hasStatusElement() { 1878 return this.status != null && !this.status.isEmpty(); 1879 } 1880 1881 public boolean hasStatus() { 1882 return this.status != null && !this.status.isEmpty(); 1883 } 1884 1885 /** 1886 * @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 1887 */ 1888 public CoverageEligibilityRequest setStatusElement(Enumeration<FinancialResourceStatusCodes> value) { 1889 this.status = value; 1890 return this; 1891 } 1892 1893 /** 1894 * @return The status of the resource instance. 1895 */ 1896 public FinancialResourceStatusCodes getStatus() { 1897 return this.status == null ? null : this.status.getValue(); 1898 } 1899 1900 /** 1901 * @param value The status of the resource instance. 1902 */ 1903 public CoverageEligibilityRequest setStatus(FinancialResourceStatusCodes value) { 1904 if (this.status == null) 1905 this.status = new Enumeration<FinancialResourceStatusCodes>(new FinancialResourceStatusCodesEnumFactory()); 1906 this.status.setValue(value); 1907 return this; 1908 } 1909 1910 /** 1911 * @return {@link #priority} (When the requestor expects the processor to complete processing.) 1912 */ 1913 public CodeableConcept getPriority() { 1914 if (this.priority == null) 1915 if (Configuration.errorOnAutoCreate()) 1916 throw new Error("Attempt to auto-create CoverageEligibilityRequest.priority"); 1917 else if (Configuration.doAutoCreate()) 1918 this.priority = new CodeableConcept(); // cc 1919 return this.priority; 1920 } 1921 1922 public boolean hasPriority() { 1923 return this.priority != null && !this.priority.isEmpty(); 1924 } 1925 1926 /** 1927 * @param value {@link #priority} (When the requestor expects the processor to complete processing.) 1928 */ 1929 public CoverageEligibilityRequest setPriority(CodeableConcept value) { 1930 this.priority = value; 1931 return this; 1932 } 1933 1934 /** 1935 * @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.) 1936 */ 1937 public List<Enumeration<EligibilityRequestPurpose>> getPurpose() { 1938 if (this.purpose == null) 1939 this.purpose = new ArrayList<Enumeration<EligibilityRequestPurpose>>(); 1940 return this.purpose; 1941 } 1942 1943 /** 1944 * @return Returns a reference to <code>this</code> for easy method chaining 1945 */ 1946 public CoverageEligibilityRequest setPurpose(List<Enumeration<EligibilityRequestPurpose>> thePurpose) { 1947 this.purpose = thePurpose; 1948 return this; 1949 } 1950 1951 public boolean hasPurpose() { 1952 if (this.purpose == null) 1953 return false; 1954 for (Enumeration<EligibilityRequestPurpose> item : this.purpose) 1955 if (!item.isEmpty()) 1956 return true; 1957 return false; 1958 } 1959 1960 /** 1961 * @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.) 1962 */ 1963 public Enumeration<EligibilityRequestPurpose> addPurposeElement() {//2 1964 Enumeration<EligibilityRequestPurpose> t = new Enumeration<EligibilityRequestPurpose>(new EligibilityRequestPurposeEnumFactory()); 1965 if (this.purpose == null) 1966 this.purpose = new ArrayList<Enumeration<EligibilityRequestPurpose>>(); 1967 this.purpose.add(t); 1968 return t; 1969 } 1970 1971 /** 1972 * @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.) 1973 */ 1974 public CoverageEligibilityRequest addPurpose(EligibilityRequestPurpose value) { //1 1975 Enumeration<EligibilityRequestPurpose> t = new Enumeration<EligibilityRequestPurpose>(new EligibilityRequestPurposeEnumFactory()); 1976 t.setValue(value); 1977 if (this.purpose == null) 1978 this.purpose = new ArrayList<Enumeration<EligibilityRequestPurpose>>(); 1979 this.purpose.add(t); 1980 return this; 1981 } 1982 1983 /** 1984 * @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.) 1985 */ 1986 public boolean hasPurpose(EligibilityRequestPurpose value) { 1987 if (this.purpose == null) 1988 return false; 1989 for (Enumeration<EligibilityRequestPurpose> v : this.purpose) 1990 if (v.getValue().equals(value)) // code 1991 return true; 1992 return false; 1993 } 1994 1995 /** 1996 * @return {@link #patient} (The party who is the beneficiary of the supplied coverage and for whom eligibility is sought.) 1997 */ 1998 public Reference getPatient() { 1999 if (this.patient == null) 2000 if (Configuration.errorOnAutoCreate()) 2001 throw new Error("Attempt to auto-create CoverageEligibilityRequest.patient"); 2002 else if (Configuration.doAutoCreate()) 2003 this.patient = new Reference(); // cc 2004 return this.patient; 2005 } 2006 2007 public boolean hasPatient() { 2008 return this.patient != null && !this.patient.isEmpty(); 2009 } 2010 2011 /** 2012 * @param value {@link #patient} (The party who is the beneficiary of the supplied coverage and for whom eligibility is sought.) 2013 */ 2014 public CoverageEligibilityRequest setPatient(Reference value) { 2015 this.patient = value; 2016 return this; 2017 } 2018 2019 /** 2020 * @return {@link #serviced} (The date or dates when the enclosed suite of services were performed or completed.) 2021 */ 2022 public DataType getServiced() { 2023 return this.serviced; 2024 } 2025 2026 /** 2027 * @return {@link #serviced} (The date or dates when the enclosed suite of services were performed or completed.) 2028 */ 2029 public DateType getServicedDateType() throws FHIRException { 2030 if (this.serviced == null) 2031 this.serviced = new DateType(); 2032 if (!(this.serviced instanceof DateType)) 2033 throw new FHIRException("Type mismatch: the type DateType was expected, but "+this.serviced.getClass().getName()+" was encountered"); 2034 return (DateType) this.serviced; 2035 } 2036 2037 public boolean hasServicedDateType() { 2038 return this != null && this.serviced instanceof DateType; 2039 } 2040 2041 /** 2042 * @return {@link #serviced} (The date or dates when the enclosed suite of services were performed or completed.) 2043 */ 2044 public Period getServicedPeriod() throws FHIRException { 2045 if (this.serviced == null) 2046 this.serviced = new Period(); 2047 if (!(this.serviced instanceof Period)) 2048 throw new FHIRException("Type mismatch: the type Period was expected, but "+this.serviced.getClass().getName()+" was encountered"); 2049 return (Period) this.serviced; 2050 } 2051 2052 public boolean hasServicedPeriod() { 2053 return this != null && this.serviced instanceof Period; 2054 } 2055 2056 public boolean hasServiced() { 2057 return this.serviced != null && !this.serviced.isEmpty(); 2058 } 2059 2060 /** 2061 * @param value {@link #serviced} (The date or dates when the enclosed suite of services were performed or completed.) 2062 */ 2063 public CoverageEligibilityRequest setServiced(DataType value) { 2064 if (value != null && !(value instanceof DateType || value instanceof Period)) 2065 throw new Error("Not the right type for CoverageEligibilityRequest.serviced[x]: "+value.fhirType()); 2066 this.serviced = value; 2067 return this; 2068 } 2069 2070 /** 2071 * @return {@link #created} (The date when this resource was created.). This is the underlying object with id, value and extensions. The accessor "getCreated" gives direct access to the value 2072 */ 2073 public DateTimeType getCreatedElement() { 2074 if (this.created == null) 2075 if (Configuration.errorOnAutoCreate()) 2076 throw new Error("Attempt to auto-create CoverageEligibilityRequest.created"); 2077 else if (Configuration.doAutoCreate()) 2078 this.created = new DateTimeType(); // bb 2079 return this.created; 2080 } 2081 2082 public boolean hasCreatedElement() { 2083 return this.created != null && !this.created.isEmpty(); 2084 } 2085 2086 public boolean hasCreated() { 2087 return this.created != null && !this.created.isEmpty(); 2088 } 2089 2090 /** 2091 * @param value {@link #created} (The date when this resource was created.). This is the underlying object with id, value and extensions. The accessor "getCreated" gives direct access to the value 2092 */ 2093 public CoverageEligibilityRequest setCreatedElement(DateTimeType value) { 2094 this.created = value; 2095 return this; 2096 } 2097 2098 /** 2099 * @return The date when this resource was created. 2100 */ 2101 public Date getCreated() { 2102 return this.created == null ? null : this.created.getValue(); 2103 } 2104 2105 /** 2106 * @param value The date when this resource was created. 2107 */ 2108 public CoverageEligibilityRequest setCreated(Date value) { 2109 if (this.created == null) 2110 this.created = new DateTimeType(); 2111 this.created.setValue(value); 2112 return this; 2113 } 2114 2115 /** 2116 * @return {@link #enterer} (Person who created the request.) 2117 */ 2118 public Reference getEnterer() { 2119 if (this.enterer == null) 2120 if (Configuration.errorOnAutoCreate()) 2121 throw new Error("Attempt to auto-create CoverageEligibilityRequest.enterer"); 2122 else if (Configuration.doAutoCreate()) 2123 this.enterer = new Reference(); // cc 2124 return this.enterer; 2125 } 2126 2127 public boolean hasEnterer() { 2128 return this.enterer != null && !this.enterer.isEmpty(); 2129 } 2130 2131 /** 2132 * @param value {@link #enterer} (Person who created the request.) 2133 */ 2134 public CoverageEligibilityRequest setEnterer(Reference value) { 2135 this.enterer = value; 2136 return this; 2137 } 2138 2139 /** 2140 * @return {@link #provider} (The provider which is responsible for the request.) 2141 */ 2142 public Reference getProvider() { 2143 if (this.provider == null) 2144 if (Configuration.errorOnAutoCreate()) 2145 throw new Error("Attempt to auto-create CoverageEligibilityRequest.provider"); 2146 else if (Configuration.doAutoCreate()) 2147 this.provider = new Reference(); // cc 2148 return this.provider; 2149 } 2150 2151 public boolean hasProvider() { 2152 return this.provider != null && !this.provider.isEmpty(); 2153 } 2154 2155 /** 2156 * @param value {@link #provider} (The provider which is responsible for the request.) 2157 */ 2158 public CoverageEligibilityRequest setProvider(Reference value) { 2159 this.provider = value; 2160 return this; 2161 } 2162 2163 /** 2164 * @return {@link #insurer} (The Insurer who issued the coverage in question and is the recipient of the request.) 2165 */ 2166 public Reference getInsurer() { 2167 if (this.insurer == null) 2168 if (Configuration.errorOnAutoCreate()) 2169 throw new Error("Attempt to auto-create CoverageEligibilityRequest.insurer"); 2170 else if (Configuration.doAutoCreate()) 2171 this.insurer = new Reference(); // cc 2172 return this.insurer; 2173 } 2174 2175 public boolean hasInsurer() { 2176 return this.insurer != null && !this.insurer.isEmpty(); 2177 } 2178 2179 /** 2180 * @param value {@link #insurer} (The Insurer who issued the coverage in question and is the recipient of the request.) 2181 */ 2182 public CoverageEligibilityRequest setInsurer(Reference value) { 2183 this.insurer = value; 2184 return this; 2185 } 2186 2187 /** 2188 * @return {@link #facility} (Facility where the services are intended to be provided.) 2189 */ 2190 public Reference getFacility() { 2191 if (this.facility == null) 2192 if (Configuration.errorOnAutoCreate()) 2193 throw new Error("Attempt to auto-create CoverageEligibilityRequest.facility"); 2194 else if (Configuration.doAutoCreate()) 2195 this.facility = new Reference(); // cc 2196 return this.facility; 2197 } 2198 2199 public boolean hasFacility() { 2200 return this.facility != null && !this.facility.isEmpty(); 2201 } 2202 2203 /** 2204 * @param value {@link #facility} (Facility where the services are intended to be provided.) 2205 */ 2206 public CoverageEligibilityRequest setFacility(Reference value) { 2207 this.facility = value; 2208 return this; 2209 } 2210 2211 /** 2212 * @return {@link #supportingInfo} (Additional information codes regarding exceptions, special considerations, the condition, situation, prior or concurrent issues.) 2213 */ 2214 public List<SupportingInformationComponent> getSupportingInfo() { 2215 if (this.supportingInfo == null) 2216 this.supportingInfo = new ArrayList<SupportingInformationComponent>(); 2217 return this.supportingInfo; 2218 } 2219 2220 /** 2221 * @return Returns a reference to <code>this</code> for easy method chaining 2222 */ 2223 public CoverageEligibilityRequest setSupportingInfo(List<SupportingInformationComponent> theSupportingInfo) { 2224 this.supportingInfo = theSupportingInfo; 2225 return this; 2226 } 2227 2228 public boolean hasSupportingInfo() { 2229 if (this.supportingInfo == null) 2230 return false; 2231 for (SupportingInformationComponent item : this.supportingInfo) 2232 if (!item.isEmpty()) 2233 return true; 2234 return false; 2235 } 2236 2237 public SupportingInformationComponent addSupportingInfo() { //3 2238 SupportingInformationComponent t = new SupportingInformationComponent(); 2239 if (this.supportingInfo == null) 2240 this.supportingInfo = new ArrayList<SupportingInformationComponent>(); 2241 this.supportingInfo.add(t); 2242 return t; 2243 } 2244 2245 public CoverageEligibilityRequest addSupportingInfo(SupportingInformationComponent t) { //3 2246 if (t == null) 2247 return this; 2248 if (this.supportingInfo == null) 2249 this.supportingInfo = new ArrayList<SupportingInformationComponent>(); 2250 this.supportingInfo.add(t); 2251 return this; 2252 } 2253 2254 /** 2255 * @return The first repetition of repeating field {@link #supportingInfo}, creating it if it does not already exist {3} 2256 */ 2257 public SupportingInformationComponent getSupportingInfoFirstRep() { 2258 if (getSupportingInfo().isEmpty()) { 2259 addSupportingInfo(); 2260 } 2261 return getSupportingInfo().get(0); 2262 } 2263 2264 /** 2265 * @return {@link #insurance} (Financial instruments for reimbursement for the health care products and services.) 2266 */ 2267 public List<InsuranceComponent> getInsurance() { 2268 if (this.insurance == null) 2269 this.insurance = new ArrayList<InsuranceComponent>(); 2270 return this.insurance; 2271 } 2272 2273 /** 2274 * @return Returns a reference to <code>this</code> for easy method chaining 2275 */ 2276 public CoverageEligibilityRequest setInsurance(List<InsuranceComponent> theInsurance) { 2277 this.insurance = theInsurance; 2278 return this; 2279 } 2280 2281 public boolean hasInsurance() { 2282 if (this.insurance == null) 2283 return false; 2284 for (InsuranceComponent item : this.insurance) 2285 if (!item.isEmpty()) 2286 return true; 2287 return false; 2288 } 2289 2290 public InsuranceComponent addInsurance() { //3 2291 InsuranceComponent t = new InsuranceComponent(); 2292 if (this.insurance == null) 2293 this.insurance = new ArrayList<InsuranceComponent>(); 2294 this.insurance.add(t); 2295 return t; 2296 } 2297 2298 public CoverageEligibilityRequest addInsurance(InsuranceComponent t) { //3 2299 if (t == null) 2300 return this; 2301 if (this.insurance == null) 2302 this.insurance = new ArrayList<InsuranceComponent>(); 2303 this.insurance.add(t); 2304 return this; 2305 } 2306 2307 /** 2308 * @return The first repetition of repeating field {@link #insurance}, creating it if it does not already exist {3} 2309 */ 2310 public InsuranceComponent getInsuranceFirstRep() { 2311 if (getInsurance().isEmpty()) { 2312 addInsurance(); 2313 } 2314 return getInsurance().get(0); 2315 } 2316 2317 /** 2318 * @return {@link #item} (Service categories or billable services for which benefit details and/or an authorization prior to service delivery may be required by the payor.) 2319 */ 2320 public List<DetailsComponent> getItem() { 2321 if (this.item == null) 2322 this.item = new ArrayList<DetailsComponent>(); 2323 return this.item; 2324 } 2325 2326 /** 2327 * @return Returns a reference to <code>this</code> for easy method chaining 2328 */ 2329 public CoverageEligibilityRequest setItem(List<DetailsComponent> theItem) { 2330 this.item = theItem; 2331 return this; 2332 } 2333 2334 public boolean hasItem() { 2335 if (this.item == null) 2336 return false; 2337 for (DetailsComponent item : this.item) 2338 if (!item.isEmpty()) 2339 return true; 2340 return false; 2341 } 2342 2343 public DetailsComponent addItem() { //3 2344 DetailsComponent t = new DetailsComponent(); 2345 if (this.item == null) 2346 this.item = new ArrayList<DetailsComponent>(); 2347 this.item.add(t); 2348 return t; 2349 } 2350 2351 public CoverageEligibilityRequest addItem(DetailsComponent t) { //3 2352 if (t == null) 2353 return this; 2354 if (this.item == null) 2355 this.item = new ArrayList<DetailsComponent>(); 2356 this.item.add(t); 2357 return this; 2358 } 2359 2360 /** 2361 * @return The first repetition of repeating field {@link #item}, creating it if it does not already exist {3} 2362 */ 2363 public DetailsComponent getItemFirstRep() { 2364 if (getItem().isEmpty()) { 2365 addItem(); 2366 } 2367 return getItem().get(0); 2368 } 2369 2370 protected void listChildren(List<Property> children) { 2371 super.listChildren(children); 2372 children.add(new Property("identifier", "Identifier", "A unique identifier assigned to this coverage eligiblity request.", 0, java.lang.Integer.MAX_VALUE, identifier)); 2373 children.add(new Property("status", "code", "The status of the resource instance.", 0, 1, status)); 2374 children.add(new Property("priority", "CodeableConcept", "When the requestor expects the processor to complete processing.", 0, 1, priority)); 2375 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)); 2376 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)); 2377 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)); 2378 children.add(new Property("created", "dateTime", "The date when this resource was created.", 0, 1, created)); 2379 children.add(new Property("enterer", "Reference(Practitioner|PractitionerRole)", "Person who created the request.", 0, 1, enterer)); 2380 children.add(new Property("provider", "Reference(Practitioner|PractitionerRole|Organization)", "The provider which is responsible for the request.", 0, 1, provider)); 2381 children.add(new Property("insurer", "Reference(Organization)", "The Insurer who issued the coverage in question and is the recipient of the request.", 0, 1, insurer)); 2382 children.add(new Property("facility", "Reference(Location)", "Facility where the services are intended to be provided.", 0, 1, facility)); 2383 children.add(new Property("supportingInfo", "", "Additional information codes regarding exceptions, special considerations, the condition, situation, prior or concurrent issues.", 0, java.lang.Integer.MAX_VALUE, supportingInfo)); 2384 children.add(new Property("insurance", "", "Financial instruments for reimbursement for the health care products and services.", 0, java.lang.Integer.MAX_VALUE, insurance)); 2385 children.add(new Property("item", "", "Service categories or billable services for which benefit details and/or an authorization prior to service delivery may be required by the payor.", 0, java.lang.Integer.MAX_VALUE, item)); 2386 } 2387 2388 @Override 2389 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 2390 switch (_hash) { 2391 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "A unique identifier assigned to this coverage eligiblity request.", 0, java.lang.Integer.MAX_VALUE, identifier); 2392 case -892481550: /*status*/ return new Property("status", "code", "The status of the resource instance.", 0, 1, status); 2393 case -1165461084: /*priority*/ return new Property("priority", "CodeableConcept", "When the requestor expects the processor to complete processing.", 0, 1, priority); 2394 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); 2395 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); 2396 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); 2397 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); 2398 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); 2399 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); 2400 case 1028554472: /*created*/ return new Property("created", "dateTime", "The date when this resource was created.", 0, 1, created); 2401 case -1591951995: /*enterer*/ return new Property("enterer", "Reference(Practitioner|PractitionerRole)", "Person who created the request.", 0, 1, enterer); 2402 case -987494927: /*provider*/ return new Property("provider", "Reference(Practitioner|PractitionerRole|Organization)", "The provider which is responsible for the request.", 0, 1, provider); 2403 case 1957615864: /*insurer*/ return new Property("insurer", "Reference(Organization)", "The Insurer who issued the coverage in question and is the recipient of the request.", 0, 1, insurer); 2404 case 501116579: /*facility*/ return new Property("facility", "Reference(Location)", "Facility where the services are intended to be provided.", 0, 1, facility); 2405 case 1922406657: /*supportingInfo*/ return new Property("supportingInfo", "", "Additional information codes regarding exceptions, special considerations, the condition, situation, prior or concurrent issues.", 0, java.lang.Integer.MAX_VALUE, supportingInfo); 2406 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); 2407 case 3242771: /*item*/ return new Property("item", "", "Service categories or billable services for which benefit details and/or an authorization prior to service delivery may be required by the payor.", 0, java.lang.Integer.MAX_VALUE, item); 2408 default: return super.getNamedProperty(_hash, _name, _checkValid); 2409 } 2410 2411 } 2412 2413 @Override 2414 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 2415 switch (hash) { 2416 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 2417 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<FinancialResourceStatusCodes> 2418 case -1165461084: /*priority*/ return this.priority == null ? new Base[0] : new Base[] {this.priority}; // CodeableConcept 2419 case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : this.purpose.toArray(new Base[this.purpose.size()]); // Enumeration<EligibilityRequestPurpose> 2420 case -791418107: /*patient*/ return this.patient == null ? new Base[0] : new Base[] {this.patient}; // Reference 2421 case 1379209295: /*serviced*/ return this.serviced == null ? new Base[0] : new Base[] {this.serviced}; // DataType 2422 case 1028554472: /*created*/ return this.created == null ? new Base[0] : new Base[] {this.created}; // DateTimeType 2423 case -1591951995: /*enterer*/ return this.enterer == null ? new Base[0] : new Base[] {this.enterer}; // Reference 2424 case -987494927: /*provider*/ return this.provider == null ? new Base[0] : new Base[] {this.provider}; // Reference 2425 case 1957615864: /*insurer*/ return this.insurer == null ? new Base[0] : new Base[] {this.insurer}; // Reference 2426 case 501116579: /*facility*/ return this.facility == null ? new Base[0] : new Base[] {this.facility}; // Reference 2427 case 1922406657: /*supportingInfo*/ return this.supportingInfo == null ? new Base[0] : this.supportingInfo.toArray(new Base[this.supportingInfo.size()]); // SupportingInformationComponent 2428 case 73049818: /*insurance*/ return this.insurance == null ? new Base[0] : this.insurance.toArray(new Base[this.insurance.size()]); // InsuranceComponent 2429 case 3242771: /*item*/ return this.item == null ? new Base[0] : this.item.toArray(new Base[this.item.size()]); // DetailsComponent 2430 default: return super.getProperty(hash, name, checkValid); 2431 } 2432 2433 } 2434 2435 @Override 2436 public Base setProperty(int hash, String name, Base value) throws FHIRException { 2437 switch (hash) { 2438 case -1618432855: // identifier 2439 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier 2440 return value; 2441 case -892481550: // status 2442 value = new FinancialResourceStatusCodesEnumFactory().fromType(TypeConvertor.castToCode(value)); 2443 this.status = (Enumeration) value; // Enumeration<FinancialResourceStatusCodes> 2444 return value; 2445 case -1165461084: // priority 2446 this.priority = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 2447 return value; 2448 case -220463842: // purpose 2449 value = new EligibilityRequestPurposeEnumFactory().fromType(TypeConvertor.castToCode(value)); 2450 this.getPurpose().add((Enumeration) value); // Enumeration<EligibilityRequestPurpose> 2451 return value; 2452 case -791418107: // patient 2453 this.patient = TypeConvertor.castToReference(value); // Reference 2454 return value; 2455 case 1379209295: // serviced 2456 this.serviced = TypeConvertor.castToType(value); // DataType 2457 return value; 2458 case 1028554472: // created 2459 this.created = TypeConvertor.castToDateTime(value); // DateTimeType 2460 return value; 2461 case -1591951995: // enterer 2462 this.enterer = TypeConvertor.castToReference(value); // Reference 2463 return value; 2464 case -987494927: // provider 2465 this.provider = TypeConvertor.castToReference(value); // Reference 2466 return value; 2467 case 1957615864: // insurer 2468 this.insurer = TypeConvertor.castToReference(value); // Reference 2469 return value; 2470 case 501116579: // facility 2471 this.facility = TypeConvertor.castToReference(value); // Reference 2472 return value; 2473 case 1922406657: // supportingInfo 2474 this.getSupportingInfo().add((SupportingInformationComponent) value); // SupportingInformationComponent 2475 return value; 2476 case 73049818: // insurance 2477 this.getInsurance().add((InsuranceComponent) value); // InsuranceComponent 2478 return value; 2479 case 3242771: // item 2480 this.getItem().add((DetailsComponent) value); // DetailsComponent 2481 return value; 2482 default: return super.setProperty(hash, name, value); 2483 } 2484 2485 } 2486 2487 @Override 2488 public Base setProperty(String name, Base value) throws FHIRException { 2489 if (name.equals("identifier")) { 2490 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); 2491 } else if (name.equals("status")) { 2492 value = new FinancialResourceStatusCodesEnumFactory().fromType(TypeConvertor.castToCode(value)); 2493 this.status = (Enumeration) value; // Enumeration<FinancialResourceStatusCodes> 2494 } else if (name.equals("priority")) { 2495 this.priority = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 2496 } else if (name.equals("purpose")) { 2497 value = new EligibilityRequestPurposeEnumFactory().fromType(TypeConvertor.castToCode(value)); 2498 this.getPurpose().add((Enumeration) value); 2499 } else if (name.equals("patient")) { 2500 this.patient = TypeConvertor.castToReference(value); // Reference 2501 } else if (name.equals("serviced[x]")) { 2502 this.serviced = TypeConvertor.castToType(value); // DataType 2503 } else if (name.equals("created")) { 2504 this.created = TypeConvertor.castToDateTime(value); // DateTimeType 2505 } else if (name.equals("enterer")) { 2506 this.enterer = TypeConvertor.castToReference(value); // Reference 2507 } else if (name.equals("provider")) { 2508 this.provider = TypeConvertor.castToReference(value); // Reference 2509 } else if (name.equals("insurer")) { 2510 this.insurer = TypeConvertor.castToReference(value); // Reference 2511 } else if (name.equals("facility")) { 2512 this.facility = TypeConvertor.castToReference(value); // Reference 2513 } else if (name.equals("supportingInfo")) { 2514 this.getSupportingInfo().add((SupportingInformationComponent) value); 2515 } else if (name.equals("insurance")) { 2516 this.getInsurance().add((InsuranceComponent) value); 2517 } else if (name.equals("item")) { 2518 this.getItem().add((DetailsComponent) value); 2519 } else 2520 return super.setProperty(name, value); 2521 return value; 2522 } 2523 2524 @Override 2525 public Base makeProperty(int hash, String name) throws FHIRException { 2526 switch (hash) { 2527 case -1618432855: return addIdentifier(); 2528 case -892481550: return getStatusElement(); 2529 case -1165461084: return getPriority(); 2530 case -220463842: return addPurposeElement(); 2531 case -791418107: return getPatient(); 2532 case -1927922223: return getServiced(); 2533 case 1379209295: return getServiced(); 2534 case 1028554472: return getCreatedElement(); 2535 case -1591951995: return getEnterer(); 2536 case -987494927: return getProvider(); 2537 case 1957615864: return getInsurer(); 2538 case 501116579: return getFacility(); 2539 case 1922406657: return addSupportingInfo(); 2540 case 73049818: return addInsurance(); 2541 case 3242771: return addItem(); 2542 default: return super.makeProperty(hash, name); 2543 } 2544 2545 } 2546 2547 @Override 2548 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2549 switch (hash) { 2550 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 2551 case -892481550: /*status*/ return new String[] {"code"}; 2552 case -1165461084: /*priority*/ return new String[] {"CodeableConcept"}; 2553 case -220463842: /*purpose*/ return new String[] {"code"}; 2554 case -791418107: /*patient*/ return new String[] {"Reference"}; 2555 case 1379209295: /*serviced*/ return new String[] {"date", "Period"}; 2556 case 1028554472: /*created*/ return new String[] {"dateTime"}; 2557 case -1591951995: /*enterer*/ return new String[] {"Reference"}; 2558 case -987494927: /*provider*/ return new String[] {"Reference"}; 2559 case 1957615864: /*insurer*/ return new String[] {"Reference"}; 2560 case 501116579: /*facility*/ return new String[] {"Reference"}; 2561 case 1922406657: /*supportingInfo*/ return new String[] {}; 2562 case 73049818: /*insurance*/ return new String[] {}; 2563 case 3242771: /*item*/ return new String[] {}; 2564 default: return super.getTypesForProperty(hash, name); 2565 } 2566 2567 } 2568 2569 @Override 2570 public Base addChild(String name) throws FHIRException { 2571 if (name.equals("identifier")) { 2572 return addIdentifier(); 2573 } 2574 else if (name.equals("status")) { 2575 throw new FHIRException("Cannot call addChild on a primitive type CoverageEligibilityRequest.status"); 2576 } 2577 else if (name.equals("priority")) { 2578 this.priority = new CodeableConcept(); 2579 return this.priority; 2580 } 2581 else if (name.equals("purpose")) { 2582 throw new FHIRException("Cannot call addChild on a primitive type CoverageEligibilityRequest.purpose"); 2583 } 2584 else if (name.equals("patient")) { 2585 this.patient = new Reference(); 2586 return this.patient; 2587 } 2588 else if (name.equals("servicedDate")) { 2589 this.serviced = new DateType(); 2590 return this.serviced; 2591 } 2592 else if (name.equals("servicedPeriod")) { 2593 this.serviced = new Period(); 2594 return this.serviced; 2595 } 2596 else if (name.equals("created")) { 2597 throw new FHIRException("Cannot call addChild on a primitive type CoverageEligibilityRequest.created"); 2598 } 2599 else if (name.equals("enterer")) { 2600 this.enterer = new Reference(); 2601 return this.enterer; 2602 } 2603 else if (name.equals("provider")) { 2604 this.provider = new Reference(); 2605 return this.provider; 2606 } 2607 else if (name.equals("insurer")) { 2608 this.insurer = new Reference(); 2609 return this.insurer; 2610 } 2611 else if (name.equals("facility")) { 2612 this.facility = new Reference(); 2613 return this.facility; 2614 } 2615 else if (name.equals("supportingInfo")) { 2616 return addSupportingInfo(); 2617 } 2618 else if (name.equals("insurance")) { 2619 return addInsurance(); 2620 } 2621 else if (name.equals("item")) { 2622 return addItem(); 2623 } 2624 else 2625 return super.addChild(name); 2626 } 2627 2628 public String fhirType() { 2629 return "CoverageEligibilityRequest"; 2630 2631 } 2632 2633 public CoverageEligibilityRequest copy() { 2634 CoverageEligibilityRequest dst = new CoverageEligibilityRequest(); 2635 copyValues(dst); 2636 return dst; 2637 } 2638 2639 public void copyValues(CoverageEligibilityRequest dst) { 2640 super.copyValues(dst); 2641 if (identifier != null) { 2642 dst.identifier = new ArrayList<Identifier>(); 2643 for (Identifier i : identifier) 2644 dst.identifier.add(i.copy()); 2645 }; 2646 dst.status = status == null ? null : status.copy(); 2647 dst.priority = priority == null ? null : priority.copy(); 2648 if (purpose != null) { 2649 dst.purpose = new ArrayList<Enumeration<EligibilityRequestPurpose>>(); 2650 for (Enumeration<EligibilityRequestPurpose> i : purpose) 2651 dst.purpose.add(i.copy()); 2652 }; 2653 dst.patient = patient == null ? null : patient.copy(); 2654 dst.serviced = serviced == null ? null : serviced.copy(); 2655 dst.created = created == null ? null : created.copy(); 2656 dst.enterer = enterer == null ? null : enterer.copy(); 2657 dst.provider = provider == null ? null : provider.copy(); 2658 dst.insurer = insurer == null ? null : insurer.copy(); 2659 dst.facility = facility == null ? null : facility.copy(); 2660 if (supportingInfo != null) { 2661 dst.supportingInfo = new ArrayList<SupportingInformationComponent>(); 2662 for (SupportingInformationComponent i : supportingInfo) 2663 dst.supportingInfo.add(i.copy()); 2664 }; 2665 if (insurance != null) { 2666 dst.insurance = new ArrayList<InsuranceComponent>(); 2667 for (InsuranceComponent i : insurance) 2668 dst.insurance.add(i.copy()); 2669 }; 2670 if (item != null) { 2671 dst.item = new ArrayList<DetailsComponent>(); 2672 for (DetailsComponent i : item) 2673 dst.item.add(i.copy()); 2674 }; 2675 } 2676 2677 protected CoverageEligibilityRequest typedCopy() { 2678 return copy(); 2679 } 2680 2681 @Override 2682 public boolean equalsDeep(Base other_) { 2683 if (!super.equalsDeep(other_)) 2684 return false; 2685 if (!(other_ instanceof CoverageEligibilityRequest)) 2686 return false; 2687 CoverageEligibilityRequest o = (CoverageEligibilityRequest) other_; 2688 return compareDeep(identifier, o.identifier, true) && compareDeep(status, o.status, true) && compareDeep(priority, o.priority, true) 2689 && compareDeep(purpose, o.purpose, true) && compareDeep(patient, o.patient, true) && compareDeep(serviced, o.serviced, true) 2690 && compareDeep(created, o.created, true) && compareDeep(enterer, o.enterer, true) && compareDeep(provider, o.provider, true) 2691 && compareDeep(insurer, o.insurer, true) && compareDeep(facility, o.facility, true) && compareDeep(supportingInfo, o.supportingInfo, true) 2692 && compareDeep(insurance, o.insurance, true) && compareDeep(item, o.item, true); 2693 } 2694 2695 @Override 2696 public boolean equalsShallow(Base other_) { 2697 if (!super.equalsShallow(other_)) 2698 return false; 2699 if (!(other_ instanceof CoverageEligibilityRequest)) 2700 return false; 2701 CoverageEligibilityRequest o = (CoverageEligibilityRequest) other_; 2702 return compareValues(status, o.status, true) && compareValues(purpose, o.purpose, true) && compareValues(created, o.created, true) 2703 ; 2704 } 2705 2706 public boolean isEmpty() { 2707 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, status, priority 2708 , purpose, patient, serviced, created, enterer, provider, insurer, facility 2709 , supportingInfo, insurance, item); 2710 } 2711 2712 @Override 2713 public ResourceType getResourceType() { 2714 return ResourceType.CoverageEligibilityRequest; 2715 } 2716 2717 /** 2718 * Search parameter: <b>created</b> 2719 * <p> 2720 * Description: <b>The creation date for the EOB</b><br> 2721 * Type: <b>date</b><br> 2722 * Path: <b>CoverageEligibilityRequest.created</b><br> 2723 * </p> 2724 */ 2725 @SearchParamDefinition(name="created", path="CoverageEligibilityRequest.created", description="The creation date for the EOB", type="date" ) 2726 public static final String SP_CREATED = "created"; 2727 /** 2728 * <b>Fluent Client</b> search parameter constant for <b>created</b> 2729 * <p> 2730 * Description: <b>The creation date for the EOB</b><br> 2731 * Type: <b>date</b><br> 2732 * Path: <b>CoverageEligibilityRequest.created</b><br> 2733 * </p> 2734 */ 2735 public static final ca.uhn.fhir.rest.gclient.DateClientParam CREATED = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_CREATED); 2736 2737 /** 2738 * Search parameter: <b>enterer</b> 2739 * <p> 2740 * Description: <b>The party who is responsible for the request</b><br> 2741 * Type: <b>reference</b><br> 2742 * Path: <b>CoverageEligibilityRequest.enterer</b><br> 2743 * </p> 2744 */ 2745 @SearchParamDefinition(name="enterer", path="CoverageEligibilityRequest.enterer", description="The party who is responsible for the request", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Practitioner") }, target={Practitioner.class, PractitionerRole.class } ) 2746 public static final String SP_ENTERER = "enterer"; 2747 /** 2748 * <b>Fluent Client</b> search parameter constant for <b>enterer</b> 2749 * <p> 2750 * Description: <b>The party who is responsible for the request</b><br> 2751 * Type: <b>reference</b><br> 2752 * Path: <b>CoverageEligibilityRequest.enterer</b><br> 2753 * </p> 2754 */ 2755 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ENTERER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_ENTERER); 2756 2757/** 2758 * Constant for fluent queries to be used to add include statements. Specifies 2759 * the path value of "<b>CoverageEligibilityRequest:enterer</b>". 2760 */ 2761 public static final ca.uhn.fhir.model.api.Include INCLUDE_ENTERER = new ca.uhn.fhir.model.api.Include("CoverageEligibilityRequest:enterer").toLocked(); 2762 2763 /** 2764 * Search parameter: <b>facility</b> 2765 * <p> 2766 * Description: <b>Facility responsible for the goods and services</b><br> 2767 * Type: <b>reference</b><br> 2768 * Path: <b>CoverageEligibilityRequest.facility</b><br> 2769 * </p> 2770 */ 2771 @SearchParamDefinition(name="facility", path="CoverageEligibilityRequest.facility", description="Facility responsible for the goods and services", type="reference", target={Location.class } ) 2772 public static final String SP_FACILITY = "facility"; 2773 /** 2774 * <b>Fluent Client</b> search parameter constant for <b>facility</b> 2775 * <p> 2776 * Description: <b>Facility responsible for the goods and services</b><br> 2777 * Type: <b>reference</b><br> 2778 * Path: <b>CoverageEligibilityRequest.facility</b><br> 2779 * </p> 2780 */ 2781 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam FACILITY = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_FACILITY); 2782 2783/** 2784 * Constant for fluent queries to be used to add include statements. Specifies 2785 * the path value of "<b>CoverageEligibilityRequest:facility</b>". 2786 */ 2787 public static final ca.uhn.fhir.model.api.Include INCLUDE_FACILITY = new ca.uhn.fhir.model.api.Include("CoverageEligibilityRequest:facility").toLocked(); 2788 2789 /** 2790 * Search parameter: <b>identifier</b> 2791 * <p> 2792 * Description: <b>The business identifier of the Eligibility</b><br> 2793 * Type: <b>token</b><br> 2794 * Path: <b>CoverageEligibilityRequest.identifier</b><br> 2795 * </p> 2796 */ 2797 @SearchParamDefinition(name="identifier", path="CoverageEligibilityRequest.identifier", description="The business identifier of the Eligibility", type="token" ) 2798 public static final String SP_IDENTIFIER = "identifier"; 2799 /** 2800 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 2801 * <p> 2802 * Description: <b>The business identifier of the Eligibility</b><br> 2803 * Type: <b>token</b><br> 2804 * Path: <b>CoverageEligibilityRequest.identifier</b><br> 2805 * </p> 2806 */ 2807 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 2808 2809 /** 2810 * Search parameter: <b>patient</b> 2811 * <p> 2812 * Description: <b>The reference to the patient</b><br> 2813 * Type: <b>reference</b><br> 2814 * Path: <b>CoverageEligibilityRequest.patient</b><br> 2815 * </p> 2816 */ 2817 @SearchParamDefinition(name="patient", path="CoverageEligibilityRequest.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 } ) 2818 public static final String SP_PATIENT = "patient"; 2819 /** 2820 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 2821 * <p> 2822 * Description: <b>The reference to the patient</b><br> 2823 * Type: <b>reference</b><br> 2824 * Path: <b>CoverageEligibilityRequest.patient</b><br> 2825 * </p> 2826 */ 2827 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); 2828 2829/** 2830 * Constant for fluent queries to be used to add include statements. Specifies 2831 * the path value of "<b>CoverageEligibilityRequest:patient</b>". 2832 */ 2833 public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("CoverageEligibilityRequest:patient").toLocked(); 2834 2835 /** 2836 * Search parameter: <b>provider</b> 2837 * <p> 2838 * Description: <b>The reference to the provider</b><br> 2839 * Type: <b>reference</b><br> 2840 * Path: <b>CoverageEligibilityRequest.provider</b><br> 2841 * </p> 2842 */ 2843 @SearchParamDefinition(name="provider", path="CoverageEligibilityRequest.provider", description="The reference to the provider", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Practitioner") }, target={Organization.class, Practitioner.class, PractitionerRole.class } ) 2844 public static final String SP_PROVIDER = "provider"; 2845 /** 2846 * <b>Fluent Client</b> search parameter constant for <b>provider</b> 2847 * <p> 2848 * Description: <b>The reference to the provider</b><br> 2849 * Type: <b>reference</b><br> 2850 * Path: <b>CoverageEligibilityRequest.provider</b><br> 2851 * </p> 2852 */ 2853 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PROVIDER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PROVIDER); 2854 2855/** 2856 * Constant for fluent queries to be used to add include statements. Specifies 2857 * the path value of "<b>CoverageEligibilityRequest:provider</b>". 2858 */ 2859 public static final ca.uhn.fhir.model.api.Include INCLUDE_PROVIDER = new ca.uhn.fhir.model.api.Include("CoverageEligibilityRequest:provider").toLocked(); 2860 2861 /** 2862 * Search parameter: <b>status</b> 2863 * <p> 2864 * Description: <b>The status of the EligibilityRequest</b><br> 2865 * Type: <b>token</b><br> 2866 * Path: <b>CoverageEligibilityRequest.status</b><br> 2867 * </p> 2868 */ 2869 @SearchParamDefinition(name="status", path="CoverageEligibilityRequest.status", description="The status of the EligibilityRequest", type="token" ) 2870 public static final String SP_STATUS = "status"; 2871 /** 2872 * <b>Fluent Client</b> search parameter constant for <b>status</b> 2873 * <p> 2874 * Description: <b>The status of the EligibilityRequest</b><br> 2875 * Type: <b>token</b><br> 2876 * Path: <b>CoverageEligibilityRequest.status</b><br> 2877 * </p> 2878 */ 2879 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 2880 2881 2882} 2883