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