001package org.hl7.fhir.r4.model; 002 003/* 004 Copyright (c) 2011+, HL7, Inc. 005 All rights reserved. 006 007 Redistribution and use in source and binary forms, with or without modification, 008 are permitted provided that the following conditions are met: 009 010 * Redistributions of source code must retain the above copyright notice, this 011 list of conditions and the following disclaimer. 012 * Redistributions in binary form must reproduce the above copyright notice, 013 this list of conditions and the following disclaimer in the documentation 014 and/or other materials provided with the distribution. 015 * Neither the name of HL7 nor the names of its contributors may be used to 016 endorse or promote products derived from this software without specific 017 prior written permission. 018 019 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 020 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 021 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 022 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 023 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 024 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 025 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 026 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 027 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 028 POSSIBILITY OF SUCH DAMAGE. 029 030*/ 031 032// Generated on Thu, Dec 27, 2018 10:06-0500 for FHIR v4.0.0 033 034import java.util.*; 035 036import org.hl7.fhir.utilities.Utilities; 037import org.hl7.fhir.r4.model.Enumerations.*; 038import ca.uhn.fhir.model.api.annotation.ResourceDef; 039import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 040import ca.uhn.fhir.model.api.annotation.Child; 041import ca.uhn.fhir.model.api.annotation.ChildOrder; 042import ca.uhn.fhir.model.api.annotation.Description; 043import ca.uhn.fhir.model.api.annotation.Block; 044import org.hl7.fhir.instance.model.api.*; 045import org.hl7.fhir.exceptions.FHIRException; 046/** 047 * This resource provides the details including amount of a payment and allocates the payment items being paid. 048 */ 049@ResourceDef(name="PaymentReconciliation", profile="http://hl7.org/fhir/StructureDefinition/PaymentReconciliation") 050public class PaymentReconciliation extends DomainResource { 051 052 public enum PaymentReconciliationStatus { 053 /** 054 * The instance is currently in-force. 055 */ 056 ACTIVE, 057 /** 058 * The instance is withdrawn, rescinded or reversed. 059 */ 060 CANCELLED, 061 /** 062 * A new instance the contents of which is not complete. 063 */ 064 DRAFT, 065 /** 066 * The instance was entered in error. 067 */ 068 ENTEREDINERROR, 069 /** 070 * added to help the parsers with the generic types 071 */ 072 NULL; 073 public static PaymentReconciliationStatus fromCode(String codeString) throws FHIRException { 074 if (codeString == null || "".equals(codeString)) 075 return null; 076 if ("active".equals(codeString)) 077 return ACTIVE; 078 if ("cancelled".equals(codeString)) 079 return CANCELLED; 080 if ("draft".equals(codeString)) 081 return DRAFT; 082 if ("entered-in-error".equals(codeString)) 083 return ENTEREDINERROR; 084 if (Configuration.isAcceptInvalidEnums()) 085 return null; 086 else 087 throw new FHIRException("Unknown PaymentReconciliationStatus code '"+codeString+"'"); 088 } 089 public String toCode() { 090 switch (this) { 091 case ACTIVE: return "active"; 092 case CANCELLED: return "cancelled"; 093 case DRAFT: return "draft"; 094 case ENTEREDINERROR: return "entered-in-error"; 095 default: return "?"; 096 } 097 } 098 public String getSystem() { 099 switch (this) { 100 case ACTIVE: return "http://hl7.org/fhir/fm-status"; 101 case CANCELLED: return "http://hl7.org/fhir/fm-status"; 102 case DRAFT: return "http://hl7.org/fhir/fm-status"; 103 case ENTEREDINERROR: return "http://hl7.org/fhir/fm-status"; 104 default: return "?"; 105 } 106 } 107 public String getDefinition() { 108 switch (this) { 109 case ACTIVE: return "The instance is currently in-force."; 110 case CANCELLED: return "The instance is withdrawn, rescinded or reversed."; 111 case DRAFT: return "A new instance the contents of which is not complete."; 112 case ENTEREDINERROR: return "The instance was entered in error."; 113 default: return "?"; 114 } 115 } 116 public String getDisplay() { 117 switch (this) { 118 case ACTIVE: return "Active"; 119 case CANCELLED: return "Cancelled"; 120 case DRAFT: return "Draft"; 121 case ENTEREDINERROR: return "Entered in Error"; 122 default: return "?"; 123 } 124 } 125 } 126 127 public static class PaymentReconciliationStatusEnumFactory implements EnumFactory<PaymentReconciliationStatus> { 128 public PaymentReconciliationStatus fromCode(String codeString) throws IllegalArgumentException { 129 if (codeString == null || "".equals(codeString)) 130 if (codeString == null || "".equals(codeString)) 131 return null; 132 if ("active".equals(codeString)) 133 return PaymentReconciliationStatus.ACTIVE; 134 if ("cancelled".equals(codeString)) 135 return PaymentReconciliationStatus.CANCELLED; 136 if ("draft".equals(codeString)) 137 return PaymentReconciliationStatus.DRAFT; 138 if ("entered-in-error".equals(codeString)) 139 return PaymentReconciliationStatus.ENTEREDINERROR; 140 throw new IllegalArgumentException("Unknown PaymentReconciliationStatus code '"+codeString+"'"); 141 } 142 public Enumeration<PaymentReconciliationStatus> fromType(Base code) throws FHIRException { 143 if (code == null) 144 return null; 145 if (code.isEmpty()) 146 return new Enumeration<PaymentReconciliationStatus>(this); 147 String codeString = ((PrimitiveType) code).asStringValue(); 148 if (codeString == null || "".equals(codeString)) 149 return null; 150 if ("active".equals(codeString)) 151 return new Enumeration<PaymentReconciliationStatus>(this, PaymentReconciliationStatus.ACTIVE); 152 if ("cancelled".equals(codeString)) 153 return new Enumeration<PaymentReconciliationStatus>(this, PaymentReconciliationStatus.CANCELLED); 154 if ("draft".equals(codeString)) 155 return new Enumeration<PaymentReconciliationStatus>(this, PaymentReconciliationStatus.DRAFT); 156 if ("entered-in-error".equals(codeString)) 157 return new Enumeration<PaymentReconciliationStatus>(this, PaymentReconciliationStatus.ENTEREDINERROR); 158 throw new FHIRException("Unknown PaymentReconciliationStatus code '"+codeString+"'"); 159 } 160 public String toCode(PaymentReconciliationStatus code) { 161 if (code == PaymentReconciliationStatus.ACTIVE) 162 return "active"; 163 if (code == PaymentReconciliationStatus.CANCELLED) 164 return "cancelled"; 165 if (code == PaymentReconciliationStatus.DRAFT) 166 return "draft"; 167 if (code == PaymentReconciliationStatus.ENTEREDINERROR) 168 return "entered-in-error"; 169 return "?"; 170 } 171 public String toSystem(PaymentReconciliationStatus code) { 172 return code.getSystem(); 173 } 174 } 175 176 @Block() 177 public static class DetailsComponent extends BackboneElement implements IBaseBackboneElement { 178 /** 179 * Unique identifier for the current payment item for the referenced payable. 180 */ 181 @Child(name = "identifier", type = {Identifier.class}, order=1, min=0, max=1, modifier=false, summary=false) 182 @Description(shortDefinition="Business identifier of the payment detail", formalDefinition="Unique identifier for the current payment item for the referenced payable." ) 183 protected Identifier identifier; 184 185 /** 186 * Unique identifier for the prior payment item for the referenced payable. 187 */ 188 @Child(name = "predecessor", type = {Identifier.class}, order=2, min=0, max=1, modifier=false, summary=false) 189 @Description(shortDefinition="Business identifier of the prior payment detail", formalDefinition="Unique identifier for the prior payment item for the referenced payable." ) 190 protected Identifier predecessor; 191 192 /** 193 * Code to indicate the nature of the payment. 194 */ 195 @Child(name = "type", type = {CodeableConcept.class}, order=3, min=1, max=1, modifier=false, summary=false) 196 @Description(shortDefinition="Category of payment", formalDefinition="Code to indicate the nature of the payment." ) 197 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/payment-type") 198 protected CodeableConcept type; 199 200 /** 201 * A resource, such as a Claim, the evaluation of which could lead to payment. 202 */ 203 @Child(name = "request", type = {Reference.class}, order=4, min=0, max=1, modifier=false, summary=false) 204 @Description(shortDefinition="Request giving rise to the payment", formalDefinition="A resource, such as a Claim, the evaluation of which could lead to payment." ) 205 protected Reference request; 206 207 /** 208 * The actual object that is the target of the reference (A resource, such as a Claim, the evaluation of which could lead to payment.) 209 */ 210 protected Resource requestTarget; 211 212 /** 213 * The party which submitted the claim or financial transaction. 214 */ 215 @Child(name = "submitter", type = {Practitioner.class, PractitionerRole.class, Organization.class}, order=5, min=0, max=1, modifier=false, summary=false) 216 @Description(shortDefinition="Submitter of the request", formalDefinition="The party which submitted the claim or financial transaction." ) 217 protected Reference submitter; 218 219 /** 220 * The actual object that is the target of the reference (The party which submitted the claim or financial transaction.) 221 */ 222 protected Resource submitterTarget; 223 224 /** 225 * A resource, such as a ClaimResponse, which contains a commitment to payment. 226 */ 227 @Child(name = "response", type = {Reference.class}, order=6, min=0, max=1, modifier=false, summary=false) 228 @Description(shortDefinition="Response committing to a payment", formalDefinition="A resource, such as a ClaimResponse, which contains a commitment to payment." ) 229 protected Reference response; 230 231 /** 232 * The actual object that is the target of the reference (A resource, such as a ClaimResponse, which contains a commitment to payment.) 233 */ 234 protected Resource responseTarget; 235 236 /** 237 * The date from the response resource containing a commitment to pay. 238 */ 239 @Child(name = "date", type = {DateType.class}, order=7, min=0, max=1, modifier=false, summary=false) 240 @Description(shortDefinition="Date of commitment to pay", formalDefinition="The date from the response resource containing a commitment to pay." ) 241 protected DateType date; 242 243 /** 244 * A reference to the individual who is responsible for inquiries regarding the response and its payment. 245 */ 246 @Child(name = "responsible", type = {PractitionerRole.class}, order=8, min=0, max=1, modifier=false, summary=false) 247 @Description(shortDefinition="Contact for the response", formalDefinition="A reference to the individual who is responsible for inquiries regarding the response and its payment." ) 248 protected Reference responsible; 249 250 /** 251 * The actual object that is the target of the reference (A reference to the individual who is responsible for inquiries regarding the response and its payment.) 252 */ 253 protected PractitionerRole responsibleTarget; 254 255 /** 256 * The party which is receiving the payment. 257 */ 258 @Child(name = "payee", type = {Practitioner.class, PractitionerRole.class, Organization.class}, order=9, min=0, max=1, modifier=false, summary=false) 259 @Description(shortDefinition="Recipient of the payment", formalDefinition="The party which is receiving the payment." ) 260 protected Reference payee; 261 262 /** 263 * The actual object that is the target of the reference (The party which is receiving the payment.) 264 */ 265 protected Resource payeeTarget; 266 267 /** 268 * The monetary amount allocated from the total payment to the payable. 269 */ 270 @Child(name = "amount", type = {Money.class}, order=10, min=0, max=1, modifier=false, summary=false) 271 @Description(shortDefinition="Amount allocated to this payable", formalDefinition="The monetary amount allocated from the total payment to the payable." ) 272 protected Money amount; 273 274 private static final long serialVersionUID = -1361848619L; 275 276 /** 277 * Constructor 278 */ 279 public DetailsComponent() { 280 super(); 281 } 282 283 /** 284 * Constructor 285 */ 286 public DetailsComponent(CodeableConcept type) { 287 super(); 288 this.type = type; 289 } 290 291 /** 292 * @return {@link #identifier} (Unique identifier for the current payment item for the referenced payable.) 293 */ 294 public Identifier getIdentifier() { 295 if (this.identifier == null) 296 if (Configuration.errorOnAutoCreate()) 297 throw new Error("Attempt to auto-create DetailsComponent.identifier"); 298 else if (Configuration.doAutoCreate()) 299 this.identifier = new Identifier(); // cc 300 return this.identifier; 301 } 302 303 public boolean hasIdentifier() { 304 return this.identifier != null && !this.identifier.isEmpty(); 305 } 306 307 /** 308 * @param value {@link #identifier} (Unique identifier for the current payment item for the referenced payable.) 309 */ 310 public DetailsComponent setIdentifier(Identifier value) { 311 this.identifier = value; 312 return this; 313 } 314 315 /** 316 * @return {@link #predecessor} (Unique identifier for the prior payment item for the referenced payable.) 317 */ 318 public Identifier getPredecessor() { 319 if (this.predecessor == null) 320 if (Configuration.errorOnAutoCreate()) 321 throw new Error("Attempt to auto-create DetailsComponent.predecessor"); 322 else if (Configuration.doAutoCreate()) 323 this.predecessor = new Identifier(); // cc 324 return this.predecessor; 325 } 326 327 public boolean hasPredecessor() { 328 return this.predecessor != null && !this.predecessor.isEmpty(); 329 } 330 331 /** 332 * @param value {@link #predecessor} (Unique identifier for the prior payment item for the referenced payable.) 333 */ 334 public DetailsComponent setPredecessor(Identifier value) { 335 this.predecessor = value; 336 return this; 337 } 338 339 /** 340 * @return {@link #type} (Code to indicate the nature of the payment.) 341 */ 342 public CodeableConcept getType() { 343 if (this.type == null) 344 if (Configuration.errorOnAutoCreate()) 345 throw new Error("Attempt to auto-create DetailsComponent.type"); 346 else if (Configuration.doAutoCreate()) 347 this.type = new CodeableConcept(); // cc 348 return this.type; 349 } 350 351 public boolean hasType() { 352 return this.type != null && !this.type.isEmpty(); 353 } 354 355 /** 356 * @param value {@link #type} (Code to indicate the nature of the payment.) 357 */ 358 public DetailsComponent setType(CodeableConcept value) { 359 this.type = value; 360 return this; 361 } 362 363 /** 364 * @return {@link #request} (A resource, such as a Claim, the evaluation of which could lead to payment.) 365 */ 366 public Reference getRequest() { 367 if (this.request == null) 368 if (Configuration.errorOnAutoCreate()) 369 throw new Error("Attempt to auto-create DetailsComponent.request"); 370 else if (Configuration.doAutoCreate()) 371 this.request = new Reference(); // cc 372 return this.request; 373 } 374 375 public boolean hasRequest() { 376 return this.request != null && !this.request.isEmpty(); 377 } 378 379 /** 380 * @param value {@link #request} (A resource, such as a Claim, the evaluation of which could lead to payment.) 381 */ 382 public DetailsComponent setRequest(Reference value) { 383 this.request = value; 384 return this; 385 } 386 387 /** 388 * @return {@link #request} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (A resource, such as a Claim, the evaluation of which could lead to payment.) 389 */ 390 public Resource getRequestTarget() { 391 return this.requestTarget; 392 } 393 394 /** 395 * @param value {@link #request} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (A resource, such as a Claim, the evaluation of which could lead to payment.) 396 */ 397 public DetailsComponent setRequestTarget(Resource value) { 398 this.requestTarget = value; 399 return this; 400 } 401 402 /** 403 * @return {@link #submitter} (The party which submitted the claim or financial transaction.) 404 */ 405 public Reference getSubmitter() { 406 if (this.submitter == null) 407 if (Configuration.errorOnAutoCreate()) 408 throw new Error("Attempt to auto-create DetailsComponent.submitter"); 409 else if (Configuration.doAutoCreate()) 410 this.submitter = new Reference(); // cc 411 return this.submitter; 412 } 413 414 public boolean hasSubmitter() { 415 return this.submitter != null && !this.submitter.isEmpty(); 416 } 417 418 /** 419 * @param value {@link #submitter} (The party which submitted the claim or financial transaction.) 420 */ 421 public DetailsComponent setSubmitter(Reference value) { 422 this.submitter = value; 423 return this; 424 } 425 426 /** 427 * @return {@link #submitter} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (The party which submitted the claim or financial transaction.) 428 */ 429 public Resource getSubmitterTarget() { 430 return this.submitterTarget; 431 } 432 433 /** 434 * @param value {@link #submitter} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (The party which submitted the claim or financial transaction.) 435 */ 436 public DetailsComponent setSubmitterTarget(Resource value) { 437 this.submitterTarget = value; 438 return this; 439 } 440 441 /** 442 * @return {@link #response} (A resource, such as a ClaimResponse, which contains a commitment to payment.) 443 */ 444 public Reference getResponse() { 445 if (this.response == null) 446 if (Configuration.errorOnAutoCreate()) 447 throw new Error("Attempt to auto-create DetailsComponent.response"); 448 else if (Configuration.doAutoCreate()) 449 this.response = new Reference(); // cc 450 return this.response; 451 } 452 453 public boolean hasResponse() { 454 return this.response != null && !this.response.isEmpty(); 455 } 456 457 /** 458 * @param value {@link #response} (A resource, such as a ClaimResponse, which contains a commitment to payment.) 459 */ 460 public DetailsComponent setResponse(Reference value) { 461 this.response = value; 462 return this; 463 } 464 465 /** 466 * @return {@link #response} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (A resource, such as a ClaimResponse, which contains a commitment to payment.) 467 */ 468 public Resource getResponseTarget() { 469 return this.responseTarget; 470 } 471 472 /** 473 * @param value {@link #response} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (A resource, such as a ClaimResponse, which contains a commitment to payment.) 474 */ 475 public DetailsComponent setResponseTarget(Resource value) { 476 this.responseTarget = value; 477 return this; 478 } 479 480 /** 481 * @return {@link #date} (The date from the response resource containing a commitment to pay.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 482 */ 483 public DateType getDateElement() { 484 if (this.date == null) 485 if (Configuration.errorOnAutoCreate()) 486 throw new Error("Attempt to auto-create DetailsComponent.date"); 487 else if (Configuration.doAutoCreate()) 488 this.date = new DateType(); // bb 489 return this.date; 490 } 491 492 public boolean hasDateElement() { 493 return this.date != null && !this.date.isEmpty(); 494 } 495 496 public boolean hasDate() { 497 return this.date != null && !this.date.isEmpty(); 498 } 499 500 /** 501 * @param value {@link #date} (The date from the response resource containing a commitment to pay.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 502 */ 503 public DetailsComponent setDateElement(DateType value) { 504 this.date = value; 505 return this; 506 } 507 508 /** 509 * @return The date from the response resource containing a commitment to pay. 510 */ 511 public Date getDate() { 512 return this.date == null ? null : this.date.getValue(); 513 } 514 515 /** 516 * @param value The date from the response resource containing a commitment to pay. 517 */ 518 public DetailsComponent setDate(Date value) { 519 if (value == null) 520 this.date = null; 521 else { 522 if (this.date == null) 523 this.date = new DateType(); 524 this.date.setValue(value); 525 } 526 return this; 527 } 528 529 /** 530 * @return {@link #responsible} (A reference to the individual who is responsible for inquiries regarding the response and its payment.) 531 */ 532 public Reference getResponsible() { 533 if (this.responsible == null) 534 if (Configuration.errorOnAutoCreate()) 535 throw new Error("Attempt to auto-create DetailsComponent.responsible"); 536 else if (Configuration.doAutoCreate()) 537 this.responsible = new Reference(); // cc 538 return this.responsible; 539 } 540 541 public boolean hasResponsible() { 542 return this.responsible != null && !this.responsible.isEmpty(); 543 } 544 545 /** 546 * @param value {@link #responsible} (A reference to the individual who is responsible for inquiries regarding the response and its payment.) 547 */ 548 public DetailsComponent setResponsible(Reference value) { 549 this.responsible = value; 550 return this; 551 } 552 553 /** 554 * @return {@link #responsible} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (A reference to the individual who is responsible for inquiries regarding the response and its payment.) 555 */ 556 public PractitionerRole getResponsibleTarget() { 557 if (this.responsibleTarget == null) 558 if (Configuration.errorOnAutoCreate()) 559 throw new Error("Attempt to auto-create DetailsComponent.responsible"); 560 else if (Configuration.doAutoCreate()) 561 this.responsibleTarget = new PractitionerRole(); // aa 562 return this.responsibleTarget; 563 } 564 565 /** 566 * @param value {@link #responsible} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (A reference to the individual who is responsible for inquiries regarding the response and its payment.) 567 */ 568 public DetailsComponent setResponsibleTarget(PractitionerRole value) { 569 this.responsibleTarget = value; 570 return this; 571 } 572 573 /** 574 * @return {@link #payee} (The party which is receiving the payment.) 575 */ 576 public Reference getPayee() { 577 if (this.payee == null) 578 if (Configuration.errorOnAutoCreate()) 579 throw new Error("Attempt to auto-create DetailsComponent.payee"); 580 else if (Configuration.doAutoCreate()) 581 this.payee = new Reference(); // cc 582 return this.payee; 583 } 584 585 public boolean hasPayee() { 586 return this.payee != null && !this.payee.isEmpty(); 587 } 588 589 /** 590 * @param value {@link #payee} (The party which is receiving the payment.) 591 */ 592 public DetailsComponent setPayee(Reference value) { 593 this.payee = value; 594 return this; 595 } 596 597 /** 598 * @return {@link #payee} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (The party which is receiving the payment.) 599 */ 600 public Resource getPayeeTarget() { 601 return this.payeeTarget; 602 } 603 604 /** 605 * @param value {@link #payee} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (The party which is receiving the payment.) 606 */ 607 public DetailsComponent setPayeeTarget(Resource value) { 608 this.payeeTarget = value; 609 return this; 610 } 611 612 /** 613 * @return {@link #amount} (The monetary amount allocated from the total payment to the payable.) 614 */ 615 public Money getAmount() { 616 if (this.amount == null) 617 if (Configuration.errorOnAutoCreate()) 618 throw new Error("Attempt to auto-create DetailsComponent.amount"); 619 else if (Configuration.doAutoCreate()) 620 this.amount = new Money(); // cc 621 return this.amount; 622 } 623 624 public boolean hasAmount() { 625 return this.amount != null && !this.amount.isEmpty(); 626 } 627 628 /** 629 * @param value {@link #amount} (The monetary amount allocated from the total payment to the payable.) 630 */ 631 public DetailsComponent setAmount(Money value) { 632 this.amount = value; 633 return this; 634 } 635 636 protected void listChildren(List<Property> children) { 637 super.listChildren(children); 638 children.add(new Property("identifier", "Identifier", "Unique identifier for the current payment item for the referenced payable.", 0, 1, identifier)); 639 children.add(new Property("predecessor", "Identifier", "Unique identifier for the prior payment item for the referenced payable.", 0, 1, predecessor)); 640 children.add(new Property("type", "CodeableConcept", "Code to indicate the nature of the payment.", 0, 1, type)); 641 children.add(new Property("request", "Reference(Any)", "A resource, such as a Claim, the evaluation of which could lead to payment.", 0, 1, request)); 642 children.add(new Property("submitter", "Reference(Practitioner|PractitionerRole|Organization)", "The party which submitted the claim or financial transaction.", 0, 1, submitter)); 643 children.add(new Property("response", "Reference(Any)", "A resource, such as a ClaimResponse, which contains a commitment to payment.", 0, 1, response)); 644 children.add(new Property("date", "date", "The date from the response resource containing a commitment to pay.", 0, 1, date)); 645 children.add(new Property("responsible", "Reference(PractitionerRole)", "A reference to the individual who is responsible for inquiries regarding the response and its payment.", 0, 1, responsible)); 646 children.add(new Property("payee", "Reference(Practitioner|PractitionerRole|Organization)", "The party which is receiving the payment.", 0, 1, payee)); 647 children.add(new Property("amount", "Money", "The monetary amount allocated from the total payment to the payable.", 0, 1, amount)); 648 } 649 650 @Override 651 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 652 switch (_hash) { 653 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Unique identifier for the current payment item for the referenced payable.", 0, 1, identifier); 654 case -1925032183: /*predecessor*/ return new Property("predecessor", "Identifier", "Unique identifier for the prior payment item for the referenced payable.", 0, 1, predecessor); 655 case 3575610: /*type*/ return new Property("type", "CodeableConcept", "Code to indicate the nature of the payment.", 0, 1, type); 656 case 1095692943: /*request*/ return new Property("request", "Reference(Any)", "A resource, such as a Claim, the evaluation of which could lead to payment.", 0, 1, request); 657 case 348678409: /*submitter*/ return new Property("submitter", "Reference(Practitioner|PractitionerRole|Organization)", "The party which submitted the claim or financial transaction.", 0, 1, submitter); 658 case -340323263: /*response*/ return new Property("response", "Reference(Any)", "A resource, such as a ClaimResponse, which contains a commitment to payment.", 0, 1, response); 659 case 3076014: /*date*/ return new Property("date", "date", "The date from the response resource containing a commitment to pay.", 0, 1, date); 660 case 1847674614: /*responsible*/ return new Property("responsible", "Reference(PractitionerRole)", "A reference to the individual who is responsible for inquiries regarding the response and its payment.", 0, 1, responsible); 661 case 106443592: /*payee*/ return new Property("payee", "Reference(Practitioner|PractitionerRole|Organization)", "The party which is receiving the payment.", 0, 1, payee); 662 case -1413853096: /*amount*/ return new Property("amount", "Money", "The monetary amount allocated from the total payment to the payable.", 0, 1, amount); 663 default: return super.getNamedProperty(_hash, _name, _checkValid); 664 } 665 666 } 667 668 @Override 669 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 670 switch (hash) { 671 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : new Base[] {this.identifier}; // Identifier 672 case -1925032183: /*predecessor*/ return this.predecessor == null ? new Base[0] : new Base[] {this.predecessor}; // Identifier 673 case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeableConcept 674 case 1095692943: /*request*/ return this.request == null ? new Base[0] : new Base[] {this.request}; // Reference 675 case 348678409: /*submitter*/ return this.submitter == null ? new Base[0] : new Base[] {this.submitter}; // Reference 676 case -340323263: /*response*/ return this.response == null ? new Base[0] : new Base[] {this.response}; // Reference 677 case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateType 678 case 1847674614: /*responsible*/ return this.responsible == null ? new Base[0] : new Base[] {this.responsible}; // Reference 679 case 106443592: /*payee*/ return this.payee == null ? new Base[0] : new Base[] {this.payee}; // Reference 680 case -1413853096: /*amount*/ return this.amount == null ? new Base[0] : new Base[] {this.amount}; // Money 681 default: return super.getProperty(hash, name, checkValid); 682 } 683 684 } 685 686 @Override 687 public Base setProperty(int hash, String name, Base value) throws FHIRException { 688 switch (hash) { 689 case -1618432855: // identifier 690 this.identifier = castToIdentifier(value); // Identifier 691 return value; 692 case -1925032183: // predecessor 693 this.predecessor = castToIdentifier(value); // Identifier 694 return value; 695 case 3575610: // type 696 this.type = castToCodeableConcept(value); // CodeableConcept 697 return value; 698 case 1095692943: // request 699 this.request = castToReference(value); // Reference 700 return value; 701 case 348678409: // submitter 702 this.submitter = castToReference(value); // Reference 703 return value; 704 case -340323263: // response 705 this.response = castToReference(value); // Reference 706 return value; 707 case 3076014: // date 708 this.date = castToDate(value); // DateType 709 return value; 710 case 1847674614: // responsible 711 this.responsible = castToReference(value); // Reference 712 return value; 713 case 106443592: // payee 714 this.payee = castToReference(value); // Reference 715 return value; 716 case -1413853096: // amount 717 this.amount = castToMoney(value); // Money 718 return value; 719 default: return super.setProperty(hash, name, value); 720 } 721 722 } 723 724 @Override 725 public Base setProperty(String name, Base value) throws FHIRException { 726 if (name.equals("identifier")) { 727 this.identifier = castToIdentifier(value); // Identifier 728 } else if (name.equals("predecessor")) { 729 this.predecessor = castToIdentifier(value); // Identifier 730 } else if (name.equals("type")) { 731 this.type = castToCodeableConcept(value); // CodeableConcept 732 } else if (name.equals("request")) { 733 this.request = castToReference(value); // Reference 734 } else if (name.equals("submitter")) { 735 this.submitter = castToReference(value); // Reference 736 } else if (name.equals("response")) { 737 this.response = castToReference(value); // Reference 738 } else if (name.equals("date")) { 739 this.date = castToDate(value); // DateType 740 } else if (name.equals("responsible")) { 741 this.responsible = castToReference(value); // Reference 742 } else if (name.equals("payee")) { 743 this.payee = castToReference(value); // Reference 744 } else if (name.equals("amount")) { 745 this.amount = castToMoney(value); // Money 746 } else 747 return super.setProperty(name, value); 748 return value; 749 } 750 751 @Override 752 public Base makeProperty(int hash, String name) throws FHIRException { 753 switch (hash) { 754 case -1618432855: return getIdentifier(); 755 case -1925032183: return getPredecessor(); 756 case 3575610: return getType(); 757 case 1095692943: return getRequest(); 758 case 348678409: return getSubmitter(); 759 case -340323263: return getResponse(); 760 case 3076014: return getDateElement(); 761 case 1847674614: return getResponsible(); 762 case 106443592: return getPayee(); 763 case -1413853096: return getAmount(); 764 default: return super.makeProperty(hash, name); 765 } 766 767 } 768 769 @Override 770 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 771 switch (hash) { 772 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 773 case -1925032183: /*predecessor*/ return new String[] {"Identifier"}; 774 case 3575610: /*type*/ return new String[] {"CodeableConcept"}; 775 case 1095692943: /*request*/ return new String[] {"Reference"}; 776 case 348678409: /*submitter*/ return new String[] {"Reference"}; 777 case -340323263: /*response*/ return new String[] {"Reference"}; 778 case 3076014: /*date*/ return new String[] {"date"}; 779 case 1847674614: /*responsible*/ return new String[] {"Reference"}; 780 case 106443592: /*payee*/ return new String[] {"Reference"}; 781 case -1413853096: /*amount*/ return new String[] {"Money"}; 782 default: return super.getTypesForProperty(hash, name); 783 } 784 785 } 786 787 @Override 788 public Base addChild(String name) throws FHIRException { 789 if (name.equals("identifier")) { 790 this.identifier = new Identifier(); 791 return this.identifier; 792 } 793 else if (name.equals("predecessor")) { 794 this.predecessor = new Identifier(); 795 return this.predecessor; 796 } 797 else if (name.equals("type")) { 798 this.type = new CodeableConcept(); 799 return this.type; 800 } 801 else if (name.equals("request")) { 802 this.request = new Reference(); 803 return this.request; 804 } 805 else if (name.equals("submitter")) { 806 this.submitter = new Reference(); 807 return this.submitter; 808 } 809 else if (name.equals("response")) { 810 this.response = new Reference(); 811 return this.response; 812 } 813 else if (name.equals("date")) { 814 throw new FHIRException("Cannot call addChild on a primitive type PaymentReconciliation.date"); 815 } 816 else if (name.equals("responsible")) { 817 this.responsible = new Reference(); 818 return this.responsible; 819 } 820 else if (name.equals("payee")) { 821 this.payee = new Reference(); 822 return this.payee; 823 } 824 else if (name.equals("amount")) { 825 this.amount = new Money(); 826 return this.amount; 827 } 828 else 829 return super.addChild(name); 830 } 831 832 public DetailsComponent copy() { 833 DetailsComponent dst = new DetailsComponent(); 834 copyValues(dst); 835 dst.identifier = identifier == null ? null : identifier.copy(); 836 dst.predecessor = predecessor == null ? null : predecessor.copy(); 837 dst.type = type == null ? null : type.copy(); 838 dst.request = request == null ? null : request.copy(); 839 dst.submitter = submitter == null ? null : submitter.copy(); 840 dst.response = response == null ? null : response.copy(); 841 dst.date = date == null ? null : date.copy(); 842 dst.responsible = responsible == null ? null : responsible.copy(); 843 dst.payee = payee == null ? null : payee.copy(); 844 dst.amount = amount == null ? null : amount.copy(); 845 return dst; 846 } 847 848 @Override 849 public boolean equalsDeep(Base other_) { 850 if (!super.equalsDeep(other_)) 851 return false; 852 if (!(other_ instanceof DetailsComponent)) 853 return false; 854 DetailsComponent o = (DetailsComponent) other_; 855 return compareDeep(identifier, o.identifier, true) && compareDeep(predecessor, o.predecessor, true) 856 && compareDeep(type, o.type, true) && compareDeep(request, o.request, true) && compareDeep(submitter, o.submitter, true) 857 && compareDeep(response, o.response, true) && compareDeep(date, o.date, true) && compareDeep(responsible, o.responsible, true) 858 && compareDeep(payee, o.payee, true) && compareDeep(amount, o.amount, true); 859 } 860 861 @Override 862 public boolean equalsShallow(Base other_) { 863 if (!super.equalsShallow(other_)) 864 return false; 865 if (!(other_ instanceof DetailsComponent)) 866 return false; 867 DetailsComponent o = (DetailsComponent) other_; 868 return compareValues(date, o.date, true); 869 } 870 871 public boolean isEmpty() { 872 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, predecessor, type 873 , request, submitter, response, date, responsible, payee, amount); 874 } 875 876 public String fhirType() { 877 return "PaymentReconciliation.detail"; 878 879 } 880 881 } 882 883 @Block() 884 public static class NotesComponent extends BackboneElement implements IBaseBackboneElement { 885 /** 886 * The business purpose of the note text. 887 */ 888 @Child(name = "type", type = {CodeType.class}, order=1, min=0, max=1, modifier=false, summary=false) 889 @Description(shortDefinition="display | print | printoper", formalDefinition="The business purpose of the note text." ) 890 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/note-type") 891 protected Enumeration<NoteType> type; 892 893 /** 894 * The explanation or description associated with the processing. 895 */ 896 @Child(name = "text", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=false) 897 @Description(shortDefinition="Note explanatory text", formalDefinition="The explanation or description associated with the processing." ) 898 protected StringType text; 899 900 private static final long serialVersionUID = 529250161L; 901 902 /** 903 * Constructor 904 */ 905 public NotesComponent() { 906 super(); 907 } 908 909 /** 910 * @return {@link #type} (The business purpose of the note text.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value 911 */ 912 public Enumeration<NoteType> getTypeElement() { 913 if (this.type == null) 914 if (Configuration.errorOnAutoCreate()) 915 throw new Error("Attempt to auto-create NotesComponent.type"); 916 else if (Configuration.doAutoCreate()) 917 this.type = new Enumeration<NoteType>(new NoteTypeEnumFactory()); // bb 918 return this.type; 919 } 920 921 public boolean hasTypeElement() { 922 return this.type != null && !this.type.isEmpty(); 923 } 924 925 public boolean hasType() { 926 return this.type != null && !this.type.isEmpty(); 927 } 928 929 /** 930 * @param value {@link #type} (The business purpose of the note text.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value 931 */ 932 public NotesComponent setTypeElement(Enumeration<NoteType> value) { 933 this.type = value; 934 return this; 935 } 936 937 /** 938 * @return The business purpose of the note text. 939 */ 940 public NoteType getType() { 941 return this.type == null ? null : this.type.getValue(); 942 } 943 944 /** 945 * @param value The business purpose of the note text. 946 */ 947 public NotesComponent setType(NoteType value) { 948 if (value == null) 949 this.type = null; 950 else { 951 if (this.type == null) 952 this.type = new Enumeration<NoteType>(new NoteTypeEnumFactory()); 953 this.type.setValue(value); 954 } 955 return this; 956 } 957 958 /** 959 * @return {@link #text} (The explanation or description associated with the processing.). This is the underlying object with id, value and extensions. The accessor "getText" gives direct access to the value 960 */ 961 public StringType getTextElement() { 962 if (this.text == null) 963 if (Configuration.errorOnAutoCreate()) 964 throw new Error("Attempt to auto-create NotesComponent.text"); 965 else if (Configuration.doAutoCreate()) 966 this.text = new StringType(); // bb 967 return this.text; 968 } 969 970 public boolean hasTextElement() { 971 return this.text != null && !this.text.isEmpty(); 972 } 973 974 public boolean hasText() { 975 return this.text != null && !this.text.isEmpty(); 976 } 977 978 /** 979 * @param value {@link #text} (The explanation or description associated with the processing.). This is the underlying object with id, value and extensions. The accessor "getText" gives direct access to the value 980 */ 981 public NotesComponent setTextElement(StringType value) { 982 this.text = value; 983 return this; 984 } 985 986 /** 987 * @return The explanation or description associated with the processing. 988 */ 989 public String getText() { 990 return this.text == null ? null : this.text.getValue(); 991 } 992 993 /** 994 * @param value The explanation or description associated with the processing. 995 */ 996 public NotesComponent setText(String value) { 997 if (Utilities.noString(value)) 998 this.text = null; 999 else { 1000 if (this.text == null) 1001 this.text = new StringType(); 1002 this.text.setValue(value); 1003 } 1004 return this; 1005 } 1006 1007 protected void listChildren(List<Property> children) { 1008 super.listChildren(children); 1009 children.add(new Property("type", "code", "The business purpose of the note text.", 0, 1, type)); 1010 children.add(new Property("text", "string", "The explanation or description associated with the processing.", 0, 1, text)); 1011 } 1012 1013 @Override 1014 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1015 switch (_hash) { 1016 case 3575610: /*type*/ return new Property("type", "code", "The business purpose of the note text.", 0, 1, type); 1017 case 3556653: /*text*/ return new Property("text", "string", "The explanation or description associated with the processing.", 0, 1, text); 1018 default: return super.getNamedProperty(_hash, _name, _checkValid); 1019 } 1020 1021 } 1022 1023 @Override 1024 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1025 switch (hash) { 1026 case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // Enumeration<NoteType> 1027 case 3556653: /*text*/ return this.text == null ? new Base[0] : new Base[] {this.text}; // StringType 1028 default: return super.getProperty(hash, name, checkValid); 1029 } 1030 1031 } 1032 1033 @Override 1034 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1035 switch (hash) { 1036 case 3575610: // type 1037 value = new NoteTypeEnumFactory().fromType(castToCode(value)); 1038 this.type = (Enumeration) value; // Enumeration<NoteType> 1039 return value; 1040 case 3556653: // text 1041 this.text = castToString(value); // StringType 1042 return value; 1043 default: return super.setProperty(hash, name, value); 1044 } 1045 1046 } 1047 1048 @Override 1049 public Base setProperty(String name, Base value) throws FHIRException { 1050 if (name.equals("type")) { 1051 value = new NoteTypeEnumFactory().fromType(castToCode(value)); 1052 this.type = (Enumeration) value; // Enumeration<NoteType> 1053 } else if (name.equals("text")) { 1054 this.text = castToString(value); // StringType 1055 } else 1056 return super.setProperty(name, value); 1057 return value; 1058 } 1059 1060 @Override 1061 public Base makeProperty(int hash, String name) throws FHIRException { 1062 switch (hash) { 1063 case 3575610: return getTypeElement(); 1064 case 3556653: return getTextElement(); 1065 default: return super.makeProperty(hash, name); 1066 } 1067 1068 } 1069 1070 @Override 1071 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1072 switch (hash) { 1073 case 3575610: /*type*/ return new String[] {"code"}; 1074 case 3556653: /*text*/ return new String[] {"string"}; 1075 default: return super.getTypesForProperty(hash, name); 1076 } 1077 1078 } 1079 1080 @Override 1081 public Base addChild(String name) throws FHIRException { 1082 if (name.equals("type")) { 1083 throw new FHIRException("Cannot call addChild on a primitive type PaymentReconciliation.type"); 1084 } 1085 else if (name.equals("text")) { 1086 throw new FHIRException("Cannot call addChild on a primitive type PaymentReconciliation.text"); 1087 } 1088 else 1089 return super.addChild(name); 1090 } 1091 1092 public NotesComponent copy() { 1093 NotesComponent dst = new NotesComponent(); 1094 copyValues(dst); 1095 dst.type = type == null ? null : type.copy(); 1096 dst.text = text == null ? null : text.copy(); 1097 return dst; 1098 } 1099 1100 @Override 1101 public boolean equalsDeep(Base other_) { 1102 if (!super.equalsDeep(other_)) 1103 return false; 1104 if (!(other_ instanceof NotesComponent)) 1105 return false; 1106 NotesComponent o = (NotesComponent) other_; 1107 return compareDeep(type, o.type, true) && compareDeep(text, o.text, true); 1108 } 1109 1110 @Override 1111 public boolean equalsShallow(Base other_) { 1112 if (!super.equalsShallow(other_)) 1113 return false; 1114 if (!(other_ instanceof NotesComponent)) 1115 return false; 1116 NotesComponent o = (NotesComponent) other_; 1117 return compareValues(type, o.type, true) && compareValues(text, o.text, true); 1118 } 1119 1120 public boolean isEmpty() { 1121 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(type, text); 1122 } 1123 1124 public String fhirType() { 1125 return "PaymentReconciliation.processNote"; 1126 1127 } 1128 1129 } 1130 1131 /** 1132 * A unique identifier assigned to this payment reconciliation. 1133 */ 1134 @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1135 @Description(shortDefinition="Business Identifier for a payment reconciliation", formalDefinition="A unique identifier assigned to this payment reconciliation." ) 1136 protected List<Identifier> identifier; 1137 1138 /** 1139 * The status of the resource instance. 1140 */ 1141 @Child(name = "status", type = {CodeType.class}, order=1, min=1, max=1, modifier=true, summary=true) 1142 @Description(shortDefinition="active | cancelled | draft | entered-in-error", formalDefinition="The status of the resource instance." ) 1143 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/fm-status") 1144 protected Enumeration<PaymentReconciliationStatus> status; 1145 1146 /** 1147 * The period of time for which payments have been gathered into this bulk payment for settlement. 1148 */ 1149 @Child(name = "period", type = {Period.class}, order=2, min=0, max=1, modifier=false, summary=true) 1150 @Description(shortDefinition="Period covered", formalDefinition="The period of time for which payments have been gathered into this bulk payment for settlement." ) 1151 protected Period period; 1152 1153 /** 1154 * The date when the resource was created. 1155 */ 1156 @Child(name = "created", type = {DateTimeType.class}, order=3, min=1, max=1, modifier=false, summary=true) 1157 @Description(shortDefinition="Creation date", formalDefinition="The date when the resource was created." ) 1158 protected DateTimeType created; 1159 1160 /** 1161 * The party who generated the payment. 1162 */ 1163 @Child(name = "paymentIssuer", type = {Organization.class}, order=4, min=0, max=1, modifier=false, summary=true) 1164 @Description(shortDefinition="Party generating payment", formalDefinition="The party who generated the payment." ) 1165 protected Reference paymentIssuer; 1166 1167 /** 1168 * The actual object that is the target of the reference (The party who generated the payment.) 1169 */ 1170 protected Organization paymentIssuerTarget; 1171 1172 /** 1173 * Original request resource reference. 1174 */ 1175 @Child(name = "request", type = {Task.class}, order=5, min=0, max=1, modifier=false, summary=false) 1176 @Description(shortDefinition="Reference to requesting resource", formalDefinition="Original request resource reference." ) 1177 protected Reference request; 1178 1179 /** 1180 * The actual object that is the target of the reference (Original request resource reference.) 1181 */ 1182 protected Task requestTarget; 1183 1184 /** 1185 * The practitioner who is responsible for the services rendered to the patient. 1186 */ 1187 @Child(name = "requestor", type = {Practitioner.class, PractitionerRole.class, Organization.class}, order=6, min=0, max=1, modifier=false, summary=false) 1188 @Description(shortDefinition="Responsible practitioner", formalDefinition="The practitioner who is responsible for the services rendered to the patient." ) 1189 protected Reference requestor; 1190 1191 /** 1192 * The actual object that is the target of the reference (The practitioner who is responsible for the services rendered to the patient.) 1193 */ 1194 protected Resource requestorTarget; 1195 1196 /** 1197 * The outcome of a request for a reconciliation. 1198 */ 1199 @Child(name = "outcome", type = {CodeType.class}, order=7, min=0, max=1, modifier=false, summary=false) 1200 @Description(shortDefinition="queued | complete | error | partial", formalDefinition="The outcome of a request for a reconciliation." ) 1201 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/remittance-outcome") 1202 protected Enumeration<RemittanceOutcome> outcome; 1203 1204 /** 1205 * A human readable description of the status of the request for the reconciliation. 1206 */ 1207 @Child(name = "disposition", type = {StringType.class}, order=8, min=0, max=1, modifier=false, summary=false) 1208 @Description(shortDefinition="Disposition message", formalDefinition="A human readable description of the status of the request for the reconciliation." ) 1209 protected StringType disposition; 1210 1211 /** 1212 * The date of payment as indicated on the financial instrument. 1213 */ 1214 @Child(name = "paymentDate", type = {DateType.class}, order=9, min=1, max=1, modifier=false, summary=true) 1215 @Description(shortDefinition="When payment issued", formalDefinition="The date of payment as indicated on the financial instrument." ) 1216 protected DateType paymentDate; 1217 1218 /** 1219 * Total payment amount as indicated on the financial instrument. 1220 */ 1221 @Child(name = "paymentAmount", type = {Money.class}, order=10, min=1, max=1, modifier=false, summary=true) 1222 @Description(shortDefinition="Total amount of Payment", formalDefinition="Total payment amount as indicated on the financial instrument." ) 1223 protected Money paymentAmount; 1224 1225 /** 1226 * Issuer's unique identifier for the payment instrument. 1227 */ 1228 @Child(name = "paymentIdentifier", type = {Identifier.class}, order=11, min=0, max=1, modifier=false, summary=false) 1229 @Description(shortDefinition="Business identifier for the payment", formalDefinition="Issuer's unique identifier for the payment instrument." ) 1230 protected Identifier paymentIdentifier; 1231 1232 /** 1233 * Distribution of the payment amount for a previously acknowledged payable. 1234 */ 1235 @Child(name = "detail", type = {}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1236 @Description(shortDefinition="Settlement particulars", formalDefinition="Distribution of the payment amount for a previously acknowledged payable." ) 1237 protected List<DetailsComponent> detail; 1238 1239 /** 1240 * A code for the form to be used for printing the content. 1241 */ 1242 @Child(name = "formCode", type = {CodeableConcept.class}, order=13, min=0, max=1, modifier=false, summary=false) 1243 @Description(shortDefinition="Printed form identifier", formalDefinition="A code for the form to be used for printing the content." ) 1244 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/forms") 1245 protected CodeableConcept formCode; 1246 1247 /** 1248 * A note that describes or explains the processing in a human readable form. 1249 */ 1250 @Child(name = "processNote", type = {}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1251 @Description(shortDefinition="Note concerning processing", formalDefinition="A note that describes or explains the processing in a human readable form." ) 1252 protected List<NotesComponent> processNote; 1253 1254 private static final long serialVersionUID = -1620965037L; 1255 1256 /** 1257 * Constructor 1258 */ 1259 public PaymentReconciliation() { 1260 super(); 1261 } 1262 1263 /** 1264 * Constructor 1265 */ 1266 public PaymentReconciliation(Enumeration<PaymentReconciliationStatus> status, DateTimeType created, DateType paymentDate, Money paymentAmount) { 1267 super(); 1268 this.status = status; 1269 this.created = created; 1270 this.paymentDate = paymentDate; 1271 this.paymentAmount = paymentAmount; 1272 } 1273 1274 /** 1275 * @return {@link #identifier} (A unique identifier assigned to this payment reconciliation.) 1276 */ 1277 public List<Identifier> getIdentifier() { 1278 if (this.identifier == null) 1279 this.identifier = new ArrayList<Identifier>(); 1280 return this.identifier; 1281 } 1282 1283 /** 1284 * @return Returns a reference to <code>this</code> for easy method chaining 1285 */ 1286 public PaymentReconciliation setIdentifier(List<Identifier> theIdentifier) { 1287 this.identifier = theIdentifier; 1288 return this; 1289 } 1290 1291 public boolean hasIdentifier() { 1292 if (this.identifier == null) 1293 return false; 1294 for (Identifier item : this.identifier) 1295 if (!item.isEmpty()) 1296 return true; 1297 return false; 1298 } 1299 1300 public Identifier addIdentifier() { //3 1301 Identifier t = new Identifier(); 1302 if (this.identifier == null) 1303 this.identifier = new ArrayList<Identifier>(); 1304 this.identifier.add(t); 1305 return t; 1306 } 1307 1308 public PaymentReconciliation addIdentifier(Identifier t) { //3 1309 if (t == null) 1310 return this; 1311 if (this.identifier == null) 1312 this.identifier = new ArrayList<Identifier>(); 1313 this.identifier.add(t); 1314 return this; 1315 } 1316 1317 /** 1318 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist 1319 */ 1320 public Identifier getIdentifierFirstRep() { 1321 if (getIdentifier().isEmpty()) { 1322 addIdentifier(); 1323 } 1324 return getIdentifier().get(0); 1325 } 1326 1327 /** 1328 * @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 1329 */ 1330 public Enumeration<PaymentReconciliationStatus> getStatusElement() { 1331 if (this.status == null) 1332 if (Configuration.errorOnAutoCreate()) 1333 throw new Error("Attempt to auto-create PaymentReconciliation.status"); 1334 else if (Configuration.doAutoCreate()) 1335 this.status = new Enumeration<PaymentReconciliationStatus>(new PaymentReconciliationStatusEnumFactory()); // bb 1336 return this.status; 1337 } 1338 1339 public boolean hasStatusElement() { 1340 return this.status != null && !this.status.isEmpty(); 1341 } 1342 1343 public boolean hasStatus() { 1344 return this.status != null && !this.status.isEmpty(); 1345 } 1346 1347 /** 1348 * @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 1349 */ 1350 public PaymentReconciliation setStatusElement(Enumeration<PaymentReconciliationStatus> value) { 1351 this.status = value; 1352 return this; 1353 } 1354 1355 /** 1356 * @return The status of the resource instance. 1357 */ 1358 public PaymentReconciliationStatus getStatus() { 1359 return this.status == null ? null : this.status.getValue(); 1360 } 1361 1362 /** 1363 * @param value The status of the resource instance. 1364 */ 1365 public PaymentReconciliation setStatus(PaymentReconciliationStatus value) { 1366 if (this.status == null) 1367 this.status = new Enumeration<PaymentReconciliationStatus>(new PaymentReconciliationStatusEnumFactory()); 1368 this.status.setValue(value); 1369 return this; 1370 } 1371 1372 /** 1373 * @return {@link #period} (The period of time for which payments have been gathered into this bulk payment for settlement.) 1374 */ 1375 public Period getPeriod() { 1376 if (this.period == null) 1377 if (Configuration.errorOnAutoCreate()) 1378 throw new Error("Attempt to auto-create PaymentReconciliation.period"); 1379 else if (Configuration.doAutoCreate()) 1380 this.period = new Period(); // cc 1381 return this.period; 1382 } 1383 1384 public boolean hasPeriod() { 1385 return this.period != null && !this.period.isEmpty(); 1386 } 1387 1388 /** 1389 * @param value {@link #period} (The period of time for which payments have been gathered into this bulk payment for settlement.) 1390 */ 1391 public PaymentReconciliation setPeriod(Period value) { 1392 this.period = value; 1393 return this; 1394 } 1395 1396 /** 1397 * @return {@link #created} (The date when the resource was created.). This is the underlying object with id, value and extensions. The accessor "getCreated" gives direct access to the value 1398 */ 1399 public DateTimeType getCreatedElement() { 1400 if (this.created == null) 1401 if (Configuration.errorOnAutoCreate()) 1402 throw new Error("Attempt to auto-create PaymentReconciliation.created"); 1403 else if (Configuration.doAutoCreate()) 1404 this.created = new DateTimeType(); // bb 1405 return this.created; 1406 } 1407 1408 public boolean hasCreatedElement() { 1409 return this.created != null && !this.created.isEmpty(); 1410 } 1411 1412 public boolean hasCreated() { 1413 return this.created != null && !this.created.isEmpty(); 1414 } 1415 1416 /** 1417 * @param value {@link #created} (The date when the resource was created.). This is the underlying object with id, value and extensions. The accessor "getCreated" gives direct access to the value 1418 */ 1419 public PaymentReconciliation setCreatedElement(DateTimeType value) { 1420 this.created = value; 1421 return this; 1422 } 1423 1424 /** 1425 * @return The date when the resource was created. 1426 */ 1427 public Date getCreated() { 1428 return this.created == null ? null : this.created.getValue(); 1429 } 1430 1431 /** 1432 * @param value The date when the resource was created. 1433 */ 1434 public PaymentReconciliation setCreated(Date value) { 1435 if (this.created == null) 1436 this.created = new DateTimeType(); 1437 this.created.setValue(value); 1438 return this; 1439 } 1440 1441 /** 1442 * @return {@link #paymentIssuer} (The party who generated the payment.) 1443 */ 1444 public Reference getPaymentIssuer() { 1445 if (this.paymentIssuer == null) 1446 if (Configuration.errorOnAutoCreate()) 1447 throw new Error("Attempt to auto-create PaymentReconciliation.paymentIssuer"); 1448 else if (Configuration.doAutoCreate()) 1449 this.paymentIssuer = new Reference(); // cc 1450 return this.paymentIssuer; 1451 } 1452 1453 public boolean hasPaymentIssuer() { 1454 return this.paymentIssuer != null && !this.paymentIssuer.isEmpty(); 1455 } 1456 1457 /** 1458 * @param value {@link #paymentIssuer} (The party who generated the payment.) 1459 */ 1460 public PaymentReconciliation setPaymentIssuer(Reference value) { 1461 this.paymentIssuer = value; 1462 return this; 1463 } 1464 1465 /** 1466 * @return {@link #paymentIssuer} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (The party who generated the payment.) 1467 */ 1468 public Organization getPaymentIssuerTarget() { 1469 if (this.paymentIssuerTarget == null) 1470 if (Configuration.errorOnAutoCreate()) 1471 throw new Error("Attempt to auto-create PaymentReconciliation.paymentIssuer"); 1472 else if (Configuration.doAutoCreate()) 1473 this.paymentIssuerTarget = new Organization(); // aa 1474 return this.paymentIssuerTarget; 1475 } 1476 1477 /** 1478 * @param value {@link #paymentIssuer} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (The party who generated the payment.) 1479 */ 1480 public PaymentReconciliation setPaymentIssuerTarget(Organization value) { 1481 this.paymentIssuerTarget = value; 1482 return this; 1483 } 1484 1485 /** 1486 * @return {@link #request} (Original request resource reference.) 1487 */ 1488 public Reference getRequest() { 1489 if (this.request == null) 1490 if (Configuration.errorOnAutoCreate()) 1491 throw new Error("Attempt to auto-create PaymentReconciliation.request"); 1492 else if (Configuration.doAutoCreate()) 1493 this.request = new Reference(); // cc 1494 return this.request; 1495 } 1496 1497 public boolean hasRequest() { 1498 return this.request != null && !this.request.isEmpty(); 1499 } 1500 1501 /** 1502 * @param value {@link #request} (Original request resource reference.) 1503 */ 1504 public PaymentReconciliation setRequest(Reference value) { 1505 this.request = value; 1506 return this; 1507 } 1508 1509 /** 1510 * @return {@link #request} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (Original request resource reference.) 1511 */ 1512 public Task getRequestTarget() { 1513 if (this.requestTarget == null) 1514 if (Configuration.errorOnAutoCreate()) 1515 throw new Error("Attempt to auto-create PaymentReconciliation.request"); 1516 else if (Configuration.doAutoCreate()) 1517 this.requestTarget = new Task(); // aa 1518 return this.requestTarget; 1519 } 1520 1521 /** 1522 * @param value {@link #request} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (Original request resource reference.) 1523 */ 1524 public PaymentReconciliation setRequestTarget(Task value) { 1525 this.requestTarget = value; 1526 return this; 1527 } 1528 1529 /** 1530 * @return {@link #requestor} (The practitioner who is responsible for the services rendered to the patient.) 1531 */ 1532 public Reference getRequestor() { 1533 if (this.requestor == null) 1534 if (Configuration.errorOnAutoCreate()) 1535 throw new Error("Attempt to auto-create PaymentReconciliation.requestor"); 1536 else if (Configuration.doAutoCreate()) 1537 this.requestor = new Reference(); // cc 1538 return this.requestor; 1539 } 1540 1541 public boolean hasRequestor() { 1542 return this.requestor != null && !this.requestor.isEmpty(); 1543 } 1544 1545 /** 1546 * @param value {@link #requestor} (The practitioner who is responsible for the services rendered to the patient.) 1547 */ 1548 public PaymentReconciliation setRequestor(Reference value) { 1549 this.requestor = value; 1550 return this; 1551 } 1552 1553 /** 1554 * @return {@link #requestor} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (The practitioner who is responsible for the services rendered to the patient.) 1555 */ 1556 public Resource getRequestorTarget() { 1557 return this.requestorTarget; 1558 } 1559 1560 /** 1561 * @param value {@link #requestor} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (The practitioner who is responsible for the services rendered to the patient.) 1562 */ 1563 public PaymentReconciliation setRequestorTarget(Resource value) { 1564 this.requestorTarget = value; 1565 return this; 1566 } 1567 1568 /** 1569 * @return {@link #outcome} (The outcome of a request for a reconciliation.). This is the underlying object with id, value and extensions. The accessor "getOutcome" gives direct access to the value 1570 */ 1571 public Enumeration<RemittanceOutcome> getOutcomeElement() { 1572 if (this.outcome == null) 1573 if (Configuration.errorOnAutoCreate()) 1574 throw new Error("Attempt to auto-create PaymentReconciliation.outcome"); 1575 else if (Configuration.doAutoCreate()) 1576 this.outcome = new Enumeration<RemittanceOutcome>(new RemittanceOutcomeEnumFactory()); // bb 1577 return this.outcome; 1578 } 1579 1580 public boolean hasOutcomeElement() { 1581 return this.outcome != null && !this.outcome.isEmpty(); 1582 } 1583 1584 public boolean hasOutcome() { 1585 return this.outcome != null && !this.outcome.isEmpty(); 1586 } 1587 1588 /** 1589 * @param value {@link #outcome} (The outcome of a request for a reconciliation.). This is the underlying object with id, value and extensions. The accessor "getOutcome" gives direct access to the value 1590 */ 1591 public PaymentReconciliation setOutcomeElement(Enumeration<RemittanceOutcome> value) { 1592 this.outcome = value; 1593 return this; 1594 } 1595 1596 /** 1597 * @return The outcome of a request for a reconciliation. 1598 */ 1599 public RemittanceOutcome getOutcome() { 1600 return this.outcome == null ? null : this.outcome.getValue(); 1601 } 1602 1603 /** 1604 * @param value The outcome of a request for a reconciliation. 1605 */ 1606 public PaymentReconciliation setOutcome(RemittanceOutcome value) { 1607 if (value == null) 1608 this.outcome = null; 1609 else { 1610 if (this.outcome == null) 1611 this.outcome = new Enumeration<RemittanceOutcome>(new RemittanceOutcomeEnumFactory()); 1612 this.outcome.setValue(value); 1613 } 1614 return this; 1615 } 1616 1617 /** 1618 * @return {@link #disposition} (A human readable description of the status of the request for the reconciliation.). This is the underlying object with id, value and extensions. The accessor "getDisposition" gives direct access to the value 1619 */ 1620 public StringType getDispositionElement() { 1621 if (this.disposition == null) 1622 if (Configuration.errorOnAutoCreate()) 1623 throw new Error("Attempt to auto-create PaymentReconciliation.disposition"); 1624 else if (Configuration.doAutoCreate()) 1625 this.disposition = new StringType(); // bb 1626 return this.disposition; 1627 } 1628 1629 public boolean hasDispositionElement() { 1630 return this.disposition != null && !this.disposition.isEmpty(); 1631 } 1632 1633 public boolean hasDisposition() { 1634 return this.disposition != null && !this.disposition.isEmpty(); 1635 } 1636 1637 /** 1638 * @param value {@link #disposition} (A human readable description of the status of the request for the reconciliation.). This is the underlying object with id, value and extensions. The accessor "getDisposition" gives direct access to the value 1639 */ 1640 public PaymentReconciliation setDispositionElement(StringType value) { 1641 this.disposition = value; 1642 return this; 1643 } 1644 1645 /** 1646 * @return A human readable description of the status of the request for the reconciliation. 1647 */ 1648 public String getDisposition() { 1649 return this.disposition == null ? null : this.disposition.getValue(); 1650 } 1651 1652 /** 1653 * @param value A human readable description of the status of the request for the reconciliation. 1654 */ 1655 public PaymentReconciliation setDisposition(String value) { 1656 if (Utilities.noString(value)) 1657 this.disposition = null; 1658 else { 1659 if (this.disposition == null) 1660 this.disposition = new StringType(); 1661 this.disposition.setValue(value); 1662 } 1663 return this; 1664 } 1665 1666 /** 1667 * @return {@link #paymentDate} (The date of payment as indicated on the financial instrument.). This is the underlying object with id, value and extensions. The accessor "getPaymentDate" gives direct access to the value 1668 */ 1669 public DateType getPaymentDateElement() { 1670 if (this.paymentDate == null) 1671 if (Configuration.errorOnAutoCreate()) 1672 throw new Error("Attempt to auto-create PaymentReconciliation.paymentDate"); 1673 else if (Configuration.doAutoCreate()) 1674 this.paymentDate = new DateType(); // bb 1675 return this.paymentDate; 1676 } 1677 1678 public boolean hasPaymentDateElement() { 1679 return this.paymentDate != null && !this.paymentDate.isEmpty(); 1680 } 1681 1682 public boolean hasPaymentDate() { 1683 return this.paymentDate != null && !this.paymentDate.isEmpty(); 1684 } 1685 1686 /** 1687 * @param value {@link #paymentDate} (The date of payment as indicated on the financial instrument.). This is the underlying object with id, value and extensions. The accessor "getPaymentDate" gives direct access to the value 1688 */ 1689 public PaymentReconciliation setPaymentDateElement(DateType value) { 1690 this.paymentDate = value; 1691 return this; 1692 } 1693 1694 /** 1695 * @return The date of payment as indicated on the financial instrument. 1696 */ 1697 public Date getPaymentDate() { 1698 return this.paymentDate == null ? null : this.paymentDate.getValue(); 1699 } 1700 1701 /** 1702 * @param value The date of payment as indicated on the financial instrument. 1703 */ 1704 public PaymentReconciliation setPaymentDate(Date value) { 1705 if (this.paymentDate == null) 1706 this.paymentDate = new DateType(); 1707 this.paymentDate.setValue(value); 1708 return this; 1709 } 1710 1711 /** 1712 * @return {@link #paymentAmount} (Total payment amount as indicated on the financial instrument.) 1713 */ 1714 public Money getPaymentAmount() { 1715 if (this.paymentAmount == null) 1716 if (Configuration.errorOnAutoCreate()) 1717 throw new Error("Attempt to auto-create PaymentReconciliation.paymentAmount"); 1718 else if (Configuration.doAutoCreate()) 1719 this.paymentAmount = new Money(); // cc 1720 return this.paymentAmount; 1721 } 1722 1723 public boolean hasPaymentAmount() { 1724 return this.paymentAmount != null && !this.paymentAmount.isEmpty(); 1725 } 1726 1727 /** 1728 * @param value {@link #paymentAmount} (Total payment amount as indicated on the financial instrument.) 1729 */ 1730 public PaymentReconciliation setPaymentAmount(Money value) { 1731 this.paymentAmount = value; 1732 return this; 1733 } 1734 1735 /** 1736 * @return {@link #paymentIdentifier} (Issuer's unique identifier for the payment instrument.) 1737 */ 1738 public Identifier getPaymentIdentifier() { 1739 if (this.paymentIdentifier == null) 1740 if (Configuration.errorOnAutoCreate()) 1741 throw new Error("Attempt to auto-create PaymentReconciliation.paymentIdentifier"); 1742 else if (Configuration.doAutoCreate()) 1743 this.paymentIdentifier = new Identifier(); // cc 1744 return this.paymentIdentifier; 1745 } 1746 1747 public boolean hasPaymentIdentifier() { 1748 return this.paymentIdentifier != null && !this.paymentIdentifier.isEmpty(); 1749 } 1750 1751 /** 1752 * @param value {@link #paymentIdentifier} (Issuer's unique identifier for the payment instrument.) 1753 */ 1754 public PaymentReconciliation setPaymentIdentifier(Identifier value) { 1755 this.paymentIdentifier = value; 1756 return this; 1757 } 1758 1759 /** 1760 * @return {@link #detail} (Distribution of the payment amount for a previously acknowledged payable.) 1761 */ 1762 public List<DetailsComponent> getDetail() { 1763 if (this.detail == null) 1764 this.detail = new ArrayList<DetailsComponent>(); 1765 return this.detail; 1766 } 1767 1768 /** 1769 * @return Returns a reference to <code>this</code> for easy method chaining 1770 */ 1771 public PaymentReconciliation setDetail(List<DetailsComponent> theDetail) { 1772 this.detail = theDetail; 1773 return this; 1774 } 1775 1776 public boolean hasDetail() { 1777 if (this.detail == null) 1778 return false; 1779 for (DetailsComponent item : this.detail) 1780 if (!item.isEmpty()) 1781 return true; 1782 return false; 1783 } 1784 1785 public DetailsComponent addDetail() { //3 1786 DetailsComponent t = new DetailsComponent(); 1787 if (this.detail == null) 1788 this.detail = new ArrayList<DetailsComponent>(); 1789 this.detail.add(t); 1790 return t; 1791 } 1792 1793 public PaymentReconciliation addDetail(DetailsComponent t) { //3 1794 if (t == null) 1795 return this; 1796 if (this.detail == null) 1797 this.detail = new ArrayList<DetailsComponent>(); 1798 this.detail.add(t); 1799 return this; 1800 } 1801 1802 /** 1803 * @return The first repetition of repeating field {@link #detail}, creating it if it does not already exist 1804 */ 1805 public DetailsComponent getDetailFirstRep() { 1806 if (getDetail().isEmpty()) { 1807 addDetail(); 1808 } 1809 return getDetail().get(0); 1810 } 1811 1812 /** 1813 * @return {@link #formCode} (A code for the form to be used for printing the content.) 1814 */ 1815 public CodeableConcept getFormCode() { 1816 if (this.formCode == null) 1817 if (Configuration.errorOnAutoCreate()) 1818 throw new Error("Attempt to auto-create PaymentReconciliation.formCode"); 1819 else if (Configuration.doAutoCreate()) 1820 this.formCode = new CodeableConcept(); // cc 1821 return this.formCode; 1822 } 1823 1824 public boolean hasFormCode() { 1825 return this.formCode != null && !this.formCode.isEmpty(); 1826 } 1827 1828 /** 1829 * @param value {@link #formCode} (A code for the form to be used for printing the content.) 1830 */ 1831 public PaymentReconciliation setFormCode(CodeableConcept value) { 1832 this.formCode = value; 1833 return this; 1834 } 1835 1836 /** 1837 * @return {@link #processNote} (A note that describes or explains the processing in a human readable form.) 1838 */ 1839 public List<NotesComponent> getProcessNote() { 1840 if (this.processNote == null) 1841 this.processNote = new ArrayList<NotesComponent>(); 1842 return this.processNote; 1843 } 1844 1845 /** 1846 * @return Returns a reference to <code>this</code> for easy method chaining 1847 */ 1848 public PaymentReconciliation setProcessNote(List<NotesComponent> theProcessNote) { 1849 this.processNote = theProcessNote; 1850 return this; 1851 } 1852 1853 public boolean hasProcessNote() { 1854 if (this.processNote == null) 1855 return false; 1856 for (NotesComponent item : this.processNote) 1857 if (!item.isEmpty()) 1858 return true; 1859 return false; 1860 } 1861 1862 public NotesComponent addProcessNote() { //3 1863 NotesComponent t = new NotesComponent(); 1864 if (this.processNote == null) 1865 this.processNote = new ArrayList<NotesComponent>(); 1866 this.processNote.add(t); 1867 return t; 1868 } 1869 1870 public PaymentReconciliation addProcessNote(NotesComponent t) { //3 1871 if (t == null) 1872 return this; 1873 if (this.processNote == null) 1874 this.processNote = new ArrayList<NotesComponent>(); 1875 this.processNote.add(t); 1876 return this; 1877 } 1878 1879 /** 1880 * @return The first repetition of repeating field {@link #processNote}, creating it if it does not already exist 1881 */ 1882 public NotesComponent getProcessNoteFirstRep() { 1883 if (getProcessNote().isEmpty()) { 1884 addProcessNote(); 1885 } 1886 return getProcessNote().get(0); 1887 } 1888 1889 protected void listChildren(List<Property> children) { 1890 super.listChildren(children); 1891 children.add(new Property("identifier", "Identifier", "A unique identifier assigned to this payment reconciliation.", 0, java.lang.Integer.MAX_VALUE, identifier)); 1892 children.add(new Property("status", "code", "The status of the resource instance.", 0, 1, status)); 1893 children.add(new Property("period", "Period", "The period of time for which payments have been gathered into this bulk payment for settlement.", 0, 1, period)); 1894 children.add(new Property("created", "dateTime", "The date when the resource was created.", 0, 1, created)); 1895 children.add(new Property("paymentIssuer", "Reference(Organization)", "The party who generated the payment.", 0, 1, paymentIssuer)); 1896 children.add(new Property("request", "Reference(Task)", "Original request resource reference.", 0, 1, request)); 1897 children.add(new Property("requestor", "Reference(Practitioner|PractitionerRole|Organization)", "The practitioner who is responsible for the services rendered to the patient.", 0, 1, requestor)); 1898 children.add(new Property("outcome", "code", "The outcome of a request for a reconciliation.", 0, 1, outcome)); 1899 children.add(new Property("disposition", "string", "A human readable description of the status of the request for the reconciliation.", 0, 1, disposition)); 1900 children.add(new Property("paymentDate", "date", "The date of payment as indicated on the financial instrument.", 0, 1, paymentDate)); 1901 children.add(new Property("paymentAmount", "Money", "Total payment amount as indicated on the financial instrument.", 0, 1, paymentAmount)); 1902 children.add(new Property("paymentIdentifier", "Identifier", "Issuer's unique identifier for the payment instrument.", 0, 1, paymentIdentifier)); 1903 children.add(new Property("detail", "", "Distribution of the payment amount for a previously acknowledged payable.", 0, java.lang.Integer.MAX_VALUE, detail)); 1904 children.add(new Property("formCode", "CodeableConcept", "A code for the form to be used for printing the content.", 0, 1, formCode)); 1905 children.add(new Property("processNote", "", "A note that describes or explains the processing in a human readable form.", 0, java.lang.Integer.MAX_VALUE, processNote)); 1906 } 1907 1908 @Override 1909 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1910 switch (_hash) { 1911 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "A unique identifier assigned to this payment reconciliation.", 0, java.lang.Integer.MAX_VALUE, identifier); 1912 case -892481550: /*status*/ return new Property("status", "code", "The status of the resource instance.", 0, 1, status); 1913 case -991726143: /*period*/ return new Property("period", "Period", "The period of time for which payments have been gathered into this bulk payment for settlement.", 0, 1, period); 1914 case 1028554472: /*created*/ return new Property("created", "dateTime", "The date when the resource was created.", 0, 1, created); 1915 case 1144026207: /*paymentIssuer*/ return new Property("paymentIssuer", "Reference(Organization)", "The party who generated the payment.", 0, 1, paymentIssuer); 1916 case 1095692943: /*request*/ return new Property("request", "Reference(Task)", "Original request resource reference.", 0, 1, request); 1917 case 693934258: /*requestor*/ return new Property("requestor", "Reference(Practitioner|PractitionerRole|Organization)", "The practitioner who is responsible for the services rendered to the patient.", 0, 1, requestor); 1918 case -1106507950: /*outcome*/ return new Property("outcome", "code", "The outcome of a request for a reconciliation.", 0, 1, outcome); 1919 case 583380919: /*disposition*/ return new Property("disposition", "string", "A human readable description of the status of the request for the reconciliation.", 0, 1, disposition); 1920 case -1540873516: /*paymentDate*/ return new Property("paymentDate", "date", "The date of payment as indicated on the financial instrument.", 0, 1, paymentDate); 1921 case 909332990: /*paymentAmount*/ return new Property("paymentAmount", "Money", "Total payment amount as indicated on the financial instrument.", 0, 1, paymentAmount); 1922 case 1555852111: /*paymentIdentifier*/ return new Property("paymentIdentifier", "Identifier", "Issuer's unique identifier for the payment instrument.", 0, 1, paymentIdentifier); 1923 case -1335224239: /*detail*/ return new Property("detail", "", "Distribution of the payment amount for a previously acknowledged payable.", 0, java.lang.Integer.MAX_VALUE, detail); 1924 case 473181393: /*formCode*/ return new Property("formCode", "CodeableConcept", "A code for the form to be used for printing the content.", 0, 1, formCode); 1925 case 202339073: /*processNote*/ return new Property("processNote", "", "A note that describes or explains the processing in a human readable form.", 0, java.lang.Integer.MAX_VALUE, processNote); 1926 default: return super.getNamedProperty(_hash, _name, _checkValid); 1927 } 1928 1929 } 1930 1931 @Override 1932 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1933 switch (hash) { 1934 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 1935 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<PaymentReconciliationStatus> 1936 case -991726143: /*period*/ return this.period == null ? new Base[0] : new Base[] {this.period}; // Period 1937 case 1028554472: /*created*/ return this.created == null ? new Base[0] : new Base[] {this.created}; // DateTimeType 1938 case 1144026207: /*paymentIssuer*/ return this.paymentIssuer == null ? new Base[0] : new Base[] {this.paymentIssuer}; // Reference 1939 case 1095692943: /*request*/ return this.request == null ? new Base[0] : new Base[] {this.request}; // Reference 1940 case 693934258: /*requestor*/ return this.requestor == null ? new Base[0] : new Base[] {this.requestor}; // Reference 1941 case -1106507950: /*outcome*/ return this.outcome == null ? new Base[0] : new Base[] {this.outcome}; // Enumeration<RemittanceOutcome> 1942 case 583380919: /*disposition*/ return this.disposition == null ? new Base[0] : new Base[] {this.disposition}; // StringType 1943 case -1540873516: /*paymentDate*/ return this.paymentDate == null ? new Base[0] : new Base[] {this.paymentDate}; // DateType 1944 case 909332990: /*paymentAmount*/ return this.paymentAmount == null ? new Base[0] : new Base[] {this.paymentAmount}; // Money 1945 case 1555852111: /*paymentIdentifier*/ return this.paymentIdentifier == null ? new Base[0] : new Base[] {this.paymentIdentifier}; // Identifier 1946 case -1335224239: /*detail*/ return this.detail == null ? new Base[0] : this.detail.toArray(new Base[this.detail.size()]); // DetailsComponent 1947 case 473181393: /*formCode*/ return this.formCode == null ? new Base[0] : new Base[] {this.formCode}; // CodeableConcept 1948 case 202339073: /*processNote*/ return this.processNote == null ? new Base[0] : this.processNote.toArray(new Base[this.processNote.size()]); // NotesComponent 1949 default: return super.getProperty(hash, name, checkValid); 1950 } 1951 1952 } 1953 1954 @Override 1955 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1956 switch (hash) { 1957 case -1618432855: // identifier 1958 this.getIdentifier().add(castToIdentifier(value)); // Identifier 1959 return value; 1960 case -892481550: // status 1961 value = new PaymentReconciliationStatusEnumFactory().fromType(castToCode(value)); 1962 this.status = (Enumeration) value; // Enumeration<PaymentReconciliationStatus> 1963 return value; 1964 case -991726143: // period 1965 this.period = castToPeriod(value); // Period 1966 return value; 1967 case 1028554472: // created 1968 this.created = castToDateTime(value); // DateTimeType 1969 return value; 1970 case 1144026207: // paymentIssuer 1971 this.paymentIssuer = castToReference(value); // Reference 1972 return value; 1973 case 1095692943: // request 1974 this.request = castToReference(value); // Reference 1975 return value; 1976 case 693934258: // requestor 1977 this.requestor = castToReference(value); // Reference 1978 return value; 1979 case -1106507950: // outcome 1980 value = new RemittanceOutcomeEnumFactory().fromType(castToCode(value)); 1981 this.outcome = (Enumeration) value; // Enumeration<RemittanceOutcome> 1982 return value; 1983 case 583380919: // disposition 1984 this.disposition = castToString(value); // StringType 1985 return value; 1986 case -1540873516: // paymentDate 1987 this.paymentDate = castToDate(value); // DateType 1988 return value; 1989 case 909332990: // paymentAmount 1990 this.paymentAmount = castToMoney(value); // Money 1991 return value; 1992 case 1555852111: // paymentIdentifier 1993 this.paymentIdentifier = castToIdentifier(value); // Identifier 1994 return value; 1995 case -1335224239: // detail 1996 this.getDetail().add((DetailsComponent) value); // DetailsComponent 1997 return value; 1998 case 473181393: // formCode 1999 this.formCode = castToCodeableConcept(value); // CodeableConcept 2000 return value; 2001 case 202339073: // processNote 2002 this.getProcessNote().add((NotesComponent) value); // NotesComponent 2003 return value; 2004 default: return super.setProperty(hash, name, value); 2005 } 2006 2007 } 2008 2009 @Override 2010 public Base setProperty(String name, Base value) throws FHIRException { 2011 if (name.equals("identifier")) { 2012 this.getIdentifier().add(castToIdentifier(value)); 2013 } else if (name.equals("status")) { 2014 value = new PaymentReconciliationStatusEnumFactory().fromType(castToCode(value)); 2015 this.status = (Enumeration) value; // Enumeration<PaymentReconciliationStatus> 2016 } else if (name.equals("period")) { 2017 this.period = castToPeriod(value); // Period 2018 } else if (name.equals("created")) { 2019 this.created = castToDateTime(value); // DateTimeType 2020 } else if (name.equals("paymentIssuer")) { 2021 this.paymentIssuer = castToReference(value); // Reference 2022 } else if (name.equals("request")) { 2023 this.request = castToReference(value); // Reference 2024 } else if (name.equals("requestor")) { 2025 this.requestor = castToReference(value); // Reference 2026 } else if (name.equals("outcome")) { 2027 value = new RemittanceOutcomeEnumFactory().fromType(castToCode(value)); 2028 this.outcome = (Enumeration) value; // Enumeration<RemittanceOutcome> 2029 } else if (name.equals("disposition")) { 2030 this.disposition = castToString(value); // StringType 2031 } else if (name.equals("paymentDate")) { 2032 this.paymentDate = castToDate(value); // DateType 2033 } else if (name.equals("paymentAmount")) { 2034 this.paymentAmount = castToMoney(value); // Money 2035 } else if (name.equals("paymentIdentifier")) { 2036 this.paymentIdentifier = castToIdentifier(value); // Identifier 2037 } else if (name.equals("detail")) { 2038 this.getDetail().add((DetailsComponent) value); 2039 } else if (name.equals("formCode")) { 2040 this.formCode = castToCodeableConcept(value); // CodeableConcept 2041 } else if (name.equals("processNote")) { 2042 this.getProcessNote().add((NotesComponent) value); 2043 } else 2044 return super.setProperty(name, value); 2045 return value; 2046 } 2047 2048 @Override 2049 public Base makeProperty(int hash, String name) throws FHIRException { 2050 switch (hash) { 2051 case -1618432855: return addIdentifier(); 2052 case -892481550: return getStatusElement(); 2053 case -991726143: return getPeriod(); 2054 case 1028554472: return getCreatedElement(); 2055 case 1144026207: return getPaymentIssuer(); 2056 case 1095692943: return getRequest(); 2057 case 693934258: return getRequestor(); 2058 case -1106507950: return getOutcomeElement(); 2059 case 583380919: return getDispositionElement(); 2060 case -1540873516: return getPaymentDateElement(); 2061 case 909332990: return getPaymentAmount(); 2062 case 1555852111: return getPaymentIdentifier(); 2063 case -1335224239: return addDetail(); 2064 case 473181393: return getFormCode(); 2065 case 202339073: return addProcessNote(); 2066 default: return super.makeProperty(hash, name); 2067 } 2068 2069 } 2070 2071 @Override 2072 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2073 switch (hash) { 2074 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 2075 case -892481550: /*status*/ return new String[] {"code"}; 2076 case -991726143: /*period*/ return new String[] {"Period"}; 2077 case 1028554472: /*created*/ return new String[] {"dateTime"}; 2078 case 1144026207: /*paymentIssuer*/ return new String[] {"Reference"}; 2079 case 1095692943: /*request*/ return new String[] {"Reference"}; 2080 case 693934258: /*requestor*/ return new String[] {"Reference"}; 2081 case -1106507950: /*outcome*/ return new String[] {"code"}; 2082 case 583380919: /*disposition*/ return new String[] {"string"}; 2083 case -1540873516: /*paymentDate*/ return new String[] {"date"}; 2084 case 909332990: /*paymentAmount*/ return new String[] {"Money"}; 2085 case 1555852111: /*paymentIdentifier*/ return new String[] {"Identifier"}; 2086 case -1335224239: /*detail*/ return new String[] {}; 2087 case 473181393: /*formCode*/ return new String[] {"CodeableConcept"}; 2088 case 202339073: /*processNote*/ return new String[] {}; 2089 default: return super.getTypesForProperty(hash, name); 2090 } 2091 2092 } 2093 2094 @Override 2095 public Base addChild(String name) throws FHIRException { 2096 if (name.equals("identifier")) { 2097 return addIdentifier(); 2098 } 2099 else if (name.equals("status")) { 2100 throw new FHIRException("Cannot call addChild on a primitive type PaymentReconciliation.status"); 2101 } 2102 else if (name.equals("period")) { 2103 this.period = new Period(); 2104 return this.period; 2105 } 2106 else if (name.equals("created")) { 2107 throw new FHIRException("Cannot call addChild on a primitive type PaymentReconciliation.created"); 2108 } 2109 else if (name.equals("paymentIssuer")) { 2110 this.paymentIssuer = new Reference(); 2111 return this.paymentIssuer; 2112 } 2113 else if (name.equals("request")) { 2114 this.request = new Reference(); 2115 return this.request; 2116 } 2117 else if (name.equals("requestor")) { 2118 this.requestor = new Reference(); 2119 return this.requestor; 2120 } 2121 else if (name.equals("outcome")) { 2122 throw new FHIRException("Cannot call addChild on a primitive type PaymentReconciliation.outcome"); 2123 } 2124 else if (name.equals("disposition")) { 2125 throw new FHIRException("Cannot call addChild on a primitive type PaymentReconciliation.disposition"); 2126 } 2127 else if (name.equals("paymentDate")) { 2128 throw new FHIRException("Cannot call addChild on a primitive type PaymentReconciliation.paymentDate"); 2129 } 2130 else if (name.equals("paymentAmount")) { 2131 this.paymentAmount = new Money(); 2132 return this.paymentAmount; 2133 } 2134 else if (name.equals("paymentIdentifier")) { 2135 this.paymentIdentifier = new Identifier(); 2136 return this.paymentIdentifier; 2137 } 2138 else if (name.equals("detail")) { 2139 return addDetail(); 2140 } 2141 else if (name.equals("formCode")) { 2142 this.formCode = new CodeableConcept(); 2143 return this.formCode; 2144 } 2145 else if (name.equals("processNote")) { 2146 return addProcessNote(); 2147 } 2148 else 2149 return super.addChild(name); 2150 } 2151 2152 public String fhirType() { 2153 return "PaymentReconciliation"; 2154 2155 } 2156 2157 public PaymentReconciliation copy() { 2158 PaymentReconciliation dst = new PaymentReconciliation(); 2159 copyValues(dst); 2160 if (identifier != null) { 2161 dst.identifier = new ArrayList<Identifier>(); 2162 for (Identifier i : identifier) 2163 dst.identifier.add(i.copy()); 2164 }; 2165 dst.status = status == null ? null : status.copy(); 2166 dst.period = period == null ? null : period.copy(); 2167 dst.created = created == null ? null : created.copy(); 2168 dst.paymentIssuer = paymentIssuer == null ? null : paymentIssuer.copy(); 2169 dst.request = request == null ? null : request.copy(); 2170 dst.requestor = requestor == null ? null : requestor.copy(); 2171 dst.outcome = outcome == null ? null : outcome.copy(); 2172 dst.disposition = disposition == null ? null : disposition.copy(); 2173 dst.paymentDate = paymentDate == null ? null : paymentDate.copy(); 2174 dst.paymentAmount = paymentAmount == null ? null : paymentAmount.copy(); 2175 dst.paymentIdentifier = paymentIdentifier == null ? null : paymentIdentifier.copy(); 2176 if (detail != null) { 2177 dst.detail = new ArrayList<DetailsComponent>(); 2178 for (DetailsComponent i : detail) 2179 dst.detail.add(i.copy()); 2180 }; 2181 dst.formCode = formCode == null ? null : formCode.copy(); 2182 if (processNote != null) { 2183 dst.processNote = new ArrayList<NotesComponent>(); 2184 for (NotesComponent i : processNote) 2185 dst.processNote.add(i.copy()); 2186 }; 2187 return dst; 2188 } 2189 2190 protected PaymentReconciliation typedCopy() { 2191 return copy(); 2192 } 2193 2194 @Override 2195 public boolean equalsDeep(Base other_) { 2196 if (!super.equalsDeep(other_)) 2197 return false; 2198 if (!(other_ instanceof PaymentReconciliation)) 2199 return false; 2200 PaymentReconciliation o = (PaymentReconciliation) other_; 2201 return compareDeep(identifier, o.identifier, true) && compareDeep(status, o.status, true) && compareDeep(period, o.period, true) 2202 && compareDeep(created, o.created, true) && compareDeep(paymentIssuer, o.paymentIssuer, true) && compareDeep(request, o.request, true) 2203 && compareDeep(requestor, o.requestor, true) && compareDeep(outcome, o.outcome, true) && compareDeep(disposition, o.disposition, true) 2204 && compareDeep(paymentDate, o.paymentDate, true) && compareDeep(paymentAmount, o.paymentAmount, true) 2205 && compareDeep(paymentIdentifier, o.paymentIdentifier, true) && compareDeep(detail, o.detail, true) 2206 && compareDeep(formCode, o.formCode, true) && compareDeep(processNote, o.processNote, true); 2207 } 2208 2209 @Override 2210 public boolean equalsShallow(Base other_) { 2211 if (!super.equalsShallow(other_)) 2212 return false; 2213 if (!(other_ instanceof PaymentReconciliation)) 2214 return false; 2215 PaymentReconciliation o = (PaymentReconciliation) other_; 2216 return compareValues(status, o.status, true) && compareValues(created, o.created, true) && compareValues(outcome, o.outcome, true) 2217 && compareValues(disposition, o.disposition, true) && compareValues(paymentDate, o.paymentDate, true) 2218 ; 2219 } 2220 2221 public boolean isEmpty() { 2222 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, status, period 2223 , created, paymentIssuer, request, requestor, outcome, disposition, paymentDate 2224 , paymentAmount, paymentIdentifier, detail, formCode, processNote); 2225 } 2226 2227 @Override 2228 public ResourceType getResourceType() { 2229 return ResourceType.PaymentReconciliation; 2230 } 2231 2232 /** 2233 * Search parameter: <b>identifier</b> 2234 * <p> 2235 * Description: <b>The business identifier of the ExplanationOfBenefit</b><br> 2236 * Type: <b>token</b><br> 2237 * Path: <b>PaymentReconciliation.identifier</b><br> 2238 * </p> 2239 */ 2240 @SearchParamDefinition(name="identifier", path="PaymentReconciliation.identifier", description="The business identifier of the ExplanationOfBenefit", type="token" ) 2241 public static final String SP_IDENTIFIER = "identifier"; 2242 /** 2243 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 2244 * <p> 2245 * Description: <b>The business identifier of the ExplanationOfBenefit</b><br> 2246 * Type: <b>token</b><br> 2247 * Path: <b>PaymentReconciliation.identifier</b><br> 2248 * </p> 2249 */ 2250 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 2251 2252 /** 2253 * Search parameter: <b>request</b> 2254 * <p> 2255 * Description: <b>The reference to the claim</b><br> 2256 * Type: <b>reference</b><br> 2257 * Path: <b>PaymentReconciliation.request</b><br> 2258 * </p> 2259 */ 2260 @SearchParamDefinition(name="request", path="PaymentReconciliation.request", description="The reference to the claim", type="reference", target={Task.class } ) 2261 public static final String SP_REQUEST = "request"; 2262 /** 2263 * <b>Fluent Client</b> search parameter constant for <b>request</b> 2264 * <p> 2265 * Description: <b>The reference to the claim</b><br> 2266 * Type: <b>reference</b><br> 2267 * Path: <b>PaymentReconciliation.request</b><br> 2268 * </p> 2269 */ 2270 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam REQUEST = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_REQUEST); 2271 2272/** 2273 * Constant for fluent queries to be used to add include statements. Specifies 2274 * the path value of "<b>PaymentReconciliation:request</b>". 2275 */ 2276 public static final ca.uhn.fhir.model.api.Include INCLUDE_REQUEST = new ca.uhn.fhir.model.api.Include("PaymentReconciliation:request").toLocked(); 2277 2278 /** 2279 * Search parameter: <b>disposition</b> 2280 * <p> 2281 * Description: <b>The contents of the disposition message</b><br> 2282 * Type: <b>string</b><br> 2283 * Path: <b>PaymentReconciliation.disposition</b><br> 2284 * </p> 2285 */ 2286 @SearchParamDefinition(name="disposition", path="PaymentReconciliation.disposition", description="The contents of the disposition message", type="string" ) 2287 public static final String SP_DISPOSITION = "disposition"; 2288 /** 2289 * <b>Fluent Client</b> search parameter constant for <b>disposition</b> 2290 * <p> 2291 * Description: <b>The contents of the disposition message</b><br> 2292 * Type: <b>string</b><br> 2293 * Path: <b>PaymentReconciliation.disposition</b><br> 2294 * </p> 2295 */ 2296 public static final ca.uhn.fhir.rest.gclient.StringClientParam DISPOSITION = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_DISPOSITION); 2297 2298 /** 2299 * Search parameter: <b>created</b> 2300 * <p> 2301 * Description: <b>The creation date</b><br> 2302 * Type: <b>date</b><br> 2303 * Path: <b>PaymentReconciliation.created</b><br> 2304 * </p> 2305 */ 2306 @SearchParamDefinition(name="created", path="PaymentReconciliation.created", description="The creation date", type="date" ) 2307 public static final String SP_CREATED = "created"; 2308 /** 2309 * <b>Fluent Client</b> search parameter constant for <b>created</b> 2310 * <p> 2311 * Description: <b>The creation date</b><br> 2312 * Type: <b>date</b><br> 2313 * Path: <b>PaymentReconciliation.created</b><br> 2314 * </p> 2315 */ 2316 public static final ca.uhn.fhir.rest.gclient.DateClientParam CREATED = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_CREATED); 2317 2318 /** 2319 * Search parameter: <b>payment-issuer</b> 2320 * <p> 2321 * Description: <b>The organization which generated this resource</b><br> 2322 * Type: <b>reference</b><br> 2323 * Path: <b>PaymentReconciliation.paymentIssuer</b><br> 2324 * </p> 2325 */ 2326 @SearchParamDefinition(name="payment-issuer", path="PaymentReconciliation.paymentIssuer", description="The organization which generated this resource", type="reference", target={Organization.class } ) 2327 public static final String SP_PAYMENT_ISSUER = "payment-issuer"; 2328 /** 2329 * <b>Fluent Client</b> search parameter constant for <b>payment-issuer</b> 2330 * <p> 2331 * Description: <b>The organization which generated this resource</b><br> 2332 * Type: <b>reference</b><br> 2333 * Path: <b>PaymentReconciliation.paymentIssuer</b><br> 2334 * </p> 2335 */ 2336 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PAYMENT_ISSUER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PAYMENT_ISSUER); 2337 2338/** 2339 * Constant for fluent queries to be used to add include statements. Specifies 2340 * the path value of "<b>PaymentReconciliation:payment-issuer</b>". 2341 */ 2342 public static final ca.uhn.fhir.model.api.Include INCLUDE_PAYMENT_ISSUER = new ca.uhn.fhir.model.api.Include("PaymentReconciliation:payment-issuer").toLocked(); 2343 2344 /** 2345 * Search parameter: <b>outcome</b> 2346 * <p> 2347 * Description: <b>The processing outcome</b><br> 2348 * Type: <b>token</b><br> 2349 * Path: <b>PaymentReconciliation.outcome</b><br> 2350 * </p> 2351 */ 2352 @SearchParamDefinition(name="outcome", path="PaymentReconciliation.outcome", description="The processing outcome", type="token" ) 2353 public static final String SP_OUTCOME = "outcome"; 2354 /** 2355 * <b>Fluent Client</b> search parameter constant for <b>outcome</b> 2356 * <p> 2357 * Description: <b>The processing outcome</b><br> 2358 * Type: <b>token</b><br> 2359 * Path: <b>PaymentReconciliation.outcome</b><br> 2360 * </p> 2361 */ 2362 public static final ca.uhn.fhir.rest.gclient.TokenClientParam OUTCOME = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_OUTCOME); 2363 2364 /** 2365 * Search parameter: <b>requestor</b> 2366 * <p> 2367 * Description: <b>The reference to the provider who submitted the claim</b><br> 2368 * Type: <b>reference</b><br> 2369 * Path: <b>PaymentReconciliation.requestor</b><br> 2370 * </p> 2371 */ 2372 @SearchParamDefinition(name="requestor", path="PaymentReconciliation.requestor", description="The reference to the provider who submitted the claim", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Practitioner") }, target={Organization.class, Practitioner.class, PractitionerRole.class } ) 2373 public static final String SP_REQUESTOR = "requestor"; 2374 /** 2375 * <b>Fluent Client</b> search parameter constant for <b>requestor</b> 2376 * <p> 2377 * Description: <b>The reference to the provider who submitted the claim</b><br> 2378 * Type: <b>reference</b><br> 2379 * Path: <b>PaymentReconciliation.requestor</b><br> 2380 * </p> 2381 */ 2382 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam REQUESTOR = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_REQUESTOR); 2383 2384/** 2385 * Constant for fluent queries to be used to add include statements. Specifies 2386 * the path value of "<b>PaymentReconciliation:requestor</b>". 2387 */ 2388 public static final ca.uhn.fhir.model.api.Include INCLUDE_REQUESTOR = new ca.uhn.fhir.model.api.Include("PaymentReconciliation:requestor").toLocked(); 2389 2390 /** 2391 * Search parameter: <b>status</b> 2392 * <p> 2393 * Description: <b>The status of the payment reconciliation</b><br> 2394 * Type: <b>token</b><br> 2395 * Path: <b>PaymentReconciliation.status</b><br> 2396 * </p> 2397 */ 2398 @SearchParamDefinition(name="status", path="PaymentReconciliation.status", description="The status of the payment reconciliation", type="token" ) 2399 public static final String SP_STATUS = "status"; 2400 /** 2401 * <b>Fluent Client</b> search parameter constant for <b>status</b> 2402 * <p> 2403 * Description: <b>The status of the payment reconciliation</b><br> 2404 * Type: <b>token</b><br> 2405 * Path: <b>PaymentReconciliation.status</b><br> 2406 * </p> 2407 */ 2408 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 2409 2410 2411} 2412